He estado pensando en estas preguntas:
¿Existe un cálculo lambda mecanografiado que sea consistente y Turing completo?
/cs/65003/if-%CE%BB-xxx-has-a-type-then-is-the-type-system-inconsistent
¡y ya hay algunas preguntas relacionadas difíciles de responder en la configuración sin tipo ! Más específicamente, tengo curiosidad por saber si podemos recuperar la integridad de Turing de la no terminación de la siguiente manera:
Pregunta: Dado un (puro) -term con no forma normal cabeza débil, hace no siempre existe un combinador de punto fijo tal que
Todas las igualdades se toman en el módulo .
De hecho, sospecho que esta versión de la pregunta es falsa , por lo que uno puede relajar la pregunta a los combinadores en bucle , donde un combinador en bucle se define como un término tal que para cada f Y f = f ( Y ′ f ) donde Y ′ nuevamente se requiere que sea un combinador de bucles. Esto es suficiente para definir funciones recursivas como de costumbre, por supuesto.
En términos más generales, estoy interesado en encontrar formas "naturales" de pasar de un no terminador a un combinador en bucle, incluso si la ecuación anterior no está satisfecha.
También me interesan las versiones más débiles de la pregunta anterior, por ejemplo, puede considerarse una aplicación t ≡ t 1 t 2 ... t n con cada t i en forma normal (aunque no estoy seguro de que eso realmente ayude).
Hasta ahora: el enfoque natural es tomar aplicaciones y "pepper" de f en todo momento, por ejemplo
se convierte en lo habitual
La idea es reducir la cabeza de a una aplicación lambda λ x . t ' y reemplazarlo con λ x . f t ' , pero el siguiente paso no está claro (y soy escéptico de que esto pueda conducir a cualquier cosa).
No estoy seguro de entender lo suficiente sobre los árboles Böhm para ver si tienen algo que decir, pero lo dudo mucho, ya que el árbol Böhm de es simplemente ⊥ , que no se parece en nada al de Y Ω : un árbol infinito de abstracciones
Editar : Un amigo mío comentó que este enfoque ingenuo no funciona con el término: El enfoque ingenuo daría ( λ x . F ( x x x ) ) ( λ x . f ( x x x ) ) ¡ Pero este no es un combinador de punto fijo! Esto se puede solucionar reemplazando la segunda aplicación de f por
Respuestas:
Hay varios aspectos de esta muy buena pregunta, por lo que estructuraré esta respuesta en consecuencia.
1. La respuesta a la pregunta del recuadro es no . El término sugerido por su amigo es de hecho un contraejemplo.Ω3=(λx.xxx)(λx.xxx)
Anteriormente se notó en los comentarios que uno tiene contraejemplos como el "ogro" , hasta que la pregunta se restringe a términos sin forma normal de cabeza débil. Dichos términos se conocen como términos cero . Estos son términos que nunca se reducen a una lambda, bajo ninguna sustitución.K∞=YK
Para cualquier combinador de punto fijo (fpc) , Y I es un término denominado mudo (también conocido como "raíz activa"): cada reducción de este se reduce aún más a una redex.Y YI
no es mudo; ninguno es Ω 3 , como se manifiesta al inspeccionar su conjunto de reducciones, que es { Ω 3 ( λ x . x x x ) ⋯ ( λ x . x x x ) ⏟ k ∣ k ∈ N }K∞ Ω3 −
En lugar de dar un argumento precisa qué es mudo para todos los CPF Y (de hecho, para cualquier combinador bucle) - que puede ser bastante laborioso sin embargo es de esperar clara - Voy a tratar a la generalización obvia de su pregunta, lo que restringe a los términos de silencio también.YI Y − −
Los términos mudos son una subclase de términos cero que son una subclase de términos insolubles. En conjunto, estas son quizás las opciones más populares para el concepto de "sin sentido" o "indefinido" en el cálculo lambda, correspondiente a los árboles triviales Berarducci, Levy-Longo y B \ "ohm, respectivamente. La red de nociones de términos sin sentido ha sido analizado en detalle por Paula Severi y Fer-Jan de Vries. [1] Los términos mudos constituyen el elemento inferior de esta red, es decir, la noción más restrictiva de "indefinido".
2. Sea ser un término mute, y Y ser un combinador de bucle con la propiedad de que Y I = M .M Y YI=M
En primer lugar se argumenta que, para una variable fresca , Y z realidad se parece mucho a la Y M que ha descrito, obtenido por "aspersión z torno a" algún reducto de M .z Yz YM z M
Por Church-Rosser, y M tienen una reducción común, M ' . Tome una reducción estándar R : Y I ↠ s M ′ . Cada subterráneo de M ' corresponde a un subterráneo único de Y I ≡ Y z [ z : = I ] bajo esta reducción. Para cualquier subterráneo C [ N ] = M ' , R factoriza como Y I ↠ C [YI M M′ R:YI↠sM′ M′ YI≡Yz[z:=I] C[N]=M′ R , donde la pierna del medio es una reducción débil de la cabeza (y la pierna final es interna). N está "custodiado" por una z si esta segunda etapa contrae alguna redex I P , con I un descendiente de la sustitución [ z : = I ] .YI↠C[N0]↠whC[N1]↠iC[N] N z IP I [z:=I]
Obviamente, tiene que proteger algunos subterms de M , porque de lo contrario también sería mudo. Por otro lado, debe tener cuidado de no proteger esos subterráneos que son necesarios para la no terminación, de lo contrario no podría desarrollar el árbol infinito B \ "ohm de un combinador en bucle.Y M
Por lo tanto, es suficiente encontrar un término mudo en el que cada subterráneo, de cada reducción, sea necesario para la no normalización, en el sentido de que poner una variable frente a ese subterráneo produce un término normalizador.
Considere , donde W = λ w . w I w w . Esto es como Ω , pero en cada iteración, verificamos que la ocurrencia de W en la posición del argumento no esté "bloqueada" por una variable head, al alimentarla con una identidad. Poner una z delante de cualquier subterráneo eventualmente producirá una forma normal de forma z P 1 ⋯ P k , donde cada P i es I , W o una " z- rociada" de estos. Entonces ΨΨ=WW W=λw.wIww Ω W z zP1⋯Pk Pi I W z Ψ es un contraejemplo a la pregunta generalizada.
TEOREMA. No hay un combinador de bucles tal que Y I = Ψ .Y YI=Ψ
PRUEBA. El conjunto de todas las reducciones de es { W W , W I W W , I I I I W W , I I I W W , I I W W , I W W } . Con el fin de ser convertible con Ψ , Y I debe reducir a uno de estos. El argumento es idéntico en todos los casos; Para ser concretos, supongamos que Y me ↠ me he W W .Ψ {WW,WIWW,IIIIWW,IIIWW,IIWW,IWW} Ψ YI YI↠IIWW
Cualquier reducción estándar se puede factorizar como Y I ↠ w P N 4 , P ↠ w Q N 3 , Q ↠ w N 1 N 2 , por lo tanto Y I ↠ w N 1 N 2 N 3 N 4 N 1 ↠ I , N 2 ↠ I , N 3YI↠sIIWW
Remitámonos a la reducción como R 0 , y las reducciones a partir de N i como R i .YI↠wN1N2N3N4 R0 Ni Ri
Estas reducciones se pueden levantar sobre la sustitución para producir R z 0 : Y z ↠ z k ( M 1 M 2 M 3 M 4 ) N i ≡ M i [ z : = I ] para que R 0 es la composición Y I R z 0 [ z : = I ] ↠ I[z:=I]
Del mismo modo, podemos levantar cada como R z i : M i ↠ N z i R i : N i R z i [ z : = I ] ↠ N z i [ z : = I ] ↠ I NRi:Ni↠N∈{I,W}
[1] Severi P., de Vries FJ. (2011) Descomponiendo el entramado de conjuntos sin sentido en el cálculo Lambda infinita. En: Beklemishev LD, de Queiroz R. (eds) Lógica, Lenguaje, Información y Computación. WoLLIC 2011. Lecture Notes in Computer Science, vol 6642.
[2] Richard Statman. No hay combinador hiperrecurrente S, K. Informe de investigación 91–133, Departamento de Matemáticas, Universidad Carnegie Mellon, Pittsburgh, PA, 1991.
fuente