An open API service indexing awesome lists of open source software.

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

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