Problema di appartenenza al linguaggio di una MdT

Sulle macchine di Turing può essere definito il seguente problema di decisione LM:

Parametri: Una macchina di Turing $M = \lang Q, \{0, 1\}, \Gamma,\delta, q_1, B, F\rang$ e un suo input $w\in \{0, 1\}^*$ (per semplicità, si considerano solo le MdT con alfabeto di input binario, che sono equivalenti alle MdT con arbitrari alfabeti di input).

Domanda: $M$ accetta $w$?

Per studiare lo status computazionale di questo problema bisogna, come al solito, associare a esso un linguaggio e determinare se esista una MdT che lo riconosca. Si osservi che ciò introduce una sorta di “cortocircuito”: si vogliono usare le macchine di Turing per risolvere un problema che riguarda le macchine di Turing stesse.

Nel seguito si dimostrerà che il problema LM è ricorsivamente enumerabile ma indecidibile. Per fare ciò, bisognerà prima definire con precisione il linguaggio associato,

$$ L(\text{LM}) = \{x \in \Sigma^* \ | \ x \text{ è la codifica di una coppia }(M, w) \text{ per cui }M \text{ accetta }w\} $$

che necessita di due codifiche:

Codifica delle macchine di Turing

Per semplicità, nel definire una codifica per le MdT $M = \lang Q, \{0, 1\}, \Gamma, \delta, q_1, B, F\rang$ si considerano solo le $M$ fatte in questo modo:

Si potrebbe dimostrare che tali restrizioni, compreso in particolare il fatto di avere un singolo stato finale, non sono limitative, cioè che queste MdT sono equivalenti a quelle generali.

Una volta fissata la forma della macchina $M$, si assegnano degli interi positivi alle sue varie componenti:

Così, una regola di transizione