¿Existen teorías eta intermedias para el cálculo lambda?


15

Hay dos teorías principales y estudiadas del cálculo lambda, la teoría beta y su extensión Post-completa, la teoría beta-eta.

¿Estas dos teorías tienen una regla intermedia intermedia que da una teoría de reescritura confluente? ¿Hay alguna noción interesante de extensionalidad parcial a la que corresponda?

Esta es la segunda pregunta que hice en busca de eta intermedia, la anterior fue Extensiones de la teoría beta del cálculo lambda , que condujo a la pregunta sobre una noción ortogonal de extensión, Caracterización de equivalencias invisibles mediante reglas de reescritura confluentes , que buscaba aclarar un responde a esa pregunta anterior.

Respuestas:


10

Para los cálculos mecanografiados, si considera los tipos negativos ( , × , ), puede activar o desactivar las reglas eta básicamente a voluntad sin afectar la confluencia.1×

Para los tipos positivos (sumas y pares con la eliminación de coincidencia de patrones), la situación es mucho más complicada. Básicamente, la pregunta es si el término tiene una forma de eliminación de alcance cerrado, que permite que los contextos interactúen de manera complicada con expansiones eta. Por ejemplo, si tiene el tipo A × B , entonces su eta-expansión es l e teA×B . Pero para obtener la teoría de la ecuación que esperaría un teórico de la categoría, debe considerar los contextos C [ - ] y generalizar la ecuación para que sea C [ e ] l e tlet(a,b)=ein(a,b)C[] (con las restricciones de alcance esperadas).C[e]let(a,b)=einC[(a,b)]

Creo que aún puede probar un resultado de confluencia si no permite las conversiones de conmutación. Pero esto es un rumor: nunca lo he intentado yo mismo, ni he visto documentos que lo documentan.

Sin embargo, realmente no sé nada sobre el cálculo lambda sin tipo.

EDITAR: Charles pregunta sobre las reducciones de eta. Esto es prometedor para el tipo de ejemplo que busca, porque creo que en general no serán lo suficientemente fuertes como para modelar la teoría de la igualdad total, lo que ilustraré con un ejemplo simple que involucra booleanos. La expansión de eta para booleanos es . (La reducción de eta es, por supuesto, la otra dirección).C[e]if(e,C[true],C[false])

Ahora, considere el término . Mostrar que este término es equivalente a i f ( e , fif(e,f,g)if(e,x,y) necesita pasar por una expansión eta, porque tenemos que reemplazar la e en uno de los if-then-elses por t r u e y f a l s e para conducir unareducción β . if(e,fx,gy)etrtumiFunlsmiβ


Debería haber dejado en claro que esto se trataba del cálculo lambda sin tipo: la lógica a un lado podría dejar eso en claro. En el caso escrito, espero que la integridad de la publicación sea válida para la teoría 〈→, ×〉, pero no estoy del todo seguro con respecto a otros tipos. los contextos interactúan de manera complicada con las expansiones eta : ese es un caso para considerar la reducción eta, ¿no es así, porque no es necesario restringir las reescrituras?
Charles Stewart

4

Según John C. Mitchell en Fundamentos de lenguajes de programación, tanto en STLC como en cálculo lambda sin tipo, la regla de reducción pair (proj₁ P, proj₂ P) → Prompe la confluencia cuando se combina con la fixreducción (o, supongo, al mirar la prueba), sin tales condiciones para el caso sin tipo. Este es el teorema 4.4.19 (página 272).


2
Supongo que este es un comentario extenso sobre la respuesta de Neel. Klop y De Vrijer (1989) analizan la teoría del cálculo lambda sin tipo con emparejamiento surjective: el caso con las reducciones eta no es confluente, pero la teoría es consistente (tiene un modelo en la construcción D_inf de Scott), y proporcionan resultados sugiriendo una teoría de reescritura conservadora y confluente para pares sobreyectivos (todavía es un problema abierto, AFAIK).
Charles Stewart
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.