Cosets #
This file develops the basic theory of left and right cosets.
Main definitions #
leftCoset a s
: the left coseta * s
for an elementa : α
and a subsets ⊆ α
, for anAddGroup
this isleftAddCoset a s
.rightCoset s a
: the right cosets * a
for an elementa : α
and a subsets ⊆ α
, for anAddGroup
this isrightAddCoset s a
.QuotientGroup.quotient s
: the quotient type representing the left cosets with respect to a subgroups
, for anAddGroup
this isQuotientAddGroup.quotient s
.QuotientGroup.mk
: the canonical map fromα
toα/s
for a subgroups
ofα
, for anAddGroup
this isQuotientAddGroup.mk
.Subgroup.leftCosetEquivSubgroup
: the natural bijection between a left coset and the subgroup, for anAddGroup
this isAddSubgroup.leftCosetEquivAddSubgroup
.
Notation #
-
a *l s
: forleftCoset a s
. -
a +l s
: forleftAddCoset a s
. -
s *r a
: forrightCoset s a
. -
s +r a
: forrightAddCoset s a
. -
G ⧸ H
is the quotient of the (additive) groupG
by the (additive) subgroupH
The left coset a+s
for an element a : α
and a subset s : set α
Equations
- leftAddCoset a s = (fun x => a + x) '' s
Instances For
The right coset s+a
for an element a : α
and a subset s : set α
Equations
- rightAddCoset s a = (fun x => x + a) '' s
Instances For
The left coset a * s
for an element a : α
and a subset s : Set α
Equations
- Coset.«term_*l_» = Lean.ParserDescr.trailingNode `Coset.term_*l_ 70 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " *l ") (Lean.ParserDescr.cat `term 71))
Instances For
The left coset a+s
for an element a : α
and a subset s : set α
Equations
- Coset.«term_+l_» = Lean.ParserDescr.trailingNode `Coset.term_+l_ 70 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " +l ") (Lean.ParserDescr.cat `term 71))
Instances For
The right coset s * a
for an element a : α
and a subset s : Set α
Equations
- Coset.«term_*r_» = Lean.ParserDescr.trailingNode `Coset.term_*r_ 70 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " *r ") (Lean.ParserDescr.cat `term 71))
Instances For
The right coset s+a
for an element a : α
and a subset s : set α
Equations
- Coset.«term_+r_» = Lean.ParserDescr.trailingNode `Coset.term_+r_ 70 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " +r ") (Lean.ParserDescr.cat `term 71))
Instances For
Equality of two left cosets a + s
and b + s
.
Equations
- LeftAddCosetEquivalence s a b = (leftAddCoset a s = leftAddCoset b s)
Instances For
Equality of two right cosets s + a
and s + b
.
Equations
- RightAddCosetEquivalence s a b = (rightAddCoset s a = rightAddCoset s b)
Instances For
Equality of two right cosets s * a
and s * b
.
Equations
- RightCosetEquivalence s a b = (rightCoset s a = rightCoset s b)
Instances For
Equations
- mem_leftAddCoset_iff.match_1 a motive x h_1 = Exists.casesOn x fun w h => And.casesOn h fun left right => h_1 w left right
Instances For
Equations
- mem_rightAddCoset_iff.match_1 a motive x h_1 = Exists.casesOn x fun w h => And.casesOn h fun left right => h_1 w left right
Instances For
Equations
- orbit_addSubgroup_eq_rightCoset.match_1 s a _b motive x h_1 = Exists.casesOn x fun w h => h_1 w h
Instances For
Equations
- orbit_addSubgroup_eq_rightCoset.match_2 s a _b motive x h_1 = Exists.casesOn x fun w h => And.casesOn h fun left right => h_1 w left right
Instances For
The equivalence relation corresponding to the partition of a group by left cosets of a subgroup.
Equations
- QuotientAddGroup.leftRel s = AddAction.orbitRel { x // x ∈ AddSubgroup.op s } α
Instances For
The equivalence relation corresponding to the partition of a group by left cosets of a subgroup.
Equations
- QuotientGroup.leftRel s = MulAction.orbitRel { x // x ∈ Subgroup.op s } α
Instances For
α ⧸ s
is the quotient type representing the left cosets of s
. If s
is a normal
subgroup, α ⧸ s
is a group
Equations
- QuotientAddGroup.instHasQuotientAddSubgroup = { quotient' := fun s => Quotient (QuotientAddGroup.leftRel s) }
α ⧸ s
is the quotient type representing the left cosets of s
.
If s
is a normal subgroup, α ⧸ s
is a group
Equations
- QuotientGroup.instHasQuotientSubgroup = { quotient' := fun s => Quotient (QuotientGroup.leftRel s) }
The equivalence relation corresponding to the partition of a group by right cosets of a subgroup.
Equations
- QuotientAddGroup.rightRel s = AddAction.orbitRel { x // x ∈ s } α
Instances For
The equivalence relation corresponding to the partition of a group by right cosets of a subgroup.
Equations
- QuotientGroup.rightRel s = MulAction.orbitRel { x // x ∈ s } α
Instances For
Right cosets are in bijection with left cosets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Right cosets are in bijection with left cosets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
Equations
The canonical map from an AddGroup
α
to the quotient α ⧸ s
.
Equations
- ↑a = Quotient.mk'' a
Instances For
The canonical map from a group α
to the quotient α ⧸ s
.
Equations
- ↑a = Quotient.mk'' a
Instances For
Equations
- QuotientAddGroup.instCoeQuotientAddSubgroupInstHasQuotientAddSubgroup = { coe := QuotientAddGroup.mk }
Equations
- QuotientAddGroup.instInhabitedQuotientAddSubgroupInstHasQuotientAddSubgroup s = { default := ↑0 }
Equations
- QuotientGroup.instInhabitedQuotientSubgroupInstHasQuotientSubgroup s = { default := ↑1 }
Equations
- QuotientAddGroup.preimage_image_mk.match_2 N s x motive x h_1 = Exists.casesOn x fun w h => And.casesOn h fun left right => h_1 w left right
Instances For
Equations
- QuotientAddGroup.preimage_image_mk.match_1 N s x motive x h_1 = Exists.casesOn x fun w h => And.casesOn h fun left right => h_1 w left right
Instances For
Equations
- AddSubgroup.leftCosetEquivAddSubgroup.match_2 motive x h_1 = Subtype.casesOn x fun val property => h_1 val property
Instances For
The natural bijection between the cosets g + s
and s
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- AddSubgroup.leftCosetEquivAddSubgroup.match_1 g motive x h_1 = Subtype.casesOn x fun val property => h_1 val property
Instances For
Equations
- AddSubgroup.rightCosetEquivAddSubgroup.match_1 g motive x h_1 = Subtype.casesOn x fun val property => h_1 val property
Instances For
The natural bijection between the cosets s + g
and s
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The natural bijection between a right coset s * g
and s
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A (non-canonical) bijection between an add_group α
and the product (α/s) × s
Equations
- One or more equations did not get rendered due to their size.
Instances For
If two subgroups M
and N
of G
are equal, their quotients are in bijection.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If H ≤ K
, then G/H ≃ G/K × K/H
constructively, using the provided right inverse
of the quotient map G → G/K
. The classical version is AddSubgroup.quotientEquivSumOfLE
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If H ≤ K
, then G/H ≃ G/K × K/H
constructively, using the provided right inverse
of the quotient map G → G/K
. The classical version is Subgroup.quotientEquivProdOfLE
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If H ≤ K
, then G/H ≃ G/K × K/H
nonconstructively. The
constructive version is quotientEquivProdOfLE'
.
Equations
- AddSubgroup.quotientEquivSumOfLE h_le = AddSubgroup.quotientEquivSumOfLE' h_le Quotient.out' (_ : ∀ (q : Quotient (QuotientAddGroup.leftRel t)), Quotient.mk'' (Quotient.out' q) = q)
Instances For
If H ≤ K
, then G/H ≃ G/K × K/H
nonconstructively.
The constructive version is quotientEquivProdOfLE'
.
Equations
- Subgroup.quotientEquivProdOfLE h_le = Subgroup.quotientEquivProdOfLE' h_le Quotient.out' (_ : ∀ (q : Quotient (QuotientGroup.leftRel t)), Quotient.mk'' (Quotient.out' q) = q)
Instances For
If s ≤ t
, then there is an embedding
s ⧸ H.addSubgroupOf s ↪ t ⧸ H.addSubgroupOf t
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If s ≤ t
, then there is an embedding s ⧸ H.subgroupOf s ↪ t ⧸ H.subgroupOf t
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If s ≤ t
, then there is a map H ⧸ s.addSubgroupOf H → H ⧸ t.addSubgroupOf H
.
Equations
- AddSubgroup.quotientAddSubgroupOfMapOfLE H h = Quotient.map' id (_ : ∀ (a b : { x // x ∈ H }), Setoid.r a b → Setoid.r (id a) (id b))
Instances For
If s ≤ t
, then there is a map H ⧸ s.subgroupOf H → H ⧸ t.subgroupOf H
.
Equations
- Subgroup.quotientSubgroupOfMapOfLE H h = Quotient.map' id (_ : ∀ (a b : { x // x ∈ H }), Setoid.r a b → Setoid.r (id a) (id b))
Instances For
If s ≤ t
, then there is a map α ⧸ s → α ⧸ t
.
Equations
- AddSubgroup.quotientMapOfLE h = Quotient.map' id (_ : ∀ (a b : α), Setoid.r a b → Setoid.r (id a) (id b))
Instances For
The natural embedding
H ⧸ (⨅ i, f i).addSubgroupOf H) ↪ Π i, H ⧸ (f i).addSubgroupOf H
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The natural embedding H ⧸ (⨅ i, f i).subgroupOf H ↪ Π i, H ⧸ (f i).subgroupOf H
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The natural embedding α ⧸ (⨅ i, f i) ↪ Π i, α ⧸ f i
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lagrange's Theorem: The order of an additive subgroup divides the order of its ambient additive group.
Lagrange's Theorem: The order of a subgroup divides the order of its ambient group.
Equations
- QuotientAddGroup.preimageMkEquivAddSubgroupProdSet.match_1 s t motive x h_1 = Subtype.casesOn x fun val property => h_1 val property
Instances For
If s
is a subgroup of the additive group α
, and t
is a subset of α ⧸ s
, then
there is a (typically non-canonical) bijection between the preimage of t
in α
and the product
s × t
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
If s
is a subgroup of the group α
, and t
is a subset of α ⧸ s
, then there is a
(typically non-canonical) bijection between the preimage of t
in α
and the product s × t
.
Equations
- One or more equations did not get rendered due to their size.