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

General Eilenberg-MacLane spaces (+ some theory) #597

Merged
merged 38 commits into from
May 3, 2022
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
38 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
abb8a52
Pointed funs change
aljungstrom Feb 25, 2020
d1dae3b
Merge branch 'master' of https://github.com/agda/cubical
aljungstrom Feb 25, 2020
c4b83e3
backup
aljungstrom Feb 28, 2020
571eebc
update
aljungstrom Feb 28, 2020
c2220ab
nice
aljungstrom Mar 2, 2020
37735ee
stuff
aljungstrom Jul 6, 2021
a491a21
merge
aljungstrom Jul 6, 2021
d22f5ae
wups
aljungstrom Jul 6, 2021
2195d98
wups2
aljungstrom Jul 6, 2021
8a92f66
Signed-off-by: aljungstrom <axel.ljungstrom@hotmail.com>
aljungstrom Jul 9, 2021
66f9c88
cleanup
aljungstrom Jul 11, 2021
93b039f
merge
aljungstrom Jul 11, 2021
538c4a8
merge
aljungstrom Jul 11, 2021
b2e6976
stuff
aljungstrom Jul 13, 2021
920178b
stuff
aljungstrom Jul 14, 2021
7403d26
stuff
aljungstrom Jul 17, 2021
7c8e10f
stuff
aljungstrom Jul 23, 2021
cd8630f
stuff
aljungstrom Aug 12, 2021
de82a67
Merge https://github.com/agda/cubical into eilen
aljungstrom Aug 19, 2021
347f349
trim
aljungstrom Aug 19, 2021
42202ea
cleanup
aljungstrom Aug 20, 2021
ad7687a
stuff
aljungstrom Aug 20, 2021
c503745
clean
aljungstrom Aug 20, 2021
312622b
whitespace;)
aljungstrom Aug 20, 2021
b995e75
merge
aljungstrom Dec 26, 2021
4ca13fd
wups
aljungstrom Jan 9, 2022
c4b7517
wups2
aljungstrom Jan 9, 2022
cb38b9f
derive flip
ecavallo Jan 10, 2022
413a77c
Merge pull request #8 from ecavallo/eilentrim
aljungstrom Jan 27, 2022
57f091a
fixes
aljungstrom May 2, 2022
c43cc57
merge
aljungstrom May 2, 2022
cdf715f
fix
aljungstrom May 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
69 changes: 69 additions & 0 deletions Cubical/Algebra/AbGroup/Base.agda
Original file line number Diff line number Diff line change
Expand Up @@ -190,3 +190,72 @@ assoc (isSemigroup (isMonoid (isGroup (isAbGroup (snd trivialAbGroup))))) _ _ _
identity (isMonoid (isGroup (isAbGroup (snd trivialAbGroup)))) _ = refl , refl
inverse (isGroup (isAbGroup (snd trivialAbGroup))) _ = refl , refl
comm (isAbGroup (snd trivialAbGroup)) _ _ = refl

---- The type of homomorphisms A → B is an AbGroup if B is -----
module _ {ℓ ℓ' : Level} (AGr : Group ℓ) (BGr : AbGroup ℓ') where
private
strA = snd AGr
strB = snd BGr

_* = AbGroup→Group

A = fst AGr
B = fst BGr
open IsGroupHom

open AbGroupStr strB
renaming (_+_ to _+B_ ; -_ to -B_ ; 0g to 0B
; rid to ridB ; lid to lidB
; assoc to assocB ; comm to commB
; invr to invrB ; invl to invlB)
open GroupStr strA
renaming (_·_ to _∙A_ ; inv to -A_
; 1g to 1A ; rid to ridA)
aljungstrom marked this conversation as resolved.
Show resolved Hide resolved

trivGroupHom : GroupHom AGr (BGr *)
fst trivGroupHom x = 0B
snd trivGroupHom = makeIsGroupHom λ _ _ → sym (ridB 0B)

compHom : GroupHom AGr (BGr *) → GroupHom AGr (BGr *) → GroupHom AGr (BGr *)
fst (compHom f g) x = fst f x +B fst g x
snd (compHom f g) =
makeIsGroupHom λ x y
→ cong₂ _+B_ (pres· (snd f) x y) (pres· (snd g) x y)
∙ move4 (fst f x) (fst f y) (fst g x) (fst g y)
_+B_ assocB commB

invHom : GroupHom AGr (BGr *) → GroupHom AGr (BGr *)
fst (invHom (f , p)) x = -B f x
snd (invHom (f , p)) =
makeIsGroupHom
λ x y → cong -B_ (pres· p x y)
∙∙ GroupTheory.invDistr (BGr *) (f x) (f y)
∙∙ commB _ _

open AbGroupStr
open IsAbGroup
open IsGroup
open IsMonoid
open IsSemigroup

HomGroup : AbGroup (ℓ-max ℓ ℓ')
fst HomGroup = GroupHom AGr (BGr *)
0g (snd HomGroup) = trivGroupHom
AbGroupStr._+_ (snd HomGroup) = compHom
AbGroupStr.- snd HomGroup = invHom
is-set (isSemigroup (isMonoid (isGroup (isAbGroup (snd HomGroup))))) =
isSetGroupHom
assoc (isSemigroup (isMonoid (isGroup (isAbGroup (snd HomGroup))))) (f , p) (g , q) (h , r) =
Σ≡Prop (λ _ → isPropIsGroupHom _ _)
(funExt λ x → assocB _ _ _)
fst (identity (isMonoid (isGroup (isAbGroup (snd HomGroup)))) (f , p)) =
Σ≡Prop (λ _ → isPropIsGroupHom _ _) (funExt λ y → ridB _)
snd (identity (isMonoid (isGroup (isAbGroup (snd HomGroup)))) (f , p)) =
Σ≡Prop (λ _ → isPropIsGroupHom _ _) (funExt λ x → lidB _)
fst (inverse (isGroup (isAbGroup (snd HomGroup))) (f , p)) =
Σ≡Prop (λ _ → isPropIsGroupHom _ _) (funExt λ x → invrB (f x))
snd (inverse (isGroup (isAbGroup (snd HomGroup))) (f , p)) =
Σ≡Prop (λ _ → isPropIsGroupHom _ _) (funExt λ x → invlB (f x))
comm (isAbGroup (snd HomGroup)) (f , p) (g , q) =
Σ≡Prop (λ _ → isPropIsGroupHom _ _)
(funExt λ x → commB _ _)