【面向计算机的数理逻辑/软件理论基础笔记】计算树逻辑CTL

计算树逻辑(Computation Tree Logic,简写CTL)

  • 个人理解:说到树,我联想到最多的就是数据结构里面的树,一个结点对应着多个分支结点,而这个计算树逻辑,和数据结构里面的树有些类似。我们可以把当前时间看作是根节点,下面的不同分支,都是未来某一时刻的可能性,比如我要去学校,我会经过出门这个根节点,但我可能会骑自行车或乘坐大巴这两种方式去学校,也就是两个不同的子节点,根据选择的不同方式,引发更多的子节点。
  • 定义:计算树逻辑是一种分支时间逻辑,即它的时间模型是一个树状结构,其中未来是不确定的。未来有不同的路径,其中的任何一个都可能是现实的“实际”路径。

CTL语法

ϕ : : = ⊥ ∣ ⊤ ∣ p ∣ ( ¬ ϕ ) ∣ ( ϕ ∧ ϕ ) ∣ ( ϕ ∨ ϕ ) ∣ ( ϕ → ϕ ) ∣ ( A X ϕ ) ∣ ( E X ϕ ) ∣ ( A F ϕ ) ∣ ( E F ϕ ) ∣ ( A G ϕ ) ∣ ( E G ϕ ) ∣ A [ ( ϕ U ϕ ) ] ∣ ∣ E [ ( ϕ U ϕ ) ] \phi ::= \perp | \top | p| (\neg \phi) | (\phi \wedge \phi)| (\phi \vee\phi)| (\phi \to \phi) | (AX \phi)| (EX \phi)| (AF \phi)| (EF \phi)| (AG \phi)| (EG \phi)| A[(\phi U \phi)]|| E[(\phi U \phi)] ϕ::=p(¬ϕ)(ϕϕ)(ϕϕ)(ϕϕ)(AXϕ)(EXϕ)(AFϕ)(EFϕ)(AGϕ)(EGϕ)A[(ϕUϕ)]E[(ϕUϕ)]

  • A A A E E E表示路径量词, A A A表示所有的路, E E E表示存在一条路
  • 在CTL公式中,时态连接词前面必须要跟路径量词 A A A E E E
  • 解释下列CTL公式:
    • E F q EFq EFq:路径上存在一个满足 q q q的可达状态
    • A G ( p → E [ p U q ] ) AG(p \to E[pUq]) AG(pE[pUq]):对于所有满足 p p p的状态出发,都有“一直保持 p p p直到满足 q q q”的状态出现(后一句也可以说是:都存在“一直保持 p p p直到满足 q q q”的状态)
    • A G ( p → E G q ) AG(p \to EGq) AG(pEGq):只要满足 p p p的状态出现,就有系统能永远保持 q q q(也可以理解为:对于所有满足 p p p的状态也都存在满足 q q q的状态)
    • E F A G q EFAGq EFAGq:有一可达的状态使得从此状态出发的所有可达状态都满足 q q q
    • 进程总可以请求进入它的界区: A G ( r → E X t ) AG(r \to EXt) AG(rEXt)(也可以理解为:对于所有满足 r r r的状态都存在下一个状态满足 t t t
    • 对于任何状态,若一个请求出现则这个请求最终会被接受: A G ( 请 求 → A F 接 受 ) AG(请求 \to AF 接受) AG(AF)
    • 一部在 2 楼且处于上升的电梯,当有乘客在想到 5 楼时,电梯不会改变上升方向直到 5 楼: A G ( 2 楼 ∧ 上 升 ∧ 按 下 5 楼 按 钮 → A [ 上 升 U 5 楼 ] ) AG(2 楼 \wedge 上升 \wedge 按下 5 楼按钮 \to A[上升U5 楼]) AG(25A[U5])
    • 从任何状态出发总能到达重启状态: A G ( E F 重 启 ) AG(EF重启) AG(EF)

CTL语义

  • 给定模型 M = ( S , → , L ) , s ∈ S \mathcal{M} = (S, \to, L), s \in S M=(S,,L),sS ϕ \phi ϕ是 CTL 公式。以 ϕ \phi ϕ的结构归纳定义 M , s ⊨ ϕ \mathcal{M},s \vDash \phi M,sϕ如下:

    • M , s ⊨ ⊤ \mathcal{M},s \vDash \top M,s

    • M , s ⊭ ⊥ \mathcal{M},s \nvDash \perp M,s

    • M , s ⊨ p \mathcal{M},s \vDash p M,sp当且仅当 p ∈ L ( s ) p \in L(s) pL(s)

    • M , s ⊨ ¬ ϕ \mathcal{M},s \vDash \neg \phi M,s¬ϕ当且仅当 M , s ⊭ ϕ \mathcal{M},s \nvDash \phi M,sϕ

    • M , s ⊨ ϕ ∧ ψ \mathcal{M},s \vDash \phi \wedge \psi M,sϕψ当且仅当 M , s ⊨ ϕ \mathcal{M},s \vDash \phi M,sϕ M , s ⊨ ψ \mathcal{M},s \vDash \psi M,sψ

    • M , s ⊨ ϕ ∨ ψ \mathcal{M},s \vDash \phi \vee \psi M,sϕψ当且仅当 M , s ⊨ ϕ \mathcal{M},s \vDash \phi M,sϕ M , s ⊨ ψ \mathcal{M},s \vDash \psi M,sψ

    • M , s ⊨ ϕ → ψ \mathcal{M},s \vDash \phi \to \psi M,sϕψ当且仅当 M , s ⊨ ϕ \mathcal{M},s \vDash \phi M,sϕ M , s ⊨ ψ \mathcal{M},s \vDash \psi M,sψ

    • M , s ⊨ A X ϕ \mathcal{M},s \vDash AX \phi M,sAXϕ当且仅当对于所有的 s → s 1 s \to s_1 ss1,有 M , s 1 ⊨ ϕ \mathcal{M},s_1 \vDash \phi M,s1ϕ

      • M , s 0 ⊨ A X ϕ \mathcal{M},s_0 \vDash AX \phi M,s0AXϕ可以理解为: s 0 s_0 s0的所有下一个状态点都满足 ϕ \phi ϕ
        在这里插入图片描述
    • M , s ⊨ E X ϕ \mathcal{M},s \vDash EX \phi M,sEXϕ当且仅当对于某个使得 s → s 1 s \to s_1 ss1 s 1 s_1 s1,有 M , s 1 ⊨ ϕ \mathcal{M},s_1 \vDash \phi M,s1ϕ

      • M , s 0 ⊨ E X ϕ \mathcal{M},s_0 \vDash EX \phi M,s0EXϕ可以理解为:存在 s 0 s_0 s0的下一个状态满足 ϕ \phi ϕ
        在这里插入图片描述
    • M , s ⊨ A G ϕ \mathcal{M},s \vDash AG \phi M,sAGϕ当且仅当对于从 s s s出发的所有路径 s 0 → s 1 → s 2 → ⋯ s_0 \to s_1 \to s_2 \to \cdots s0s1s2(其中 s 0 s_0 s0就是 s s s),对于这些路径上的所有 s i s_i si,都有 M , s i ⊨ ϕ \mathcal{M},s_i \vDash \phi M,siϕ

      • M , s 0 ⊨ A G ϕ \mathcal{M},s_0 \vDash AG \phi M,s0AGϕ可以理解为:所有从 s 0 s_0 s0出发的路径上每一个状态都满足 ϕ \phi ϕ
        在这里插入图片描述
    • M , s ⊨ E G ϕ \mathcal{M},s \vDash EG \phi M,sEGϕ当且仅当存在一条从 s s s出发的路径 s 0 → s 1 → s 2 → ⋯ s_0 \to s_1 \to s_2 \to \cdots s0s1s2(其中 s 0 s_0 s0就是 s s s),对于这些路径上的所有 s i s_i si,都有 M , s i ⊨ ϕ \mathcal{M},s_i \vDash \phi M,siϕ

      • M , s 0 ⊨ E G ϕ \mathcal{M},s_0 \vDash EG \phi M,s0EGϕ可以理解为:存在一条从 s 0 s_0 s0出发的路径上所有状态满足 ϕ \phi ϕ
        在这里插入图片描述
    • M , s ⊨ A F ϕ \mathcal{M},s \vDash AF \phi M,sAFϕ当且仅当对于从 s s s出发的所有路径 s 0 → s 1 → s 2 → ⋯ s_0 \to s_1 \to s_2 \to \cdots s0s1s2(其中 s 0 s_0 s0就是 s s s),对于每条路径,都存在 s i s_i si,有 M , s i ⊨ ϕ \mathcal{M},s_i \vDash \phi M,siϕ

      • M , s 0 ⊨ A F ϕ \mathcal{M},s_0 \vDash AF \phi M,s0AFϕ可以理解为:从 s 0 s_0 s0出发的任意一条路径,路径上一定会经过一个满足 ϕ \phi ϕ的状态
        在这里插入图片描述
    • M , s ⊨ E F ϕ \mathcal{M},s \vDash EF \phi M,sEFϕ当且仅当存在一条从 s s s出发的路径 s 0 → s 1 → s 2 → ⋯ s_0 \to s_1 \to s_2 \to \cdots s0s1s2(其中 s 0 s_0 s0就是 s s s),该路径上存在 s i s_i si,有 M , s i ⊨ ϕ \mathcal{M},s_i \vDash \phi M,siϕ

      • M , s 0 ⊨ E F ϕ \mathcal{M},s_0 \vDash EF \phi M,s0EFϕ可以理解为:存在从 s 0 s_0 s0出发的路径,一定会存在一个满足 ϕ \phi ϕ的状态
        在这里插入图片描述
    • M , s ⊨ A [ ϕ U ψ ] \mathcal{M},s \vDash A[\phi U \psi] M,sA[ϕUψ]当且仅当对于从 s s s出发的所有路 s 0 → s 1 → ⋯ s_0 \to s_1 \to \cdots s0s1(其中 s 0 s_0 s0就是 s s s),存在 i ≥ 0 i \geq 0 i0使得 M , s i ⊨ ψ \mathcal{M},s_i \vDash \psi M,siψ且对于所有的 0 ≤ j < i 0 \leq j < i 0j<i都有 M , s j ⊨ ϕ \mathcal{M},s_j \vDash \phi M,sjϕ

    • M , s ⊨ E [ ϕ U ψ ] \mathcal{M},s \vDash E[\phi U \psi] M,sE[ϕUψ]当且仅当存在从 s s s出发的路 s 0 → s 1 → ⋯ s_0 \to s_1 \to \cdots s0s1(其中 s 0 s_0 s0就是 s s s),存在 i ≥ 0 i \geq 0 i0使得 M , s i ⊨ ψ \mathcal{M},s_i \vDash \psi M,siψ且对于所有的 0 ≤ j < i 0 \leq j < i 0j<i都有 M , s j ⊨ ϕ \mathcal{M},s_j \vDash \phi M,sjϕ

  • 范例:
    在这里插入图片描述
    对于上面的Kripke结构,有如下结论:

    • M , s 0 ⊨ E X ( q ∧ r ) \mathcal{M},s_0 \vDash EX(q \wedge r) M,s0EX(qr):在模型 M \mathcal{M} M中,存在一个状态 s i s_i si,使得 s i → s 0 s_i \to s_0 sis0 s i ⊨ ( q ∧ r ) s_i \vDash (q \wedge r) si(qr)(我们可以看出存在的这个状态就是 s 1 s_1 s1
    • M , s 0 ⊨ A [ p U r ] \mathcal{M},s_0 \vDash A[p U r] M,s0A[pUr]:在模型 M \mathcal{M} M中,对于从 s 0 s_0 s0出发的所有路径 s 0 → s 1 → s 0 → s 2 ⋯ s_0 \to s_1 \to s_0 \to s_2 \cdots s0s1s0s2或者 s 0 → s 2 → s 2 → s 2 ⋯ s_0 \to s_2 \to s_2 \to s_2 \cdots s0s2s2s2等路径,都存在从 s 0 s_0 s0开始的路径上的所有状态一直满足 p p p,直到遇到满足 r r r的状态
    • M , s 0 ⊨ ¬ E F ( p ∧ r ) \mathcal{M},s_0 \vDash \neg EF(p \wedge r) M,s0¬EF(pr):在模型 M \mathcal{M} M中,对于从 s 0 s_0 s0出发的所有路径,都不可能会经过同时满足状态 p p p r r r的结点
    • M , s 0 ⊨ E G r \mathcal{M},s_0 \vDash EGr M,s0EGr:在模型 M \mathcal{M} M中,对于从 s 0 s_0 s0出发的所有路径,一定存在从某一个结点开始,以后的所有结点全部满足状态 r r r(只要到达 s 2 s_2 s2之后,所有的路径均满足状态 r r r
  • 模型满足性:设 M = { S , → , L } \mathcal{M} = \{S, \to, L\} M={S,,L}是模型, ϕ \phi ϕ是CTL公式。若对于任一 s ∈ S s \in S sS都有 M , s ⊨ ϕ \mathcal{M}, s \vDash ϕ M,sϕ,则称模型 M \mathcal{M} M满足CTL公式 ϕ \phi ϕ, 记作 M ⊨ ϕ \mathcal{M} \vDash \phi Mϕ

  • 语义等价:CTL公式 ϕ , ψ \phi,\psi ϕ,ψ称为语义等价,记作 ϕ ≡ ψ \phi \equiv \psi ϕψ,若对于任何模型 M \mathcal{M} M,都有 M ⊨ ϕ \mathcal{M} \vDash \phi Mϕ 当且仅当 M ⊨ ψ \mathcal{M} \vDash \psi Mψ

  • CTL扩展公式

    • A F ϕ ≡ ¬ E G ¬ ϕ AF \phi \equiv \neg EG \neg \phi AFϕ¬EG¬ϕ
    • E F ϕ ≡ ¬ A G ¬ ϕ EF \phi \equiv \neg AG \neg \phi EFϕ¬AG¬ϕ
    • A X ϕ ≡ ¬ E X ¬ ϕ AX \phi \equiv \neg EX \neg \phi AXϕ¬EX¬ϕ
    • A F ϕ ≡ A [ ⊤ U ϕ ] AF \phi \equiv A[\top U \phi] AFϕA[Uϕ]
    • E F ϕ ≡ E [ ⊤ U ϕ ] EF \phi \equiv E[\top U \phi] EFϕE[Uϕ]
  • CTL 连接词充分性:CTL 时态连接词集是充分的当且仅当它包含 E U EU EU以及 { A X , E X } \{AX, EX\} {AX,EX}中一个元素以及 { E G , A F , A U } \{EG, AF, AU\} {EG,AF,AU}中一个元素

  • CTL语义等价公式(可用于 CTL 模型检测算法):

    • A G ϕ ≡ ϕ ∧ A X A G ϕ AG \phi \equiv \phi \wedge AXAG \phi AGϕϕAXAGϕ
    • E G ϕ ≡ ϕ ∧ E X E G ϕ EG \phi \equiv \phi \wedge EXEG \phi EGϕϕEXEGϕ
    • A F ϕ ≡ ϕ ∨ A X A F ϕ AF \phi \equiv \phi \vee AXAF \phi AFϕϕAXAFϕ
    • E F ϕ ≡ ϕ ∨ E X E F ϕ EF \phi \equiv \phi \vee EXEF \phi EFϕϕEXEFϕ
    • A [ ϕ U ψ ] ≡ ψ ∨ ( ϕ ∧ A X A [ ϕ U ψ ] ) A[\phi U \psi ] \equiv \psi \vee (\phi \wedge AXA[\phi U \psi]) A[ϕUψ]ψ(ϕAXA[ϕUψ])
    • E [ ϕ U ψ ] ≡ ψ ∨ ( ϕ ∧ E X E [ ϕ U ψ ] ) E[\phi U \psi ] \equiv \psi \vee (\phi \wedge EXE[\phi U \psi]) E[ϕUψ]ψ(ϕEXE[ϕUψ])
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

print_Hyon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值