Büchi automata for infinitely often and eventually always
DefinitionInfinitely often#✓fully proved
For a set \(p\) of symbols, the ω-language “infinitely often \(p\)” consists of the infinite words \(x_0 x_1 x_2 \ldots\) with \(x_k \in p\) for infinitely many \(k\).
def infinitelyOften (p : Set Symbol) : ωLanguage Symbol :=
{ xs : ωSequence Symbol | ∃ᶠ k in atTop, xs k ∈ p }
Used by 2
DefinitionEventually always#✓fully proved
For a set \(p\) of symbols, the ω-language “eventually always \(p\)” consists of the infinite words \(x_0 x_1 x_2 \ldots\) for which there is an \(N\) with \(x_k \in p\) for all \(k \ge N\).
def eventuallyAlways (p : Set Symbol) : ωLanguage Symbol :=
{ xs : ωSequence Symbol | ∀ᶠ k in atTop, xs k ∈ p }
Used by 2
TheoremComplement of “infinitely often”#✓fully proved
For every set \(p\) of symbols, the complement of the ω-language of infinite words with infinitely many letters in \(p\) is the ω-language of infinite words whose letters are eventually all in the complement of \(p\).
theorem compl_infinitelyOften (p : Set Symbol) :
(infinitelyOften p)ᶜ = eventuallyAlways pᶜ
def infinitelyOften (p : Set Symbol) : ωLanguage Symbol :=
{ xs : ωSequence Symbol | ∃ᶠ k in atTop, xs k ∈ p }
CSLibExt/Computability/Languages/ExampleInfinitelyOften.lean:41
def eventuallyAlways (p : Set Symbol) : ωLanguage Symbol :=
{ xs : ωSequence Symbol | ∀ᶠ k in atTop, xs k ∈ p }
CSLibExt/Computability/Languages/ExampleInfinitelyOften.lean:45
Uses 2
DefinitionTwo-state Büchi automaton for “infinitely often”#✓fully proved
For a set \(p\) of symbols, this is the nondeterministic Büchi automaton over the alphabet of symbols with states \(\mathsf{true}\) and \(\mathsf{false}\), single start state \(\mathsf{true}\) and single accepting state \(\mathsf{true}\), in which reading a letter \(x\) from either state leads to exactly one state: \(\mathsf{true}\) if \(x \in p\) and \(\mathsf{false}\) otherwise. So the state records whether the last letter read was in \(p\).
def infinitelyOftenNa (p : Set Symbol) : NA.Buchi Bool Symbol where
Tr _ x s' := (s' = true ↔ x ∈ p)
start := {true}
accept := {true}
Used by 1
DefinitionTwo-state Büchi automaton for “eventually always”#✓fully proved
For a set \(p\) of symbols, this is the nondeterministic Büchi automaton over the alphabet of symbols with states \(\mathsf{false}\) and \(\mathsf{true}\), single start state \(\mathsf{false}\) and single accepting state \(\mathsf{true}\). From \(\mathsf{false}\) it may read any letter and move to either state; from \(\mathsf{true}\) it may read only letters in \(p\), and then it stays in \(\mathsf{true}\).
def eventuallyAlwaysNa (p : Set Symbol) : NA.Buchi Bool Symbol where
Tr s x s' := s = true → x ∈ p ∧ s' = true
start := {false}
accept := {true}
Used by 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.