簡単な答え:
はい、両方の式は同等であり、 で書き換えることFp
もできます(¬p)Up
。
そして証明:
の定義を見ることで問題を調査できますpUq
(Clarke、Grumberg、Peled による本 Model Checking でこのように定義されていると思います)。
パス s は式のモデルです (書かれていs ⊨ pUq
ます):
s ⊨ pUq <=> ∃k: s^k ⊨ q
∧ ∀i: 0<=i<k => s^i ⊨ q
(最初のステップが削除されs^i
たパスです。)s
i
(1):
s ⊨ (¬p)Up <=> ∃k: s^k ⊨ p
∧ ∀i: 0<=i<k => s^i ⊨ ¬p
(2):
s ⊨ TUp <=> ∃k: s^k ⊨ p
∧ ∀i: 0<=i<k => s^i ⊨ true
<=> ∃k: s^k ⊨ p
(1) <=> (2) を表示します (混乱を避けるために、ks の名前をk1
andに変更しました):k2
∃k1: s^k1 ⊨ p
∧ ∀i: 0<=i<k1 => s^i ⊨ ¬p
<=>
∃k2: s^k2 ⊨ p
方向 (1) => (2) は自明です。
(2) => (1) については、
∃k2: s^k2 ⊨ p
続く
∃k1: s^k1 ⊨ p ∧ ∀i: 0<=i<k1 => s^i ⊨ ¬p
k1
が成立するような(つまりk2
)の値が存在することがわかっていs^k1 ⊨ p
ます。しかし、第二部はどうですか?が成り立つk1
ような最小値に使用できるようになりました。s^i ⊨ p
次に、2 番目の部分が真です。なぜなら、成り立たないi
そのようなものが存在する場合、それが成り立つことがわかっているからです。しかし、その場合、は よりも厳密に小さいため、 を選択したことになります。s^i ⊨ not p
s^i |= p
i
k1
i
k1
したがって、式 (1) と (2) はどちらも同等です。