Skip to content

Commit 8da03bf

Browse files
committed
format
1 parent 56344d2 commit 8da03bf

2 files changed

Lines changed: 12 additions & 30 deletions

File tree

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
{- Eilenberg-MacLane Spaces: https://anders.groupoid.space/mathematics/homotopy/KGn/
2-
3-
Implemented using primitive nat and ind-nat to ensure judgmental
4-
reduction across the loop space tower.
5-
6-
Copyright (c) Groupoid Infinity, 2016-2026. -}
2+
Copyright (c) Groupoid Infinity, 2016-2026. -}
73

84
module KGn where
95
import library/foundations/mltt/nat
@@ -24,40 +20,26 @@ def K-step (G : abgroup) (k : nat) (prev : Pointed) : Pointed
2420
trunc₁ (𝚺 prev.1) (plus (succ (succ zero)) (succ m)) (𝜎₁ prev.1))) k
2521

2622
-- K(G, n) tower construction using primitive ind-nat
27-
def K-Pointed (G : abgroup) (n : nat) : Pointed
28-
:= ind-nat (λ (x : nat), Pointed) (G.1.1, G.2.1.1.2.2.1) (λ (k : nat) (prev : Pointed), K-step G k prev) n
29-
23+
def K-Pointed (G : abgroup) (n : nat) : Pointed := ind-nat (λ (x : nat), Pointed) (G.1.1, G.2.1.1.2.2.1) (λ (k : nat) (prev : Pointed), K-step G k prev) n
3024
def K (G : abgroup) (n : nat) : U := (K-Pointed G n).1
3125
def K-point (G : abgroup) (n : nat) : K G n := (K-Pointed G n).2
3226

33-
-- K(G, n) Rules
34-
-- Elimination (Induction):
35-
-- P must be a family over the whole tower to allow induction on n.
36-
def K-ind (G : abgroup) (n : nat) (P : Π (k : nat), K G k → U)
37-
(pBase : Π (g : G.1.1), P zero g)
38-
(pStep : Π (k : nat) (prev : Π (z : K G k), P k z) (z : K G (succ k)), P (succ k) z)
39-
(z : K G n) : P n z
40-
:= ind-nat (λ (k : nat), Π (pB : Π (g : G.1.1), P zero g),
41-
(Π (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), P (succ m) y) →
42-
(Π (z : K G k), P k z))
27+
-- Elimination (Induction): P must be a family over the whole tower to allow induction on n.
28+
def K-ind (G : abgroup) (n : nat) (P : Π (k : nat), K G k → U) (pBase : Π (g : G.1.1), P zero g)
29+
(pStep : Π (k : nat) (prev : Π (z : K G k), P k z) (z : K G (succ k)), P (succ k) z) (z : K G n) : P n z
30+
:= ind-nat (λ (k : nat), Π (pB : Π (g : G.1.1), P zero g), (Π (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), P (succ m) y) → (Π (z : K G k), P k z))
4331
(λ (pB : Π (g : G.1.1), P zero g) (pS : Π (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), P (succ m) y) (z : K G zero), pB z)
4432
(λ (k : nat) (prev : Π (pB : Π (g : G.1.1), P zero g) (pS : Π (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), P (succ m) y) (z : K G k), P k z)
45-
(pB : Π (g : G.1.1), P zero g) (pS : Π (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), P (succ m) y) (z : K G (succ k)),
46-
pS k (λ (y : K G k), prev pB pS y) z)
47-
n pBase pStep z
33+
(pB : Π (g : G.1.1), P zero g) (pS : Π (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), P (succ m) y) (z : K G (succ k)), pS k (λ (y : K G k), prev pB pS y) z) n pBase pStep z
4834

4935
-- Computation Rule (Beta):
50-
def K-point-β (G : abgroup) (n : nat) (P : Π (k : nat), K G k → U)
51-
(pBase : Π (g : G.1.1), P zero g)
36+
def K-point-β (G : abgroup) (n : nat) (P : Π (k : nat), K G k → U) (pBase : Π (g : G.1.1), P zero g)
5237
(pStep : Π (k : nat) (prev : Π (z : K G k), P k z) (z : K G (succ k)), P (succ k) z)
5338
: Path (P n (K-point G n)) (K-ind G n P pBase pStep (K-point G n)) (K-ind G n P pBase pStep (K-point G n))
5439
:= <_> (K-ind G n P pBase pStep (K-point G n))
5540

56-
-- Uniqueness (Eta):
57-
-- This rule must be proven by induction on n because ind-nat does not reduce on a variable n.
41+
-- Uniqueness (Eta): This rule must be proven by induction on n because ind-nat does not reduce on a variable n.
5842
def K-η (G : abgroup) (n : nat) (P : Π (k : nat), K G k → U) (h : Π (k : nat) (z : K G k), P k z)
5943
: Path (Π (z : K G n), P n z) (h n) (λ (z : K G n), K-ind G n P (λ (g : G.1.1), h zero g) (λ (k : nat) (prev : Π (y : K G k), P k y) (y : K G (succ k)), h (succ k) y) z)
60-
:= ind-nat (λ (k : nat), Path (Π (z : K G k), P k z) (h k) (λ (z : K G k), K-ind G k P (λ (g : G.1.1), h zero g) (λ (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), h (succ m) y) z))
61-
(<_> (h zero))
62-
(λ (k : nat) (prev : Path (Π (z : K G k), P k z) (h k) (λ (z : K G k), K-ind G k P (λ (g : G.1.1), h zero g) (λ (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), h (succ m) y) z)),
63-
<_> (h (succ k))) n
44+
:= ind-nat (λ (k : nat), Path (Π (z : K G k), P k z) (h k) (λ (z : K G k), K-ind G k P (λ (g : G.1.1), h zero g) (λ (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), h (succ m) y) z)) (<_> (h zero))
45+
(λ (k : nat) (prev : Path (Π (z : K G k), P k z) (h k) (λ (z : K G k), K-ind G k P (λ (g : G.1.1), h zero g) (λ (m : nat) (pr : Π (y : K G m), P m y) (y : K G (succ m)), h (succ m) y) z)), <_> (h (succ k))) n

library/mathematics/homotopy/truncation.anders

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import library/foundations/mltt/either
1111
import library/mathematics/homotopy/Sn
1212
import library/mathematics/homotopy/hs
1313

14-
def trunc (A : U) (n : ℕ) : U := hs (sphere n) A
14+
def trunc (A : U) (n : ℕ) : U := hs (sphere n) A
1515
def trunc₁ (A : U) (n : ℕ) (x : A) : trunc A n := center (sphere n) A x
1616
def trunc₂ (A : U) (n : ℕ) (f : sphere n → hs (sphere n) A) : trunc A n := hub' (sphere n) A f
1717
def trunc₃ (A : U) (n : ℕ) (f : sphere n → hs (sphere n) A) (s : sphere n) := spoke' (sphere n) A f s

0 commit comments

Comments
 (0)