Model 检查等效CTL公式

Model 检查等效CTL公式,model,boolean-expression,boolean-operations,model-checking,ctl,Model,Boolean Expression,Boolean Operations,Model Checking,Ctl,我在做一个CTL练习,我试图检查以下公式是否相等。但我不确定我是否做对了 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) ? 第一个公式:等效 第二个公式:等效 第三个公式:等效 是这样吗? 如果你错了,你能给我一个克里普克模型中可能的反例吗 提前感谢。我将尝试使用这里定义的CTL语义: (一) 用于证明EF(p或q)=EF(p)或EF(q

我在做一个CTL练习,我试图检查以下公式是否相等。但我不确定我是否做对了

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) ? 
第一个公式:等效

第二个公式:等效

第三个公式:等效

是这样吗? 如果你错了,你能给我一个克里普克模型中可能的反例吗


提前感谢。

我将尝试使用这里定义的CTL语义:

(一) 用于证明EF(p或q)=EF(p)或EF(q):

假设一个Kripke结构有三个状态S0,S1,S2,让S0为初始状态。 在S0中,p和q都不起作用,在S1中,p只起作用,S2只起作用

过渡是:

S0 -> S1
S0 -> S2
S1 -> S1
S2 -> S2
S1形成SCC,S2形成SCC。 AF(p或q)适用于这个Kripke结构,因为(p或q)适用于除S0之外的所有状态,并且最终每个序列都达到S1或S2。 那么AF(p)或AF(q)呢? AF(p)不成立,因为存在序列S0 S2 S2。。。没有p出现的地方。 AF(q)不成立,因为存在序列S0 S1。。。没有q出现的地方

对于第(III)项:有兴趣证明它,也许可以使用上面使用的技术:)

AF(p or q) = AF(p) or AF(q)
S0 -> S1
S0 -> S2
S1 -> S1
S2 -> S2