-
Notifications
You must be signed in to change notification settings - Fork 143
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Category of groups, uniqness of adjunctions (#1065)
* - Introduced a new module `LeftAdjointUniqeUpToNatIso` for proving the uniqueness of left adjoints up to natural isomorphisms. - Defined `AssocCong₂⋆L` and `AssocCong₂⋆R` helpers - Defined `GroupCategory` as a category of groups, `Forget` functor , equivalence `GroupsCatIso≃GroupEquiv`, and univalence of Grp. * uniqness of right adj * minor cleanup * more explicit definition to typecheck with agda 2.6.3 * Revert "minor cleanup" This reverts commit 02bd5e2. * Revert "more explicit definition to typecheck with agda 2.6.3" This reverts commit 2e626b6.
- Loading branch information
1 parent
3b2a50a
commit e9b8b40
Showing
8 changed files
with
301 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
-- The category Grp of groups | ||
{-# OPTIONS --safe #-} | ||
|
||
module Cubical.Categories.Instances.Groups where | ||
|
||
open import Cubical.Foundations.Prelude | ||
open import Cubical.Foundations.Equiv | ||
open import Cubical.Foundations.Isomorphism | ||
open import Cubical.Foundations.Function | ||
|
||
open import Cubical.Algebra.Group.Base | ||
open import Cubical.Algebra.Group.GroupPath | ||
open import Cubical.Algebra.Group.Morphisms | ||
open import Cubical.Algebra.Group.MorphismProperties | ||
|
||
open import Cubical.Categories.Category.Base renaming (isIso to isCatIso) | ||
open import Cubical.Categories.Instances.Sets | ||
open import Cubical.Categories.Functor.Base | ||
|
||
open import Cubical.Data.Sigma | ||
|
||
module _ {ℓ : Level} where | ||
open Category hiding (_∘_) | ||
|
||
GroupCategory : Category (ℓ-suc ℓ) ℓ | ||
GroupCategory .ob = Group ℓ | ||
GroupCategory .Hom[_,_] = GroupHom | ||
GroupCategory .id = idGroupHom | ||
GroupCategory ._⋆_ = compGroupHom | ||
GroupCategory .⋆IdL f = GroupHom≡ refl | ||
GroupCategory .⋆IdR f = GroupHom≡ refl | ||
GroupCategory .⋆Assoc f g h = GroupHom≡ refl | ||
GroupCategory .isSetHom = isSetGroupHom | ||
|
||
Forget : Functor GroupCategory (SET ℓ) | ||
Functor.F-ob Forget G = fst G , GroupStr.is-set (snd G) | ||
Functor.F-hom Forget = fst | ||
Functor.F-id Forget = refl | ||
Functor.F-seq Forget _ _ = refl | ||
|
||
GroupsCatIso≃GroupEquiv : ∀ G G' → | ||
CatIso GroupCategory G G' ≃ | ||
GroupEquiv G G' | ||
GroupsCatIso≃GroupEquiv G G' = | ||
Σ-cong-equiv-snd | ||
(λ _ → propBiimpl→Equiv | ||
(isPropIsIso _) (isPropIsEquiv _) | ||
(isoToIsEquiv ∘ →iso) →ciso) | ||
∙ₑ Σ-assoc-swap-≃ | ||
where | ||
open Iso | ||
open isCatIso | ||
→iso : ∀ {x} → isCatIso GroupCategory x → Iso _ _ | ||
fun (→iso ici) = _ | ||
inv (→iso ici) = fst (inv ici) | ||
rightInv (→iso ici) b i = fst (sec ici i) b | ||
leftInv (→iso ici) a i = fst (ret ici i) a | ||
|
||
→ciso : ∀ {x} → isEquiv (fst x) → isCatIso GroupCategory x | ||
fst (inv (→ciso is≃)) = _ | ||
snd (inv (→ciso {x} is≃)) = | ||
isGroupHomInv ((_ , is≃) , (snd x)) | ||
sec (→ciso is≃) = | ||
Σ≡Prop (λ _ → isPropIsGroupHom _ _) (funExt (secEq (_ , is≃))) | ||
ret (→ciso is≃) = | ||
Σ≡Prop (λ _ → isPropIsGroupHom _ _) (funExt (retEq (_ , is≃))) | ||
|
||
|
||
isUnivalentGrp : isUnivalent {ℓ' = ℓ} GroupCategory | ||
isUnivalent.univ isUnivalentGrp _ _ = | ||
precomposesToId→Equiv _ _ (funExt | ||
(Σ≡Prop isPropIsIso | ||
∘ Σ≡Prop (λ _ → isPropIsGroupHom _ _) | ||
∘ λ _ → transportRefl _)) | ||
(snd (GroupsCatIso≃GroupEquiv _ _ ∙ₑ GroupPath _ _)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.