¿Las reducciones más internas son perpetuas en el cálculo λ sin tipo?


14

(Ya he preguntado esto en MathOverflow, pero no obtuve respuestas allí).

Antecedentes

En el cálculo lambda sin tipo, un término puede contener muchos redexes, y diferentes opciones sobre cuál reducir pueden producir resultados muy diferentes (p Ej. ( Λ x . Y ) ( ( λ x . X x ) λ x . X x )(λX.y)((λX.XX)λX.XX) que en un paso ( β -) reduce ya sea para y o a sí mismo). Las diferentes (secuencias de) opciones de dónde reducir se denominan estrategias de reducción . Se dice que un término t se está normalizando si existe una estrategia de reducción que trae ta la forma normal Se dice que un término t se normaliza fuertemente si cada estrategia de reducción lleva t a su forma normal. (No me preocupa cuál, pero la confluencia garantiza que no puede haber más de una posibilidad).

Se dice que una estrategia de reducción se está normalizando (y en cierto sentido es la mejor posible) si cada vez que t tiene una forma normal, entonces ahí es donde terminaremos. La estrategia más a la izquierda es la normalización.

En el otro extremo del espectro, se dice que una estrategia de reducción es perpetua (y en cierto sentido es la peor posible) si cada vez que hay una secuencia de reducción infinita de un término , entonces la estrategia encuentra dicha secuencia, en otras palabras, posiblemente no podamos normalizar, entonces lo haremos.t

Conozco las estrategias de reducción perpetua y F b k dadas respectivamente por: F b k ( C [ ( λ x . S ) t ] ) = C [ s [ t / x ] ] si  t  está normalizando fuertemente F b k ( C [ ( λ x . S ) t ] ) = C [FFsik y F ( C [ ( λ ] si  x  ocurre en  s , o si  t  está en forma normal F ( C [ ( λ x . s ) t

Fsik(C[(λX.s)t])=C[s[t/ /X]]Si t se está normalizando fuertementeFsik(C[(λX.s)t])=C[(λX.s)Fsik(t)]de otra manera
(en ambos casos, elíndiceβindicado es elmás alaizquierdaen el términoC[(λx.S)t]- y en formas normales , las estrategias de reducción son necesariamente de identidad.) La estrategiaFes inclusomáxima: si normaliza un término, entonces ha utilizado una secuencia de reducción más larga posible para hacerlo. (Ver, por ejemplo, 13.4 en el libro de Barendregt).
F(C[(λX.s)t])=C[s[t/ /X]]Si X ocurre en s, o si t está en forma normalF(C[(λX.s)t])=C[(λX.s)F(t)]de otra manera
βC[(λX.s)t]F

Considere ahora la estrategia de reducción más a la izquierda . Informalmente, solo reducirá un índice que no contiene otros redexes. Más formalmente, se define por L ( t ) = t si  t  en forma normal L ( λ x . S ) = λ x . L ( s ) para  s  no en forma normal L ( s t ) = L ( s ) t para  s  no en forma normalβ

L(t)=tSi t en forma normalL(λX.s)=λX.L(s)para s no en forma normalL(st)=L(s)tpara s no en forma normalL(st)=sL(t)Si s, pero no t está en forma normalL((λX.s)t)=s[t/ /X]Si st ambos en forma normal

La intuición natural para la reducción más a la izquierda es que hará todo el trabajo: no se puede perder ninguna redex, por lo que debería ser perpetua. Dado que la estrategia correspondiente es perpetua para la lógica combinatoria (sin tipo) (las reducciones más internas son perpetuas para todas las TRW ortogonales), esto no parece un optimismo de ojos azules completamente libre ...

λ

Si la respuesta resulta ser 'no', un puntero a un contraejemplo también sería muy interesante.



... como se menciona en la primera línea.
Kow

1
@kow: Sí, tienes razón, y no hay nada de malo en la publicación cruzada :) El enlace es solo para el beneficio de seguir tanto los comentarios como las respuestas en MO, para evitar una doble respuesta. Ver la discusión sobre meta .
Hsien-Chih Chang 張顯 之

1
@kow: Cuando haga una pregunta cruzada la próxima vez, no olvide agregar un enlace, preferiblemente en ambas direcciones.
Tsuyoshi Ito

1
@Kaveh, supongo que L solo da un paso, de lo contrario, debe decir cuál es la estrategia de evaluación para L enL(L(s)t)sL(s)L(L(s))

Respuestas:


13

ttt=(λX.(λy.1)(XX)) terminará usando L incluso si tiene una reducción infinita.

El primer paso de reducción es: L(tt)=L(t)t=L(λX.(λy.1)(XX))t=(λX.L((λy.1)(XX)))t=(λX.1)t.

El primer paso de reducción con F es F([(λX.(λy.1(XX)))t]))=(λy.1)(tt).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.