Properties of group actions involving quotient groups #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file proves properties of group actions which use the quotient group construction, notably
- the orbit-stabilizer theorem
card_orbit_mul_card_stabilizer_eq_card_group
- the class formula
card_eq_sum_card_group_div_card_stabilizer'
- Burnside's lemma
sum_card_fixed_by_eq_card_orbits_mul_card_group
A typeclass for when a mul_action β α
descends to the quotient α ⧸ H
.
Instances of this typeclass
A typeclass for when an add_action β α
descends to the quotient α ⧸ H
.
Instances of this typeclass
Equations
- add_action.quotient β H = {to_has_vadd := {vadd := λ (b : β), quotient.map' (has_vadd.vadd b) _}, zero_vadd := _, add_vadd := _}
Equations
- mul_action.quotient β H = {to_has_smul := {smul := λ (b : β), quotient.map' (has_smul.smul b) _}, one_smul := _, mul_smul := _}
The canonical map to the left cosets.
Equations
- mul_action_hom.to_quotient H = {to_fun := coe coe_to_lift, map_smul' := _}
Equations
Equations
The canonical map from the quotient of the stabilizer to the set.
Equations
- add_action.of_quotient_stabilizer α x g = quotient.lift_on' g (λ (_x : α), _x +ᵥ x) _
The canonical map from the quotient of the stabilizer to the set.
Equations
- mul_action.of_quotient_stabilizer α x g = quotient.lift_on' g (λ (_x : α), _x • x) _
Orbit-stabilizer theorem.
Equations
- add_action.orbit_equiv_quotient_stabilizer α b = (equiv.of_bijective (λ (g : α ⧸ add_action.stabilizer α b), ⟨add_action.of_quotient_stabilizer α b g, _⟩) _).symm
Orbit-stabilizer theorem.
Equations
- mul_action.orbit_equiv_quotient_stabilizer α b = (equiv.of_bijective (λ (g : α ⧸ mul_action.stabilizer α b), ⟨mul_action.of_quotient_stabilizer α b g, _⟩) _).symm
Orbit-stabilizer theorem.
Orbit-stabilizer theorem.
Orbit-stabilizer theorem.
Orbit-stabilizer theorem.
Class formula : given G
a group acting on X
and φ
a function mapping each orbit of X
under this action (that is, each element of the quotient of X
by the relation orbit_rel G X
) to
an element in this orbit, this gives a (noncomputable) bijection between X
and the disjoint union
of G/Stab(φ(ω))
over all orbits ω
. In most cases you'll want φ
to be quotient.out'
, so we
provide mul_action.self_equiv_sigma_orbits_quotient_stabilizer
as a special case.
Equations
- mul_action.self_equiv_sigma_orbits_quotient_stabilizer' α β hφ = (mul_action.self_equiv_sigma_orbits' α β _inst_2).trans (equiv.sigma_congr_right (λ (ω : quotient (mul_action.orbit_rel α β)), (equiv.set.of_eq _).trans (mul_action.orbit_equiv_quotient_stabilizer α (φ ω))))
Class formula : given G
an additive group acting on X
and φ
a function
mapping each orbit of X
under this action (that is, each element of the quotient of X
by the
relation orbit_rel G X
) to an element in this orbit, this gives a (noncomputable) bijection
between X
and the disjoint union of G/Stab(φ(ω))
over all orbits ω
. In most cases you'll want
φ
to be quotient.out'
, so we provide add_action.self_equiv_sigma_orbits_quotient_stabilizer
as a special case.
Equations
- add_action.self_equiv_sigma_orbits_quotient_stabilizer' α β hφ = (add_action.self_equiv_sigma_orbits' α β _inst_2).trans (equiv.sigma_congr_right (λ (ω : quotient (add_action.orbit_rel α β)), (equiv.set.of_eq _).trans (add_action.orbit_equiv_quotient_stabilizer α (φ ω))))
Class formula for a finite group acting on a finite type. See
add_action.card_eq_sum_card_add_group_div_card_stabilizer
for a specialized version using
quotient.out'
.
Class formula for a finite group acting on a finite type. See
mul_action.card_eq_sum_card_group_div_card_stabilizer
for a specialized version using
quotient.out'
.
Class formula. This is a special case of
add_action.self_equiv_sigma_orbits_quotient_stabilizer'
with φ = quotient.out'
.
Class formula. This is a special case of
mul_action.self_equiv_sigma_orbits_quotient_stabilizer'
with φ = quotient.out'
.
Class formula for a finite group acting on a finite type.
Class formula for a finite group acting on a finite type.
Burnside's lemma : a (noncomputable) bijection between the disjoint union of all
{x ∈ X | g • x = x}
for g ∈ G
and the product G × X/G
, where G
is an additive group acting
on X
and X/G
denotes the quotient of X
by the relation orbit_rel G X
.
Equations
- add_action.sigma_fixed_by_equiv_orbits_sum_add_group α β = ((((((((equiv.subtype_prod_equiv_sigma_subtype (λ (a : α) (x : β), x ∈ add_action.fixed_by α β a)).symm.trans ((equiv.prod_comm α β).subtype_equiv _)).trans (equiv.subtype_prod_equiv_sigma_subtype (λ (b : β) (a : α), a ∈ add_action.stabilizer α b))).trans (add_action.self_equiv_sigma_orbits α β).sigma_congr_left').trans (equiv.sigma_assoc (λ (ω : quotient (add_action.orbit_rel α β)) (b : ↥(add_action.orbit α ω.out')), ↥(add_action.stabilizer α ↑b)))).trans (equiv.sigma_congr_right (λ (ω : quotient (add_action.orbit_rel α β)), equiv.sigma_congr_right (λ (_x : ↥(add_action.orbit α ω.out')), add_action.sigma_fixed_by_equiv_orbits_sum_add_group._match_1 α β ω _x)))).trans (equiv.sigma_congr_right (λ (ω : quotient (add_action.orbit_rel α β)), equiv.sigma_equiv_prod ↥(add_action.orbit α ω.out') ↥(add_action.stabilizer α ω.out')))).trans (equiv.sigma_congr_right (λ (ω : quotient (add_action.orbit_rel α β)), add_action.orbit_sum_stabilizer_equiv_add_group α ω.out'))).trans (equiv.sigma_equiv_prod (quotient (add_action.orbit_rel α β)) α)
- add_action.sigma_fixed_by_equiv_orbits_sum_add_group._match_1 α β ω ⟨b, hb⟩ = (add_action.stabilizer_equiv_stabilizer_of_orbit_rel hb).to_equiv
Burnside's lemma : a (noncomputable) bijection between the disjoint union of all
{x ∈ X | g • x = x}
for g ∈ G
and the product G × X/G
, where G
is a group acting on X
and
X/G
denotes the quotient of X
by the relation orbit_rel G X
.
Equations
- mul_action.sigma_fixed_by_equiv_orbits_prod_group α β = ((((((((equiv.subtype_prod_equiv_sigma_subtype (λ (a : α) (x : β), x ∈ mul_action.fixed_by α β a)).symm.trans ((equiv.prod_comm α β).subtype_equiv _)).trans (equiv.subtype_prod_equiv_sigma_subtype (λ (b : β) (a : α), a ∈ mul_action.stabilizer α b))).trans (mul_action.self_equiv_sigma_orbits α β).sigma_congr_left').trans (equiv.sigma_assoc (λ (ω : quotient (mul_action.orbit_rel α β)) (b : ↥(mul_action.orbit α ω.out')), ↥(mul_action.stabilizer α ↑b)))).trans (equiv.sigma_congr_right (λ (ω : quotient (mul_action.orbit_rel α β)), equiv.sigma_congr_right (λ (_x : ↥(mul_action.orbit α ω.out')), mul_action.sigma_fixed_by_equiv_orbits_prod_group._match_1 α β ω _x)))).trans (equiv.sigma_congr_right (λ (ω : quotient (mul_action.orbit_rel α β)), equiv.sigma_equiv_prod ↥(mul_action.orbit α ω.out') ↥(mul_action.stabilizer α ω.out')))).trans (equiv.sigma_congr_right (λ (ω : quotient (mul_action.orbit_rel α β)), mul_action.orbit_prod_stabilizer_equiv_group α ω.out'))).trans (equiv.sigma_equiv_prod (quotient (mul_action.orbit_rel α β)) α)
- mul_action.sigma_fixed_by_equiv_orbits_prod_group._match_1 α β ω ⟨b, hb⟩ = (mul_action.stabilizer_equiv_stabilizer_of_orbit_rel hb).to_equiv
Burnside's lemma : given a finite additive group G
acting on a set X
,
the average number of elements fixed by each g ∈ G
is the number of orbits.
Burnside's lemma : given a finite group G
acting on a set X
, the average number of
elements fixed by each g ∈ G
is the number of orbits.
Cosets of the centralizer of an element embed into the set of commutators.
Equations
- subgroup.quotient_centralizer_embedding g = ((mul_action.orbit_equiv_quotient_stabilizer (conj_act G) g).trans (subgroup.quotient_equiv_of_eq _)).symm.to_embedding.trans {to_fun := λ (x : ↥(mul_action.orbit (conj_act G) g)), ⟨↑x * g⁻¹, _⟩, inj' := _}
- _ = _
If G
is generated by S
, then the quotient by the center embeds into S
-indexed sequences
of commutators.