线性时间逻辑(LTL)

线性时间逻辑(LTL)linear-time logic,提供了一种非常直观但是在数学上又很精确的表示方法来描述线性时间性质。在70年代后期,Pnueli提出将线性时序逻辑应用于验证复杂计算机系统。LTL一般通过对程序建模来描述交错序列的属性,但不能描述不同状态间的变化。LTL的语法TL在静态逻辑u基础之上定义,利用一阶命题作为u的一个实例,定义为:φ::= true | a | φ 1 ∧ φ 2 | ¬φ | ◯φ | φ 1 U φ 2LTL公式的基本成分是原子命题,同时LTL公式一般通
摘要由CSDN通过智能技术生成

线性时间逻辑(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简单示例

如下图,展示了一个简单的弹簧模型:

1.PNG

我们能够拉伸这个弹簧然后释放掉。拉伸弹簧过后,弹簧有三种可能的状态:失去弹性、保持拉伸状态或者恢复原来的形状。所以系统中设置三个状态,s1:初始状态(弹簧原态)、s2:拉伸状态、s3:拉伸且失去弹性状态。同时将每个状态用集合AP={extended(拉伸),malfunction(失效)}进行标记。

  • s1没有用上述任何状态标记,则s1⊨¬extended∧¬malfunction。
  • s2被标记为extend,则s2⊨extended∧¬malfunction。
  • s3被标记为extended,malfunction,则s3⊨extended∧malfunction。

假设此系统拥有无限数目的序列如下所示:

2.jpg

下面给出几个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

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值