Langlib

Langlib.Automata.FiniteState.Equivalence.Determinization

Nondeterministic and Deterministic Finite Automata #

This file packages Mathlib's subset construction as a language-class equivalence. Mathlib proves that NFA.toDFA and DFA.toNFA preserve accepted languages; here we add the corresponding Langlib recognizability predicate and class equality.

Main declarations #

def is_NFA {T : Type} (L : Language T) :

A language is NFA-recognizable if it is accepted by some nondeterministic finite automaton with a finite state type.

Equations
Instances For
    def NFA.Class {T : Type} :

    The class of NFA-recognizable languages.

    Equations
    Instances For
      theorem is_NFA_iff_is_DFA {T : Type} {L : Language T} :

      Nondeterministic and deterministic finite automata recognize exactly the same languages.

      Equality of the NFA- and DFA-recognizable language classes.