namespace http://mathhub.info/MitM/core/algebra/groups ❚
import fnd http://mathhub.info/MitM/Foundation ❚
import core http://mathhub.info/MitM/core ❚
import sets hhttp://mathhub.info/MitM/core/sets ❚
theory GroupActions : fnd:?Logic =
include ../algebra?Group ❙
include ?Subgroups ❙
// include ?SymmetricGroup ❙
theory RightGroupActionsTheory : fnd:?Logic > G : group, Ω : type ❘ =
act : Ω ⟶ G.universe ⟶ Ω ❘ # 1 ^ 2 prec 10 ❙
act_property_id : ⊦ ∀[ω : Ω] (ω ^ (G.unit)) ≐ ω ❙
act_property_compose : ⊦ ∀[ω : Ω] ∀[g : G.universe] ∀[h : G.universe] ((ω ^ g) ^ h) ≐ (ω ^ ((G.op) g h)) ❙
❚
rightGroupActions : group ⟶ type ⟶ type ❘ = [G,Ω] Mod `?GroupActions/RightGroupActionsTheory , G , Ω ❙
asAction : {G : group, Ω : type, act : Ω ⟶ G.universe ⟶ Ω}{p1 : ⊦ ∀[ω : Ω] (act ω (G.unit)) ≐ ω}
{p2 : ⊦ ∀[ω : Ω] ∀[g : G.universe] ∀[h : G.universe] (act (act ω g) h) ≐ (act ω ((G.op) g h))} rightGroupActions G Ω ❘
= [G, Ω, act, p1, p2] [' act := act, act_property_id := p1, act_property_compose := p2 '] ❙
rightOrbit : {G : group, Ω : type} (rightGroupActions G Ω) ⟶ Ω ⟶ subtypeOf Ω ❘ # rorbit 3 4 ❙
rightStabiliser : {G : group, Ω : type} (rightGroupActions G Ω) ⟶ Ω ⟶ subgroupOf G ❘ # rstab 3 4❙
theory LeftGroupActionsTheory : fnd:?Logic > G : group, Ω : type ❘ =
act : G.universe ⟶ Ω ⟶ Ω ❘ # 1 ^ 2 prec 10 ❙
act_property_id : ⊦ ∀[ω : Ω] ((G.unit) ^ ω) ≐ ω ❙
act_property_compose : ⊦ ∀[ω : Ω] ∀[g : G.universe] ∀[h : G.universe] (h ^ (g ^ ω)) ≐ (((G.op) h g) ^ ω) ❙
❚
// ❙
// theory GroupActionsByHomomorphismTheory : fnd:?Logic > G : group, Ω : type ❘=
// acthom : hom G (SymmetricGroup Ω) ❙
// ❚
// theory GroupActionsByHomomorphismTheory : fnd?Logic > G : group, X : ??? ❘=
// ❚
❚