Je vais utiliser les notations suivantes (a et b!):
F = éventuellement
G = toujours
X = suivant
U = jusqu'à
Dans mon cours model-checking, nous avons défini LTL la manière suivante:
LTL: p | φ ∩ ψ | ¬φ | Xφ | φ U ψ
Avec F étant un sucre syntaxique pour:
F (futur)
Fφ = True U φ
et G:
G (global)
Gφ = ¬F¬φ
Avec cela, votre question est:
Est-il vrai que: Gφ?= GFφ
GFφ < => G (True U φ)
Sachant que:
φ P ⊧ U ψ < => existe i> = 0: P _ (> = i) ⊧ ψ ET forall 0 < = j < i: P_ (< = j) ⊧ φ
De là, on voit clairement que GFφ indique qu'il doit toujours être tru e que φ sera toujours vérifié après un certain temps i, et avant cela (j avant i) True doit être vérifié (trivial).
Mais Gφ indique que φ doit toujours être vrai, "de maintenant à toujours" et non "de i à pour toujours".