Reduzindo produtos no HoTT para codificações de igreja / scott


11

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

×UMA,B,C:você(UMABC)C
(,)λuma:UMA.λb:B.λC:você.λg:UMABC.g(uma)(b)
EundUMA×BλC.λg.λp.g(pr1(p))(pr2(p))

pr1pr2EundUMA×B

indUMA×B:C:UMA×Bvocê(uma:UMAb:BC((uma,b)))p:UMA×BC((pr1(p),pr2(p)))

E não parece haver uma solução simples para isso. Também pensei na seguinte definição.

EundUMA×BλC.λg.λp.p(C(p))(g)

Mas isso simplesmente não verifica.

vocênEuqUMA×BC((pr1(p),pr2(p)))C(p)vocênEuqUMA×BvocênEuqUMA×B

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?


2
Até onde eu entendo, a codificação usual da Igreja nos dá um tipo que admite eliminação não dependente (recursor), mas nenhuma eliminação dependente (indutor). Sua pergunta pode estar relacionada a esta . Não tenho certeza se o HoTT muda algo sobre isso.
chi

Isso parece útil. Pelo que entendi, minha pergunta seria respondida para o cálculo preditivo dos tipos de construções (Coq menos (co) indutivo). Estive procurando documentos que abordam esses modelos (modelos de CoC que não são modelos de CiC), mas não conseguem encontrar nenhum. Você por acaso tem uma fonte?
Jake

Infelizmente não tenho uma referência para compartilhar. Eu também estaria interessado em ter uma fonte para citar esse fato folclórico.
chi

Também continuo encontrando referências folclóricas a esse fato, mas não consigo encontrar uma explicação.
Jake

Boa pergunta, mas não se encaixaria melhor em cstheory.stackexchange.com
Martin Berger

Respostas:


7

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

N:Type

Z:NS:NN

de tal modo que

Eund:ΠP:NType.P Z(Πm:N.P mP (S m))Πn:N.P n

é 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.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.