Cuando miramos el libro, Teoría del tipo de homotopía , vemos los siguientes temas:
Homotopy type theory
2.1 Types are higher groupoids
2.2 Functions are functors
2.3 Type families are fibrations
2.4 Homotopies and equivalences
2.5 The higher groupoid structure of type formers
2.6 Cartesian product types
2.7 S-types
2.8 The unit type
2.9 P-types and the function extensionality axiom
2.10 Universes and the univalence axiom
2.11 Identity type
2.12 Coproducts
2.13 Natural numbers
2.14 Example: equality of structures
2.15 Universal properties
Ahora sabemos que no toda la teoría del tipo de homotopía es posible es Agda y Coq .
Mi pregunta es: ¿Qué partes de la teoría del tipo de homotopía no son posibles en Agda o Coq?
type-systems
ojo de halcón
fuente
fuente
Respuestas:
Si nos fijamos en Notas sobre el capítulo 8 verá lo que ha sido ya formalizada, y creo que eso es mucho. Existen la biblioteca Coq HoTT y la biblioteca Agda HoTT-Agda que formalizan grandes fragmentos de la teoría de tipos de homotopía.
Para hacer las cosas en Coq, necesitábamos una versión especial de Coq que fue parcheada solo para los propósitos de HoTT. Sin embargo, Coq se está moviendo en la dirección de apoyar la teoría del tipo de homotopía, por lo que en poco tiempo podríamos hacerlo con Coq estándar.
En Agda, uno tiene que activar la
--without-K
opción; de lo contrario, Agda piensa que todos los tipos son de tipo 0. Hay algunas dudas persistentes sobre si--without-K
realmente se elimina la suposición de que todo es un conjunto de 0, o tal vez uno podría reintroducirlo en Agda con usos complicados de coincidencias de patrones.Los siguientes aspectos de las formalizaciones de Coq y Agda no son satisfactorios:
El axioma de la univalencia se establece como una hipótesis. Sería mejor si se integrara en el sistema. En particular, nos gustaría que Coq y Agda entiendan las reglas de cálculo sobre el axioma de Univalencia.
Del mismo modo, tenemos que usar hacks para obtener tipos viables de mayor inductividad. Una vez más, sería mejor tener un apoyo directo.
El problema con las deficiencias anteriores es que nadie sabe cómo solucionarlas, incluso en teoría. Esta es un área activa de investigación.
Aparte de eso, creo que es justo decir que HoTT se puede hacer principalmente en Coq y Agda, pero no de la manera óptima.
fuente
ua
, la constante que presencia el axioma de Univalencia? ¿Cuáles son las reglas de cálculo para los HIT? Tenemos algunas ideas, pero nada hermético.Por lo que entiendo, en Agda es posible representar todo eso (es decir, todo el Capítulo 2: hay una biblioteca en github que sí; AFAIK, lo mismo es cierto para Coq). Es solo cuando llegas a capítulos posteriores que las cosas se ponen difíciles. Hay dos elementos obvios:
También hay otros elementos, pero todavía no he leído esa parte de la formalización de Agda ... Pero, en general, la mayoría de HoTT se puede formalizar bien tanto en Agda como en Coq.
Más importante aún, ambos equipos de desarrolladores están trabajando activamente en la adaptación de sus sistemas para que se pueda manejar más HoTT, al menos siempre que haya una teoría clara de cómo implementar las características necesarias. Eso ha resultado ser un desafío en partes.
fuente