等式タイプ別名J公理の消去規則


7

私はラムダ計算のインタープリターを実装していますが、今度は等式タイプを追加したいと思います。それの導入ルールは簡単ですが、除去ルールは私にはかなりあいまいです。この stackoverflowスレッドを見つけましたが、J公理を1文だけで説明しています。どのように直感的に理解できますか?

回答:


7

J実際に何が言っていたのか、なぜそうなのかを完全に理解したのはつい最近のことです。このブログ投稿では、それについて説明しています。ホモトピー関数と連続関数の観点から考えると、多くの直感が得られ、数学の非常に豊かな領域につながりますが、私は以下の議論を論理的なレベルで維持しようと思います。

等価型を直接公理化したとしましょう(これらはgroupoid演算と法則です):

Γ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
最後に、すべてがこの平等を尊重すると言って、すべてに対して合同のルールがありました。これが最も重要な合同点の1つです。
Γ,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)

次に、置換の特別なケースを考えてみましょう。

Γ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)

これですJ。カレーを使用して見栄えの良いフォームを作成できます。

Γ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)

もちろん、最初Jに定義した他のすべての構造を再利用できます。

今私たちが持っている場合 p:x=Ay そして q:y=Ay その後 liftλz.x=z(p,q):y,p=y,pq。だから私たちが持っている場合y,p、そこに行く方法はありません y,p 事前に選択された q 一般的には pq=p。(ホモトピーの観点から、pq=p 三角形でエッジを塗りつぶすことができると言います pq、および p。)より鈍くするには、 p=reflx (そして y=x)そして私たちは q=p 一般に真ではない必須の等価であること(typeの値が x=Ayは任意の同値を表すことができ、2つの同値が同じでなければならないということはありません。これのポイントは、物事が複数の方法で等しい可能性があることを示すことです。つまり、y=y 一般的に他のものほど良くはありません。

理解すべき重要なことJは、タイプを言うことですΣy:A.x=Ay 帰納的に定義され、タイプについてはほとんど語らない x=Ay 固定用 x そして y。これを確認する1つの方法、およびその理由Jは、エンドポイントが一致する等価タイプでの合同がどのように見えるかを調べることです。次のルールがあります(証明期間を無視すると、次のように表現できます)substまたはJ):

Γ,x:Ap:x=AxΓ,x:A,q:x=Ax_:q=x=Axpqp1
liftλz.x=z 私たちにはオプションがあります liftλz.x=z(p,p1p):y,p=y,p so every point was equivalent to every other point (though not necessarily trivially). With both endpoints matched, we don't have the flexibility of choosing the equalities to first cancel out the input equality and then performing an arbitrary equality.

While J carefully respects the non-trivial groupoid structure of equality types, in typical dependently typed languages there's no way to actually define a non-trivial element of an equality type. At this point you hit a fork in the road. One route is to add Axiom K which says that the groupoid is actually trivial which makes many proofs much simpler. The other route is to add axioms that allow you to articulate the non-trivial groupoid structure. The most dramatic instance of this is the Univalence Axiom which leads to Homotopy Type Theory.


1
For the next person who sees it: this whole answer only makes sense after you understand homotopy type theory.
盛安安

Are there interesting but less dramatic ways of expressing non-trivial equalities than Univalence Axiom ?
Łukasz Lew

1
@ŁukaszLew You could take results implied by univalence without taking the whole thing. Univalence gives you an (,1)-groupoid, but you could assert only a limited number of homotopy levels (indeed, this is effectively what Axiom K does). You could also assert the existence of particular types with non-trivial identity types, e.g. S1, or assert that a pre-existing type has some non-trivial elements in its identity type.
Derek Elkins left SE

1
@ŁukaszLew It doesn't give everything I mentioned. The existence of S1 goes beyond univalence. It and its structure either need to be asserted explicitly, or higher inductive types are required. Univalence, in some sense, only talks about the identity types for the universe(s).
Derek Elkins left SE

1
@ŁukaszLew As a minor correction S1 is representable (albeit, I believe in a slightly weaker way than a higher inductive type would give). Nevertheless, I don't believe it is known whether all higher spheres are or not. The point is higher inductive types are a separate scheme of axioms neither dependent on nor derivable from univalence, though coming from the same intuitions and certainly interacting.
Derek Elkins left SE
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.