Documentation

Cslib.Computability.Languages.RegularLanguage

Regular languages #

theorem Language.IsRegular.iff_cslib_dfa {Symbol : Type u_1} {l : Language Symbol} :
l.IsRegular ∃ (State : Type) (_ : Finite State) (dfa : Cslib.Automata.DA.FinAcc State Symbol), Cslib.Automata.Acceptor.language dfa = l

A characterization of Language.IsRegular using Cslib.DA

theorem Language.IsRegular.iff_cslib_nfa {Symbol : Type u_1} {l : Language Symbol} :
l.IsRegular ∃ (State : Type) (_ : Finite State) (nfa : Cslib.Automata.NA.FinAcc State Symbol), Cslib.Automata.Acceptor.language nfa = l

A characterization of Language.IsRegular using Cslib.NA

@[simp]
theorem Language.IsRegular.compl {Symbol : Type u_1} {l : Language Symbol} (h : l.IsRegular) :
@[simp]
theorem Language.IsRegular.zero {Symbol : Type u_1} :
@[simp]
theorem Language.IsRegular.one {Symbol : Type u_1} :
@[simp]
theorem Language.IsRegular.top {Symbol : Type u_1} :
@[simp]
theorem Language.IsRegular.inf {Symbol : Type u_1} {l1 l2 : Language Symbol} (h1 : l1.IsRegular) (h2 : l2.IsRegular) :
(l1l2).IsRegular
@[simp]
theorem Language.IsRegular.add {Symbol : Type u_1} {l1 l2 : Language Symbol} (h1 : l1.IsRegular) (h2 : l2.IsRegular) :
(l1 + l2).IsRegular
@[simp]
theorem Language.IsRegular.iInf {Symbol : Type u_1} {I : Type u_2} [Finite I] {s : Set I} {l : ILanguage Symbol} (h : is, (l i).IsRegular) :
(⨅ is, l i).IsRegular
@[simp]
theorem Language.IsRegular.iSup {Symbol : Type u_1} {I : Type u_2} [Finite I] {s : Set I} {l : ILanguage Symbol} (h : is, (l i).IsRegular) :
(⨆ is, l i).IsRegular