A.2.10 Identity types
The presentation here corresponds to the (unbased) path induction
principle for identity types in
Β§1.12 (http://planetmath.org/112identitytypes).
*[right==-form]
Ξ β’A : π° _i
Ξ β’a : A
Ξ β’b : A
Ξ β’a=Ab : π° _i
\inferrule*[right==-intro]
Ξ β’A : π° _i
Ξ β’a : A
Ξ β’ππΎπΏπ
a : a=Aa
\inferrule*[right==-elim]
Ξ,x : A,y : A,p : x=Ay β’C : π° _i
Ξ,z : A β’c : C[z,z,ππΎπΏπ
z/x,y,p]
Ξ β’a : A
Ξ β’b : A
Ξ β’pβ : a=Ab
Ξ β’ind_=_Aβ(x.y.p.C,z.c,a,b,pβ) : C[a,b,pβ/x,y,p]
\inferrule*[right==-comp]
Ξ,x : A,y : A,p : x=Ay β’C : π° _i
Ξ,z : A β’c : C[z,z,ππΎπΏπ
z/x,y,p]
Ξ β’a : A
Ξ β’ind_=_Aβ(x.y.p.C,z.c,a,a,ππΎπΏπ
a) β‘c[a/z] : C[a,a,ππΎπΏπ
a/x,y,p]
In πππ½β²=A, x, y, and p are bound in C, and z is bound in
c.
Title | A.2.10 Identity types |
---|---|
\metatable |