Skip to content

LTL 到 Büchi 自动机的转换

LTL to Büchi translation · LTL-to-automata translation

将 LTL 公式构造为接受其模型无限词的 Büchi 自动机,并揭示 closure、承诺跟踪与指数状态增长。

条目类型
定理

形式陈述

表达对应定理

对每个LTL 公式 φ,都能有效构造Büchi 自动机 Aφ,使

Lω(Aφ)={w(2AP)ω:wφ}.

自动机状态数最坏为 2O(|φ|)。这一阶在最坏情形是紧的:存在长度为 n 的 LTL 公式族,使任何等价 nondeterministic Büchi automaton 都需要 2Ω(n) 个状态。反方向并非每个$\omega$-正则语言都可由 LTL 定义,因此结论是“LTL 语言属于 ω-regular”,不是两个表达系统完全等价。

模型检查通常构造的是 A¬φ。它接受违反规格的状态词;与系统取积后,非空接受运行就是反例。若误构造 Aφ,找到的会是满足行为而非违反行为。

closure、初态与完整一致性

先把公式化为 negation normal form(仍记为 φ),使否定只作用于原子命题。对 closure 中的公式 ψ,记 ψ¯¬ψ 化到 NNF 后的对偶。cl(φ) 对子公式、单一对偶以及时间展开所需的 X(αUβ)X(αRβ) 封闭,因而大小仍为 O(|φ|)

候选宏状态 Mcl(φ) 是最大一致、完备的局部类型:对每个 ψψψ¯ 恰有一个属于 M;布尔联结满足

αβMαM  βM,αβMαM  βM.

满足这些完备一致性条件以及下述 U/R 局部展开的宏状态构成 Q,初始宏状态集合明确取为

Q0={MQ:φM}.

因此自动机不能从一个没有承担 φ 的局部类型开始。候选宏状态至多有 2O(|φ|) 个。

字母读取、next 与 U/R 展开

沿用本库 Büchi 自动机的运行约定,边

MiaiMi+1

读取当前位置字母 ai2AP。它要求每个出现在 φ 中的原子命题与当前字母完全匹配,并把所有 next 义务精确传到下一宏状态:

pAP(φ),pMipai,Xψcl(φ),XψMiψMi+1.

每个宏状态还满足 until 与 release 的局部展开等价:

αUβMiβMi  (αMiX(αUβ)Mi),αRβMiβMi  (αMiX(αRβ)Mi).

结合 next 等价,未兑现的 U/R 义务恰好延续到 Mi+1。这些局部规则仍允许 Fq=true Uq 永远等待,因此还需要接受条件选择 until 的最小不动点语义。

generalized Büchi 接受集

对 closure 中每个 αUβ,建立接受集合

FαUβ={M:βM  αUβM}.

接受运行需无限多次访问每个这样的集合,表示义务反复被兑现或不再有效。closure 已包含 release 的否定对偶 until,故 R 不需要另一套独立接受条件。自然构造得到 generalized Büchi automaton;再用计数器状态轮流等待各接受集,可转成普通 Büchi 自动机。

转换计数器增加状态,却保持语言。若把“访问所有接受集”错误改成“访问其中一个”,多个 until 义务中只兑现一项也会被接受。

正确性的两向证明骨架

给定字 w=a0a1 及接受运行 M0a0M1a1,初态条件先给出 φM0。再对 closure 中公式作结构归纳:字母匹配处理原子命题,完备一致性处理否定和布尔联结,next 等价处理位置推进,U/R 展开处理局部时间递归;generalized Büchi 条件排除“永远携带 αUβ 却从不出现 β”的伪解。由此得到 truth lemma

ψMiw,iψ,

特别有 w,0φ;这是 soundness 方向。

反过来,若 wφ,令

Mi={ψcl(φ):w,iψ}.

每个 Mi 都是完备一致的局部类型,且 φM0;LTL 语义保证字母匹配、next 等价以及 U/R 展开成立,所以 MiaiMi+1。对任一 αUβ:若它在无限多个位置不属于 Mi,相应接受集已被无限访问;否则它从某处起持续出现,而 strong-until 语义迫使 β 此后反复兑现,也会无限访问接受集。于是该宏状态序列是接受运行;这是 completeness 方向。

直觉

公式轨迹示例

φ=G(requestFgrant).

反例自动机针对 ¬φ=F(requestG¬grant)。它先非确定等待某个 request,随后进入监控阶段,要求以后每个位置都没有 grant

若词中请求后第三步出现授权,进入监控的该次猜测会失败;自动机也可等待另一个请求。只有存在某次请求永远得不到后续授权,才有接受运行。

这说明非确定性用于猜测违反见证的位置,Büchi 循环用于证明义务在无限后缀上持续失败。

Fq 到 Büchi 自动机
例子与边界

可复算构造:Fq

Fq 看成 true Uq。相关 closure 义务包括 q,¬q,Fq 以及未兑现时传给下一位置的 XFq。约简后的等价 Büchi 自动机可用两个状态表示:初态 W 表示“仍在等待 q”,状态 D 表示“这次 eventually 已兑现”。转移为

W¬qW,WqD,Dq 或 ¬qD,

且只有 D 接受。一般公式中的接受集合

FFq={M:qM 或 FqM}

正好排除“Fq 一直 pending 且 q 从未出现”的 waiting 状态。

对词 a0a1=¬q,¬q,q,(¬q)ω,采用 ri+1δ(ri,ai)r0=W 的运行约定,状态序列是

W,W,W,D,D,.

读完位置 0,1 后仍在等待,读完位置 2q 才进入 D,随后接受态被无限访问。对 (¬q)ω,唯一运行是 Wω,从不访问接受态,故拒绝。这与 Fq 要求存在某个 j0 满足 q 的量词完全对应。

构造路线与边界

不同翻译使用 tableau、alternating automata、very weak automata 或 formula progression;生成图大小、非确定分支和接受条件形式可以不同,但必须保存完整无限词语言。on-the-fly 只生成与系统产品可达的部分,常显著减少实际状态,却不取消上述最坏指数下界。

普通 Büchi 适合非确定反例搜索;若后续算法要求确定自动机,LTL 到 deterministic parity/Rabin automata 的最坏增长更高,不能把 NBA 的单指数结论原样搬用。

推论与应用

模型检查实际构造 A¬φ,再与系统同步取积并寻找接受环。翻译的非确定状态记录尚未排除的公式义务,产品中的系统分量则保证每个接受字确由真实执行产生;两者缺一都不能给出反例。

有限 trace、past operators 与 fairness 扩展需要相应变体。把经典无限词翻译直接用于终止日志,可能因末端 next/until 语义不同而给出错误接受结果。

参考资料
  • Moshe Y. Vardi and Pierre Wolper, “An Automata-Theoretic Approach to Automatic Program Verification,” LICS, 1986, pp. 332–344。
  • Rob Gerth, Doron Peled, Moshe Vardi, and Pierre Wolper, “Simple On-the-fly Automatic Verification of Linear Temporal Logic,” PSTV, 1995, pp. 3–18。
  • Paul Gastin and Denis Oddoux, “Fast LTL to Büchi Automata Translation,” CAV, 2001, pp. 53–65。
  • Javier Esparza and Jan Křetínský, “From LTL to Deterministic Automata: A Safraless Compositional Approach,” Formal Methods in System Design 49, 2016, pp. 219–271。
关系图谱12 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

被这些条目使用