Buchi Congruence #
A special type of right congruences used by J.R. Büchi to prove the closure of ω-regular languages under complementation.
Given a Buchi automaton na, two finite words u and v are Buchi-congruent
according to na iff for every pair of states s and t of na, both of the
following two conditions hold:
(1) u can move na from s to t iff v can move na from s to t;
(2) u can move na from s to t via an acceptingg states iff v can move na
from s to t via an acceptingg states.
Equations
- One or more equations did not get rendered due to their size.
Instances For
BuchiCongrParam is a parameterization of the equivalence classes of na.BuchiCongruence
using the type State → State → Prop × Prop, which is finite if State is.
Equations
- One or more equations did not get rendered due to their size.
Instances For
BuchiCongrParam is surjective.
na.BuchiCongruence is of finite index if na has only finitely many states.
If xl and yl belong to the same equivalence class of na.BuchiCongruence
and xl can move na from state s to state t, then so can yl and, furthermore,
if xl makes na go through an accepting state of na, then so can yl.
na.buchiFamily is a family of ω-languages indexed by a pair of equivalence classes
of na.BuchiCongruence which will turn out to saturate the ω-language accepted by na
and cover all possible ω-sequences.
Equations
- na.buchiFamily (a, b) = Cslib.RightCongruence.eqvCls a * (Cslib.RightCongruence.eqvCls b)^ω
Instances For
na.buchiFamily is a cover if na has only finitely many states.
This theorem uses the Ramsey theorem for infinite graphs and does not depend on any details
of na.BuchiCongruence other than that it is of finite index.
na.buchiFamily saturates the ω-language accepted by na.