Cómo demostrar que un lenguaje de programación es Turing completo
Todos los problemas computables se pueden calcular. Una máquina virtual o lenguaje de programación de este tipo se llama Turing completo. Se dice que un sistema informático que puede calcular todas las funciones computables por Turing es Turing completo. Un lenguaje es Turing completo, lo que significa que la potencia de cálculo del lenguaje es equivalente a una Máquina Universal de Turing (Máquina Universal de Turing), que además es la potencia más alta que puede tener un lenguaje informático moderno. ¿Qué significa Turing completo? En la teoría de la computabilidad, cuando un conjunto de reglas de operación de datos (un conjunto de instrucciones, un lenguaje de programación o un autómata celular) satisface cualquier dato y puede calcular el resultado en un orden determinado, se denomina Turing completo. Un dispositivo con un conjunto de instrucciones completo de Turing se define como una computadora de propósito general. Si Turing está completo, (el dispositivo informático) tiene la capacidad de realizar saltos condicionales (declaraciones "if" y "goto") y cambiar datos de la memoria. Si algo muestra la integridad de Turing es que tiene la capacidad de simular computadoras primitivas, e incluso las computadoras más simples pueden simular las más complejas. Todos los lenguajes de programación de propósito general y los conjuntos de instrucciones de las computadoras modernas son Turing completo (la plantilla C ++ es Turing completa) y pueden resolver el problema de la memoria limitada. Las máquinas completas de Turing se definen para tener memoria infinita, pero los conjuntos de instrucciones de máquina generalmente se definen para funcionar solo en una cantidad específica y limitada de RAM.