Schleifenvarianten
Schleifenvarianten sind ein Konzept aus der formalen Verifikation von Programmen, mit dem die Termination von Schleifen begründet wird. Eine Schleifenvariante ist eine Funktion oder ein Maß, das dem Programmzustand zugeordnet wird und bei jeder Iteration einer Schleife strikt kleiner wird. Der Wertebereich der Variante liegt in einer wohldefinierten, wohlgeordneten Menge, wodurch endliche Abfolgen von Abnahmen garantiert sind und eine unendliche Schleife ausgeschlossen wird.
In der Praxis dient die Variante dazu, einen Beleg für die Beendigung der Schleife zu liefern. Typischerweise
Variantenarten reichen von einfachen numerischen Varianten über mehrdimensionale Lexikografie bis hin zu allgemeineren ordinalen Varianten. Die
Schleifenvarianten stehen im Zusammenhang mit Terminationsbeweisen in der Programmlogik und sind Teil vieler formaler Methoden, darunter