Quando olhamos para o livro, Homotopy Type Theory - vemos os seguintes tópicos:
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
Agora sabemos que nem toda teoria de tipos de homotopia é possível é Agda e Coq .
Minha pergunta é: Quais partes da teoria dos tipos de homotopia não são possíveis na Agda ou na Coq?
type-systems
Hawkeye
fonte
fonte
Respostas:
Se você olhar para Notas sobre o Capítulo 8 você vai ver o que tem já sido formalizado, e eu acho que é muito. Há a biblioteca Coq HoTT e a biblioteca Agda HoTT-Agda que formalizam grandes partes da teoria do tipo de homotopia.
Para fazer as coisas no Coq, precisávamos de uma versão especial do Coq que fosse corrigida apenas para os propósitos do HoTT. No entanto, a Coq está se movendo na direção de apoiar a teoria do tipo de homotopia, portanto, em breve, poderemos fazê-lo com a Coq padrão.
No Agda, é preciso ativar a
--without-K
opção, caso contrário, o Agda pensa que todos os tipos são do tipo 0. Há algumas dúvidas remanescentes sobre se--without-K
realmente se livra da suposição de que tudo está definido como 0, ou talvez alguém possa reintroduzi-lo no Agda com usos complicados de correspondências de padrões.Os seguintes aspectos das formalizações Coq e Agda não são satisfatórios:
O axioma da univalência é afirmado como uma hipótese. Seria melhor se fosse incorporado ao sistema. Em particular, gostaríamos que Coq e Agda entendessem as regras de computação sobre o axioma da Univalência.
Da mesma forma, temos que usar hacks para obter tipos indutivos mais elevados. Novamente, seria melhor ter apoio direto.
O problema com as deficiências acima é que ninguém sabe como corrigi-las, mesmo em teoria. Esta é uma área ativa de pesquisa.
Fora isso, acho justo dizer que o HoTT pode ser feito principalmente na Coq e na Agda, mas não da maneira ideal.
fonte
ua
, a constante que testemunha o axioma da Univalência? Quais são as regras de computação para HITs? Temos algumas idéias, mas nada impermeável.Até onde eu entendi, no Agda é possível representar tudo isso (ou seja, todo o Capítulo 2 - há uma biblioteca no github que sim; AFAIK, o mesmo acontece com Coq). Somente nos capítulos posteriores é que as coisas ficam arriscadas. Existem dois itens óbvios:
Também existem outros itens, mas ainda não cheguei a ler essa parte da formalização da Agda ... Mas, em geral, a maior parte do HoTT pode ser bem formalizada tanto na Agda quanto na Coq.
Mais importante, ambas as equipes de desenvolvedores estão trabalhando ativamente na adaptação de seus sistemas para que mais HoTT possa ser gerenciado, pelo menos sempre que houver uma teoria clara de como implementar os recursos necessários. Isso acabou sendo um desafio em partes.
fonte