Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Long exact sequence of homotopy groups + Generator of π₃S² #698

Merged
merged 173 commits into from
Jan 27, 2022
Merged
Show file tree
Hide file tree
Changes from 172 commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
4da7d05
First update
aljungstrom Feb 12, 2020
56a5e0f
Minor fixes
aljungstrom Feb 12, 2020
098153c
Cleanup
aljungstrom Feb 12, 2020
67a450d
Cleanup
aljungstrom Feb 12, 2020
1df167b
fixes
aljungstrom Feb 24, 2020
95d1c5b
fixes1
aljungstrom Feb 24, 2020
98ed889
Delete FunLoopSpace.agda
aljungstrom Feb 24, 2020
a91d1ce
Delete PropertiesTrash.agda
aljungstrom Feb 24, 2020
1f17411
Delete FunLoopSpace2.agda
aljungstrom Feb 24, 2020
37637a2
Update Base.agda
aljungstrom Feb 24, 2020
ae43f74
Update Base.agda
aljungstrom Feb 24, 2020
6340b12
Delete AndersFile.agda
aljungstrom Feb 24, 2020
739f65e
Update Properties.agda
aljungstrom Feb 24, 2020
13821c0
Pointed version of pointed functions
aljungstrom Feb 25, 2020
14fd923
Update Properties.agda
aljungstrom Feb 25, 2020
abb8a52
Pointed funs change
aljungstrom Feb 25, 2020
d1dae3b
Merge branch 'master' of https://github.com/agda/cubical
aljungstrom Feb 25, 2020
8e00b0c
Merge pull request #1 from aljungstrom/fixes
aljungstrom Feb 25, 2020
959dac2
whitespace
aljungstrom Feb 25, 2020
6b6c10b
whitespace
aljungstrom Feb 25, 2020
67ac373
whitespace
aljungstrom Feb 25, 2020
d873771
More whitespace fixes...
aljungstrom Feb 25, 2020
39374a1
Merge branch 'master' into fixes
aljungstrom Feb 25, 2020
ba4f529
Freudenthal
aljungstrom Mar 25, 2020
6a49b56
remove bool import
aljungstrom Mar 25, 2020
0bf84a7
newline
aljungstrom Mar 25, 2020
fe50520
delete everything @:-)
aljungstrom Mar 25, 2020
6dddf6c
whitespace...
aljungstrom Mar 26, 2020
182c5d6
Update 8-6-1.agda
aljungstrom Mar 26, 2020
1816ffc
testing
aljungstrom Mar 31, 2020
c19b003
Merge https://github.com/aljungstrom/cubical
aljungstrom Mar 31, 2020
de9e441
Merge branch 'master' of https://github.com/agda/cubical
aljungstrom Mar 31, 2020
81c3668
Application
aljungstrom Apr 7, 2020
6fd833f
updated Trunc
aljungstrom Apr 8, 2020
e571a82
updated Trunc
aljungstrom Apr 8, 2020
2726449
move some things into ZCohomology.Properties + comments
aljungstrom Apr 14, 2020
31fe285
move some things into ZCohomology.Properties + comments
aljungstrom Apr 14, 2020
5b99dfa
fix loopspace of K
aljungstrom Apr 20, 2020
a771acb
K-algebra
aljungstrom Apr 20, 2020
4b33a57
K algebra laws done
aljungstrom Apr 21, 2020
971519c
Merge branch 'master' of https://github.com/agda/cubical
aljungstrom Apr 21, 2020
972feaf
smash sphere
aljungstrom Apr 21, 2020
57d9c23
push
aljungstrom Apr 25, 2020
ce9ce2c
smash-assoc
aljungstrom Apr 26, 2020
affd752
Merge https://github.com/agda/cubical into pushout
aljungstrom Apr 26, 2020
dbbf691
K-grousp
aljungstrom May 3, 2020
2babc74
Merge pull request #5 from aljungstrom/cohom-alg
aljungstrom May 3, 2020
fc4b2fe
K-alg
aljungstrom May 3, 2020
b75a597
whitespace etc
aljungstrom May 3, 2020
1efcf09
Merge https://github.com/agda/cubical into cohom-Alg2
aljungstrom May 3, 2020
0401472
merge main
aljungstrom May 3, 2020
d4305ca
minor fixes
aljungstrom May 3, 2020
6ce924f
delete abgroup
aljungstrom May 3, 2020
eaaa440
rename
aljungstrom May 3, 2020
816f6d8
renaming
aljungstrom May 3, 2020
6d89eab
whitespace...
aljungstrom May 3, 2020
ed81a07
Merge branch 'master' of https://github.com/aljungstrom/cubical into …
aljungstrom May 4, 2020
457cd7b
MVunreduced
aljungstrom May 6, 2020
5dcd3c8
MV-almostDone
aljungstrom May 12, 2020
cdeb64d
MV done
aljungstrom May 13, 2020
9633b52
finalbackup
aljungstrom May 19, 2020
3201417
backup before merge
aljungstrom May 26, 2020
ea33bf4
merged
aljungstrom May 26, 2020
3e3ac2a
injectivity
aljungstrom May 31, 2020
5e1a576
cohom1-S1
aljungstrom Jun 1, 2020
39fca67
S1-done
aljungstrom Jun 2, 2020
9cdb1da
basechange-morph
aljungstrom Jun 4, 2020
0d8db96
cohom1Torus-maps+rinv
aljungstrom Jun 7, 2020
c8a15cd
moreTorusStuff
aljungstrom Jun 10, 2020
8da0772
newBranchBackup
aljungstrom Jun 10, 2020
bc62fb7
moreCopatterns
aljungstrom Jun 10, 2020
7a71bd9
coHom-restructuring
aljungstrom Jun 12, 2020
b7bc88c
backup_before_merge
aljungstrom Jun 14, 2020
8fd6b4a
almost done
aljungstrom Jun 16, 2020
e6d7211
mergefixes
aljungstrom Jun 17, 2020
da3234b
private
aljungstrom Jun 17, 2020
5490f4c
emptylines
aljungstrom Jun 17, 2020
0780eee
whitespace:-)
aljungstrom Jun 17, 2020
5fbcf36
backup
aljungstrom Jul 6, 2020
7b467e2
newGroupDef
aljungstrom Jul 9, 2020
a7690b0
Merge https://github.com/agda/cubical into allCohomGroups
aljungstrom Jul 9, 2020
7d815fb
last fixes
aljungstrom Jul 10, 2020
415138d
Merge https://github.com/agda/cubical into allCohomGroups
aljungstrom Jul 10, 2020
af86c97
merge
aljungstrom Jul 10, 2020
7d43c5f
whiteSpaceFiller3
aljungstrom Jul 10, 2020
1eeab49
whiteSpaceFiller4
aljungstrom Jul 10, 2020
3ab3341
fixes
aljungstrom Jul 16, 2020
2d13faf
anders+whitespace
aljungstrom Jul 16, 2020
96f94d2
Merge https://github.com/agda/cubical into allCohomGroups
aljungstrom Jul 16, 2020
1270ab3
Merge https://github.com/agda/cubical into allCohomGroups
aljungstrom Jul 24, 2020
fbf33d1
fixes
aljungstrom Jul 24, 2020
f96e421
h1-sn
aljungstrom Jul 27, 2020
d993058
cleanup
aljungstrom Aug 4, 2020
da2d529
cleanup2
aljungstrom Aug 4, 2020
9a89513
fix merge conflicts
Sep 1, 2020
8612eb5
cleanup
Sep 1, 2020
9a5e8b5
Merge https://github.com/agda/cubical
Sep 4, 2020
a3b35c5
Merge branch 'master' of https://github.com/agda/cubical into HEAD
aljungstrom Sep 29, 2020
702cae2
Merge
aljungstrom Sep 29, 2020
6aaa3a7
Merge https://github.com/agda/cubical into merge
aljungstrom Oct 6, 2020
7d939f3
Merge pull request #7 from aljungstrom/merge
aljungstrom Oct 6, 2020
8f5cce7
Merge https://github.com/agda/cubical
Oct 23, 2020
69d358f
Merge https://github.com/agda/cubical
Oct 26, 2020
b6cc1b3
Merge branch 'master' of https://github.com/aljungstrom/cubical into …
aljungstrom Jun 8, 2021
87fb31b
Merge branch 'master' of https://github.com/agda/cubical into clean
aljungstrom Jun 8, 2021
1731ba1
Merge branch 'master' of https://github.com/agda/cubical into clean
aljungstrom Jun 16, 2021
3139ba6
Merge branch 'master' of https://github.com/agda/cubical into clean
aljungstrom Jul 1, 2021
e8746d8
Merge https://github.com/agda/cubical into clean
aljungstrom Jul 5, 2021
39f3430
Benchmarks updated
aljungstrom Jul 6, 2021
5cefea5
fix
aljungstrom Aug 12, 2021
b37e50d
Merge https://github.com/agda/cubical into Gysin
aljungstrom Aug 23, 2021
f6bdb86
stuff
aljungstrom Aug 30, 2021
fc075e1
stuff
aljungstrom Sep 1, 2021
57990e7
stuff
aljungstrom Sep 6, 2021
4432673
stuff
aljungstrom Sep 14, 2021
6750ccd
stuff
aljungstrom Sep 23, 2021
ff786ae
stuff
aljungstrom Sep 28, 2021
7dee57b
stuff
aljungstrom Sep 30, 2021
0ca5eda
stuff
aljungstrom Oct 4, 2021
2a29824
st
aljungstrom Oct 8, 2021
806bc8f
wow
aljungstrom Oct 10, 2021
8a26ba8
stuff
aljungstrom Oct 26, 2021
b31ee43
Merge https://github.com/agda/cubical into GysinCleanup
aljungstrom Oct 26, 2021
452b27b
stuff
aljungstrom Oct 28, 2021
ade3cd2
stuff
aljungstrom Oct 29, 2021
96d1f28
stuf
aljungstrom Nov 1, 2021
9975100
final?
aljungstrom Nov 1, 2021
8e7aab9
miinor
aljungstrom Nov 1, 2021
0c16926
minor
aljungstrom Nov 1, 2021
b2b4cad
fixes
aljungstrom Nov 2, 2021
90de527
stuff
aljungstrom Nov 2, 2021
f90b334
stuff
aljungstrom Nov 2, 2021
98fa19b
stuff
aljungstrom Nov 4, 2021
e372454
minor
aljungstrom Nov 4, 2021
a447818
merg
aljungstrom Nov 4, 2021
1acfb5b
del
aljungstrom Nov 4, 2021
51153e8
stuff
aljungstrom Nov 5, 2021
706e11f
fixes
aljungstrom Nov 6, 2021
a945d87
fixes
aljungstrom Nov 6, 2021
70352de
minor
aljungstrom Nov 6, 2021
44743f6
SES
aljungstrom Nov 6, 2021
d1b3e7f
stuff
aljungstrom Nov 8, 2021
4c9031d
stuff
aljungstrom Nov 9, 2021
1774c58
stuff
aljungstrom Nov 10, 2021
e994768
move
aljungstrom Nov 10, 2021
ab506c9
minor
aljungstrom Nov 10, 2021
3ebaa1c
stiff
aljungstrom Nov 19, 2021
3e37478
stuff
aljungstrom Nov 22, 2021
61fea28
merge
aljungstrom Nov 22, 2021
557e170
Merge https://github.com/agda/cubical into WH-cleanup
aljungstrom Nov 22, 2021
1745bf6
stuff
aljungstrom Nov 22, 2021
5716def
stuff
aljungstrom Nov 22, 2021
de3ec95
rename
aljungstrom Nov 22, 2021
5ed9829
mainDone
aljungstrom Dec 6, 2021
a9e8e62
cleaner
aljungstrom Dec 23, 2021
b67830b
cleanup
aljungstrom Dec 23, 2021
db8d6cf
rm S3
aljungstrom Dec 23, 2021
a99e000
cleaner
aljungstrom Dec 26, 2021
0929670
whitespace
aljungstrom Dec 26, 2021
0b56df9
naming conflict
aljungstrom Dec 26, 2021
05e051b
wups
aljungstrom Dec 26, 2021
d33fa63
almost full seq
aljungstrom Dec 30, 2021
9824325
stuff
aljungstrom Jan 4, 2022
ad85e6c
HopfGen proved
aljungstrom Jan 6, 2022
4993de8
stuff
aljungstrom Jan 9, 2022
b6e4961
merge
aljungstrom Jan 11, 2022
6353212
cleaner
aljungstrom Jan 11, 2022
f4c1b6c
stuff
aljungstrom Jan 12, 2022
06f3ec3
nicer
aljungstrom Jan 21, 2022
e199063
nicer again
aljungstrom Jan 21, 2022
00b6a45
Whitespace;-)
aljungstrom Jan 21, 2022
3e6a133
merge
aljungstrom Jan 26, 2022
89bae8c
fixes
aljungstrom Jan 27, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions Cubical/Foundations/GroupoidLaws.agda
Original file line number Diff line number Diff line change
Expand Up @@ -190,12 +190,20 @@ doubleCompPath-elim' : {ℓ : Level} {A : Type ℓ} {w x y z : A} (p : w ≡ x)
(r : y ≡ z) → (p ∙∙ q ∙∙ r) ≡ p ∙ (q ∙ r)
doubleCompPath-elim' p q r = (split-leftright' p q r) ∙ (sym (leftright p (q ∙ r)))

