Sipser tiene una prueba de este teorema que dice así:
$$D = \text{"On input } w$$
$$1. \text{Let } n \text{ be the length of } w$$
$$2. \text{Compute } f(n) \\ \text{using space constructibility and mark off this much tape. If later stages ever attempt to use more, } reject$$
$$3. \text{If } w \text{ is not of the form } <M>10^* \text{ for some TM } M, reject.$$
$$4. \text{Simulate } M \text{ on } w \text{ while counting the number of steps used in the simulate. If the count ever exceeds } 2^{f(n)}, reject\text{"}.$$
$$5. \text{If } M \text{ accepts,} reject. \text{If } M \text{ rejects}, accept.$$
Así que veo llegar a la contradicción si decimos que alguna Máquina de Turing $M$ decide la lengua $A$ la lengua que decida $D$ que se ejecuta en $o(f(n))$ espacio.
Pero ¿qué ocurre cuando se ejecuta $D$ sobre sí mismo . Doesn't $5$ ¿darte una contradicción? Si $D$ acepta, rechaza, y si $D$ rechaza, acepta. Entonces, ¿no se produciría una contradicción suponiendo que la siguiente TM $D$ es un decisor de $A$ ?
El teorema que intentamos demostrar es la jerarquía Espacio-Tiempo. Es decir, hay un Lenguaje A que se decide por TM $M$ $\in$ espacio (O(f(n)) pero no o(f(n)). véase: https://en.wikipedia.org/wiki/Space_hierarchy_theorem