Parametricidad y eliminaciones proyectivas para registros dependientes

16

π 1 : A × B A π 2 : A × B B

UN×siα.(UNsiα)α
π1:UN×siUNπ2:UN×sisi

Esto no es tan sorprendente, a pesar de que la lectura natural del tipo F es de un par con una eliminación del estilo let , porque los dos tipos de pares son interderivables en la lógica intuicionista.lmit(X,y)=pagyonortemi

Ahora, en una teoría de tipo dependiente con cuantificación impredecible, puede seguir el mismo patrón para codificar un tipo de registro dependiente como Pero en este caso, no hay una manera simple de definir los eliminadores proyectivos y \ pi_2: \ Pi p: (\ Sigma x: A. \; B [x]). \; B [\ pi_1 \, p] .Σ x : A .ΣX:UN.si[X]

Σx:A.B[x]α.(Πx:A.B[X]α)α
π1:ΣX:UN.si[X]UNπ2:Πpag:(ΣX:UN.si[X]).si[π1pag]

Sin embargo, si la teoría de tipos es paramétrica, puede usar la parametricidad para mostrar que π2 es definible. Esto parece ser conocido --- vea, por ejemplo, este desarrollo de Agda de Dan Doel en el que lo deriva sin comentarios --- pero parece que no puedo encontrar una referencia para este hecho.

¿Alguien sabe una referencia para el hecho de que la parametricidad permite definir eliminaciones proyectivas para tipos dependientes?

EDITAR: Lo más cercano que he encontrado hasta ahora es este artículo de 2001 de Herman Geuvers, Induction no es derivable en la teoría del tipo dependiente de segundo orden , en la que demuestra que no se puede hacer sin parametricidad.

Neel Krishnaswami
fuente
No puedo decir de esta publicación cuál es la pregunta. (No sé nada del área y no lo sabría de todos modos, pero me gustaría poder articular la pregunta)
Vijay D
2
Agregué una línea de pregunta explícita sobre la edición. ¿Esto ayuda?
Neel Krishnaswami
Si. Inicialmente no estaba seguro si era solo una solicitud de referencia o una solicitud de prueba. Voy a preguntar por ahí.
Vijay D
Tuve una discusión hace un par de meses aquí: queuea9.wordpress.com/2012/03/28/why-not-lambda-encode-data y creo que el principio de parametricidad-> eliminación es el folclore / trabajo original de Dan. Estas discusiones están cerca de otras relacionadas con la parametricidad por J.-P. Bernardi Es posible que desee echar un vistazo a los desarrollos de la biblioteca estándar de Coq en torno a sumas dependientes: coq.inria.fr/stdlib/Coq.Init.Specif.html y tal vez coq.inria.fr/stdlib/Coq.Logic.EqdepFacts.html#
cody
1
@kvb: No creo que haya una respuesta positiva, todavía. En mi borrador reciente (con Derek Dreyer) sobre parametricidad en el Cálculo de construcciones ( mpi-sws.org/~neelk/internalizing-parametricity.pdf ), mostramos que la parametricidad hace que suene agregar axiomas que le permiten obtener eliminaciones fuertes de la codificación de la Iglesia. Sin embargo, todavía no tenemos una buena historia sobre cómo internalizar la parametricidad de una manera que calcule bien (lo más probable es que necesitemos integrar los métodos de JP Bernardy en nuestra teoría de tipos). Esto no parece imposible, pero aún no sabemos cómo.
Neel Krishnaswami

Respuestas:

6

Acabo de hablar con Dan Doel y me explicó que su referencia era en realidad un Neel Krishnaswami. Él vio un comentario en n-cafe tuyo de que uno podía hacer una inducción fuerte usando la parametricidad, por lo que siguió adelante y lo hizo como un ejercicio, sin darse cuenta de que hacerlo por sigma aparentemente era un resultado novedoso.

La cita precisa: "Mi referencia era él. Pensé que dijo que era posible, así que lo hice".

sclv
fuente