https://github.com/zampino/ggt
A random collection of Agda facts around the Theory of Group Actions
https://github.com/zampino/ggt
agda formalization group-actions group-theory
Last synced: 5 months ago
JSON representation
A random collection of Agda facts around the Theory of Group Actions
- Host: GitHub
- URL: https://github.com/zampino/ggt
- Owner: zampino
- License: mit
- Created: 2020-04-17T10:03:36.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-18T16:00:38.000Z (over 5 years ago)
- Last Synced: 2025-02-01T12:30:42.763Z (over 1 year ago)
- Topics: agda, formalization, group-actions, group-theory
- Language: Agda
- Homepage:
- Size: 40 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🏗 Geometric Group Theory in Agda 🚧
This is a work-in-progress collection of formalised facts about groups and their actions.
## Action definitions
```agda
record Action a b ℓ₁ ℓ₂ : Set (suc (a ⊔ b ⊔ ℓ₁ ⊔ ℓ₂)) where
infix 6 _·_
infix 3 _≋_
open Group hiding (setoid)
field
G : Group a ℓ₁
Ω : Set b
_≋_ : Rel Ω ℓ₂
_·_ : Opᵣ (Carrier G) Ω
isAction : IsAction (_≈_ G) _≋_ _·_ (_∙_ G) (ε G) (_⁻¹ G)
open IsAction isAction public
-- the (raw) pointwise stabilizer
stab : Ω → Pred (Carrier G) ℓ₂
stab o = λ (g : Carrier G) → o · g ≋ o
-- Orbital relation
_ω_ : Rel Ω (a ⊔ ℓ₂)
o ω o' = ∃[ g ] (o · g ≋ o')
-- TODO: ω is equivalence refining ≋
_·G : Ω → Pred Ω (a ⊔ ℓ₂)
o ·G = o ω_
open import GGT.Setoid setoid (a ⊔ ℓ₂)
Orbit : Ω → Setoid (b ⊔ (a ⊔ ℓ₂)) ℓ₂
Orbit o = subSetoid (o ·G)
```
## Orbital Correspondance
[Orbital Correspondence](https://github.com/zampino/ggt/blob/e0a52de02d5bce626579f2575863964e88ef2eda/src/ggt/Theory.agda#L81) (right cosets of G modulo pointwise stabilisers correspond 1:1 to the orbits of the action)
```agda
stabIsSubGroup : ∀ (o : Ω) → (stab o) ≤ G
stabIsSubGroup o = record { ε∈ = actId o ;
∙-⁻¹-closed = itis ;
r = resp } where ...
Stab : Ω → SubGroup G
Stab o = record { P = stab o;
isSubGroup = stabIsSubGroup o}
orbitalCorr : {o : Ω} → Bijection (Stab o \\ G) (Orbit o)
orbitalCorr {o} = record { f = f ;
cong = cc ;
bijective = inj ,′ surj } where ...
```
## Future Plans
- Primitivity
- Wreath Products