Basic properties of group actions #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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 #
The orbit of an element under an action.
Equations
- mul_action.orbit α b = set.range (λ (x : α), x • b)
Instances for ↥mul_action.orbit
The orbit of an element under an action.
Equations
- add_action.orbit α b = set.range (λ (x : α), x +ᵥ b)
Instances for ↥add_action.orbit
Equations
- mul_action.orbit.mul_action = {to_has_smul := {smul := λ (a : α), set.maps_to.restrict (has_smul.smul a) (mul_action.orbit α b) (mul_action.orbit α b) _}, one_smul := _, mul_smul := _}
Equations
- add_action.orbit.add_action = {to_has_vadd := {vadd := λ (a : α), set.maps_to.restrict (has_vadd.vadd a) (add_action.orbit α b) (add_action.orbit α b) _}, zero_vadd := _, add_vadd := _}
The set of elements fixed under the whole action.
Equations
- add_action.fixed_points α β = {b : β | ∀ (x : α), x +ᵥ b = b}
The set of elements fixed under the whole action.
Equations
- mul_action.fixed_points α β = {b : β | ∀ (x : α), x • b = b}
fixed_by g
is the subfield of elements fixed by g
.
Equations
- add_action.fixed_by α β g = {x : β | g +ᵥ x = x}
fixed_by g
is the subfield of elements fixed by g
.
Equations
- mul_action.fixed_by α β g = {x : β | g • x = x}
The stabilizer of a point b
as a submonoid of α
.
The stabilizer of a point b
as an additive submonoid of α
.
The stabilizer of an element under an action, i.e. what sends the element to itself. A subgroup.
Equations
- mul_action.stabilizer α b = {carrier := (mul_action.stabilizer.submonoid α b).carrier, mul_mem' := _, one_mem' := _, inv_mem' := _}
The stabilizer of an element under an action, i.e. what sends the element to itself. An additive subgroup.
Equations
- add_action.stabilizer α b = {carrier := (add_action.stabilizer.add_submonoid α b).carrier, add_mem' := _, zero_mem' := _, neg_mem' := _}
The action of a group on an orbit is transitive.
The action of an additive group on an orbit is transitive.
The relation 'in the same orbit'.
Equations
- mul_action.orbit_rel α β = {r := λ (a b : β), a ∈ mul_action.orbit α b, iseqv := _}
The relation 'in the same orbit'.
Equations
- add_action.orbit_rel α β = {r := λ (a b : β), a ∈ add_action.orbit α b, iseqv := _}
When you take a set U
in β
, push it down to the quotient, and pull back, you get the union
of the orbit of U
under α
.
When you take a set U
in β
, push it down to the quotient, and pull back, you get
the union of the orbit of U
under α
.
The orbit corresponding to an element of the quotient by mul_action.orbit_rel
Equations
- x.orbit = quotient.lift_on' x (mul_action.orbit α) mul_action.orbit_rel.quotient.orbit._proof_1
The orbit corresponding to an element of the quotient by add_action.orbit_rel
Equations
- x.orbit = quotient.lift_on' x (add_action.orbit α) add_action.orbit_rel.quotient.orbit._proof_1
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 a group action.
This version is expressed in terms of mul_action.orbit_rel.quotient.orbit
instead of
mul_action.orbit
, to avoid mentioning quotient.out'
.
Equations
Decomposition of a type X
as a disjoint union of its orbits under an additive group
action.
This version is expressed in terms of add_action.orbit_rel.quotient.orbit
instead of
add_action.orbit
, to avoid mentioning quotient.out'
.
Equations
Decomposition of a type X
as a disjoint union of its orbits under a group action.
Equations
Decomposition of a type X
as a disjoint union of its orbits under an additive group
action.
Equations
If the stabilizer of x
is S
, then the stabilizer of g • x
is gSg⁻¹
.
A bijection between the stabilizers of two elements in the same orbit.
Equations
- mul_action.stabilizer_equiv_stabilizer_of_orbit_rel h = let g : α := classical.some h in have hg : g • y = x, from _, have this : mul_action.stabilizer α x = subgroup.map (mul_equiv.to_monoid_hom (⇑mul_aut.conj g)) (mul_action.stabilizer α y), from _, (mul_equiv.subgroup_congr this).trans (mul_equiv.subgroup_map (⇑mul_aut.conj g) (mul_action.stabilizer α y)).symm
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
- add_action.stabilizer_equiv_stabilizer_of_orbit_rel h = let g : α := classical.some h in have hg : g +ᵥ y = x, from _, have this : add_action.stabilizer α x = add_subgroup.map (add_equiv.to_add_monoid_hom (⇑add_aut.conj g)) (add_action.stabilizer α y), from _, (add_equiv.add_subgroup_congr this).trans (add_equiv.add_subgroup_map (⇑add_aut.conj g) (add_action.stabilizer α y)).symm
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 is_smul_regular
.
The typeclass that restricts all terms of M
to have this property is no_zero_smul_divisors
.