Double cosets #
This file defines double cosets for two subgroups H K
of a group G
and the quotient of G
by
the double coset relation, i.e. H \ G / K
. We also prove that G
can be written as a disjoint
union of the double cosets and that if one of H
or K
is the trivial group (i.e. ⊥
) then
this is the usual left or right quotient of a group by a subgroup.
Main definitions #
rel
: The double coset relation defined by two subgroupsH K
ofG
.Doset.quotient
: The quotient ofG
by the double coset relation, i.e,H \ G / K
.
theorem
Doset.doset_eq_image2
{α : Type u_2}
[Mul α]
(a : α)
(s t : Set α)
:
doset a s t = Set.image2 (fun (x1 x2 : α) => x1 * a * x2) s t
The setoid defined by the double_coset relation
Equations
- Doset.setoid H K = Setoid.ker fun (x : G) => Doset.doset x H K
Instances For
Quotient of G
by the double coset relation, i.e. H \ G / K
Equations
- Doset.Quotient H K = Quotient (Doset.setoid H K)
Instances For
theorem
Doset.bot_rel_eq_leftRel
{G : Type u_1}
[Group G]
(H : Subgroup G)
:
⇑(setoid ↑⊥ ↑H) = ⇑(QuotientGroup.leftRel H)
theorem
Doset.rel_bot_eq_right_group_rel
{G : Type u_1}
[Group G]
(H : Subgroup G)
:
⇑(setoid ↑H ↑⊥) = ⇑(QuotientGroup.rightRel H)
Create a doset out of an element of H \ G / K
Equations
- Doset.quotToDoset H K q = Doset.doset (Quotient.out q) ↑H ↑K
Instances For
Equations
- Doset.instInhabitedQuotientCoeSubgroup H K = { default := Doset.mk H K 1 }
theorem
Doset.out_eq'
{G : Type u_1}
[Group G]
(H K : Subgroup G)
(q : Quotient ↑H ↑K)
:
mk H K (Quotient.out q) = q
@[deprecated Doset.mk_out_eq_mul (since := "2024-10-19")]
Alias of Doset.mk_out_eq_mul
.
theorem
Doset.disjoint_out
{G : Type u_1}
[Group G]
{H K : Subgroup G}
{a b : Quotient ↑H ↑K}
:
a ≠ b → Disjoint (doset (Quotient.out a) ↑H ↑K) (doset (Quotient.out b) ↑H ↑K)
@[deprecated Doset.disjoint_out (since := "2024-10-19")]
theorem
Doset.disjoint_out'
{G : Type u_1}
[Group G]
{H K : Subgroup G}
{a b : Quotient ↑H ↑K}
:
a ≠ b → Disjoint (doset (Quotient.out a) ↑H ↑K) (doset (Quotient.out b) ↑H ↑K)
Alias of Doset.disjoint_out
.
theorem
Doset.union_quotToDoset
{G : Type u_1}
[Group G]
(H K : Subgroup G)
:
⋃ (q : Quotient ↑H ↑K), quotToDoset H K q = Set.univ
theorem
Doset.doset_union_rightCoset
{G : Type u_1}
[Group G]
(H K : Subgroup G)
(a : G)
:
⋃ (k : ↥K), MulOpposite.op (a * ↑k) • ↑H = doset a ↑H ↑K
theorem
Doset.right_bot_eq_right_quot
{G : Type u_1}
[Group G]
(H : Subgroup G)
:
Quotient ↑H ↑⊥ = _root_.Quotient (QuotientGroup.rightRel H)