@@ -14,39 +14,39 @@ option girard true
1414
1515-- built-ins
1616
17- def Path (A : U) (x y : A) : U := PathP (<_> A) x y
18- def idp (A : U) (x : A) : Path A x x := <_> x
17+ def Path' (A : U) (x y : A) : U := PathP (<_> A) x y
18+ def idp (A : U) (x : A) : Path' A x x := <_> x
1919def Pi (O : 𝟏) (A : U) (B : A → U) : U := Π (x : A), B x
2020def Π-lambda (O : 𝟏) (A: U) (B: A → U) (b: Pi ★ A B) : Pi ★ A B := λ (x : A), b x
2121def Π-apply (O : 𝟏) (A: U) (B: A → U) (f: Pi ★ A B) (a: A) : B a := f a
22- def Π-β (O : 𝟏) (A : U) (B : A → U) (a : A) (f : Pi ★ A B) : Path (B a) (Π-apply ★ A B (Π-lambda ★ A B f) a) (f a) := idp (B a) (f a)
23- def Π-η (O : 𝟏) (A : U) (B : A → U) (a : A) (f : Pi ★ A B) : Path (Pi ★ A B) f (λ (x : A), f x) := idp (Pi ★ A B) f
22+ def Π-β (O : 𝟏) (A : U) (B : A → U) (a : A) (f : Pi ★ A B) : Path' (B a) (Π-apply ★ A B (Π-lambda ★ A B f) a) (f a) := idp (B a) (f a)
23+ def Π-η (O : 𝟏) (A : U) (B : A → U) (a : A) (f : Pi ★ A B) : Path' (Pi ★ A B) f (λ (x : A), f x) := idp (Pi ★ A B) f
2424def Sigma (O : 𝟏) (A : U) (B : A → U) : U := summa (x: A), B x
2525def pair (O : 𝟏) (A: U) (B: A → U) (a: A) (b: B a) : Sigma ★ A B := (a, b)
2626def pr₁ (O : 𝟏) (A: U) (B: A → U) (x: Sigma ★ A B) : A := x.1
2727def pr₂ (O : 𝟏) (A: U) (B: A → U) (x: Sigma ★ A B) : B (pr₁ ★ A B x) := x.2
28- def Σ-β₁ (O : 𝟏) (A : U) (B : A → U) (a : A) (b : B a) : Path A a (pr₁ ★ A B (a ,b)) := idp A a
29- def Σ-β₂ (O : 𝟏) (A : U) (B : A → U) (a : A) (b : B a) : Path (B a) b (pr₂ ★ A B (a, b)) := idp (B a) b
30- def Σ-η (O : 𝟏) (A : U) (B : A → U) (p : Sigma ★ A B) : Path (Sigma ★ A B) p (pr₁ ★ A B p, pr₂ ★ A B p) := idp (Sigma ★ A B) p
28+ def Σ-β₁ (O : 𝟏) (A : U) (B : A → U) (a : A) (b : B a) : Path' A a (pr₁ ★ A B (a ,b)) := idp A a
29+ def Σ-β₂ (O : 𝟏) (A : U) (B : A → U) (a : A) (b : B a) : Path' (B a) b (pr₂ ★ A B (a, b)) := idp (B a) b
30+ def Σ-η (O : 𝟏) (A : U) (B : A → U) (p : Sigma ★ A B) : Path' (Sigma ★ A B) p (pr₁ ★ A B p, pr₂ ★ A B p) := idp (Sigma ★ A B) p
3131
32- def Path-1 (O : 𝟏) (A : U) (x y : A) : U := PathP (<_> A) x y
33- def idp-1 (O : 𝟏) (A : U) (x : A) : Path A x x := <_> x
32+ def Path' -1 (O : 𝟏) (A : U) (x y : A) : U := PathP (<_> A) x y
33+ def idp-1 (O : 𝟏) (A : U) (x : A) : Path' A x x := <_> x
3434def transport (A B: U) (p : PathP (<_> U) A B) (a: A): B := transp p 0 a
35- def singl (A: U) (a: A): U := Σ (x: A), Path A a x
35+ def singl (A: U) (a: A): U := Σ (x: A), Path' A a x
3636def eta (A: U) (a: A): singl A a := (a, idp A a)
37- def contr (A : U) (a b : A) (p : Path A a b) : Path (singl A a) (eta A a) (b, p) := <i> (p @ i, <j> p @ i /\ j)
38- def trans_comp (A : U) (a : A) : Path A a (transport A A (<i> A) a) := <j> transp (<_> A) -j a
39- def subst (A : U) (P : A -> U) (a b : A) (p : Path A a b) (e : P a) : P b := transp (<i> P (p @ i)) 0 e
40- def subst-comp (A: U) (P: A → U) (a: A) (e: P a): Path (P a) e (subst A P a a (idp A a) e) := trans_comp (P a) e
41- def D (A : U) : U₁ := Π (x y : A), Path A x y → U
37+ def contr (A : U) (a b : A) (p : Path' A a b) : Path' (singl A a) (eta A a) (b, p) := <i> (p @ i, <j> p @ i /\ j)
38+ def trans_comp (A : U) (a : A) : Path' A a (transport A A (<i> A) a) := <j> transp (<_> A) -j a
39+ def subst (A : U) (P : A -> U) (a b : A) (p : Path' A a b) (e : P a) : P b := transp (<i> P (p @ i)) 0 e
40+ def subst-comp (A: U) (P: A → U) (a: A) (e: P a): Path' (P a) e (subst A P a a (idp A a) e) := trans_comp (P a) e
41+ def D (A : U) : U₁ := Π (x y : A), Path' A x y → U
4242
4343-- constructive J-β
4444
45- def J (A: U) (x: A) (C: D A) (d: C x x (idp A x)) (y: A) (p: Path A x y): C x y p
45+ def J (A: U) (x: A) (C: D A) (d: C x x (idp A x)) (y: A) (p: Path' A x y): C x y p
4646 := subst (singl A x) (\ (z: singl A x), C x (z.1) (z.2)) (eta A x) (y, p) (contr A x y p) d
47- def J-1 (O : 𝟏) (A : U) (x : A) (C: D A) (d: C x x (idp A x)) (y: A) (p: Path A x y): C x y p
47+ def J-1 (O : 𝟏) (A : U) (x : A) (C: D A) (d: C x x (idp A x)) (y: A) (p: Path' A x y): C x y p
4848 := subst (singl A x) (\ (z: singl A x), C x (z.1) (z.2)) (eta A x) (y, p) (contr A x y p) d
49- def J-β (O : 𝟏) (A : U) (a : A) (C : D A) (d: C a a (idp A a)) : Path (C a a (idp A a)) d (J A a C d a (idp A a))
49+ def J-β (O : 𝟏) (A : U) (a : A) (C : D A) (d: C a a (idp A a)) : Path' (C a a (idp A a)) d (J A a C d a (idp A a))
5050 := subst-comp (singl A a) (\ (z: singl A a), C a (z.1) (z.2)) (eta A a) d
5151
5252
@@ -56,24 +56,24 @@ def MLTT-73 :=
5656 Σ (Π-form : Π (A : U) (B : A → U), U)
5757 (Π-ctor₁ : Π (A : U) (B : A → U), Pi ★ A B → Pi ★ A B)
5858 (Π-elim₁ : Π (A : U) (B : A → U), Pi ★ A B → Pi ★ A B)
59- (Π-comp₁ : Π (A : U) (B : A → U) (a : A) (f : Pi ★ A B), Path (B a) (Π-elim₁ A B (Π-ctor₁ A B f) a) (f a))
60- (Π-comp₂ : Π (A : U) (B : A → U) (a : A) (f : Pi ★ A B), Path (Pi ★ A B) f (λ (x : A), f x))
59+ (Π-comp₁ : Π (A : U) (B : A → U) (a : A) (f : Pi ★ A B), Path' (B a) (Π-elim₁ A B (Π-ctor₁ A B f) a) (f a))
60+ (Π-comp₂ : Π (A : U) (B : A → U) (a : A) (f : Pi ★ A B), Path' (Pi ★ A B) f (λ (x : A), f x))
6161 (Σ-form : Π (A : U) (B : A → U), U)
6262 (Σ-ctor₁ : Π (A : U) (B : A → U) (a : A) (b : B a) , Sigma ★ A B)
6363 (Σ-elim₁ : Π (A : U) (B : A → U) (p : Sigma ★ A B), A)
6464 (Σ-elim₂ : Π (A : U) (B : A → U) (p : Sigma ★ A B), B (pr₁ ★ A B p))
65- (Σ-comp₁ : Π (A : U) (B : A → U) (a : A) (b: B a), Path A a (Σ-elim₁ A B (Σ-ctor₁ A B a b)))
66- (Σ-comp₂ : Π (A : U) (B : A → U) (a : A) (b: B a), Path (B a) b (Σ-elim₂ A B (a, b)))
67- (Σ-comp₃ : Π (A : U) (B : A → U) (p : Sigma ★ A B), Path (Sigma ★ A B) p (pr₁ ★ A B p, pr₂ ★ A B p))
65+ (Σ-comp₁ : Π (A : U) (B : A → U) (a : A) (b: B a), Path' A a (Σ-elim₁ A B (Σ-ctor₁ A B a b)))
66+ (Σ-comp₂ : Π (A : U) (B : A → U) (a : A) (b: B a), Path' (B a) b (Σ-elim₂ A B (a, b)))
67+ (Σ-comp₃ : Π (A : U) (B : A → U) (p : Sigma ★ A B), Path' (Sigma ★ A B) p (pr₁ ★ A B p, pr₂ ★ A B p))
6868 (=-form : Π (A : U) (a : A), A → U)
69- (=-ctor₁ : Π (A : U) (a : A), Path A a a)
70- (=-elim₁ : Π (A : U) (a : A) (C: D A) (d: C a a (=-ctor₁ A a)) (y: A) (p: Path A a y), C a y p)
71- (=-comp₁ : Π (A : U) (a : A) (C: D A) (d: C a a (=-ctor₁ A a)), Path (C a a (=-ctor₁ A a)) d (=-elim₁ A a C d a (=-ctor₁ A a))), 𝟏
69+ (=-ctor₁ : Π (A : U) (a : A), Path' A a a)
70+ (=-elim₁ : Π (A : U) (a : A) (C: D A) (d: C a a (=-ctor₁ A a)) (y: A) (p: Path' A a y), C a y p)
71+ (=-comp₁ : Π (A : U) (a : A) (C: D A) (d: C a a (=-ctor₁ A a)), Path' (C a a (=-ctor₁ A a)) d (=-elim₁ A a C d a (=-ctor₁ A a))), 𝟏
7272
7373--- Theorem. J-β-rule is derivable from generalized transport
7474
7575def internalizing : MLTT-73
7676 := ( Pi ★, Π-lambda ★, Π-apply ★, Π-β ★, Π-η ★,
7777 Sigma ★, pair ★, pr₁ ★, pr₂ ★, Σ-β₁ ★, Σ-β₂ ★, Σ-η ★,
78- Path-1 ★, idp-1 ★, J-1 ★, J-β ★, ★
78+ Path' -1 ★, idp-1 ★, J-1 ★, J-β ★, ★
7979 )
0 commit comments