Skip to content

Commit 7756d33

Browse files
committed
2-quotients wip
1 parent 8ac243d commit 7756d33

4 files changed

Lines changed: 230 additions & 194 deletions

File tree

library/book.anders

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ import library/mathematics/homotopy/suspension
3333
import library/mathematics/homotopy/loop
3434
import library/mathematics/homotopy/S1
3535
import library/mathematics/homotopy/Sn
36-
import library/mathematics/homotopy/KGn
3736
import library/mathematics/homotopy/hopf
3837
import library/mathematics/categories/category
3938
import library/mathematics/categories/cartesian
Lines changed: 68 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,69 @@
11
{- K(G,n): https://anders.groupoid.space/mathematics/homotopy/KGn/
2-
3-
- Eilenberg-MacLane spaces K(G,n).
4-
5-
Copyright (c) Groupoid Infinity, 2016-2026. -}
6-
7-
module KGn where
8-
import library/foundations/mltt/inductive
9-
import library/mathematics/algebra/algebra
10-
import library/mathematics/homotopy/suspension
11-
import library/mathematics/homotopy/truncation
12-
import library/mathematics/homotopy/quotient
13-
14-
def 𝚺ₓ (A: U) : ℕ → U := ℕ-iter U A 𝚺
15-
def discreteTopology (G : abgroup) : U := G.1.1
16-
def R-K1 (G : group) : 𝟏 → 𝟏 → U := λ (x y : 𝟏), G.1.1
17-
def loop-K1 (G : group) (g : G.1.1) : R¯ 𝟏 (R-K1 G) ★ ★ := quot₂ 𝟏 (R-K1 G) ★ ★ g
18-
def Q-K1 (G : group) (x y : 𝟏) (r1 r2 : R¯ 𝟏 (R-K1 G) x y) : U
19-
:= + (Σ (g h : G.1.1), prod (Path (R¯ 𝟏 (R-K1 G) x y) r1
20-
(−·− 𝟏 (R-K1 G) ★ ★ ★ (loop-K1 G g) (loop-K1 G h)))
21-
(Path (R¯ 𝟏 (R-K1 G) x y) r2 (loop-K1 G (G.2.1.1 g h))))
22-
(prod (Path (R¯ 𝟏 (R-K1 G) x y) r1 (loop-K1 G G.2.1.2.2.1))
23-
(Path (R¯ 𝟏 (R-K1 G) x y) r2 (idp (quot 𝟏 (R-K1 G)) (quot₁ 𝟏 (R-K1 G) ★))))
24-
def K1 (G : group) : U := ‖_‖₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G))
25-
def K1-point (G : group) : K1 G := trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two (2-quot₁ 𝟏 (R-K1 G) (Q-K1 G) ★)
26-
def K1-loop (G : group) (g : G.1.1) : Path (K1 G) (K1-point G) (K1-point G)
27-
:= <i> trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two (2-quot₂ 𝟏 (R-K1 G) (Q-K1 G) ★ ★ g @ i)
28-
29-
def K (G : abgroup) (n: ℕ) : U
30-
:= ℕ-iter U (discreteTopology G) (λ (_: U), ‖_‖ (𝚺ₓ (K1 (G.X, G.2.g)) n) n) n
31-
32-
def K-point (G : abgroup) : Π (n : ℕ), K G n
33-
:= ℕ-ind (K G)
34-
G.2.g.1.2.2.1
35-
(λ (k : ℕ) (_ : K G k), trunc₁ (𝚺ₓ (K1 (G.X, G.2.g)) (succ k)) (succ k) (𝜎₁ (𝚺ₓ (K1 (G.X, G.2.g)) k)))
36-
37-
def K1-ind (G : group) (P : K1 G → U)
38-
(pPoint : P (K1-point G))
39-
(pPath : Π (g : G.1.1), PathP (<i> P (K1-loop G g @ i)) pPoint pPoint)
40-
(pCoher : Π (x y : 𝟏) (r1 r2 : R¯ 𝟏 (R-K1 G) x y) (q : Q-K1 G x y r1 r2),
41-
PathP (<i> PathP (<j> P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two (2-quot₃ 𝟏 (R-K1 G) (Q-K1 G) x y r1 r2 q @ i @ j)))
42-
pPoint pPoint)
43-
(2-quot-lift 𝟏 (R-K1 G) (Q-K1 G) (λ (z : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two z)) (λ (_:𝟏), pPoint) (λ (_ _ : 𝟏) (g:G.1.1), pPath g) x y r1)
44-
(2-quot-lift 𝟏 (R-K1 G) (Q-K1 G) (λ (z : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two z)) (λ (_:𝟏), pPoint) (λ (_ _ : 𝟏) (g:G.1.1), pPath g) x y r2))
45-
(nHub : Π (f : sphere two → K1 G) (nF : Π (s : sphere two), P (f s)), P (trunc₂ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two f))
46-
(nSpoke : Π (f : sphere two → K1 G) (nF : Π (s : sphere two), P (f s)) (s : sphere two),
47-
PathP (<i> P (trunc₃ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two f s @ i)) (nHub f nF) (nF s))
48-
(z : K1 G) : P z
49-
:= trunc-ind (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two P
50-
(2-quot-ind 𝟏 (R-K1 G) (Q-K1 G) (λ (x : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two x))
51-
(λ (_ : 𝟏), pPoint)
52-
(λ (_ _ : 𝟏) (g : G.1.1), pPath g)
53-
(λ (x y : 𝟏) (r1 r2 : R¯ 𝟏 (R-K1 G) x y) (q : Q-K1 G x y r1 r2), pCoher x y r1 r2 q))
54-
nHub nSpoke z
55-
56-
def K1-β₁ (G : group) (P : K1 G → U)
57-
(pPoint : P (K1-point G))
58-
(pPath : Π (g : G.1.1), PathP (<i> P (K1-loop G g @ i)) pPoint pPoint)
59-
(pCoher : Π (x y : 𝟏) (r1 r2 : R¯ 𝟏 (R-K1 G) x y) (q : Q-K1 G x y r1 r2),
60-
PathP (<i> PathP (<j> P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two (2-quot₃ 𝟏 (R-K1 G) (Q-K1 G) x y r1 r2 q @ i @ j)))
61-
pPoint pPoint)
62-
(2-quot-lift 𝟏 (R-K1 G) (Q-K1 G) (λ (z : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two z)) (λ (_:𝟏), pPoint) (λ (_ _ : 𝟏) (g:G.1.1), pPath g) x y r1)
63-
(2-quot-lift 𝟏 (R-K1 G) (Q-K1 G) (λ (z : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two z)) (λ (_:𝟏), pPoint) (λ (_ _ : 𝟏) (g:G.1.1), pPath g) x y r2))
64-
(nHub : Π (f : sphere two → K1 G) (nF : Π (s : sphere two), P (f s)), P (trunc₂ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two f))
65-
(nSpoke : Π (f : sphere two → K1 G) (nF : Π (s : sphere two), P (f s)) (s : sphere two),
66-
PathP (<i> P (trunc₃ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two f s @ i)) (nHub f nF) (nF s))
67-
: Path (P (K1-point G)) (K1-ind G P pPoint pPath pCoher nHub nSpoke (K1-point G)) pPoint
68-
:= idp (P (K1-point G)) pPoint
2+
3+
- Eilenberg-MacLane spaces K(G,n).
4+
5+
Copyright (c) Groupoid Infinity, 2016-2026. -}
6+
7+
module KGn where
8+
import library/foundations/mltt/inductive
9+
import library/mathematics/algebra/algebra
10+
import library/mathematics/homotopy/suspension
11+
import library/mathematics/homotopy/truncation
12+
import library/mathematics/homotopy/quotient
13+
import library/mathematics/homotopy/quotient2
14+
15+
def 𝚺ₓ (A: U) : ℕ → U := ℕ-iter U A 𝚺
16+
def discreteTopology (G : abgroup) : U := G.1.1
17+
def R-K1 (G : group) : 𝟏 → 𝟏 → U := λ (x y : 𝟏), G.1.1
18+
def loop-K1 (G : group) (g : G.1.1) : R¯ 𝟏 (R-K1 G) ★ ★ := quot₂ 𝟏 (R-K1 G) ★ ★ g
19+
def Q-K1 (G : group) (x y : 𝟏) (r1 r2 : R¯ 𝟏 (R-K1 G) x y) : U
20+
:= + (Σ (g h : G.1.1), prod (Path (R¯ 𝟏 (R-K1 G) x y) r1
21+
(−·− 𝟏 (R-K1 G) ★ ★ ★ (loop-K1 G g) (loop-K1 G h)))
22+
(Path (R¯ 𝟏 (R-K1 G) x y) r2 (loop-K1 G (G.2.1.1 g h))))
23+
(prod (Path (R¯ 𝟏 (R-K1 G) x y) r1 (loop-K1 G G.2.1.2.2.1))
24+
(Path (R¯ 𝟏 (R-K1 G) x y) r2 (idp (quot 𝟏 (R-K1 G)) (quot₁ 𝟏 (R-K1 G) ★))))
25+
def K1 (G : group) : U := ‖_‖₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G))
26+
def K1-point (G : group) : K1 G := trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two (2-quot₁ 𝟏 (R-K1 G) (Q-K1 G) ★)
27+
def K1-loop (G : group) (g : G.1.1) : Path (K1 G) (K1-point G) (K1-point G)
28+
:= <i> trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two (2-quot₂ 𝟏 (R-K1 G) (Q-K1 G) ★ ★ g @ i)
29+
30+
def K (G : abgroup) (n: ℕ) : U
31+
:= ℕ-iter U (discreteTopology G) (λ (_: U), ‖_‖ (𝚺ₓ (K1 (G.X, G.2.g)) n) n) n
32+
33+
def K-point (G : abgroup) : Π (n : ℕ), K G n
34+
:= ℕ-ind (K G)
35+
G.2.g.1.2.2.1
36+
(λ (k : ℕ) (_ : K G k), trunc₁ (𝚺ₓ (K1 (G.X, G.2.g)) (succ k)) (succ k) (𝜎₁ (𝚺ₓ (K1 (G.X, G.2.g)) k)))
37+
38+
def K1-ind (G : group) (P : K1 G → U)
39+
(pPoint : P (K1-point G))
40+
(pPath : Π (g : G.1.1), PathP (<i> P (K1-loop G g @ i)) pPoint pPoint)
41+
(pCoher : Π (x y : 𝟏) (r1 r2 : R¯ 𝟏 (R-K1 G) x y) (q : Q-K1 G x y r1 r2),
42+
PathP (<i> PathP (<j> P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two (2-quot₃ 𝟏 (R-K1 G) (Q-K1 G) x y r1 r2 q @ i @ j)))
43+
pPoint pPoint)
44+
(2-quot-lift 𝟏 (R-K1 G) (Q-K1 G) (λ (z : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two z)) (λ (_:𝟏), pPoint) (λ (_ _ : 𝟏) (g:G.1.1), pPath g) x y r1)
45+
(2-quot-lift 𝟏 (R-K1 G) (Q-K1 G) (λ (z : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two z)) (λ (_:𝟏), pPoint) (λ (_ _ : 𝟏) (g:G.1.1), pPath g) x y r2))
46+
(nHub : Π (f : sphere two → K1 G) (nF : Π (s : sphere two), P (f s)), P (trunc₂ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two f))
47+
(nSpoke : Π (f : sphere two → K1 G) (nF : Π (s : sphere two), P (f s)) (s : sphere two),
48+
PathP (<i> P (trunc₃ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two f s @ i)) (nHub f nF) (nF s))
49+
(z : K1 G) : P z
50+
:= trunc-ind (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two P
51+
(2-quot-ind 𝟏 (R-K1 G) (Q-K1 G) (λ (x : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two x))
52+
(λ (_ : 𝟏), pPoint)
53+
(λ (_ _ : 𝟏) (g : G.1.1), pPath g)
54+
(λ (x y : 𝟏) (r1 r2 : R¯ 𝟏 (R-K1 G) x y) (q : Q-K1 G x y r1 r2), pCoher x y r1 r2 q))
55+
nHub nSpoke z
56+
57+
def K1-β₁ (G : group) (P : K1 G → U)
58+
(pPoint : P (K1-point G))
59+
(pPath : Π (g : G.1.1), PathP (<i> P (K1-loop G g @ i)) pPoint pPoint)
60+
(pCoher : Π (x y : 𝟏) (r1 r2 : R¯ 𝟏 (R-K1 G) x y) (q : Q-K1 G x y r1 r2),
61+
PathP (<i> PathP (<j> P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two (2-quot₃ 𝟏 (R-K1 G) (Q-K1 G) x y r1 r2 q @ i @ j)))
62+
pPoint pPoint)
63+
(2-quot-lift 𝟏 (R-K1 G) (Q-K1 G) (λ (z : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two z)) (λ (_:𝟏), pPoint) (λ (_ _ : 𝟏) (g:G.1.1), pPath g) x y r1)
64+
(2-quot-lift 𝟏 (R-K1 G) (Q-K1 G) (λ (z : 2-quot 𝟏 (R-K1 G) (Q-K1 G)), P (trunc₁ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two z)) (λ (_:𝟏), pPoint) (λ (_ _ : 𝟏) (g:G.1.1), pPath g) x y r2))
65+
(nHub : Π (f : sphere two → K1 G) (nF : Π (s : sphere two), P (f s)), P (trunc₂ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two f))
66+
(nSpoke : Π (f : sphere two → K1 G) (nF : Π (s : sphere two), P (f s)) (s : sphere two),
67+
PathP (<i> P (trunc₃ (2-quot 𝟏 (R-K1 G) (Q-K1 G)) two f s @ i)) (nHub f nF) (nF s))
68+
: Path (P (K1-point G)) (K1-ind G P pPoint pPath pCoher nHub nSpoke (K1-point G)) pPoint
69+
:= idp (P (K1-point G)) pPoint

0 commit comments

Comments
 (0)