FLT/Mathlib/GroupTheory/DoubleCoset.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Pinned FLT blueprint introduction
40 declarations, 0 contain sorry, 0 declared as axioms
Double Coset
Material destined for Mathlib.
Imports (4)
Imported by 5 files
- theorem
DoubleCoset.isOpen_doubleCosetline 21 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,TopologicalSpace,ContinuousMul,Subgroup,IsOpen,DoubleCoset.Quotient,DoubleCoset.doubleCoset,Quotient.out,DoubleCoset.setoidProof uses:
id,IsOpen.mul_left,HMul.hMul,Set,Set.mul,Singleton.singleton18 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.mk_surjectiveline 26 sourcestandard axioms: propext what this means
Statement uses:
Group,Subgroup,Function.Surjective,DoubleCoset.Quotient,DoubleCoset.mkProof uses:
Quotient.mk_surjective,DoubleCoset.setoid4 instances, coercions and auxiliary constants left out.
- theorem
DoubleCoset.isOpen_doubleCoset_rightrel_mkline 29 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,TopologicalSpace,ContinuousMul,Subgroup,IsOpen,DoubleCoset.Quotient,Quot,QuotientGroup.rightRel,Set.image,Quot.mk,DoubleCoset.doubleCoset,Quotient.out,DoubleCoset.setoidProof uses:
IsOpenQuotientMap.isOpenMap, QuotientGroup.isOpenQuotientMap_rightrel_mk, DoubleCoset.isOpen_doubleCoset18 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
DoubleCoset.mapMapping double cosets acrossMonoidHoms line 36 sourceSource documentation
Mapping double cosets across
MonoidHoms.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,MonoidHom,LE.le,Subgroup.comap,DoubleCoset.QuotientProof uses:
Quotient.map,DoubleCoset.setoid,HasEquiv.Equiv22 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
def DoubleCoset.map {G₁ G₂ : Type*} [Group G₁] [Group G₂] (H₁ K₁ : Subgroup G₁) (H₂ K₂ : Subgroup G₂) (e : G₁ →* G₂) (eH : H₁ ≤ H₂.comap e) (eK : K₁ ≤ K₂.comap e) : DoubleCoset.Quotient (G := G₁) H₁ K₁ → DoubleCoset.Quotient (G := G₂) H₂ K₂ := … - lemma
DoubleCoset.map_mkline 45 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,MonoidHom,LE.le,Subgroup.comap,Eq,DoubleCoset.Quotient, DoubleCoset.map,DoubleCoset.mkProof uses:
rfl20 instances, coercions and auxiliary constants left out.
- def
DoubleCoset.quotientEquivMapping double cosets acrossMulEquivs line 50 sourceSource documentation
Mapping double cosets across
MulEquivs.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Set,MulEquiv,Eq,Set.preimage,Equiv,DoubleCoset.QuotientProof uses:
Quotient.congr,DoubleCoset.setoid18 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
def DoubleCoset.quotientEquiv {G₁ G₂ : Type*} [Group G₁] [Group G₂] (H₁ K₁ : Set G₁) (H₂ K₂ : Set G₂) (e : G₁ ≃* G₂) (eH : e ⁻¹' H₂ = H₁) (eK : e ⁻¹' K₂ = K₁) : DoubleCoset.Quotient H₁ K₁ ≃ DoubleCoset.Quotient H₂ K₂ := … - lemma
DoubleCoset.quotientEquiv_mkline 59 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,MulEquiv,Eq,Set,Set.preimage,DoubleCoset.Quotient,Equiv, DoubleCoset.quotientEquiv,DoubleCoset.mkProof uses:
rfl22 instances, coercions and auxiliary constants left out.
- lemma
Set.mul_right_singleton_bijectiveline 64 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Function.Bijective,Set,HMul.hMul,Set.mul,Singleton.singletonProof uses:
Eq.mpr,HSMul.hSMul,MulOpposite,Set.mulActionSet,MulOpposite.op,eq_of_heq,Eq,HEq,Eq.refl,HEq.refl,Eq.symm,funext,Set.ext,of_eq_true,Iff,Membership.mem,Eq.trans,Inv.inv,True,congrand 9 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- def
DoubleCoset.mulRightEquivThe isomorphismH\G/K ≃ H\G/g⁻¹KgsendingHaKtoH(ag)(g⁻¹Kg)line 71 sourceSource documentation
The isomorphism
H\G/K ≃ H\G/g⁻¹KgsendingHaKtoH(ag)(g⁻¹Kg).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Set,Eq,HSMul.hSMul,ConjAct,Set.smulSet,MulEquiv,ConjAct.toConjAct,Inv.inv,Equiv,DoubleCoset.QuotientProof uses:
Quotient.congr,DoubleCoset.setoid,Equiv.mulRight31 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
def DoubleCoset.mulRightEquiv {G : Type*} [Group G] (H K gK : Set G) (g : G) (hgK : gK = ConjAct.toConjAct g⁻¹ • K) : DoubleCoset.Quotient H K ≃ DoubleCoset.Quotient H gK := … - lemma
DoubleCoset.mulRightEquiv_mkline 84 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Eq,Set,HSMul.hSMul,ConjAct,Set.smulSet,MulEquiv,ConjAct.toConjAct,Inv.inv,DoubleCoset.Quotient,Equiv, DoubleCoset.mulRightEquiv,DoubleCoset.mk,HMul.hMulProof uses:
rfl37 instances, coercions and auxiliary constants left out.
- lemma
DoubleCoset.mulRightEquiv_symm_mkline 90 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Eq,Set,HSMul.hSMul,ConjAct,Set.smulSet,MulEquiv,ConjAct.toConjAct,Inv.inv,DoubleCoset.Quotient,Equiv,Equiv.symm, DoubleCoset.mulRightEquiv,DoubleCoset.mk,HMul.hMulProof uses:
rfl37 instances, coercions and auxiliary constants left out.
- def
DoubleCoset.ofLeftThe projectionG/K → H\G/Kline 100 sourceSource documentation
The projection
G/K → H\G/K.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,HasQuotient.Quotient,DoubleCoset.QuotientProof uses:
Quotient.map,QuotientGroup.leftRel,DoubleCoset.setoid,id6 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
def DoubleCoset.ofLeft : G ⧸ K → H\G/K := …
- lemma
DoubleCoset.ofLeft_mkline 107 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Eq,DoubleCoset.Quotient, DoubleCoset.ofLeft,DoubleCoset.mkProof uses:
rfl6 instances, coercions and auxiliary constants left out.
- lemma
DoubleCoset.ofLeft_surjectiveline 109 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Function.Surjective,HasQuotient.Quotient,DoubleCoset.Quotient, DoubleCoset.ofLeftProof uses:
Quotient.map_surjective,QuotientGroup.leftRel,DoubleCoset.setoid,id,Function.surjective_id6 instances, coercions and auxiliary constants left out.
- def
DoubleCoset.ofRightThe projectionH\G → H\G/Kline 113 sourceSource documentation
The projection
H\G → H\G/K.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Quotient,QuotientGroup.rightRel,DoubleCoset.QuotientProof uses:
Quotient.map,DoubleCoset.setoid,id5 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
def DoubleCoset.ofRight : H﹨G → H\G/K := …
- lemma
DoubleCoset.ofRight_mk''line 120 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Eq,DoubleCoset.Quotient, DoubleCoset.ofRight,Quotient.mk'',QuotientGroup.rightRel,DoubleCoset.mkProof uses:
rfl4 instances, coercions and auxiliary constants left out.
- lemma
DoubleCoset.ofRight_surjectiveline 122 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Function.Surjective,Quotient,QuotientGroup.rightRel,DoubleCoset.Quotient, DoubleCoset.ofRightProof uses:
Quotient.map_surjective,DoubleCoset.setoid,id,Function.surjective_id5 instances, coercions and auxiliary constants left out.
- def
DoubleCoset.toMapIdPreimageline 131 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,LE.le,HasQuotient.Quotient,Subtype,Membership.mem,Subgroup.subgroupOf,DoubleCoset.Quotient,Set.preimage, DoubleCoset.map,MonoidHom.id,le_rfl,Singleton.singleton,Set,DoubleCoset.mkProof uses:
Quotient.lift,QuotientGroup.leftRel,Subtype.mk,HMul.hMul34 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.toMapIdPreimage_surjectiveline 141 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,LE.le,Function.Surjective,HasQuotient.Quotient,Subtype,Membership.mem,Subgroup.subgroupOf,DoubleCoset.Quotient,Set.preimage, DoubleCoset.map,MonoidHom.id,le_rfl,Singleton.singleton,Set,DoubleCoset.mk, DoubleCoset.toMapIdPreimageProof uses:
Quotient.lift_surjective,QuotientGroup.leftRel,Subtype.mk,HMul.hMul,Eq,Exists,And,Eq.mpr,id,forall_congr,implies_congr,congrArg,funext,Exists.intro,Inv.inv,And.intro,InvMemClass.inv_mem,OfNat.ofNat,of_eq_true,Eq.transand 19 more54 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- def
_root_.QuotientGroup.quotientConjActEquivImageMulSingletonline 156 source - lemma
DoubleCoset.toMapIdPreimage_preimageGivenK₁ ≤ K₂, the mapf : H\G/K₁ → H\G/K₂is surjective line 177 sourceSource documentation
Given
K₁ ≤ K₂, the mapf : H\G/K₁ → H\G/K₂is surjective. ForHgK₂ : H\G/K₂, there is a surjectiong : K₂/K₁ → f⁻¹(HgK₂), k ↦ H(gk)K₁. And forH(gk)K₁ : f⁻¹(HgK₂), there setg⁻¹(H(gk)K₁) = { aK₁ ∈ K₂/K₁ | a ∈ (gHg⁻¹ ∩ K₂)xK₁ }standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,LE.le,HasQuotient.Quotient,Subtype,Membership.mem,Subgroup.subgroupOf,Eq,Set,Set.preimage,DoubleCoset.Quotient, DoubleCoset.map,MonoidHom.id,le_rfl,Singleton.singleton,DoubleCoset.mk, DoubleCoset.toMapIdPreimage,HSMul.hSMul,ConjAct,Subgroup.pointwiseMulActionand 4 moreProof uses:
Set.ext,Exists,Iff,QuotientGroup.mk_surjective,Trans.simple,HMul.hMul,of_eq_true,Eq.trans,True,congrFun',congrArg,Quotient.lift,QuotientGroup.leftRel,Subtype.mk,iff_self,Eq.mpr,And,id,congr,funextand 22 more92 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
lemma DoubleCoset.toMapIdPreimage_preimage {G : Type*} [Group G] (H K₁ K₂ : Subgroup G) (eK : K₁ ≤ K₂) (g : G) (x) : (toMapIdPreimage H K₁ K₂ eK g ⁻¹' {toMapIdPreimage H K₁ K₂ eK g x}) = DoubleCoset.ofLeft ((ConjAct.toConjAct g⁻¹ • H).subgroupOf K₂) _ ⁻¹' {DoubleCoset.ofLeft ((ConjAct.toConjAct g⁻¹ • H).subgroupOf K₂) _ x} := by …Mentions: DoubleCoset.toMapIdPreimage, DoubleCoset.ofLeft
- theorem
Subgroup.conjAct_smul_subgroupOfline 200 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subtype,Membership.mem,Eq,HSMul.hSMul,ConjAct,Subgroup.pointwiseMulAction,MulEquiv,ConjAct.toConjAct,Subgroup.subgroupOfProof uses:
Subgroup.ext,of_eq_true,Iff,Eq.trans,HMul.hMul,Inv.inv,True,congr,congrArg, ConjAct.toConjAct_inv_smul',iff_self45 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.ncard_toMapIdPreimage_preimageGivenK₁ ≤ K₂, the mapf : H\G/K₁ → H\G/K₂is surjective line 210 sourceSource documentation
Given
K₁ ≤ K₂, the mapf : H\G/K₁ → H\G/K₂is surjective. ForHgK₂ : H\G/K₂, there is a surjectiong : K₂/K₁ → f⁻¹(HgK₂), x ↦ H(gx)K₁. This sends[K₂ ⊓ gx⁻¹Hgx : K₁ ⊓ (gx)⁻¹Hgx]elements toH(gx)K₁.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,LE.le,Subtype,Membership.mem,Eq,Nat,Set.ncard,HasQuotient.Quotient,Subgroup.subgroupOf,Set.preimage,DoubleCoset.Quotient, DoubleCoset.map,MonoidHom.id,le_rfl,Singleton.singleton,Set,DoubleCoset.mk, DoubleCoset.toMapIdPreimage,Subgroup.relIndexand 8 moreProof uses:
Eq.mpr, DoubleCoset.ofLeft,id,congrArg, DoubleCoset.toMapIdPreimage_preimage,Nat.card,Set.image,Set.mul,eq_of_heq,HEq,Eq.refl,HEq.refl,Eq.symm,Eq.rec,Set.ext,Exists,Iff,QuotientGroup.mk_surjective,Subtype.mk,Andand 53 more112 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
lemma DoubleCoset.ncard_toMapIdPreimage_preimage {G : Type*} [Group G] (H K₁ K₂ : Subgroup G) (eK : K₁ ≤ K₂) (g : G) (x : K₂) : Set.ncard (toMapIdPreimage H K₁ K₂ eK g ⁻¹' {toMapIdPreimage H K₁ K₂ eK g (QuotientGroup.mk x)}) = (K₁).relIndex (K₂ ⊓ ConjAct.toConjAct (g * x)⁻¹ • H) := by …Mentions: DoubleCoset.toMapIdPreimage
- lemma
DoubleCoset.sum_filter_map_eq_relIndex_eq_relIndexline 242 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,LE.le,DoubleCoset.Quotient,Fintype,DecidableEq,Subgroup.IsFiniteRelIndex,Eq,Nat,Finset.sum,Finset.filter, DoubleCoset.map,MonoidHom.id,le_rfl,Finset.univ,Quotient.lift,DoubleCoset.setoid,Subgroup.relIndex,Min.min,HSMul.hSMuland 5 moreProof uses:
DoubleCoset.mk,Exists, DoubleCoset.mk_surjective,Trans.simple,Set.preimage,Singleton.singleton,Set,Membership.mem,Classical.propDecidable,Set.ncard,HasQuotient.Quotient,Subtype,Subgroup.subgroupOf, DoubleCoset.toMapIdPreimage,Eq.mpr,Finset,Finset.attach,id,congrArg,Eq.symmand 50 more100 instances, coercions and auxiliary constants left out.
Tactic trace: 33 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.σ_existsline 278 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Exists,DoubleCoset.Quotient,Subtype,Membership.mem,And,Eq,HMul.hMul,DoubleCoset.mk,OfNat.ofNatProof uses:
HasQuotient.Quotient, DoubleCoset.ofLeft,Ne,Or,eq_or_ne,of_eq_true,Eq.trans,True,congrArg,funext,implies_congr,eq_self,Eq.refl,Eq.symm, DoubleCoset.ofLeft_surjective,Exists.intro,congr,False,eq_false,and_selfand 33 more72 instances, coercions and auxiliary constants left out.
Tactic trace: 57 steps
Open to load the checked before-and-after goal states.
- def
DoubleCoset.σAn arbitrary section ofG → H\G/Kline 324 sourceSource documentation
An arbitrary section of
G → H\G/K.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,DoubleCoset.QuotientProof uses:
Exists.choose,Exists,Subtype,Membership.mem,And,Eq,HMul.hMul,DoubleCoset.mk,OfNat.ofNat, DoubleCoset.σ_exists18 instances, coercions and auxiliary constants left out.
noncomputable def DoubleCoset.σ (g : H\G/K) : G := (DoubleCoset.σ_exists H K).choose g
Mentions: DoubleCoset.σ_exists
- def
DoubleCoset.σLeftAn arbitrary choice ofhsuch thath * σ(g) * K = gline 327 sourceSource documentation
An arbitrary choice of
hsuch thath * σ(g) * K = g.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subtype,Membership.memProof uses:
Exists.choose,Exists,And,Eq,HMul.hMul,DoubleCoset.Quotient,DoubleCoset.mk,OfNat.ofNat, DoubleCoset.σ_exists19 instances, coercions and auxiliary constants left out.
noncomputable def DoubleCoset.σLeft (g : G) : H := (DoubleCoset.σ_exists H K).choose_spec.choose g
Mentions: DoubleCoset.σ_exists
- def
DoubleCoset.σRightAn arbitrary choice ofksuch thath * σ(g) * K = gline 330 sourceSource documentation
An arbitrary choice of
ksuch thath * σ(g) * K = g.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subtype,Membership.memProof uses:
Exists.choose,And,Eq,HMul.hMul,Exists,DoubleCoset.Quotient,DoubleCoset.mk,OfNat.ofNat, DoubleCoset.σ_exists20 instances, coercions and auxiliary constants left out.
noncomputable def DoubleCoset.σRight (g : G) : K := …
- lemma
DoubleCoset.σ_specline 333 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Eq,HMul.hMul,Membership.mem, DoubleCoset.σLeft, DoubleCoset.σ,DoubleCoset.mk, DoubleCoset.σRightProof uses:
Eq.symm,Exists.choose,Subtype,Exists,And,DoubleCoset.Quotient,OfNat.ofNat, DoubleCoset.σ_exists,Exists.choose_spec,And.left25 instances, coercions and auxiliary constants left out.
- lemma
DoubleCoset.σLeft_σline 337 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,DoubleCoset.Quotient,Eq,Subtype,Membership.mem, DoubleCoset.σLeft, DoubleCoset.σ,OfNat.ofNatProof uses:
And.left,Exists.choose,Exists,And,HMul.hMul,DoubleCoset.mk, DoubleCoset.σ_exists,Exists.choose_spec,And.right21 instances, coercions and auxiliary constants left out.
- lemma
DoubleCoset.σRight_σline 340 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,DoubleCoset.Quotient,Eq,Subtype,Membership.mem, DoubleCoset.σRight, DoubleCoset.σ,OfNat.ofNatProof uses:
And.left,Exists.choose,And,HMul.hMul,Exists,DoubleCoset.mk, DoubleCoset.σ_exists,Exists.choose_spec,And.right21 instances, coercions and auxiliary constants left out.
- lemma
DoubleCoset.σ_oneline 343 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Eq, DoubleCoset.σ,DoubleCoset.mk,OfNat.ofNatProof uses:
And.left,Exists.choose,DoubleCoset.Quotient,Exists,Subtype,Membership.mem,And,HMul.hMul, DoubleCoset.σ_exists,Exists.choose_spec,And.right21 instances, coercions and auxiliary constants left out.
- lemma
DoubleCoset.σLeft_mulline 346 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subtype,Membership.mem,Eq, DoubleCoset.σLeft,HMul.hMulProof uses:
And.right,Exists.choose,DoubleCoset.Quotient,Exists,And,DoubleCoset.mk,OfNat.ofNat, DoubleCoset.σ_exists,Exists.choose_spec25 instances, coercions and auxiliary constants left out.
- lemma
DoubleCoset.σRight_mulline 349 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subtype,Membership.mem,Eq, DoubleCoset.σRight,HMul.hMulProof uses:
Subtype.ext,mul_right_injective, DoubleCoset.σLeft, DoubleCoset.σ,DoubleCoset.mk,Eq.mpr,id,congrArg,Eq.trans,congrFun', DoubleCoset.σ_spec,eq_of_heq,HEq,Eq.refl,HEq.refl,Eq.symm,outParam,HMul,of_eq_true,Trueand 12 more39 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.σLeft_oneline 356 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Eq,Subtype,Membership.mem, DoubleCoset.σLeft,OfNat.ofNatProof uses:
Eq.mpr, DoubleCoset.σ,DoubleCoset.mk,id,congrArg,Eq.symm, DoubleCoset.σ_one, DoubleCoset.σLeft_σ,Eq.refl16 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.σRight_oneline 358 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Eq,Subtype,Membership.mem, DoubleCoset.σRight,OfNat.ofNatProof uses:
Eq.mpr, DoubleCoset.σ,DoubleCoset.mk,id,congrArg,Eq.symm, DoubleCoset.σ_one, DoubleCoset.σRight_σ,Eq.refl16 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.σ_of_mem_leftline 360 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Membership.mem,Eq, DoubleCoset.σ,DoubleCoset.mk,OfNat.ofNatProof uses:
Eq.mpr,eq_of_heq,HEq,Eq.refl,HEq.refl,Eq.symm,DoubleCoset.Quotient,Iff.mpr,Exists,And,HMul.hMul,DoubleCoset.eq,Exists.intro,And.intro,of_eq_true,Eq.trans,True,congr,congrArg,congrFun'and 4 more27 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.σ_of_mem_rightline 363 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Membership.mem,Eq, DoubleCoset.σ,DoubleCoset.mk,OfNat.ofNatProof uses:
Eq.mpr,eq_of_heq,HEq,Eq.refl,HEq.refl,Eq.symm,DoubleCoset.Quotient,Iff.mpr,Exists,And,HMul.hMul,DoubleCoset.eq,Exists.intro,And.intro,of_eq_true,Eq.trans,True,congr,congrArg,eq_trueand 6 more27 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.σRight_eq_selfline 366 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subtype,Membership.mem,Eq, DoubleCoset.σRightProof uses:
Eq.mp,HMul.hMul,OfNat.ofNat,congr,congrArg,one_mul,Eq.trans,congrFun', DoubleCoset.σRight_one, DoubleCoset.σRight_mul22 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
DoubleCoset.σLeft_of_memline 369 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Membership.mem,Eq,Subtype, DoubleCoset.σLeft,OfNat.ofNatProof uses:
Exists,CanLift.prf,Eq.mp,HMul.hMul, DoubleCoset.σ,DoubleCoset.mk, DoubleCoset.σRight,Eq.trans,congrFun',congrArg,congr, DoubleCoset.σ_of_mem_right,of_eq_true,mul_one, DoubleCoset.σRight_eq_self, DoubleCoset.σ_spec34 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.