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/Gdenotes 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/Gdenotes 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.