Myhill–Nerode theorem #
This file proves the Myhill–Nerode theorem using left quotients.
Given a language L and a word x, the left quotient of L by x is the set of suffixes y
such that x ++ y is in L. The Myhill–Nerode theorem shows that each left quotient, in fact,
corresponds to the state of an automaton that matches L, and that L is regular if and only if
there are finitely many such states.
References #
@[simp]
theorem Language.IsRegular.finite_range_leftQuotient {α : Type u} {L : Language α} (h : L.IsRegular) :
The left quotients of a language are the states of an automaton that accepts the language.
Equations
Instances For
@[simp]
theorem Language.step_toDFA {α : Type u} {L : Language α} (s : ↑(Set.range L.leftQuotient)) (a : α) :
theorem Language.IsRegular.of_finite_range_leftQuotient {α : Type u} {L : Language α} (h : (Set.range L.leftQuotient).Finite) :
Myhill–Nerode theorem. A language is regular if and only if the set of left quotients is finite.