我被告知以下CTL公式不相同。但是,我找不到一个模型,其中一个是真的而另一个不是。 CTL是一种计算时态逻辑。
公式1:AF p OR AF q
公式2:AF( p OR q )
第一个说:对于从开始状态开始的所有路径,有一个未来,其中p为从开始状态开始的所有路径保持OR,存在q保持的未来。
第二种:对于从开始状态开始的所有路径,存在p OR q保持的未来。
答案 0 :(得分:0)
该模型有点棘手。首先,应该注意 AF(p OR q)意味着 AF p或AF q 。因此,我们正在寻找一种模型,其中 AF(p OR q)为真,但 AF p或AF q 为假。
我假设您熟悉M. Huth和M. Ryan在计算机科学教科书中描述的Kripke模型符号(见http://www.cs.bham.ac.uk/research/projects/lics/)。
设M =(S,R,L)是一个模型,其中S = {s0,s1,s2}作为可能状态的集合,R = {(s0,s1),(s0,s2),(s1 ,s1),(s1,s2),(s2,s2)}作为过渡关系,L是如下定义的标记函数:L(s0)= {}(空集),L(s1)= {p }和L(s2)= {q}。
假设起始状态是s0。很明显, AF(p OR q)保持在s0。但是,s0不满足 AF p OR AF q 。为了证明这一点,我们必须证明 s0不满足 AF p * 和 * s0不满足 AF q 。
因为我们可以选择路径s0 - >,所以在s0不满足AF p 。 s2 - > s2 - > s2 - > ...
类似地,在s1处不满足 AF q ,因为我们可以选择路径s0 - > s1 - > s1 - > s1 - > ...