Skip to content

Commit

Permalink
The orbit category of a group (UniMath#935)
Browse files Browse the repository at this point in the history
  • Loading branch information
fredrik-bakke committed Nov 26, 2023
1 parent b7a99b7 commit 58bdccc
Show file tree
Hide file tree
Showing 41 changed files with 823 additions and 337 deletions.
3 changes: 1 addition & 2 deletions src/category-theory/isomorphisms-in-precategories.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,7 @@ module _
where

iso-eq-Precategory :
(x y : obj-Precategory C)
x = y iso-Precategory C x y
(x y : obj-Precategory C) x = y iso-Precategory C x y
pr1 (iso-eq-Precategory x y p) = hom-eq-Precategory C x y p
pr2 (iso-eq-Precategory x .x refl) = is-iso-id-hom-Precategory C

Expand Down
2 changes: 1 addition & 1 deletion src/category-theory/replete-subprecategories.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ module _
is-unfixed-replete-subprecategory-is-category-Subprecategory {x} =
ind-iso-Category
( C , is-category-C)
( λ B e is-in-iso-Subprecategory C P e)
( λ B is-in-iso-Subprecategory C P)
( is-in-iso-id-Subprecategory C P x)

is-replete-subprecategory-is-category-Subprecategory :
Expand Down
4 changes: 2 additions & 2 deletions src/foundation/binary-relations.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,10 +210,10 @@ module _
pr2 (extensionality-Relation-Prop S) =
is-equiv-relates-same-elements-eq-Relation-Prop S

equivalence-relationates-same-elements-Relation-Prop :
eq-relates-same-elements-Relation-Prop :
(S : Relation-Prop l2 A)
relates-same-elements-Relation-Prop R S (R = S)
equivalence-relationates-same-elements-Relation-Prop S =
eq-relates-same-elements-Relation-Prop S =
map-inv-equiv (extensionality-Relation-Prop S)
```

Expand Down
8 changes: 4 additions & 4 deletions src/foundation/coslice.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,17 @@ module _
{l1 l2 l3 : Level} {X : UU l1} {A : UU l2} {B : UU l3} (f : X A) (g : X B)
where

hom-coslice = Σ (A B) (λ h (h ∘ f) ~ g)
hom-coslice = Σ (A B) (λ h h ∘ f ~ g)

module _
{l1 l2 l3 : Level} {X : UU l1} {A : UU l2} {B : UU l3} {f : X A} {g : X B}
where

map-hom-coslice : hom-coslice f g (A B)
map-hom-coslice : hom-coslice f g A B
map-hom-coslice = pr1

triangle-hom-coslice :
(h : hom-coslice f g) ((map-hom-coslice h) ∘ f) ~ g
(h : hom-coslice f g) map-hom-coslice h ∘ f ~ g
triangle-hom-coslice = pr2
```

Expand Down Expand Up @@ -95,7 +95,7 @@ module _
(h k : hom-coslice f g) (h = k) ≃ htpy-hom-coslice h k
extensionality-hom-coslice (h , H) =
extensionality-Σ
( λ {h' : A B} (H' : (h' ∘ f) ~ g) (K : h ~ h') H ~ ((K ·r f) ∙h H'))
( λ {h' : A B} (H' : h' ∘ f ~ g) (K : h ~ h') H ~ ((K ·r f) ∙h H'))
( refl-htpy)
( refl-htpy)
( λ h' equiv-funext)
Expand Down
8 changes: 4 additions & 4 deletions src/foundation/equivalence-relations.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,10 @@ module _
pr2 (extensionality-equivalence-relation S) =
is-equiv-relate-same-elements-eq-equivalence-relation S

equivalence-relationate-same-elements-equivalence-relation :
eq-relate-same-elements-equivalence-relation :
(S : equivalence-relation l2 A)
relate-same-elements-equivalence-relation R S (R = S)
equivalence-relationate-same-elements-equivalence-relation S =
eq-relate-same-elements-equivalence-relation S =
map-inv-equiv (extensionality-equivalence-relation S)
```

Expand Down Expand Up @@ -319,7 +319,7 @@ is-section-equivalence-relation-partition-equivalence-relation :
{l : Level} {A : UU l} (R : equivalence-relation l A)
equivalence-relation-partition (partition-equivalence-relation R) = R
is-section-equivalence-relation-partition-equivalence-relation R =
equivalence-relationate-same-elements-equivalence-relation
eq-relate-same-elements-equivalence-relation
( equivalence-relation-partition (partition-equivalence-relation R))
( R)
( relate-same-elements-equivalence-relation-partition-equivalence-relation
Expand Down Expand Up @@ -551,7 +551,7 @@ is-retraction-equivalence-relation-Surjection-Into-Set :
( surjection-into-set-equivalence-relation R) =
R
is-retraction-equivalence-relation-Surjection-Into-Set R =
equivalence-relationate-same-elements-equivalence-relation
eq-relate-same-elements-equivalence-relation
( equivalence-relation-Surjection-Into-Set
( surjection-into-set-equivalence-relation R))
( R)
Expand Down
13 changes: 8 additions & 5 deletions src/foundation/identity-systems.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,12 @@ module _
abstract
fundamental-theorem-id-is-identity-system :
is-identity-system B a b
(f : (x : A) a = x B x) (x : A) is-equiv (f x)
fundamental-theorem-id-is-identity-system H f =
fundamental-theorem-id
( is-torsorial-is-identity-system H)
( f)
(f : (x : A) a = x B x) is-fiberwise-equiv f
fundamental-theorem-id-is-identity-system H =
fundamental-theorem-id (is-torsorial-is-identity-system H)
```

## External links

- [Identity systems](https://1lab.dev/1Lab.Path.IdentitySystem.html) at 1lab
- [identity system](https://ncatlab.org/nlab/show/identity+system) at $n$Lab
2 changes: 2 additions & 0 deletions src/group-theory.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ open import group-theory.cartesian-products-monoids public
open import group-theory.cartesian-products-semigroups public
open import group-theory.category-of-abelian-groups public
open import group-theory.category-of-concrete-groups public
open import group-theory.category-of-group-actions public
open import group-theory.category-of-groups public
open import group-theory.category-of-orbits-groups public
open import group-theory.category-of-semigroups public
open import group-theory.cayleys-theorem public
open import group-theory.centers-groups public
Expand Down
71 changes: 71 additions & 0 deletions src/group-theory/category-of-group-actions.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# The category of group actions

```agda
module group-theory.category-of-group-actions where
```

<details><summary>Imports</summary>

```agda
open import category-theory.categories
open import category-theory.isomorphisms-in-large-precategories
open import category-theory.large-categories
open import category-theory.large-precategories
open import category-theory.precategories

open import foundation.dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.universe-levels

open import group-theory.group-actions
open import group-theory.groups
open import group-theory.homomorphisms-group-actions
open import group-theory.isomorphisms-group-actions
open import group-theory.precategory-of-group-actions
```

</details>

## Idea

The [large category](category-theory.large-categories.md) of
[group actions](group-theory.group-actions.md) consists of group actions and
[morphisms of group actions](group-theory.homomorphisms-group-actions.md)
between them.

## Definitions

### The large category of `G`-sets

```agda
module _
{l1 : Level} (G : Group l1)
where

is-large-category-action-Group-Large-Category :
is-large-category-Large-Precategory (action-Group-Large-Precategory G)
is-large-category-action-Group-Large-Category X =
fundamental-theorem-id
( is-torsorial-iso-action-Group G X)
( iso-eq-Large-Precategory (action-Group-Large-Precategory G) X)

action-Group-Large-Category :
Large-Category (λ l2 l1 ⊔ lsuc l2) (λ l2 l3 l1 ⊔ l2 ⊔ l3)
large-precategory-Large-Category action-Group-Large-Category =
action-Group-Large-Precategory G
is-large-category-Large-Category action-Group-Large-Category =
is-large-category-action-Group-Large-Category
```

### The small category of `G`-sets

```agda
module _
{l1 : Level} (G : Group l1)
where

action-Group-Category :
(l2 : Level) Category (l1 ⊔ lsuc l2) (l1 ⊔ l2)
action-Group-Category =
category-Large-Category (action-Group-Large-Category G)
```
102 changes: 102 additions & 0 deletions src/group-theory/category-of-orbits-groups.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# The orbit category of a group

```agda
module group-theory.category-of-orbits-groups where
```

<details><summary>Imports</summary>

```agda
open import category-theory.categories
open import category-theory.full-large-subcategories
open import category-theory.isomorphisms-in-large-precategories
open import category-theory.large-categories
open import category-theory.large-precategories
open import category-theory.precategories

open import foundation.dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.universe-levels

open import group-theory.category-of-group-actions
open import group-theory.group-actions
open import group-theory.groups
open import group-theory.homomorphisms-group-actions
open import group-theory.isomorphisms-group-actions
open import group-theory.precategory-of-group-actions
open import group-theory.transitive-group-actions
```

</details>

## Idea

The **orbit category of a group** `𝒪(G)` is the
[full subcategory](category-theory.full-large-subcategories.md) of the
[category of `G`-sets](group-theory.category-of-group-actions.md) consisting of
orbits of `G`, i.e. [transitive](group-theory.transitive-group-actions.md)
[`G`-sets](group-theory.group-actions.md). Equivalently, an orbit of `G` is a
`G`-set that is
[merely equivalent](group-theory.mere-equivalences-group-actions.md) to a
quotient `G`-set `G/H` for some [subgroup](group-theory.subgroups.md) `H`.

## Definitions

### The large orbit category of a group

```agda
module _
{l1 : Level} (G : Group l1)
where

orbit-Group-Full-Large-Subcategory :
Full-Large-Subcategory (l1 ⊔_) (action-Group-Large-Category G)
orbit-Group-Full-Large-Subcategory = is-transitive-prop-action-Group G

orbit-Group-Large-Category :
Large-Category (λ l l1 ⊔ lsuc l) (λ l2 l3 l1 ⊔ l2 ⊔ l3)
orbit-Group-Large-Category =
large-category-Full-Large-Subcategory
( action-Group-Large-Category G)
( orbit-Group-Full-Large-Subcategory)
```

### The large orbit precategory of a group

```agda
module _
{l1 : Level} (G : Group l1)
where

orbit-Group-Large-Precategory :
Large-Precategory (λ l l1 ⊔ lsuc l) (λ l2 l3 l1 ⊔ l2 ⊔ l3)
orbit-Group-Large-Precategory =
large-precategory-Large-Category (orbit-Group-Large-Category G)
```

### The small orbit category of a group

```agda
module _
{l1 : Level} (G : Group l1)
where

orbit-Group-Category : (l2 : Level) Category (l1 ⊔ lsuc l2) (l1 ⊔ l2)
orbit-Group-Category = category-Large-Category (orbit-Group-Large-Category G)
```

### The small orbit precategory of a group

```agda
module _
{l1 : Level} (G : Group l1)
where

orbit-Group-Precategory : (l2 : Level) Precategory (l1 ⊔ lsuc l2) (l1 ⊔ l2)
orbit-Group-Precategory =
precategory-Large-Category (orbit-Group-Large-Category G)
```

## External links

- [orbit category](https://ncatlab.org/nlab/show/orbit+category) at $n$Lab
4 changes: 2 additions & 2 deletions src/group-theory/cayleys-theorem.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ module _

map-Cayleys-theorem :
type-Group G type-Group (symmetric-Group (set-Group G))
map-Cayleys-theorem x = equiv-mul-Group G x
map-Cayleys-theorem = equiv-mul-Group G

preserves-mul-map-Cayleys-theorem :
preserves-mul-Group G (symmetric-Group (set-Group G)) map-Cayleys-theorem
preserves-mul-map-Cayleys-theorem {x} {y} =
eq-htpy-equiv (λ z associative-mul-Group G x y z)
eq-htpy-equiv (associative-mul-Group G x y)

hom-Cayleys-theorem : hom-Group G (symmetric-Group (set-Group G))
pr1 hom-Cayleys-theorem = map-Cayleys-theorem
Expand Down
6 changes: 3 additions & 3 deletions src/group-theory/congruence-relations-abelian-groups.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,9 +203,9 @@ extensionality-congruence-Ab :
extensionality-congruence-Ab A =
extensionality-congruence-Group (group-Ab A)

equivalence-relationate-same-elements-congruence-Ab :
eq-relate-same-elements-congruence-Ab :
{l1 l2 : Level} (A : Ab l1) (R S : congruence-Ab l2 A)
relate-same-elements-congruence-Ab A R S R = S
equivalence-relationate-same-elements-congruence-Ab A =
equivalence-relationate-same-elements-congruence-Group (group-Ab A)
eq-relate-same-elements-congruence-Ab A =
eq-relate-same-elements-congruence-Group (group-Ab A)
```
Original file line number Diff line number Diff line change
Expand Up @@ -179,11 +179,11 @@ extensionality-congruence-Commutative-Monoid :
extensionality-congruence-Commutative-Monoid M =
extensionality-congruence-Monoid (monoid-Commutative-Monoid M)

equivalence-relationate-same-elements-congruence-Commutative-Monoid :
eq-relate-same-elements-congruence-Commutative-Monoid :
{l1 l2 : Level} (M : Commutative-Monoid l1)
(R S : congruence-Commutative-Monoid l2 M)
relate-same-elements-congruence-Commutative-Monoid M R S R = S
equivalence-relationate-same-elements-congruence-Commutative-Monoid M =
equivalence-relationate-same-elements-congruence-Monoid
eq-relate-same-elements-congruence-Commutative-Monoid M =
eq-relate-same-elements-congruence-Monoid
( monoid-Commutative-Monoid M)
```
6 changes: 3 additions & 3 deletions src/group-theory/congruence-relations-groups.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,9 +260,9 @@ extensionality-congruence-Group :
extensionality-congruence-Group G =
extensionality-congruence-Semigroup (semigroup-Group G)

equivalence-relationate-same-elements-congruence-Group :
eq-relate-same-elements-congruence-Group :
{l1 l2 : Level} (G : Group l1) (R S : congruence-Group l2 G)
relate-same-elements-congruence-Group G R S R = S
equivalence-relationate-same-elements-congruence-Group G =
equivalence-relationate-same-elements-congruence-Semigroup (semigroup-Group G)
eq-relate-same-elements-congruence-Group G =
eq-relate-same-elements-congruence-Semigroup (semigroup-Group G)
```
6 changes: 3 additions & 3 deletions src/group-theory/congruence-relations-monoids.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,10 @@ extensionality-congruence-Monoid :
extensionality-congruence-Monoid M =
extensionality-congruence-Semigroup (semigroup-Monoid M)

equivalence-relationate-same-elements-congruence-Monoid :
eq-relate-same-elements-congruence-Monoid :
{l1 l2 : Level} (M : Monoid l1) (R S : congruence-Monoid l2 M)
relate-same-elements-congruence-Monoid M R S R = S
equivalence-relationate-same-elements-congruence-Monoid M =
equivalence-relationate-same-elements-congruence-Semigroup
eq-relate-same-elements-congruence-Monoid M =
eq-relate-same-elements-congruence-Semigroup
( semigroup-Monoid M)
```
4 changes: 2 additions & 2 deletions src/group-theory/congruence-relations-semigroups.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,9 @@ pr1 (extensionality-congruence-Semigroup G R S) =
pr2 (extensionality-congruence-Semigroup G R S) =
is-equiv-relate-same-elements-eq-congruence-Semigroup G R S

equivalence-relationate-same-elements-congruence-Semigroup :
eq-relate-same-elements-congruence-Semigroup :
{l1 l2 : Level} (G : Semigroup l1) (R S : congruence-Semigroup l2 G)
relate-same-elements-congruence-Semigroup G R S R = S
equivalence-relationate-same-elements-congruence-Semigroup G R S =
eq-relate-same-elements-congruence-Semigroup G R S =
map-inv-equiv (extensionality-congruence-Semigroup G R S)
```
Loading

0 comments on commit 58bdccc

Please sign in to comment.