Model 检查等效CTL公式
我在做一个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
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