Poprawność algorytmu zostanie wykazana przy użyciu indukcji względem liczby krawędzi.
Algorytm rozpoczyna się od stworzenia lokalnej kopii G’ grafu G i dodania końcowego wierzchołka do odwrotnej listy wierzchołków, które należy kolejno odwiedzać, aby odnaleźć cykl Eulera w grafie G.
W krokach 4 – 8 algorytmu, zaczynając od danego wierzchołka v, odkładany jest indeks aktualnie rozpatrywanego wierzchołka na stosie, następnie wybiera się dowolną krawędź z nim incydentną, przechodzi się po niej do kolejnego wierzchołka i usuwa się tę krawędź z grafu. Operacja ta powtarzana jest tak długo, dopóki nie przejdzie się do wierzchołka, który nie ma już więcej krawędzi.
Proces ten musi się zakończyć w wierzchołku v. Wynika to z faktu, że jeżeli stopnie wszystkich w wierzchołków w grafie były parzyste, wówczas jeżeli obecnie rozpatrywany wierzchołek jest różny od wierzchołka początkowego, to w grafie znajdują się dokładnie dwa wierzchołki nieparzystych stopni – początkowy oraz obecny. Skoro aktualnie rozpatrywany wierzchołek jest nieparzystego stopnia, można go opuścić, przechodząc do kolejnego. Stąd wynika, przez zaprzeczenie, że jeżeli wierzchołka nie można opuścić, to jest on wierzchołkiem początkowym.