A menudo me confunde la relación entre la conversión η y la extensionalidad.
Editar: Según los comentarios, parece que también estoy confundido acerca de la relación entre equivalencia extensional y equivalencia observacional. Pero al menos en Agda con igualdad extensional para funciones (como postulado), y para un cálculo lambda de tipo simple (que tiene una semántica completamente abstracta, si no me equivoco), la equivalencia denotativa es lo mismo que la equivalencia observacional. Siéntase libre de corregirme en comentarios o respuestas; Nunca he recibido educación sistemática sobre estos asuntos.
En el cálculo lambda sin tipo, la regla eta proporciona el mismo sistema de prueba que la regla de extensionalidad, como lo prueba Barendregt (citado en una respuesta a esta pregunta ). Entiendo que eso significa que el sistema de prueba con la regla eta está completo para la equivalencia observacional (de otras respuestas, eso podría necesitar la regla de la regla ξ, es decir, la reducción bajo las carpetas IIUC; no tengo ningún problema para agregar esa regla también) .
Sin embargo, ¿qué sucede si cambiamos a un cálculo mecanografiado y agregamos extender este cálculo con tipos de bases adicionales y las correspondientes formas de introducción y eliminación? ¿Podemos escribir un sistema de prueba completo para la equivalencia observacional? Hablaré sobre sistemas de prueba en forma de semántica axiomática, siguiendo los Fundamentos de los lenguajes de programación (FPL) de Mitchell; El sistema de prueba / semántica axiomática define la equivalencia del programa.
Pregunta 1 : ¿el teorema de Barendregt se extiende a STLC? ¿Es la equivalencia η equivalente a la extensionalidad en ese contexto?
Estoy navegando discusión del PCF de FPL (pero no la acabó la sección todavía), y parece que una vez que añadir pares, extensionalidad requiere una regla adicional, a saber, el emparejamiento sobreyectiva: pair (Proj1 P, Proj2 P) = P
. Curiosamente, esta regla relaciona la introducción y eliminación de pares exactamente como la regla η relaciona la introducción y eliminación de funciones.
Pregunta 2 : ¿Es suficiente agregar el axioma de emparejamiento dejetivo para probar la extensionalidad en cálculo λ de tipo simple con pares? editar : Pregunta 2b : ¿es el emparejamiento dejetivo una ley η, como las leyes η mencionadas en este documento , debido a la similitud estructural que menciono?
Vamos a PCF ahora. Las descripciones de igualdad extensional que he visto demuestran que la extensionalidad implica una regla de prueba por inducción, pero no dicen si eso es suficiente. Dado que PCF es Turing completo, la igualdad extensional es indecidible . Pero eso no implica que no haya un sistema de prueba completo, ya que la longitud de las pruebas no tiene límites. Más relevante aún, tal sistema de prueba podría contradecir los teoremas de incompletitud de Gödel. Y ese argumento podría aplicarse incluso a PCF sin él fix
y al Sistema T. de Gödel.
Pregunta 3 : ¿Existe un sistema de prueba completo para la equivalencia observacional en PCF? ¿Qué pasa con PCF sin fix
?
Actualización: abstracción completa
Respondo aquí sobre el comentario sobre la abstracción completa. Creo que PCF sufre de dos tipos diferentes de problemas: tiene no terminación (vía corrección), lo que causa la pérdida de la abstracción completa, pero también tiene números naturales. Ambos problemas hacen que la equivalencia observacional sea difícil de tratar, pero creo que son independientes el uno del otro.
Por un lado, PCF pierde la abstracción completa porque es paralelo o vive en el dominio semántico (Plotkin 1977), y eso parece tener que ver con la no determinación. Ralph Loader (2000, "La PCF finitaria no es decidible") muestra que la PCF finitaria (sin productos naturales, pero sin terminación) ya es indecidible; por lo tanto, (si resumo correctamente) una semántica completamente abstracta no puede restringirse a dominios con operaciones computables.
Por otro lado, tome el Sistema T de Gödel, que no tiene falta de determinación. (No estoy seguro de que tenga una semántica completamente abstracta, pero supongo que sí, porque el problema solo se menciona para PCF; el dominio debe contener funciones recursivas primitivas de orden superior). Fundamentos prácticos de Harper para lenguajes de programación discute equivalencia observacional para este lenguaje; Segundo. 47.4 se titula "Algunas leyes de igualdad" y muestra algunas reglas de prueba admisibles para la equivalencia observacional. En ninguna parte dice si el sistema de prueba está completo, por lo que supongo que no lo está, pero tampoco dice si se puede completar. Mi mejor conjetura se remonta al teorema de incompletitud de Gödel.