Linear Temporal Logic and Büchi automata #
We define the syntax and language of Linear Temporal Logic (LTL) formulas and
of nondeterministic Büchi automata (NBW), and state the theorem that every
LTL formula has an equivalent finite-state NBW.
@[reducible, inline]
A letter is a set of atomic propositions.
Equations
- LeanModelChecking.Letter AP = Set AP
Instances For
The language of a Linear Temporal Logic formula, defined as a predicate over a word.
Equations
- (LeanModelChecking.LTL.atom p).language w = (p ∈ w 0)
- φ.not.language w = ¬φ.language w
- (φ₁.or φ₂).language w = (φ₁.language w ∨ φ₂.language w)
- φ.next.language w = φ.language fun (j : ℕ) => w (j + 1)
- (φ₁.until φ₂).language w = ∃ (i : ℕ), (φ₂.language fun (j : ℕ) => w (j + i)) ∧ ∀ (k : ℕ), k < i → φ₁.language fun (j : ℕ) => w (j + k)
Instances For
The statement that every Linear Temporal Logic formula has an equivalent
finite-state nondeterministic Büchi automaton, packaged as a proposition so it
can be reused. Without the Finite A.Q conjunct the statement would be much
weaker, since an automaton with infinitely many states can encode arbitrary
languages.
Equations
- One or more equations did not get rendered due to their size.