Por isso, atualmente estou estudando o livro HoTT com algumas pessoas. Afirmei que a maioria dos tipos indutivos que veremos podem ser reduzidos a tipos que contêm apenas tipos de função dependentes e universos, tomando o tipo de recorrente como inspiração para o tipo equivalente. Comecei a esboçar como achava que isso iria funcionar e, depois de alguns tropeços, cheguei ao que achava ser uma resposta.
( ⋅ , ⋅ ) ≡ X um : Uma . λ b : B . λ C : L . λ g : Um → B → C . g ( um ) ( b ) i n d
E não parece haver uma solução simples para isso. Também pensei na seguinte definição.
Mas isso simplesmente não verifica.
Portanto, parece que podemos definir o recursor aqui, mas não o indutor. Podemos definir algo que se parece muito com o indutor, mas não consegue. A recursão nos permite executar a lógica, considerando esse tipo o significado de conjunção lógica, mas não nos permite provar coisas sobre produtos que parecem estar faltando.
Podemos fazer o tipo de redução que afirmei que pode ser feita? Ou seja, podemos definir um tipo usando apenas tipos de função dependentes e universos que possuam uma função de emparelhamento e um indutor com as mesmas equações e tipos de definição que os produtos? É minha crescente suspeita que fiz uma alegação falsa. Parece que somos capazes de chegar tão frustrantemente perto, mas não conseguimos. Se não podemos defini-lo, que tipo de argumento explica por que não podemos? Os produtos apresentados no livro HoTT aumentam a força do sistema?
Respostas:
A referência padrão que geralmente dou é que a indução não pode ser derivada na teoria de tipos dependentes de segunda ordem de Herman Geuvers, que afirma que não existe um tipo
de tal modo que
é comprovável. Isso sugere que, de fato, essa codificação não pode funcionar para pares como você descreve.
O sistema para o qual está provado é um subconjunto do Cálculo de construções, que contém tipos de produtos poderosos e um universo. Eu suspeito que esse resultado possa ser estendido ao sistema em que você está interessado, dependendo do que você possui.
Infelizmente, não sei a resposta completa para sua pergunta. Eu suspeito que adicionar certos princípios de parametricidade "internamente" é exatamente o necessário para que essas codificações funcionem com o princípio de indução total. Neel Krishnaswami, cujo conhecimento é um superconjunto estrito meu, escreveu um artigo nesse sentido com Derek Dreyer:
Internalizando a parametridade relacional no cálculo extensional de construções
Também é interessante o seguinte artigo de Bernardy, Jansson e Patterson (Bernardy pensou profundamente sobre esses tópicos):
Parametricidade e tipos dependentes
Obviamente, a parametridade tem uma forte relação com a HoTT em geral, mas não sei quais são os detalhes. Acho que Steve Awodey considerou essas questões, já que o truque de codificação é útil em contextos em que não sabemos realmente como devem ser os eliminadores.
fonte
Para que sua ideia funcione, você precisa de algo extra, como foi apontado na resposta de @cody. Sam Speight trabalhou sob a supervisão de Steve Awodey para ver o que pode ser alcançado no HoTT usando um universo impredicativo, consulte Codificações Impredicativas de Tipos Indutivos na postagem do blog do HoTT .
fonte