cong-∙∙-filler : ∀ {ℓ ℓ'} {A : Type ℓ} {B : Type ℓ'} {x y z w : A}
(f : A → B) (p : w ≡ x) (q : x ≡ y) (r : y ≡ z)
→ I → I → I → B
cong-∙∙-filler {A = A} f p q r k j i =
hfill ((λ k → λ { (j = i1) → doubleCompPath-filler (cong f p) (cong f q) (cong f r) k i
; (j = i0) → f (doubleCompPath-filler p q r k i)
; (i = i0) → f (p (~ k))
; (i = i1) → f (r k) }))
(inS (f (q i)))
k

cong-∙∙ : ∀ {B : Type ℓ} (f : A → B) (p : w ≡ x) (q : x ≡ y) (r : y ≡ z)
→ cong f (p ∙∙ q ∙∙ r) ≡ (cong f p) ∙∙ (cong f q) ∙∙ (cong f r)
cong-∙∙ f p q r j i = hcomp (λ k → λ { (j = i0) → f (doubleCompPath-filler p q r k i)
; (i = i0) → f (p (~ k))
; (i = i1) → f (r k) })
(f (q i))
cong-∙∙ f p q r j i = cong-∙∙-filler f p q r i1 j i

cong-∙ : ∀ {B : Type ℓ} (f : A → B) (p : x ≡ y) (q : y ≡ z)
→ cong f (p ∙ q) ≡ (cong f p) ∙ (cong f q)
Expand Down
37 changes: 37 additions & 0 deletions Cubical/Foundations/Pointed/Base.agda
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,43 @@ idfun∙ : ∀ {ℓ} (A : Pointed ℓ) → A →∙ A
idfun∙ A .fst x = x
idfun∙ A .snd = refl

