Check equivalent CTL formulas

[亡魂溺海] 提交于 2019-12-25 11:58:19

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!