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≜∀α.(UMA→B→α)→α
π1 1:UMA×B→UMAπ2:UMA×B→B

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.


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

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.