{-Pointed equivalences -}
_≃∙_ : ∀ {ℓ ℓ'} (A : Pointed ℓ) (B : Pointed ℓ') → Type (ℓ-max ℓ ℓ')
A ≃∙ B = Σ[ e ∈ fst A ≃ fst B ] fst e (pt A) ≡ pt B

invEquiv∙ : ∀ {ℓ ℓ'} {A : Pointed ℓ} {B : Pointed ℓ'} → A ≃∙ B → B ≃∙ A
fst (invEquiv∙ x) = invEquiv (fst x)
snd (invEquiv∙ {A = A} x) =
sym (cong (fst (invEquiv (fst x))) (snd x)) ∙ retEq (fst x) (pt A)

compEquiv∙ : ∀ {ℓ ℓ' ℓ''} {A : Pointed ℓ} {B : Pointed ℓ'} {C : Pointed ℓ''}
→ A ≃∙ B → B ≃∙ C → A ≃∙ C
fst (compEquiv∙ e1 e2) = compEquiv (fst e1) (fst e2)
snd (compEquiv∙ e1 e2) = cong (fst (fst e2)) (snd e1) ∙ snd e2

Equiv∙J : ∀ {ℓ ℓ'} {B : Pointed ℓ} (C : (A : Pointed ℓ) → A ≃∙ B → Type ℓ')
→ C B (idEquiv (fst B) , refl)
→ {A : _} (e : A ≃∙ B) → C A e
Equiv∙J {ℓ} {ℓ'} {B = B} C ind {A = A} =
uncurry λ e p → help e (pt A) (pt B) p C ind
where
help : ∀ {A : Type ℓ} (e : A ≃ typ B) (a : A) (b : typ B)
→ (p : fst e a ≡ b)
→ (C : (A : Pointed ℓ) → A ≃∙ (fst B , b) → Type ℓ')
→ C (fst B , b) (idEquiv (fst B) , refl)
→ C (A , a) (e , p)
help = EquivJ (λ A e → (a : A) (b : typ B)
→ (p : fst e a ≡ b)
→ (C : (A : Pointed ℓ) → A ≃∙ (fst B , b) → Type ℓ')
→ C (fst B , b) (idEquiv (fst B) , refl)
→ C (A , a) (e , p))
λ a b → J (λ b p
→ (C : (A : Pointed ℓ) → A ≃∙ (fst B , b) → Type ℓ')
→ C (fst B , b)
(idEquiv (fst B) , refl) →
C (typ B , a) (idEquiv (typ B) , p))
λ _ p → p

ua∙ : ∀ {ℓ} {A B : Pointed ℓ} (e : fst A ≃ fst B)
→ fst e (snd A) ≡ snd B → A ≡ B
fst (ua∙ e p i) = ua e i
Expand Down
7 changes: 7 additions & 0 deletions Cubical/Foundations/Pointed/Properties.agda
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,10 @@ const∙ _ B .snd = refl
(cong h (cong g f∙) ∙ cong h g∙) ∙ h∙
≡⟨ cong (λ p → p ∙ h∙) ((cong-∙ h (cong g f∙) g∙) ⁻¹) ⟩
(cong h (cong g f∙ ∙ g∙) ∙ h∙) ∎ )

module _ {ℓ ℓ' : Level} {A : Pointed ℓ} {B : Pointed ℓ'} (f : A →∙ B) where
isInIm∙ : (x : typ B) → Type (ℓ-max ℓ ℓ')
isInIm∙ x = Σ[ z ∈ typ A ] fst f z ≡ x

isInKer∙ : (x : fst A) → Type ℓ'
isInKer∙ x = fst f x ≡ snd B
23 changes: 19 additions & 4 deletions Cubical/Foundations/Prelude.agda
Original file line number Diff line number Diff line change
Expand Up @@ -321,16 +321,31 @@ module _ {A : I → Type ℓ} {x : A i0} {y : A i1} where
fromPathP p i = transp (λ j → A (i ∨ j)) i (p i)

-- Whiskering a dependent path by a path
-- Double whiskering
_◁_▷_ : ∀ {ℓ} {A : I → Type ℓ} {a₀ a₀' : A i0} {a₁ a₁' : A i1}
→ a₀ ≡ a₀' → PathP A a₀' a₁ → a₁ ≡ a₁'
→ PathP A a₀ a₁'
(p ◁ P ▷ q) i =
hcomp (λ j → λ {(i = i0) → p (~ j) ; (i = i1) → q j}) (P i)

doubleWhiskFiller :
∀ {ℓ} {A : I → Type ℓ} {a₀ a₀' : A i0} {a₁ a₁' : A i1}
→ (p : a₀ ≡ a₀') (pq : PathP A a₀' a₁) (q : a₁ ≡ a₁')
→ PathP (λ i → PathP A (p (~ i)) (q i))
pq
(p ◁ pq ▷ q)
doubleWhiskFiller p pq q k i =
hfill (λ j → λ {(i = i0) → p (~ j) ; (i = i1) → q j})
(inS (pq i))
k

_◁_ : ∀ {ℓ} {A : I → Type ℓ} {a₀ a₀' : A i0} {a₁ : A i1}
→ a₀ ≡ a₀' → PathP A a₀' a₁ → PathP A a₀ a₁
(p ◁ q) i =
hcomp (λ j → λ {(i = i0) → p (~ j); (i = i1) → q i1}) (q i)
(p ◁ q) = p ◁ q ▷ refl

_▷_ : ∀ {ℓ} {A : I → Type ℓ} {a₀ : A i0} {a₁ a₁' : A i1}
→ PathP A a₀ a₁ → a₁ ≡ a₁' → PathP A a₀ a₁'
(p ▷ q) i =
hcomp (λ j → λ {(i = i0) → p i0; (i = i1) → q j}) (p i)
p ▷ q = refl ◁ p ▷ q

-- Direct definitions of lower h-levels

Expand Down
6 changes: 6 additions & 0 deletions Cubical/HITs/SetTruncation/Base.agda
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,15 @@ This file contains:
module Cubical.HITs.SetTruncation.Base where

open import Cubical.Core.Primitives
open import Cubical.Foundations.Pointed

-- set truncation as a higher inductive type:

data ∥_∥₂ {ℓ} (A : Type ℓ) : Type ℓ where
∣_∣₂ : A → ∥ A ∥₂
squash₂ : ∀ (x y : ∥ A ∥₂) (p q : x ≡ y) → p ≡ q

-- Pointed version
∥_∥₂∙ : ∀ {ℓ} (A : Pointed ℓ) → Pointed ℓ
fst ∥ A ∥₂∙ = ∥ fst A ∥₂
snd ∥ A ∥₂∙ = ∣ pt A ∣₂
6 changes: 6 additions & 0 deletions Cubical/HITs/SetTruncation/Properties.agda
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ open import Cubical.Foundations.Isomorphism
open import Cubical.Foundations.Equiv
open import Cubical.Foundations.HLevels
open import Cubical.Foundations.Univalence
open import Cubical.Foundations.Pointed.Base
open import Cubical.Data.Sigma
open import Cubical.HITs.PropositionalTruncation
renaming (rec to pRec ; elim to pElim) hiding (elim2 ; elim3 ; rec2 ; map)
Expand Down Expand Up @@ -203,6 +204,11 @@ module rec→Gpd {A : Type ℓ} {B : Type ℓ'} (Bgpd : isGroupoid B) (f : A →
map : (A → B) → ∥ A ∥₂ → ∥ B ∥₂
map f = rec squash₂ λ x → ∣ f x ∣₂

map∙ : {ℓ ℓ' : Level} {A : Pointed ℓ} {B : Pointed ℓ'}
(f : A →∙ B) → ∥ A ∥₂∙ →∙ ∥ B ∥₂∙
fst (map∙ f) = map (fst f)
snd (map∙ f) = cong ∣_∣₂ (snd f)

setTruncUniversal : isSet B → (∥ A ∥₂ → B) ≃ (A → B)
setTruncUniversal {B = B} Bset =
isoToEquiv (iso (λ h x → h ∣ x ∣₂) (rec Bset) (λ _ → refl) rinv)
Expand Down
61 changes: 49 additions & 12 deletions Cubical/Homotopy/Group/Base.agda
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ leftInv (SphereMapΩIso (suc n)) = rightInv IsoΩFunSuspFun
In order to show that Ω→SphereMap is an equivalence, we show that it factors

Ω→SphereMapSplit₁ ΩSphereMap
Ωⁿ⁺¹(Sⁿ →∙ A) ----------------> Ω (Sⁿ →∙ A) -----------> (Sⁿ⁺¹ →∙ A)
Ωⁿ⁺¹A ----------------> Ω (Sⁿ →∙ A) -----------> (Sⁿ⁺¹ →∙ A)
-}

Ω→SphereMap-split : ∀ {ℓ} {A : Pointed ℓ} (n : ℕ) (p : typ ((Ω^ (suc n)) A))
Expand Down Expand Up @@ -772,15 +772,14 @@ hLevΩ+ {A = A} (suc n) (suc m) p =
(hLevΩ+ {A = Ω A} (suc n) m
(isOfHLevelPath' (m + suc n) p _ _))

private
isSetΩ : ∀ {ℓ} {A : Pointed ℓ} (n : ℕ)
→ (isSet (typ (Ω ((Ω^ n) (hLevelTrunc∙ (suc (suc (suc n))) A)))))
isSetΩ {A = A} zero = isOfHLevelTrunc 3 _ _
isSetΩ {A = A} (suc n) =
hLevΩ+ 2 (suc (suc n))
(transport
(λ i → isOfHLevel (+-comm 2 (2 + n) i) (hLevelTrunc (4 + n) (typ A)))
(isOfHLevelTrunc (suc (suc (suc (suc n))))))
isSetΩTrunc : ∀ {ℓ} {A : Pointed ℓ} (n : ℕ)
→ (isSet (typ (Ω ((Ω^ n) (hLevelTrunc∙ (suc (suc (suc n))) A)))))
isSetΩTrunc {A = A} zero = isOfHLevelTrunc 3 _ _
isSetΩTrunc {A = A} (suc n) =
hLevΩ+ 2 (suc (suc n))
(transport
(λ i → isOfHLevel (+-comm 2 (2 + n) i) (hLevelTrunc (4 + n) (typ A)))
(isOfHLevelTrunc (suc (suc (suc (suc n))))))

πTruncIso : ∀ {ℓ} {A : Pointed ℓ} (n : ℕ)
→ Iso (π n A) (π n (hLevelTrunc∙ (2 + n) A))
Expand All @@ -791,7 +790,7 @@ private
compIso setTruncTrunc2Iso
(compIso
(2TruncΩIso (suc n))
(invIso (setTruncIdempotentIso (isSetΩ n))))
(invIso (setTruncIdempotentIso (isSetΩTrunc n))))

πTruncGroupIso : ∀ {ℓ} {A : Pointed ℓ} (n : ℕ)
→ GroupIso (πGr n A) (πGr n (hLevelTrunc∙ (3 + n) A))
Expand All @@ -800,7 +799,7 @@ snd (πTruncGroupIso {A = A} n) =
makeIsGroupHom
(sElim2 (λ _ _ → isSetPathImplicit)
λ a b
→ cong (inv (setTruncIdempotentIso (isSetΩ n)))
→ cong (inv (setTruncIdempotentIso (isSetΩTrunc n)))
(cong
(transport
(λ i → typ ((Ω^ suc n) (hLevelTrunc∙ (+-comm (suc n) 2 i) A))))
Expand All @@ -820,3 +819,41 @@ snd (πTruncGroupIso {A = A} n) =
∙ subst (λ n → typ (Ω (A n))) r q)
λ p q → transportRefl _ ∙ cong₂ _∙_
(sym (transportRefl p)) (sym (transportRefl q))

π'fun : ∀ {ℓ} {A : Pointed ℓ} {B : Pointed ℓ} (n : ℕ)
→ A ≃∙ B
aljungstrom marked this conversation as resolved.
Show resolved Hide resolved
→ (π' (suc n) A) → π' (suc n) B
π'fun n p = sMap ((fst (fst p) , snd p) ∘∙_)

π'fun-idEquiv : ∀ {ℓ} {A : Pointed ℓ} (n : ℕ)
→ π'fun n (idEquiv (fst A) , (λ _ → pt A))
≡ idfun _
π'fun-idEquiv n =
funExt (sElim (λ _ → isSetPathImplicit)
λ f → cong ∣_∣₂ (∘∙-idʳ f))

π'funIsEquiv :
∀ {ℓ} {A : Pointed ℓ} {B : Pointed ℓ} (n : ℕ)
→ (e : A ≃∙ B)
→ isEquiv (π'fun n e)
π'funIsEquiv {B = B} n =
Equiv∙J (λ A e → isEquiv (π'fun n e))
(subst isEquiv (sym (π'fun-idEquiv n))
(idIsEquiv (π' (suc n) B)))

π'funIsHom : ∀ {ℓ} {A : Pointed ℓ} {B : Pointed ℓ} (n : ℕ)
→ (e : A ≃∙ B)
→ IsGroupHom (π'Gr n A .snd) (π'fun n e)
(π'Gr n B .snd)
π'funIsHom {B = B} n =
Equiv∙J (λ A e → IsGroupHom (π'Gr n A .snd) (π'fun n e) (π'Gr n B .snd))
(subst (λ x → IsGroupHom (π'Gr n B .snd) x (π'Gr n B .snd))
(sym (π'fun-idEquiv n))
(makeIsGroupHom λ _ _ → refl))

π'Iso : ∀ {ℓ} {A : Pointed ℓ} {B : Pointed ℓ} (n : ℕ)
→ A ≃∙ B
→ GroupEquiv (π'Gr n A) (π'Gr n B)
fst (fst (π'Iso n e)) = π'fun n e
snd (fst (π'Iso n e)) = π'funIsEquiv n e
snd (π'Iso n e) = π'funIsHom n e
Loading