问题
I'm doing an CTL exercise, I'm trying to check if the following formulas are equivalent or not. But I'm not sure if I'm doing right.
EF (p or q) = EF(p) or EF(q) ?
AF(p or q) = AF(p) or AF(q) ?
A(p U ( A(q U r) )) = A(A(p U q) U r) ?
Firt formula: Equivalent
Second formula: Equivalent
Third formula: Equivalent
Is it right? If are wrong could you give me one of possible counter-examples in Kripke model?
Thanks in advance.
回答1:
I'll try to use the semantics of CTL defined here: Wikipedia about CTL.
(I)
For proving EF (p or q) = EF(p) or EF(q)
:
(M, s1) |= EF (p or q)*
<=> (Def. of EF)
There is s1->s2->... such that there is an i >= 1 such that (M, s_i) |= (p or q)
<=> (Def. of or)
There is s1->s2->... such that is an i >= 1 such that ((M, s_i) |= p OR ((M, s_i) |= q)
<=> (Equivalence rules for predicate logic)
(There is s1->s2->... such that is an i >= 1 such that ((M, s_i) |= p)
OR
(There is s1->s2->... such that is an i >= 1 such that ((M, s_i) |= q)
<=> (Def. of EF)
EF(p) or EF(q)
So the equivalence is valid.
(II)
AF(p or q) = AF(p) or AF(q)
Assume a Kripke structure with three states S0, S1, S2, let S0 be the initial state.
In S0 neither p nor q
holds, in S1 only p
holds, in S2 only q
holds.
Transitions are:
S0 -> S1
S0 -> S2
S1 -> S1
S2 -> S2
S1 forms an SCC, and S2 forms an SCC. AF(p or q) holds for this Kripke structure, since (p or q) holds for ALL states except S0, and eventuelly every sequence reaches S1 or S2. What about AF(p) or AF(q)? AF(p) does NOT hold, since there is the sequence S0 S2 S2 S2 ... where no p appears. AF(q) does not hold, since there is the sequence S0 S1 S1 S1 ... where no q appears.
For (III): Have fun proving it, maybe with the techniques used above :)
来源:https://stackoverflow.com/questions/32627804/check-equivalent-ctl-formulas