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)
:
(Set.range L.leftQuotient).Finite
The left quotients of a language are the states of an automaton that accepts the language.
Equations
Instances For
theorem
Language.IsRegular.of_finite_range_leftQuotient
{α : Type u}
{L : Language α}
(h : (Set.range L.leftQuotient).Finite)
:
L.IsRegular