Basic properties of group actions #
This file primarily concerns itself with orbits, stabilizers, and other objects defined in terms of
actions. Despite this file being called basic
, low-level helper lemmas for algebraic manipulation
of •
belong elsewhere.
Main definitions #
Equations
- AddAction.instAddActionElemOrbit = AddAction.mk ⋯ ⋯
Equations
- MulAction.instMulActionElemOrbit = MulAction.mk ⋯ ⋯
Equations
- ⋯ = ⋯
Instances For
The stabilizer of a point a
as an additive submonoid of M
.
Equations
- AddAction.stabilizerAddSubmonoid M a = { toAddSubsemigroup := { carrier := {m : M | m +ᵥ a = a}, add_mem' := ⋯ }, zero_mem' := ⋯ }
Instances For
The stabilizer of a point a
as a submonoid of M
.
Equations
- MulAction.stabilizerSubmonoid M a = { toSubsemigroup := { carrier := {m : M | m • a = a}, mul_mem' := ⋯ }, one_mem' := ⋯ }
Instances For
The submonoid of elements fixed under the whole action.
Equations
- FixedPoints.submonoid M α = { toSubsemigroup := { carrier := MulAction.fixedPoints M α, mul_mem' := ⋯ }, one_mem' := ⋯ }
Instances For
The subgroup of elements fixed under the whole action.
Equations
- α^*M = let __spread.0 := FixedPoints.submonoid M α; { toSubmonoid := __spread.0, inv_mem' := ⋯ }
Instances For
The notation for FixedPoints.subgroup
, chosen to resemble αᴹ
.
Equations
- «term_^*_» = Lean.ParserDescr.trailingNode `term_^*_ 1022 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "^*") (Lean.ParserDescr.cat `term 51))
Instances For
The additive submonoid of elements fixed under the whole action.
Equations
- FixedPoints.addSubmonoid M α = { toAddSubsemigroup := { carrier := MulAction.fixedPoints M α, add_mem' := ⋯ }, zero_mem' := ⋯ }
Instances For
The additive subgroup of elements fixed under the whole action.
Equations
- α^+M = let __spread.0 := FixedPoints.addSubmonoid M α; { toAddSubmonoid := __spread.0, neg_mem' := ⋯ }
Instances For
The notation for FixedPoints.addSubgroup
, chosen to resemble αᴹ
.
Equations
- «term_^+_» = Lean.ParserDescr.trailingNode `term_^+_ 1022 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "^+") (Lean.ParserDescr.cat `term 51))
Instances For
smul
by a k : M
over a ring is injective, if k
is not a zero divisor.
The general theory of such k
is elaborated by IsSMulRegular
.
The typeclass that restricts all terms of M
to have this property is NoZeroSMulDivisors
.
The action of an additive group on an orbit is transitive.
Equations
- ⋯ = ⋯
The action of a group on an orbit is transitive.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Instances For
The relation 'in the same orbit'.
Equations
- AddAction.orbitRel G α = { r := fun (a b : α) => a ∈ AddAction.orbit G b, iseqv := ⋯ }
Instances For
The relation 'in the same orbit'.
Equations
- MulAction.orbitRel G α = { r := fun (a b : α) => a ∈ MulAction.orbit G b, iseqv := ⋯ }
Instances For
The quotient by AddAction.orbitRel
, given a name to enable dot notation.
Equations
Instances For
The quotient by MulAction.orbitRel
, given a name to enable dot notation.
Equations
Instances For
An additive action is pretransitive if and only if the quotient by
AddAction.orbitRel
is a subsingleton.
An action is pretransitive if and only if the quotient by MulAction.orbitRel
is a
subsingleton.
The orbit corresponding to an element of the quotient by AddAction.orbitRel
Equations
Instances For
The orbit corresponding to an element of the quotient by MulAction.orbitRel
Equations
Instances For
Note that hφ = Quotient.out_eq'
is a useful choice here.
Note that hφ = Quotient.out_eq'
is a useful choice here.
Decomposition of a type X
as a disjoint union of its orbits under an additive group action.
This version is expressed in terms of AddAction.orbitRel.Quotient.orbit
instead of
AddAction.orbit
, to avoid mentioning Quotient.out'
.
Equations
- AddAction.selfEquivSigmaOrbits' G α = Trans.trans (Equiv.sigmaFiberEquiv Quotient.mk').symm (Equiv.sigmaCongrRight fun (x : AddAction.orbitRel.Quotient G α) => Equiv.subtypeEquivRight ⋯)
Instances For
Decomposition of a type X
as a disjoint union of its orbits under a group action.
This version is expressed in terms of MulAction.orbitRel.Quotient.orbit
instead of
MulAction.orbit
, to avoid mentioning Quotient.out'
.
Equations
- MulAction.selfEquivSigmaOrbits' G α = Trans.trans (Equiv.sigmaFiberEquiv Quotient.mk').symm (Equiv.sigmaCongrRight fun (x : MulAction.orbitRel.Quotient G α) => Equiv.subtypeEquivRight ⋯)
Instances For
Decomposition of a type X
as a disjoint union of its orbits under an additive group
action.
Equations
- AddAction.selfEquivSigmaOrbits G α = (AddAction.selfEquivSigmaOrbits' G α).trans (Equiv.sigmaCongrRight fun (x : AddAction.orbitRel.Quotient G α) => Equiv.Set.ofEq ⋯)
Instances For
Decomposition of a type X
as a disjoint union of its orbits under a group action.
Equations
- MulAction.selfEquivSigmaOrbits G α = (MulAction.selfEquivSigmaOrbits' G α).trans (Equiv.sigmaCongrRight fun (x : MulAction.orbitRel.Quotient G α) => Equiv.Set.ofEq ⋯)
Instances For
The stabilizer of an element under an action, i.e. what sends the element to itself. An additive subgroup.
Equations
- AddAction.stabilizer G a = let __src := AddAction.stabilizerAddSubmonoid G a; { toAddSubmonoid := __src, neg_mem' := ⋯ }
Instances For
The stabilizer of an element under an action, i.e. what sends the element to itself. A subgroup.
Equations
- MulAction.stabilizer G a = let __src := MulAction.stabilizerSubmonoid G a; { toSubmonoid := __src, inv_mem' := ⋯ }
Instances For
Equations
If the stabilizer of a
is S
, then the stabilizer of g • a
is gSg⁻¹
.
A bijection between the stabilizers of two elements in the same orbit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If the stabilizer of x
is S
, then the stabilizer of g +ᵥ x
is g + S + (-g)
.
A bijection between the stabilizers of two elements in the same orbit.
Equations
- One or more equations did not get rendered due to their size.