Für die Modellierung sequentieller Programme in Form von Kripke-Strukturen wird im folgenden eine Methode beschrieben, bei der eine Übersetzung der Programme in entsprechende logische Formeln stattfindet. Vorausgesetzt wird dabei, dass die Programme bereits nach der Methode zur Beschriftung sequentieller Programme beschriftet sind.
Ähnlich wie bei der Methode zur Beschriftung sequentieller Programme geht man dann auch bei der Übersetzung sequentieller Programme in Logik erster Ordnung induktiv über die Struktur der Programme vor.
Zunächst beschreibt man die Startzustände des Programms P mit folgender Formel, wobei pre(V) eine Formel zur Beschreibung der entsprechenden initialen Variablenbelegungen ist:
S0(V,pc) ≡ pre(V) ∧ pc = m.
Anschließend gibt man die Übersetzungsprozedur für jeden mögliche Anweisungstyp an, wobei same(V) beschreibt, dass die Belegung aller Variablen aus der Menge V durch Ausführung der betrachteten Anweisung nicht verändert wird:
Zuweisung: C(l, v ← e, l') ≡ pc = l ∧ pc' = l' ∧ v' = e ∧ same(V \ {v})
Leere Anweisung: C(l, skip, l') ≡ pc = l ∧ pc' = l' ∧ v' = e ∧ same(V)
Bedingte Anweisung: C(l, ifbthenl1 : P1; elsel2 : P2endif, l') ist die Disjunktion der folgenden vier Formeln:
1. pc = l ∧ pc' = l1 ∧ b ∧ same(V)
2. pc = l ∧ pc' = l2 ∧ ¬b ∧ same(V)
3. C(l1, P1, l')
4. C(l2, P2, l')
Schleife: C(l, whilebdol1 : P1; endwhile, l') ist die Disjunktion der folgenden drei Formeln:
1. pc = l ∧ pc' = l1 ∧ b ∧ same(V)
2. pc = l ∧ pc' = l' ∧ ¬b ∧ same(V)
3. C(l1, P1, l)
Die Anwendung der Übersetzungsfunktion auf das ursprüngliche Gesamtprogramm P liefert somit eine logische Formel, die den Zustand des Systems vor und nach Ausführung des Programms beschreibt.