Parity automata
Parity
StructureNondeterministic parity automaton#✓fully proved
A nondeterministic parity automaton with states in \(Q\) and symbols in \(\Sigma\) is a nondeterministic automaton (a transition relation labelled by symbols on \(Q\), together with a set of start states) with a priority \(p(q) \in \mathbb{N}\) assigned to each state \(q \in Q\).
structure Parity (State Symbol : Type*) extends NA State Symbol where
/-- The priority of each state. -/
priority : State → ℕ
Used by 9
TheoremEvery state sequence of a finite parity automaton has a parity winner#✓fully proved
Let \(\mathcal{A}\) be a nondeterministic parity automaton with finitely many states and priority function \(p\). For every infinite sequence of states \(s_0, s_1, s_2, \dots\), the priority sequence \(p(s_0), p(s_1), p(s_2), \dots\) satisfies the even or the odd max-parity condition: the largest priority occurring infinitely often exists and is even, or it exists and is odd.
theorem run_parityEven_or_parityOdd [Finite State] (a : Parity State Symbol)
(ss : ωSequence State) : ParityEven (ss.map a.priority) ∨ ParityOdd (ss.map a.priority)
structure Parity (State Symbol : Type*) extends NA State Symbol where
/-- The priority of each state. -/
priority : State → ℕ
CSLibExt/Computability/Automata/NA/Parity.lean:44
def ParityEven (ps : ωSequence ℕ) : Prop :=
∃ n, Even n ∧ IsMaxInfOcc ps n
CSLibExt/Foundations/Data/OmegaSequence/Parity.lean:53
def ParityOdd (ps : ωSequence ℕ) : Prop :=
∃ n, Odd n ∧ IsMaxInfOcc ps n
CSLibExt/Foundations/Data/OmegaSequence/Parity.lean:58
Buchi
DefinitionBüchi automata as parity automata#✓fully proved
A nondeterministic Büchi automaton is turned into the nondeterministic parity automaton with the same states, transitions and start states, in which every accepting state has priority \(2\) and every other state has priority \(1\).
def toParity (na : Buchi State Symbol) [DecidablePred (· ∈ na.accept)] : Parity State Symbol where
toNA := na.toNA
priority s := if s ∈ na.accept then 2 else 1
structure Parity (State Symbol : Type*) extends NA State Symbol where
/-- The priority of each state. -/
priority : State → ℕ
CSLibExt/Computability/Automata/NA/Parity.lean:44
priority : State → ℕ
CSLibExt/Computability/Automata/NA/Parity.lean:46
Uses 1 · Used by 1
TheoremBüchi-to-parity conversion preserves the language#✓fully proved
Every nondeterministic Büchi automaton accepts the same language of infinite words as its presentation as a parity automaton (priority \(2\) on accepting states, \(1\) elsewhere).
theorem language_toParity (na : Buchi State Symbol) [DecidablePred (· ∈ na.accept)] :
language na.toParity = language na
Uses 4
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.