admin管理员组文章数量:1534200
线性时间逻辑(LTL)
linear-time logic,提供了一种非常直观但是在数学上又很精确的表示方法来描述线性时间性质。在70年代后期,Pnueli提出将线性时序逻辑应用于验证复杂计算机系统。LTL一般通过对程序建模来描述交错序列的属性,但不能描述不同状态间的变化。
LTL的语法
TL在静态逻辑u基础之上定义,利用一阶命题作为u的一个实例,定义为:
φ::= true | a | φ 1 ∧ φ 2 | ¬φ | ◯φ | φ 1 U φ 2
LTL公式的基本成分是原子命题,同时LTL公式一般通过一个无限状态序列x0x1x2…来解释:
上图所示的无限状态序列解释如下,a表示a在当前时刻成立,在轨迹表现为在第一个位置成立
-
a表示a在下一个时刻成立,在轨迹表现为第二个位置成立;
-
◯a表示a在下一个时刻成立,在轨迹表现为第二个位置成立;
-
aUb表示直到b成立前,a一直成立;
-
◊a=True U a,表示的是a最终(eventually)能够成立,在轨迹上表现为,在某一个时刻的时候a成立;
-
□a表示a总是(always)成立,即在全部的时刻都成立,在轨迹上表现为每个位置都成立,□ a=¬◊¬a ;
LTL在无限字上的语义
用ζk表示以xk开始的序列ζ=x0x1x2…的后缀序列LTL在无限字上的语义可以表示为:
-
ζk⊨true
-
ζk⊨a当且仅当x0⊨a,即a∈x0
-
ζk⊨φ1∧φ2当且仅当ζk⊨φ1 and ζk⊨φ2
-
ζk⊨¬ φ当且仅当σ ⊭ φ
-
ζk⊨ ◯φ当且仅当ζk+1⊨φ
-
ζk⊨ ◊φ当且仅当存在i≥k满足ζi⊨φ
-
ζk⊨□φ当且仅当对于每个i≥k均有ζi⊨φ
-
ζk ⊨□◊φ当且仅当对每一个ζ的后缀ζ’ ◊φ都成立
-
ζk ⊨◊□φ当且仅当后缀ζ’满足□φ
在此基础上,再定义一个额外的模态运算符V,称为释放(release),书上的定义为当φ1永远满足或φ1保持满足直到(后缀上)某个点使φ1和φ2都成立,则φ1Vφ2对于序列ζk都成立。
LTL规约连接规则
- φ v μ = ¬( (¬φ) ∧ (¬μ) )
- φ → μ = (¬φ) v μ
- φ ↔ μ = (φ → μ) ∧ (μ→ φ)
- ◊ φ = true **U **φ
- □ φ = ¬ ◊ ¬ φ
- φ V μ = ¬( (¬φ) U (¬μ) )
LTL简单示例
如下图,展示了一个简单的弹簧模型:
我们能够拉伸这个弹簧然后释放掉。拉伸弹簧过后,弹簧有三种可能的状态:失去弹性、保持拉伸状态或者恢复原来的形状。所以系统中设置三个状态,s1:初始状态(弹簧原态)、s2:拉伸状态、s3:拉伸且失去弹性状态。同时将每个状态用集合AP={extended(拉伸),malfunction(失效)}进行标记。
- s1没有用上述任何状态标记,则s1⊨¬extended∧¬malfunction。
- s2被标记为extend,则s2⊨extended∧¬malfunction。
- s3被标记为extended,malfunction,则s3⊨extended∧malfunction。
假设此系统拥有无限数目的序列如下所示:
下面给出几个LTL公式,分析ζ2是否满足。
- ζ2 ⊭extended:公式extended并没有使用任何时序运算符,因此在ζ2的第一个状态对它进行解释。S1并没有被extended所标记,因此公式extended在ζ2中不成立。
- ζ2⊨◯extended。下一时刻运算符在公式中被用来断言序列中的第二个状态,也就是s2满足命题extended。
- ζ2⊨◊extended。右边公式读作“终将被拉伸”,断言序列中存在某个状态满足extended,ζ2显然满足此断言。
- ζ2⊭(¬extended)。右边公式读作“总是会被拉伸”,断言序列每个状态extended都会成立。ζ2的一三状态都不满足extended,所以此LTL公式对ζ2不成立。
- ζ2⊨□◊extended。右边公式读作“最终总是会被拉伸”,断言序列在某一状态后的所有状态extended都会成立。显然,ζ2的第四个状态之后,extended总会被满足。所以此LTL公式对ζ2成立。
- ζ2⊭(¬extended)U malfunction。右边公式读作“直到弹簧失效才会被拉伸。言外之意就是,为了让此公式成立,ζ2需要有一个状态满足malfunction,且在这个状态前的所有状态又必须满足¬extended。我们查看ζ2序列第五个状态s3满足malfunction,而二四状态显然不满足¬extended,所以此LTL公式对ζ2不成立。
LTL公理化
为了证明给定时序公式φ是有效的,为命题化线性时序逻辑给定一组公理。需要注意的是在此证明系统下,释放运算符V会被去除(例如:μVφ=¬((¬μ)U(¬φ))。
- 公理系统的第一部分由八条公理组成,如下所示:
- 第二部分由一个对命题逻辑充分完备的公理系统组成。在系统中,允许用命题公式来实例化公理和证明规则中 的模板变量,在可以用任意命题LTL公式进行替换。
- 第三部分是一个证明规则:
一个证明规则可以表示为:将一条前提写在横线上面,将结论写在下面。那么这条证明规则大致意思就是如果μ成立,那么□μ也成立。
交通灯实例
一个交通灯能在绿色、黄色、红色之间变换,其底层逻辑u是一个命题逻辑。命题re、ye、gr分别对应红灯、黄灯和绿灯。交通灯的颜色按如下顺序变换,并可以无限变换下去:
g r e e n → y e l l o w → r e d → g
版权声明:本文标题:线性时间逻辑(LTL) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726872654a1088001.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论