FLT/AutomorphicForm/GroupTheoryStuff.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
47 declarations, 0 contain sorry, 0 declared as axioms
Random assortments of results on group theory.
Imports (3)
Imported by 6 files
- abbrev
MaximalPQuotientThe maximalp-quotient of a group line 22 sourceSource documentation
The maximal
p-quotient of a group.Note that the torsion free parts of
Gwill not get quotiented out. SoG / MaximalPQuotientis ap-group only whenGis torsion free.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,NatProof uses:
HasQuotient.Quotient,Subgroup,iInf,Subgroup.Normal,IsPGroup3 instances, coercions and auxiliary constants left out.
abbrev MaximalPQuotient (G : Type*) [Group G] (p : ℕ) := …
- instance
(instance at line 25)line 25 source - abbrev
MaximalPQuotient.mkQuotient map into the maximalp-quotient of a group line 31 sourceSource documentation
Quotient map into the maximal
p-quotient of a group.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Nat,MonoidHom, MaximalPQuotient,iInf,Subgroup,Subgroup.Normal,IsPGroup,HasQuotient.QuotientProof uses:
QuotientGroup.mk'12 instances, coercions and auxiliary constants left out.
abbrev MaximalPQuotient.mk (G : Type*) [Group G] (p : ℕ) : G →* MaximalPQuotient G p := …
Mentions: MaximalPQuotient
- lemma
MaximalPQuotient.mk_surjectiveline 34 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Nat,Function.Surjective, MaximalPQuotient,MonoidHom,iInf,Subgroup,Subgroup.Normal,IsPGroup,HasQuotient.Quotient, MaximalPQuotient.mkProof uses:
QuotientGroup.mk'_surjective14 instances, coercions and auxiliary constants left out.
- lemma
MaximalPQuotient.mk_eq_zero_of_pow_eq_zeroline 37 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Nat,Eq,HPow.hPow,OfNat.ofNat,Nat.Coprime, MaximalPQuotient,MonoidHom,iInf,Subgroup,Subgroup.Normal,IsPGroup,HasQuotient.Quotient, MaximalPQuotient.mkProof uses:
Eq.mpr,Membership.mem,id,Eq.trans,forall_congr,Eq.mp,orderOf,Nat.Coprime.of_dvd_right,orderOf_dvd_of_pow_eq_one,of_eq_true,True,congrFun',congrArg,eq_self,IsPGroup.orderOf_coprime46 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Nat.exists_coprime_and_dvd_powAlso seeIsPrincipalIdealRing.exists_isCoprime_and_dvd_powline 45 sourceSource comment
Also see `IsPrincipalIdealRing.exists_isCoprime_and_dvd_pow`standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Ne,OfNat.ofNat,Exists,And,Eq,HMul.hMul,Nat.Coprime,Dvd.dvd,HPow.hPowProof uses:
UniqueFactorizationMonoid.induction_on_prime,False,rfl,Eq.refl,IsUnit,Exists.intro,of_eq_true,Eq.trans,True,congr,congrArg,one_mul,eq_self,Nat.coprime_one_left_eq_true,pow_zero,eq_true,IsUnit.dvd,and_self,Prime,diteand 28 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
lemma Nat.exists_coprime_and_dvd_pow (a b : ℕ) (ha : a ≠ 0) : ∃ x y N, a = x * y ∧ x.Coprime b ∧ y ∣ b ^ N := by … - lemma
MaximalPQuotient.isPGroup_of_isMulTorsionThe "maximalp-quotient" of(ℤ, +)isℤ/⋂ₙ pⁿℤ = ℤ, not ap-group line 59 sourceSource documentation
The "maximal
p-quotient" of(ℤ, +)isℤ/⋂ₙ pⁿℤ = ℤ, not ap-group.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Nat,IsMulTorsion,IsPGroup, MaximalPQuotient,iInf,Subgroup,Subgroup.Normal,HasQuotient.QuotientProof uses:
Eq,MonoidHom, MaximalPQuotient.mk,Exists,HPow.hPow,OfNat.ofNat, MaximalPQuotient.mk_surjective,And,orderOf,HMul.hMul,Nat.Coprime,Dvd.dvd, Nat.exists_coprime_and_dvd_pow,LT.lt.ne',IsOfFinOrder.orderOf_pos,Exists.intro,Eq.mpr,id,congrArg,pow_muland 8 more36 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma MaximalPQuotient.isPGroup_of_isMulTorsion (G : Type*) [Group G] (p : ℕ) (hG : IsMulTorsion G) : IsPGroup p (MaximalPQuotient G p) := by …Mentions: MaximalPQuotient
- lemma
Subgroup.IsFiniteRelIndex.of_finiteline 72 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Set.Finite,Subgroup.IsFiniteRelIndexProof uses:
Finite,Subtype,Membership.mem,Iff.mpr,Subgroup.FiniteIndex,Subgroup.subgroupOf,Subgroup.isFiniteRelIndex_iff_finiteIndex,inferInstance7 instances, coercions and auxiliary constants left out.
- lemma
Subgroup.finiteIndex_bot_iffline 78 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Iff,Subgroup.FiniteIndex,Bot.bot,Subgroup,FiniteProof uses:
Iff.trans,HasQuotient.Quotient,Subgroup.finiteIndex_iff_finite_quotient,Equiv.finite_iff,QuotientGroup.quotientEquivSelf3 instances, coercions and auxiliary constants left out.
- lemma
Subgroup.isFiniteRelIndex_bot_iffline 83 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Iff,Subgroup.IsFiniteRelIndex,Bot.bot,Set.FiniteProof uses:
Iff.trans,Subgroup.FiniteIndex,Subtype,Membership.mem,Subgroup.subgroupOf,Subgroup.isFiniteRelIndex_iff_finiteIndex,Eq.mpr,Finite,id,Eq,congrFun',congrArg,Eq.trans,Subgroup.bot_subgroupOf,Iff.rfl9 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
QuotientGroup.range_liftline 88 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subgroup.Normal,MonoidHom,LE.le,MonoidHom.ker,Eq,MonoidHom.range,HasQuotient.Quotient,QuotientGroup.liftProof uses:
Subgroup.ext,of_eq_true,Iff,Membership.mem,Eq.trans,Exists,True,congr,congrArg,propext,Function.Surjective.exists,QuotientGroup.mk_surjective,iff_self24 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Subgroup.finite_map_of_isFiniteRelIndexline 93 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,MonoidHom,Subgroup,Subgroup.IsFiniteRelIndex,MonoidHom.ker,Set.Finite,Subgroup.mapProof uses:
HasQuotient.Quotient,Subtype,Membership.mem,Subgroup.subgroupOf,QuotientGroup.lift,MonoidHom.comp,Subgroup.subtype,of_eq_true,Eq.trans,Eq,OfNat.ofNat,True,congrFun',congrArg,id,Eq.mp,eq_self,Eq.mpr,Set.range,eq_of_heqand 11 more29 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- def
Subgroup.quotientKerEquivMapFirst isomorphism theorem restricted to a subgroup line 102 sourceSource documentation
First isomorphism theorem restricted to a subgroup.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,MonoidHom,Subgroup,MulEquiv,HasQuotient.Quotient,Subtype,Membership.mem,Subgroup.subgroupOf,MonoidHom.ker,Subgroup.mapProof uses:
QuotientGroup.liftEquiv,MonoidHom.codRestrict,MonoidHom.comp,Subgroup.subtype26 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
noncomputable def Subgroup.quotientKerEquivMap {G G' : Type*} [Group G] [Group G'] (φ : G →* G') (H : Subgroup G) : H ⧸ φ.ker.subgroupOf H ≃* H.map φ := … - lemma
Subgroup.card_map_eq_relIndex_kerline 108 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,MonoidHom,Subgroup,Eq,Nat,Nat.card,Subtype,Membership.mem,Subgroup.map,Subgroup.relIndex,MonoidHom.kerProof uses:
Nat.card_congr,HasQuotient.Quotient,Subgroup.subgroupOf,MulEquiv,MulEquiv.symm, Subgroup.quotientKerEquivMap21 instances, coercions and auxiliary constants left out.
- lemma
orderOf_dvd_ncardline 113 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Set.Finite,Membership.mem,Dvd.dvd,Nat,orderOf,Set.ncardProof uses:
Fintype,Nonempty,Eq,Set.Finite.nonempty_fintype,Nonempty.intro,Eq.mp,Subtype,Subtype.mk,Fintype.card,Nat.card,congr,congrArg,Subgroup.orderOf_mk,orderOf_dvd_card,Eq.refl16 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
Subgroup.prodToSupOfRightIfKis contained in the centralizer ofH, thenH ⊔ Kis given byHKand the mapH × K → HKis a group homomorphism line 124 sourceSource documentation
If
Kis contained in the centralizer ofH, thenH ⊔ Kis given byHKand the mapH × K → HKis a group homomorphism.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,LE.le,Subgroup.centralizer,MonoidHom,Prod,Subtype,Membership.mem,Max.maxProof uses:
MonoidHom.mk,OneHom.mk,Subtype.mk,HMul.hMul,Prod.fst,Prod.snd44 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def Subgroup.prodToSupOfRight {G : Type*} [Group G] (H K : Subgroup G) (hK : K ≤ .centralizer H) : H × K →* ↑(H ⊔ K) where … - lemma
Subgroup.prodToSupOfRight_surjectiveline 130 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,LE.le,Subgroup.centralizer,Function.Surjective,Prod,Subtype,Membership.mem,Max.max,MonoidHom, Subgroup.prodToSupOfRightProof uses:
Eq.mpr,Eq,MonoidHom.range,Top.top,id,congrArg,Eq.symm,propext,MonoidHom.range_eq_top,Subgroup.map,Subgroup.subtype,Function.Injective.eq_iff,Subgroup.map_injective,Subgroup.subtype_injective,MonoidHom.range_eq_map,LE.le.antisymm,Subgroup.map_le_range,And,MonoidHom.comp,Eq.transand 17 more53 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- def
QuotientGroup.kerLift'The induced map from the quotient by the kernel to the codomain line 149 sourceSource documentation
The induced map from the quotient by the kernel to the codomain.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,HasQuotient.Quotient,Subgroup,MonoidHom.kerProof uses:
QuotientGroup.lift13 instances, coercions and auxiliary constants left out.
def QuotientGroup.kerLift' : G ⧸ ker φ →* H := …
- theorem
QuotientGroup.kerLift'_mkline 153 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Eq,HasQuotient.Quotient,Subgroup,MonoidHom.ker, QuotientGroup.kerLift'Proof uses:
rfl20 instances, coercions and auxiliary constants left out.
- theorem
QuotientGroup.kerLift'_injectiveline 157 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Function.Injective,HasQuotient.Quotient,Subgroup,MonoidHom.ker, QuotientGroup.kerLift'Proof uses:
Quotient.inductionOn₂',QuotientGroup.leftRel,Eq,Quotient.sound',Eq.mpr,Membership.mem,HMul.hMul,Inv.inv,id,congrArg,propext,QuotientGroup.leftRel_apply,OfNat.ofNat,MonoidHom.mem_ker,MonoidHom.map_mul,Eq.symm,map_mul,inv_mul_cancel,map_one,Eq.refl33 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Subgroup.le_ker_of_le_ker_of_coprime_relIndexline 164 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,CommMonoid,MonoidHom,Nat,Eq,HPow.hPow,OfNat.ofNat,Subgroup,Nat.Coprime,Subgroup.relIndex,LE.le,MonoidHom.kerProof uses:
Classical.byCases,Bot.bot,dite,Classical.propDecidable,of_eq_true,Eq.trans,Top.top,True,congrArg,MonoidHom.ker_one,Not,Subgroup.IsFiniteRelIndex,Subgroup.IsFiniteRelIndex.mk,False.elim,False,Eq.mp,congrFun',id,Nat.card,Subtypeand 31 more57 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
- def
MonoidHom.liftOfRightInverseAux'Auxiliary definition used to defineliftOfRightInverseline 192 sourceSource documentation
Auxiliary definition used to define
liftOfRightInversestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Function.RightInverse,LE.le,Subgroup,MonoidHom.kerProof uses:
MonoidHom.mk,OneHom.mk21 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
def liftOfRightInverseAux' (hf : Function.RightInverse f_inv f) (g : G₁ →* G₃) (hg : f.ker ≤ g.ker) : G₂ →* G₃ where … - theorem
MonoidHom.liftOfRightInverseAux'_comp_applyline 207 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Function.RightInverse,LE.le,Subgroup,MonoidHom.ker,Eq, MonoidHom.liftOfRightInverseAux'Proof uses:
id,IsUnit.mul_left_injective,Inv.inv,IsUnit.map,Group.isUnit,Eq.mpr,HMul.hMul,OfNat.ofNat,congr,congrArg,Eq.trans,mul_inv_cancel,map_one,Eq.symm,inv_mul_cancel_right,one_mul,of_eq_true,True,eq_self30 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- def
MonoidHom.liftOfRightInverse'line 249 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Function.RightInverse,Equiv,Subtype,LE.le,Subgroup,MonoidHom.kerProof uses:
Equiv.mk, MonoidHom.liftOfRightInverseAux',Subtype.mk,MonoidHom.comp23 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- abbrev
MonoidHom.liftOfSurjective'line 265 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Function.Surjective,Equiv,Subtype,LE.le,Subgroup,MonoidHom.kerProof uses: MonoidHom.liftOfRightInverse',
Function.surjInv16 instances, coercions and auxiliary constants left out.
- theorem
MonoidHom.liftOfRightInverse'_comp_applyline 270 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Function.RightInverse,Subtype,LE.le,Subgroup,MonoidHom.ker,Eq,Equiv, MonoidHom.liftOfRightInverse'Proof uses: MonoidHom.liftOfRightInverseAux'_comp_apply,
Subtype.property22 instances, coercions and auxiliary constants left out.
- theorem
MonoidHom.liftOfRightInverse'_compline 276 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Function.RightInverse,Subtype,LE.le,Subgroup,MonoidHom.ker,Eq,MonoidHom.comp,Equiv, MonoidHom.liftOfRightInverse'Proof uses:
MonoidHom.ext, MonoidHom.liftOfRightInverse'_comp_apply24 instances, coercions and auxiliary constants left out.
- theorem
MonoidHom.eq_liftOfRightInverse'line 281 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,Function.RightInverse,LE.le,Subgroup,MonoidHom.ker,Eq,MonoidHom.comp,Equiv,Subtype, MonoidHom.liftOfRightInverse',Subtype.mkProof uses:
Eq.mpr,Eq.symm,id,congrArg,Subtype.mk.congr_simp,Equiv.symm,Equiv.apply_symm_apply23 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Subgroup.inclusion_mkline 292 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Subgroup,LE.le,Membership.mem,Eq,Subtype,MonoidHom,Subgroup.inclusion,Subtype.mkProof uses:
rfl28 instances, coercions and auxiliary constants left out.
- lemma
MonoidHom.ker_le_ker_compline 295 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Monoid,MonoidHom,LE.le,Subgroup,MonoidHom.ker,MonoidHom.compProof uses:
Membership.mem,of_eq_true,Eq.trans,Eq,OfNat.ofNat,True,congrFun',congrArg,id,Eq.mp,map_one,eq_self20 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
ConjAct.toConjAct_inv_smul'line 298 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Eq,HSMul.hSMul,ConjAct,Inv.inv,MulEquiv,ConjAct.toConjAct,HMul.hMulProof uses:
Eq.mpr,id,congrArg,Eq.symm,ConjAct.toConjAct_inv,ConjAct.toConjAct_inv_smul,Eq.refl35 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
map_inv_eq_iffline 302 sourcestandard axioms: propext what this means
Statement uses:
FunLike,Group,Monoid,MonoidHomClass,Iff,Eq,Inv.invProof uses:
Eq.mpr,HMul.hMul,id,congrArg,Eq.symm,propext,IsUnit.mul_left_inj,IsUnit.map,Group.isUnit,IsUnit.mul_right_inj,of_eq_true,Eq.trans,True,congrFun',congr,OfNat.ofNat,inv_mul_cancel,map_one,mul_one,mul_inv_cancel_leftand 1 more26 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
map_inv_eq_map_commline 307 sourcestandard axioms: propext what this means
Statement uses:
FunLike,Group,Monoid,MonoidHomClass,Iff,Eq,Inv.invProof uses:
Eq.mpr,HMul.hMul,id,congrArg,Eq.symm,propext,IsUnit.mul_left_inj,IsUnit.map,Group.isUnit,iff_comm,IsUnit.mul_right_inj,of_eq_true,Eq.trans,OfNat.ofNat,True,congr,mul_inv_cancel,map_one,inv_mul_cancel,iff_self25 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Units.range_map_subtypeline 314 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Monoid,Submonoid,Eq,Subgroup,Units,MonoidHom.range,Subtype,Membership.mem,Units.map,Submonoid.subtype,Submonoid.unitsProof uses:
Subgroup.ext,Iff.intro,MonoidHom,of_eq_true,Eq.trans,And,Inv.inv,True,congr,congrArg,and_self,Set,Submonoid.comap,Units.coeHom,Submonoid.inv,Exists.intro,Units.mk,Subtype.mk,HMul.hMul,OfNat.ofNatand 9 more36 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- instance
(instance at line 321)line 321 source - lemma
Group.dvd_natCard_iff_of_primeline 326 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Finite,Nat,Nat.Prime,Iff,Dvd.dvd,Nat.card,Exists,Eq,orderOfProof uses:
Iff.intro,exists_prime_orderOf_dvd_card',Fact.mk,Eq.rec,Exists.choose,orderOf_dvd_natCard,Exists.choose_spec6 instances, coercions and auxiliary constants left out.
- lemma
Group.not_dvd_natCard_iff_of_primeline 330 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Finite,Nat,Nat.Prime,Iff,Not,Dvd.dvd,Nat.card,Ne,orderOfProof uses:
of_eq_true,Eq,Eq.trans,True,congrFun',congrArg,Exists,iff_self8 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Subgroup.dvd_index_iff_of_primeline 334 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subgroup.FiniteIndex,Subgroup.Normal,Nat,Nat.Prime,Iff,Dvd.dvd,Subgroup.index,Exists,And,Not,Membership.mem,HPow.hPowProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Nat.card,HasQuotient.Quotient,Eq,orderOf,MonoidHom,QuotientGroup.mk',OfNat.ofNat,funext,Ne,Monoid,propext,orderOf_eq_prime_iff,Fact.mk,Function.Surjective.exists,QuotientGroup.mk'_surjectiveand 2 more28 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Subgroup.dvd_relIndex_iff_of_primeline 341 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Subgroup.Normal,Subtype,Membership.mem,Subgroup.subgroupOf,Subgroup.IsFiniteRelIndex,Nat,Nat.Prime,Iff,Dvd.dvd,Subgroup.relIndex,Exists,And,Not,HPow.hPowProof uses:
Eq.mpr,id,Eq,congrFun',congrArg,Eq.trans,Subgroup.index,Subtype.mk,funext,congr,propext,exists_prop_congr,Iff.of_eq,Eq.refl26 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- instance
Subgroup.mulActionMulOppositeNormalizerQuotientline 346 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,MulAction,MulOpposite,Subtype,Membership.mem,Subgroup.normalizer,HasQuotient.QuotientProof uses:
MulAction.mk,SemigroupAction.mk,SMul.mk,Quotient.map,QuotientGroup.leftRel,HMul.hMul,MulOpposite.unop28 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
normalizer_smul_mkline 354 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Subgroup,MulOpposite,Subtype,Membership.mem,Subgroup.normalizer,Eq,HasQuotient.Quotient,HSMul.hSMul,HMul.hMul,MulOpposite.unopProof uses:
rfl37 instances, coercions and auxiliary constants left out.
- lemma
mem_of_pow_mem_of_pow_mem_of_coprimeline 357 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Subgroup,Nat,Nat.Coprime,Membership.mem,HPow.hPowProof uses:
Eq.mpr,Int,OfNat.ofNat,id,Eq,congrArg,Eq.symm,zpow_one,Nat.cast_one,Nat.gcd,Int.gcd,Int.gcd_natCast_natCast,HAdd.hAdd,HMul.hMul,Int.gcdA,Int.gcdB,Int.gcd_eq_gcd_ab,zpow_add,zpow_mul,zpow_natCastand 2 more38 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
MonoidHom.range_comp_eq_rangeline 363 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,MonoidHom,Function.Surjective,Eq,Subgroup,MonoidHom.range,MonoidHom.compProof uses:
Subgroup.ext,of_eq_true,Iff,Membership.mem,Eq.trans,Exists,True,congr,congrArg,propext,Function.Surjective.exists,iff_self15 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
MonoidHom.range_comp_mulEquivline 368 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,MulEquiv,MonoidHom,Eq,Subgroup,MonoidHom.range,MonoidHom.compProof uses: MonoidHom.range_comp_eq_range,
MulEquiv.surjective20 instances, coercions and auxiliary constants left out.
- lemma
IsUnit.unit_val_mulline 373 sourcestandard axioms: Classical.choice, propext what this means
Statement uses:
Monoid,Units,IsUnit,HMul.hMul,Eq,IsUnit.unitProof uses:
Units.ext,of_eq_true,eq_self14 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
MulEquivClass.coe_toMulEquivline 377 sourcestandard axioms: Quot.sound what this means
Statement uses:
Mul,EquivLike,MulEquivClass,Eq,MulEquivProof uses:
rfl8 instances, coercions and auxiliary constants left out.
- lemma
Units.range_valline 381 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Monoid,Eq,Set,Set.range,Units,Set.ofPred,IsUnitProof uses:
Set.ext,Iff.intro,Membership.mem,Eq.rec,Units.isUnit,Exists.intro,IsUnit.unit,rfl4 instances, coercions and auxiliary constants left out.