时序逻辑在模型检测中被用以描述系统属性,计算树逻辑(Computation Tree Logic,简称CTL)和线性时序逻辑(Linear-time Temporal,简称LTL)。CTL和LTL的详细介绍,我在这里就不多说了。有个有趣的问题,就是CTL和LTL是否等价,乍一眼看上去似乎LTL里的
F和
G分别与CTL里的
AF和
AG语义相同。到底是不是相同的呢?我来给大家介绍一个经典的例子。
如下图所示,在图中有一个系统 M,它满足这样的状态转换: M从初始状态出发,可以一直循环在初始状态,也可以通过到达中间状态,从而到达最终状态,并且在最终状态循环。其中初始状态,中间状态以及最终状态分别满足公式 p,公式非 p以及公式 p。显然这是满足LTL公式 AFp。
试想一下,若LTL公式 FGp与CTL公式 AFAGp等价,则系统 M满足LTL公式 AFp必满足CTL公式 AFAGp。为了能更好地判断系统 M是否满足CTL公式 AFAGp,我们对系统 M作等价变换成 M',如下图所示:
*
我们发现, M’并不满足CTL公式 AFAGp,因为只要从最左边的一列满足 p的状态出发,总会可能出现到达下一个状态不满足 p,使得 AGp不能被满足。于是乎,CTL公式 AFAGp与LTL公式 FGp不等价。“LTL里的 F和 G分别与CTL里的 AF和 AG语义相同”这个说法是错误的。
这时你也许要问, M'不满足CTL公式 AFAGp,却满足CTL公式 AFEGp,这是否代表CTL公式 AFEGp与LTL公式 FGp是等价的呢?那么,我们就用同样的方法来证明看看。
我们再重新构造一个系统 M,如下图所示。与上一个例子不同,系统 M从初始状态出发,可以在初始状态循环,也可以到达中间状态。当系统到达中间状态后,亦可在此循环,也可以到达最终状态,并在最终状态循环。
显然系统 M不满足LTL公式 FGp,因为若系统一直停留在中间状态,则不满足 p。那么该系统是不是也不满足于CTL公式 AFEGp呢?同样,我们也将 M等价转换成 M',如下图所示。
在 M'中我们可以看到,无论系统处于什么状态,将来总存在一条路径使得所有的状态都满足 p,于是系统满足CTL公式 AFEGp。综上,我们得出CTL公式 AFEGp与LTL公式 FGp并不等价。
事实上,LTL和CTL的关系如下图所示,CTL和LTL其中任一方都不能表达另一方,它们之间既有相同的表述部分,也存在着差异。到底谁的表达能力更强,尚无定论。
如下图所示,在图中有一个系统 M,它满足这样的状态转换: M从初始状态出发,可以一直循环在初始状态,也可以通过到达中间状态,从而到达最终状态,并且在最终状态循环。其中初始状态,中间状态以及最终状态分别满足公式 p,公式非 p以及公式 p。显然这是满足LTL公式 AFp。

试想一下,若LTL公式 FGp与CTL公式 AFAGp等价,则系统 M满足LTL公式 AFp必满足CTL公式 AFAGp。为了能更好地判断系统 M是否满足CTL公式 AFAGp,我们对系统 M作等价变换成 M',如下图所示:

我们发现, M’并不满足CTL公式 AFAGp,因为只要从最左边的一列满足 p的状态出发,总会可能出现到达下一个状态不满足 p,使得 AGp不能被满足。于是乎,CTL公式 AFAGp与LTL公式 FGp不等价。“LTL里的 F和 G分别与CTL里的 AF和 AG语义相同”这个说法是错误的。
这时你也许要问, M'不满足CTL公式 AFAGp,却满足CTL公式 AFEGp,这是否代表CTL公式 AFEGp与LTL公式 FGp是等价的呢?那么,我们就用同样的方法来证明看看。
我们再重新构造一个系统 M,如下图所示。与上一个例子不同,系统 M从初始状态出发,可以在初始状态循环,也可以到达中间状态。当系统到达中间状态后,亦可在此循环,也可以到达最终状态,并在最终状态循环。

显然系统 M不满足LTL公式 FGp,因为若系统一直停留在中间状态,则不满足 p。那么该系统是不是也不满足于CTL公式 AFEGp呢?同样,我们也将 M等价转换成 M',如下图所示。

在 M'中我们可以看到,无论系统处于什么状态,将来总存在一条路径使得所有的状态都满足 p,于是系统满足CTL公式 AFEGp。综上,我们得出CTL公式 AFEGp与LTL公式 FGp并不等价。
事实上,LTL和CTL的关系如下图所示,CTL和LTL其中任一方都不能表达另一方,它们之间既有相同的表述部分,也存在着差异。到底谁的表达能力更强,尚无定论。
