Regra de eliminação para o tipo de igualdade, também conhecido como axioma J


7

Estou implementando um intérprete para o cálculo lambda e agora quero adicionar o tipo de igualdade. A regra de introdução é fácil, mas a regra de eliminação é bastante obscura para mim. Encontrei esse encadeamento stackoverflow, mas explica o axioma J apenas em uma frase. Como isso pode ser entendido intuitivamente?

Respostas:


7

Uma compreensão completa do que Jrealmente estava dizendo e por que chegou apenas recentemente. Esta postagem do blog discute isso. Enquanto pensar em termos de homotopia e funções contínuas fornece muita intuição e se conecta a uma área muito rica da matemática, tentarei manter a discussão abaixo no nível lógico.

Digamos que você axiomatizou tipos de igualdade diretamente (são operações e leis grupóides ): Temos uma substituição que é funcional.

Γx:AΓreflx:x=AxΓ,x:A,y:Ap:x=AyΓ,x:A,y:Ap1:y=AxΓ,x:A,y:Ap:x=AyΓ,y:A,z:Aq:y=AzΓ,x:A,y:A,z:Apq:x=Az
(p1)1ppp1refl(pq)1q1p1reflppprefl(pq)rp(qr)
Γ,z:AF(z):UΓ,x:A,y:Ap:x=AyΓ,x:A,y:Asubst(F,p):F(x)F(y)
subst(F,refl)=idsubst(F,pq)=subst(F,q)subst(F,p)subst(λx.c=Ax,p)(q)=qp
Finalmente, teríamos regras de congruência para tudo, dizendo que tudo respeita essa igualdade. Aqui está uma das congruências mais importantes.
Γ,x:A,y:Ap:x=AyΓ,z:AB(z):UΓ,x:A,y:A,b:B(x)liftB(b,p):x,b=Σx:A.B(x)y,subst(B,p)(b)

Agora vamos considerar um caso especial de substituição.

Γc:AΓ,t:Σx:A.c=AxC(t):UΓb:C(c,reflc)Γ,y:A,p:c=Aysubst(C,liftλz.c=z(reflc,p))(b):C(y,p)

Isto é J. Podemos usar currying para obter a melhor aparência:

Γc:AΓ,y:A,p:c=AyC(y,p):UΓb:C(c,reflc)Γ,y:A,p:c=AyJA,c(C,b,y,p):C(y,p)

Obviamente, se começarmos J, podemos rederivar toda a outra estrutura que defini.

Agora, se tivermos e então . Portanto, se tivermos , não há como por meio de um pré-selecionado em geral, a menos que . (Da perspectiva da homotopia, diz que podemos preencher o triângulo com as arestas , e .) Para torná-lo mais embotado, defina (e ) e obtemosp:x=Ayq:y=Ayliftλz.x=z(p,q):y,p=y,pqy,py,pqpq=ppq=ppqpp=reflxy=xq=psendo a igualdade requerida que não é verdadeira em geral (porque um valor do tipo pode representar uma equivalência arbitrária e não há nada dizendo que duas equivalências devem ser iguais, ou, equivalentemente, porque sabemos que os grupóides podem ser não- trivial). O objetivo disso é demonstrar que as coisas podem ser iguais de mais de uma maneira, ou seja, um valor de não é tão bom quanto outro em geral.x=Ayy=y

Uma coisa importante a entender é que Jdiz que o tipo é definido indutivamente e fala pouco sobre o tipo para e fixos . Uma maneira de ver isso, e por que é assim, é ver como é a congruência de tipos de igualdade com pontos de extremidade correspondentes. Temos a seguinte regra (ignorando o termo de prova, é expressável com ou ): Com , temos a opção de fazerΣy:A.x=Ayx=AyxyJsubstJ

Γ,x:Ap:x=AxΓ,x:A,q:x=Ax_:q=x=Axpqp1
liftλz.x=zliftλz.x=z(p,p1p):y,p=y,p para que todos os pontos sejam equivalentes para qualquer outro ponto (embora não necessariamente trivialmente). Com os dois pontos de extremidade correspondentes, não temos a flexibilidade de escolher as igualidades para primeiro cancelar a igualdade de entrada e, em seguida, executar uma igualdade arbitrária.

Embora Jrespeite cuidadosamente a estrutura grupóide não trivial dos tipos de igualdade, em linguagens tipicamente dependentes de tipagem dependente, não há como realmente definir um elemento não trivial de um tipo de igualdade. Nesse ponto, você encontra uma bifurcação na estrada. Uma rota é adicionar o Axiom K, que diz que o grupóide é realmente trivial, o que torna muitas provas muito mais simples. A outra rota é adicionar axiomas que permitem articular a estrutura grupóide não trivial. O exemplo mais dramático disso é o axioma da univalência, que leva à teoria do tipo de homotopia .


11
Para a próxima pessoa que a vê: toda essa resposta só faz sentido depois de entender a teoria dos tipos de homotopia.
盛安安

Existem maneiras interessantes, mas menos dramáticas, de expressar igualdades não triviais que o Univalence Axiom?
Łukasz Lew

11
@ ŁukaszLew Você pode obter resultados implícitos pela univalência sem levar a coisa toda. A univalência fornece um grupo , mas você pode afirmar apenas um número limitado de níveis de homotopia (na verdade, isso é efetivamente o que o Axiom K faz). Você também pode afirmar a existência de tipos específicos com tipos de identidade não triviais, por exemplo, , ou afirmar que um tipo preexistente possui alguns elementos não triviais em seu tipo de identidade. (,1)S1
Derek Elkins saiu de SE

11
@ ŁukaszLew Não dá tudo o que eu mencionei. A existência de vai além da univalência. Ele e sua estrutura precisam ser declarados explicitamente ou são necessários tipos indutivos superiores. A univalência, em certo sentido, apenas fala sobre os tipos de identidade para o (s) universo (s). S1
Derek Elkins saiu de SE

11
@ ŁukaszLew Como uma pequena correção é representável (embora eu acredite de uma maneira um pouco mais fraca do que um tipo indutivo mais alto daria). No entanto, não acredito que se saiba se todas as esferas superiores são ou não. O ponto é que os tipos indutivos mais altos são um esquema separado de axiomas nem dependentes nem deriváveis ​​da univalência, embora provenientes das mesmas intuições e certamente interagindo. S1
Derek Elkins saiu de SE
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.