Parametricidade e eliminações projetivas para registros dependentes

16

É sabido que no Sistema F, você pode codificar produtos binários com o tipo Pode, em seguida, definir projecção funções \ pi_1: A \ B vezes \ a A e \ pi_2: A \ vezes B \ em B .π 1 : A × B A π 2 : A × B B

UMA×Bα.(UMABα)α
π1 1:UMA×BUMAπ2:UMA×BB

Isso não é tão surpreendente, embora a leitura natural do tipo F seja de um par com uma eliminação no estilo let euet(x,y)=pEune , porque os dois tipos de pares são interderiváveis ​​na lógica intuicionista.

Agora, em uma teoria de tipos dependentes com quantificação impredicativa, você pode seguir o mesmo padrão para codificar um tipo de registro dependente Σx:UMA.B[x] como

Σx:UMA.B[x]α.(Πx:UMA.B[x]α)α
Mas neste caso, não existe uma maneira simples de definir os eliminadores projetivos π1 1:Σx:UMA.B[x]UMA e π2:Πp:(Σx:UMA.B[x]).B[π1 1p] .

No entanto, se a teoria dos tipos for paramétrica, você poderá usar a parametridade para mostrar que π2 é definível. Isso parece ser conhecido - veja, por exemplo, este desenvolvimento da Agda por Dan Doel, no qual ele deriva sem comentários -, mas não consigo encontrar uma referência para esse fato.

Alguém conhece uma referência pelo fato de a parametridade permitir definir eliminações projetivas para tipos dependentes?

Edição: A coisa mais próxima que eu encontrei até agora é este artigo de Herman Geuvers, de 2001. A indução não é derivável na teoria do tipo dependente de segunda ordem , na qual ele prova que você não pode fazê-lo sem parametridade.

Neel Krishnaswami
fonte
Não posso dizer neste post qual é a questão. (Eu não sei nada da área e não saberia de qualquer maneira, mas eu gostaria de ser capaz de articular a questão)
Vijay D
2
Eu adicionei uma linha de perguntas explícita acima da edição. Isso ajuda?
Neel Krishnaswami
Sim. Inicialmente, eu não tinha certeza se era apenas um pedido de referência ou um pedido de prova. Eu vou perguntar por aí.
Vijay D
Eu tive uma discussão há alguns meses aqui: queuea9.wordpress.com/2012/03/28/why-not-lambda-encode-data e acredito que o princípio da parametridade-> eliminação é folclore / trabalho original de Dan. Essas discussões estão próximas de outras relacionadas à parametridade por J.‑P. Bernardi. Você pode dar uma olhada nos desenvolvimentos da biblioteca padrão da Coq em torno de somas dependentes: coq.inria.fr/stdlib/Coq.Init.Specif.html e talvez coq.inria.fr/stdlib/Coq.Logic.EqdepFacts.html#
Cody
11
@kvb: Acho que ainda não há uma resposta positiva. No meu rascunho recente (com Derek Dreyer) sobre a parametridade no Cálculo de Construções ( mpi-sws.org/~neelk/internalizing-parametricity.pdf ), mostramos que a parametridade faz parecer interessante para adicionar axiomas que permitem obter fortes eliminações. da codificação da Igreja. No entanto, ainda não temos uma boa história de como internalizar a parametridade de uma maneira que calcule bem (provavelmente precisamos integrar os métodos de JP Bernardy em nossa teoria de tipos). Isso não parece impossível, mas ainda não sabemos como.
Neel Krishnaswami

Respostas:

6

Acabei de falar com Dan Doel e ele explicou que sua referência era de fato um Neel Krishnaswami. Ele viu um comentário seu no n-cafe de que alguém podia fazer uma forte indução usando a parametridade, então ele seguiu em frente e fez isso como um exercício, sem perceber que fazer isso por sigma era aparentemente um resultado novo.

A citação precisa: "Minha referência era ele. Pensei que ele dissesse que era possível, então eu fiz".

sclv
fonte