Unrestricted Grammars → Turing Machines #
This file proves that every language generated by an unrestricted grammar
is TM-recognizable (internally): RE ⊆ TM.
Main results #
re_implies_tm—is_RE L → is_TM L(TM-recognizable)
Strategy #
- Restrict the grammar to finitely many nonterminals.
- Show grammar membership is a
Computable₂search:w ∈ L ↔ ∃ seq, grammarTest g seq w. - The µ-search is
Nat.Partrec(viasearch_is_partrec), giving aCode. - Apply
code_implies_isTM_directto getis_TM L.
Step 4 uses the direct encoding bridge (CodeToTMDirect.lean).
theorem
re_implies_tm
{T : Type}
[DecidableEq T]
[Fintype T]
(L : Language T)
(hL : is_RE L)
:
is_TM L
Every recursively enumerable language (generated by an unrestricted grammar) is internally TM-recognizable with finite states.
Every recursively enumerable language over a finite alphabet is TM-recognizable.