¿Cómo se pueden convertir los términos

14

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 t con no forma normal cabeza débil, hace no siempre existe un combinador de punto fijo Yt tal que

Yt (λX.X)=t

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.YF

Y f=f (Y f)
Y

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.t

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).ttt1 t2tnti


Hasta ahora: el enfoque natural es tomar aplicaciones y "pepper" de f en todo momento, por ejemplotf

Ω:=(λx.x x)(λx.x x)

se convierte en lo habitual

YΩ:=λf.(λx.f (x x)) (λx.f (x x))

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).tλx.tλx.f t

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ΩYΩ


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

(λx.x x x)(λx.x x x)
(λx.f (x x x))(λx.f (x x x))
f , pero entonces f I no da al término original. Sin embargo, no está claro si este término es un contraejemplo de la pregunta original (y ciertamente no es un contraejemplo de la pregunta más general).λyz.f yfyo
cody
fuente
Creo que el requisito de que t no tiene forma normal de cabeza debería fortalecerse para excluir también las formas normales de cabeza débil. Si t es capaz de producir una lambda, entonces, dado que en la posición de la cabeza siempre tienes un combinador de punto fijo (comenzando con f = id), la lambda debería ser producida por él, eso no es posible.
Andrea Asperti
@AndreaAsperti tienes razón, por supuesto. Enmendaré la pregunta.
cody

Respuestas:

7

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.YYI

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 ) kk N }KΩ3

{Ω3(λx.xxx)(λx.xxx)kkN}

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.YIY

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 .MYYI=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 .zYzYMzM

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 [YIMMR:YIsMMYIYz[z:=I]C[N]=MR , 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 ] .YIC[N0]whC[N1]iC[N]NzIPI[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.YM

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 1P k , donde cada P i es I , W o una " z- rociada" de estos. Entonces ΨΨ=WWW=λw.wIwwΩWzzP1PkPiIWzΨ es un contraejemplo a la pregunta generalizada.

TEOREMA. No hay un combinador de bucles tal que Y I = Ψ .YYI=Ψ

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}ΨYIYIIIWW

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 1I , N 2I , N 3YIsIIWW

YIwPN4,PwQN3,QwN1N2,thus YIwN1N2N3N4N1I,N2I,N3W,N4W

Remitámonos a la reducción como R 0 , y las reducciones a partir de N i como R i .YIwN1N2N3N4R0NiRi

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 iM i [ z : = I ] para que R 0 es la composición Y I R z 0 [ z : = I ] I[z:=I]

R0z:Yzzk(M1M2M3M4)NiMi[z:=I]
R0 .YIR0z[z:=I]Ik(N1N4)wkN1N4

Del mismo modo, podemos levantar cada como R z i : M iN z i R i : N i R z i [ z : = I ] N z i [ z : = I ] I NRi:NiN{I,W}

Riz:MiNizRi:NiRiz[z:=I]Niz[z:=I]IN

RiINiz[z:=I]NNiz

NizzNzNN{I,W}Niz

zk1(λx.zk2(x))zk1(λw.zk2(zk3(zk5(zk7(w)zk8(λx.zk9(x)))zk6(w))zk4(w)))

M1M2M3M4N1zN2zN3zN4zNizzIi=1,2Wi=3,4

N1zN2zN3zN4zz(z(z()))zkjNiz

Nizi4kjj2+7 7yo-12

WyoyoWWWz=λw.z(wyoww)

yoyoWWzyoWWzWWzWzyoWzWzz(yoyoyoyo)WzWzzyoWzWz

Ω

zMETROnorte=λz.METROznorteyo=METRO

Yyo=METROYMETROzMETROYMETROMETROYMETROMETRO

YMz={z(YP[x:=Q]z)M(λx.P)QYNzM is not a redex and MwhN

[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.

Andrew Polonsky
fuente
YY I=Ω3
Buen punto. Acabo de actualizar la respuesta.
Andrew Polonsky