Vor Beginn der Schleife gilt sie, sofern der Nutzer der Methode sich an die Vorbedingung
gehalten hat und der Funktion ein Wertepaar größer Null übergeben hat. Die vorher abgearbeitete Initialisierung
der lokalen Variablen führt zu einem Zustand, in dem gilt:
Verknüpft man diese beiden Bedingungen, die zu diesem Zeitpunkt selbstverständlich gelten müssen,
erhält man die Invariante
und hat somit gezeigt, daß sie bei korrekter Nutzung der Methode, sprich Einhaltung der Vorbedingung durch den Nutzer,
vor Beginn der Schleife gilt.
In der Schleife gilt sie offensichtlich zu jedem Zeitpunkt, da der euklidische Algorithmus korrekt umgesetzt wurde. Es
wird, wie in der Beschreibung des Algorithmus unter verlangt, vor Beginn der Schleife der Variablen
der Rest der Division von
durch
zugewiesen. Im weiteren wird, solange
ungleich Null ist, der
Variablen
der Wert von
zugewiesen, der bisherige Divisor also zum Dividenden gemacht, und
der Wert
von
, der bisherige Rest also zum Divisor. Der neue Rest
wird nun wiederum der Rest der Division von
durch
. Der euklidische Algorithmus wird also in allen Punkten umgesetzt und daher gilt auch hier die Invariante
Auch nach der Beendigung der Schleife gilt die Invariante, da die Schleife bei Nullwerden des Restes abbricht,
damit
gilt, die Variablen und
dabei jedoch immernoch größer als Null sein müssen, womit
gilt und aufgrund der Eigenschaft des euklidischen Algorithmus
gelten muß. Die Verknüpfung aller drei zwangsläufig zutreffenden Bedingungen ergibt wieder die Invariante
Durch Verknüpfung dieser mit der Negation der Schleifenbedingung ergibt sich
was die Nachbedingung darstellt. Da, wie oben gezeigt, der euklidische Algorithmus korrekt umgesetzt wurde, muß
hieraus nun folgen