Así que actualmente estoy revisando el libro de HoTT con algunas personas. Afirmé que la mayoría de los tipos inductivos que veremos se pueden reducir a tipos que contienen solo tipos de función dependientes y universos tomando el tipo del recurrente como inspiración para el tipo equivalente. Comencé a esbozar cómo pensaba que esto funcionaría y después de algunos tropiezos llegué a lo que pensé que era una respuesta.
( ⋅ , ⋅ ) ≡ lambda una : A . λ b : B . λ C : U . λ g : A → B → C . g ( a ) ( b ) i n d
Esto proporciona las ecuaciones de definición correctas (se omiten las ecuaciones de definición para y p r 2 ), pero esto significaría que i n d A × B tendría el tipo incorrecto.
Y no parece haber una solución simple para esto. También pensé en la siguiente definición.
Pero esto simplemente no teclea.
Parece que podemos definir el recursor aquí pero no el inductor. Podemos definir algo que se parece bastante al inductor pero que no lo logra. La recursividad nos permite realizar la lógica tomando este tipo como el significado de la conjunción lógica, pero no nos permite probar cosas sobre productos que parecen carecer.
¿Podemos hacer el tipo de reducción que afirmé que se puede hacer? Es decir, ¿podemos definir un tipo utilizando solo tipos de función dependientes y universos que tengan una función de emparejamiento e inductor con las mismas ecuaciones y tipos de definición que los productos? Es mi creciente sospecha de que hice una afirmación falsa. Parece que somos capaces de acercarnos tan frustrantemente, pero no logramos hacerlo. Si no podemos definirlo, ¿qué tipo de argumento explica por qué no podemos? ¿Los productos presentados en el libro de HoTT aumentan la fortaleza del sistema?
Respuestas:
La referencia estándar que a menudo doy es que la inducción no es derivable en la teoría del tipo dependiente de segundo orden por Herman Geuvers, que dice que no hay ningún tipo
tal que
es demostrable Esto sugiere que, de hecho, dicha codificación no puede funcionar para pares como usted describe.
El sistema para el que está probado es un subconjunto del cálculo de construcciones, que contiene tipos de productos potentes y un universo. Sospecho que este resultado puede extenderse al sistema que le interesa, dependiendo de lo que tenga.
Lamentablemente, no sé la respuesta completa a su pregunta. Sospecho que agregar internamente ciertos principios de parametricidad es exactamente lo que se requiere para que estas codificaciones funcionen con el principio de inducción completo. Neel Krishnaswami, cuyo conocimiento es un superconjunto estricto, escribió un artículo en este sentido con Derek Dreyer:
Internalización de la parametricidad relacional en el cálculo extensivo de construcciones
También es interesante el siguiente artículo de Bernardy, Jansson y Patterson (Bernardy ha pensado profundamente en estos temas):
Parametricidad y tipos dependientes
Obviamente, la parametricidad tiene una fuerte relación con HoTT en general, pero no sé cuáles son los detalles. Creo que Steve Awodey ha considerado estas preguntas, ya que el truco de codificación es útil en contextos donde realmente no sabemos cómo deberían ser los eliminadores.
fuente
Para que su idea funcione, necesita algo extra, como se señaló en la respuesta de @ cody. Sam Speight trabajó bajo la supervisión de Steve Awodey para ver qué se puede lograr en HoTT usando un universo impredecible , vea Codificaciones impredecibles de tipos inductivos en la publicación del blog de HoTT .
fuente