FLT/AutomorphicForm/Stuff.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
33 declarations, 0 contain sorry, 0 declared as axioms
Random assortments of API lemmas missing in mathlib.
Imports (9)
- FLT.AutomorphicForm.GroupTheoryStuff
- FLT.Mathlib.Topology.Algebra.Group.Basic
- Mathlib.Data.Int.SuccPred
- Mathlib.MeasureTheory.Constructions.BorelSpace.Basic
- Mathlib.RingTheory.Norm.Transitivity
- Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots
- Mathlib.Topology.Algebra.IsOpenUnits
- Mathlib.Topology.MetricSpace.Polish
- Mathlib.Topology.Algebra.Group.Units
Imported by 4 files
- lemma
RingHom.coe_toMonoidHomline 25 sourceno axioms what this means
Statement uses:
NonAssocSemiring,RingHom,Eq,MonoidHomProof uses:
rfl13 instances, coercions and auxiliary constants left out.
- def
Set.matrixEquivSet.matrixis equivalent to matrices on the subtype line 30 sourceSource documentation
Set.matrixis equivalent to matrices on the subtype.no axioms what this means
Statement uses:
Set,Equiv,Matrix,Set.matrixProof uses:
Equiv.mk,Subtype.mk,Membership.mem8 instances, coercions and auxiliary constants left out.
def Set.matrixEquiv {m n α : Type*} (S : Set α) : S.matrix (m := m) (n := n) ≃ Matrix m n S where … - def
Subring.matrixEquivSubring.matrixis equivalent to matrices on the subtype line 40 sourceSource documentation
Subring.matrixis equivalent to matrices on the subtype.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,Fintype,DecidableEq,Subring,RingEquiv,Subtype,Matrix,Membership.mem,Subring.matrixProof uses:
Equiv,Set.matrix,AddSubmonoid,Subsemiring.toAddSubmonoid,Subring.toSubsemiring, Set.matrixEquiv,RingEquiv.mk43 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def Subring.matrixEquiv {n α : Type*} [Ring α] [Fintype n] [DecidableEq n] (S : Subring α) : S.matrix (n := n) ≃+* Matrix n n S where … - lemma
IsPrincipalIdealRing.exists_isCoprime_and_dvd_powline 46 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsPrincipalIdealRing,IsDomain,Ne,OfNat.ofNat,Exists,Nat,And,Eq,HMul.hMul,IsCoprime,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,pow_zero,eq_true,IsUnit.dvd,and_self,Prime,dite,Classical.propDecidableand 26 more70 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- instance
ConjAct.continuousConstSMulline 58 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,DivInvMonoid,ContinuousMul,ContinuousConstSMul,ConjActProof uses:
ContinuousConstSMul.mk,IsTopologicalGroup.continuous_conj,MulEquiv,ConjAct.ofConjAct16 instances, coercions and auxiliary constants left out.
- lemma
ConjAct.isOpen_smulline 63 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,TopologicalSpace,IsTopologicalGroup,Subgroup,IsOpen,ConjAct,HSMul.hSMul,Subgroup.pointwiseMulActionProof uses:
Iff.mpr,Set.image,Homeomorph,Homeomorph.smul,Homeomorph.isOpen_image22 instances, coercions and auxiliary constants left out.
- lemma
Polynomial.Monic.not_irreducible_iff_of_natDegree_eq_twoline 68 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,NoZeroDivisors,Polynomial,Polynomial.Monic,Eq,Nat,Polynomial.natDegree,OfNat.ofNat,Iff,Not,Irreducible,Exists,HMul.hMul,HSub.hSub,Polynomial.X,RingHom,Polynomial.CProof uses:
Subsingleton,Nontrivial,Or,subsingleton_or_nontrivial,Or.inl,of_eq_true,Eq.trans,True,congr,congrArg,False,Subsingleton.elim,not_false_eq_true,funext,eq_self,iff_self,Or.inr,Iff.intro,And,Finsuppand 83 more148 instances, coercions and auxiliary constants left out.
Tactic trace: 29 steps
Open to load the checked before-and-after goal states.
- lemma
IsPrimitiveRoot.iff_of_primeline 88 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,Nat,Nat.Prime,Iff,IsPrimitiveRoot,And,Eq,HPow.hPow,OfNat.ofNat,NeProof uses:
Iff.intro,And.intro,IsPrimitiveRoot.pow_eq_one,IsPrimitiveRoot.ne_one,Nat.Prime.one_lt,Iff.mpr,orderOf,IsPrimitiveRoot.iff_orderOf,Or.resolve_left,Nat.Prime.eq_one_or_self_of_dvd,orderOf_dvd_of_pow_eq_one,And.left,of_eq_true,Not,Eq.trans,False,True,congrArg,eq_false,And.rightand 1 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Matrix.det_algebraMapline 94 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommSemiring,CommRing,Algebra,DecidableEq,Fintype,Eq,Matrix.det,RingHom,Matrix,Algebra.algebraMap,HPow.hPow,Nat,Fintype.cardProof uses:
Eq.trans,Matrix.diagonal,Pi.constRingHom,Finset.prod,Finset.univ,Matrix.det_diagonal,of_eq_true,True,congrFun',congrArg,Finset.card,funext,RingHom.id,RingHomCompTriple.comp_apply,Finset.prod_const,eq_self26 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Set.injOn_image_iffline 99 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Set.InjOn,Iff,Set.image,Function.compProof uses:
Eq.mpr,Membership.mem,Eq,id,congrFun',congrArg,Eq.trans,forall_congr,And,Exists,implies_congr,Eq.refl6 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Algebra.norm_one_tmulFiniteness not necessary? line 106 sourceSource comment
Finiteness not necessary?standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,Ring,Algebra,Module.Free,Module.Finite,Eq,MonoidHom,TensorProduct,Algebra.norm,TensorProduct.tmul,OfNat.ofNat,RingHom,Algebra.algebraMapProof uses:
Mathlib.Tactic.Nontriviality.subsingleton_or_nontrivial_elim,Subsingleton,of_eq_true,Nontrivial,RingHom.domain_nontrivial,Sigma,Module.Basis,Nonempty,Module.Free.exists_basis,Fintype,nonempty_fintype,Module.Finite.finite_basis,Nonempty.intro,Eq.mpr,Matrix.det,Classical.propDecidable,AlgHom,Matrix,Algebra.leftMulMatrix,idand 29 more77 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma Algebra.norm_one_tmul (R A : Type*) {B : Type*} [CommRing R] [CommRing A] [Ring B] [Algebra R A] [Algebra R B] (x : B) [Module.Free R B] [Module.Finite R B] : Algebra.norm A ((1 : A) ⊗ₜ[R] x) = algebraMap R A (Algebra.norm R x) := by … - lemma
Algebra.norm_eq_detline 121 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,Fintype,DecidableEq,Matrix,Eq,MonoidHom,Algebra.norm,HPow.hPow,Nat,Matrix.det,Fintype.cardProof uses:
Eq.mpr,Prod,AlgHom,Algebra.leftMulMatrix,Matrix.stdBasis,id,congrArg,Algebra.norm_eq_matrix_det,Equiv,Matrix.comp,Matrix.map,RingHom,Algebra.algebraMap,Matrix.ext,of_eq_true,Eq.trans,ite,Prod.snd,Prod.fst,OfNat.ofNatand 55 more80 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
vecCons_one_oneline 133 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
One,Eq,Fin,Nat.succ,OfNat.ofNat,Nat,Matrix.vecCons,Matrix.vecEmptyProof uses:
funext,List,List.Mem,List.finRange,HEq,Membership.mem,Finset,Fintype.elems,Fintype.complete,List.cons,List.Mem.head,Fin.mk,Nat.le_of_lt,Nat.le_refl,List.nil,Eq.refl,eq_of_heq,List.Mem.tail,False.elim,noConfusion_of_Natand 2 more12 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
WithZero.lt_ofAdd_oneline 137 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
WithZero,Multiplicative,Int,Iff,LT.lt,Equiv,Multiplicative.ofAdd,OfNat.ofNat,LE.leProof uses:
WithZero.recZeroCoe,of_eq_true,Eq.trans,True,congr,congrArg,iff_self,Multiplicative.toAdd,HAdd.hAdd,zero_add51 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
WithZero.mul_ofAdd_one_le_one_iffline 145 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
WithZero,Multiplicative,Int,Iff,LE.le,HMul.hMul,Equiv,Multiplicative.ofAdd,OfNat.ofNat,LT.ltProof uses:
WithZero.recZeroCoe,of_eq_true,Eq.trans,True,congr,congrArg,congrFun',MulZeroClass.zero_mul,iff_self,Multiplicative.toAdd79 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
MeasureSpace.comap_symmline 153 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Equiv,Eq,MeasurableSpace.comap,Equiv.symm,MeasurableSpace.mapProof uses:
MeasurableSpace.ext,Set,of_eq_true,Iff,MeasurableSet,Eq.trans,Set.preimage,True,congr,congrArg,Exists,And,funext,Set.image,Equiv.image_symm_eq_preimage,iff_self10 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- instance
(instance at line 159)line 159 source - instance
(instance at line 166)line 166 source - instance
(instance at line 169)line 169 source - instance
(instance at line 172)line 172 source - theorem
MeasurableEquiv.restrict_preimageline 177 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableEquiv,MeasureTheory.Measure,Set,Eq,MeasureTheory.Measure.restrict,Set.preimage,MeasureTheory.Measure.map,MeasurableEquiv.symmProof uses:
Eq.mpr,id,congrArg,MeasurableEquiv.restrict_map,Function.comp,MeasureTheory.Measure.map_map,MeasurableEquiv.measurable,of_eq_true,Eq.trans,True,congrFun',MeasurableEquiv.symm_comp_self,MeasureTheory.Measure.map_id,eq_self6 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
ContinuousAddEquiv.smulsmul as aContinuousAddEquivline 185 sourceSource documentation
smul as a
ContinuousAddEquiv.standard axioms: propext what this means
Statement uses:
Group,TopologicalSpace,AddMonoid,DistribMulAction,ContinuousConstSMul,ContinuousAddEquivProof uses:
Homeomorph,Homeomorph.smul,ContinuousAddEquiv.mk,AddEquiv.mk,Homeomorph.toEquiv,Homeomorph.continuous_toFun,Homeomorph.continuous_invFun22 instances, coercions and auxiliary constants left out.
def ContinuousAddEquiv.smul {G α : Type*} [Group G] [TopologicalSpace α] [AddMonoid α] [DistribMulAction G α] [ContinuousConstSMul G α] (g : G) : α ≃ₜ+ α where … - lemma
ContinuousAddEquiv.smul_invline 192 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,TopologicalSpace,AddMonoid,DistribMulAction,ContinuousConstSMul,Eq,ContinuousAddEquiv, ContinuousAddEquiv.smul,Inv.inv,ContinuousAddEquiv.symmProof uses:
ContinuousAddEquiv.ext,of_eq_true,Eq.trans,HSMul.hSMul,True,congr,congrArg,ContinuousAddEquiv.smul_apply,ContinuousAddEquiv.smul_symm_apply,eq_self36 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
MulOpposite.opMeasurableEquivMulOpposite.opas aMeasurableEquivline 198 sourceSource documentation
MulOpposite.opas aMeasurableEquiv.standard axioms: Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableEquiv,MulOppositeProof uses:
Equiv,MulOpposite.opEquiv,MeasurableEquiv.mk,measurable_mul_op,measurable_mul_unop2 instances, coercions and auxiliary constants left out.
def MulOpposite.opMeasurableEquiv {M : Type*} [MeasurableSpace M] : M ≃ᵐ Mᵐᵒᵖ where … - def
Units.opContinuousMulEquivUnits.opEquiv(takingxtox) as aContinuousMulEquivline 205 sourceSource documentation
Units.opEquiv(takingxtox) as aContinuousMulEquiv.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Monoid,TopologicalSpace,ContinuousMulEquiv,Units,MulOppositeProof uses:
MulEquiv,Units.opEquiv,ContinuousMulEquiv.mk12 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
def Units.opContinuousMulEquiv {M : Type*} [Monoid M] [TopologicalSpace M] : Mᵐᵒᵖˣ ≃ₜ* Mˣᵐᵒᵖ where … - lemma
Units.coe_opContinuousMulEquiv_symm_applyline 216 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Monoid,TopologicalSpace,MulOpposite,Units,Eq,ContinuousMulEquiv,ContinuousMulEquiv.symm, Units.opContinuousMulEquiv,MulOpposite.op,MulOpposite.unopProof uses:
rfl18 instances, coercions and auxiliary constants left out.
- lemma
Units.coe_opContinuousMulEquiv_symm_apply_invline 221 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Monoid,TopologicalSpace,MulOpposite,Units,Eq,Inv.inv,ContinuousMulEquiv,ContinuousMulEquiv.symm, Units.opContinuousMulEquiv,MulOpposite.op,MulOpposite.unopProof uses:
rfl20 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- instance
(instance at line 225)line 225 source - def
MulDistribMulAction.toContinuousMulEquivsmul as aContinuousMulEquivline 235 sourceSource documentation
smul as a
ContinuousMulEquiv.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Monoid,MulDistribMulAction,TopologicalSpace,ContinuousConstSMul,ContinuousMulEquivProof uses:
MulEquiv,MulDistribMulAction.toMulEquiv,ContinuousMulEquiv.mk20 instances, coercions and auxiliary constants left out.
def MulDistribMulAction.toContinuousMulEquiv {G : Type*} (x : G) (M : Type*) [Group G] [Monoid M] [MulDistribMulAction G M] [TopologicalSpace M] [ContinuousConstSMul G M] : M ≃ₜ* M where … - lemma
Subgroup.FiniteIndex.of_compactSpaceline 244 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,TopologicalSpace,SeparatelyContinuousMul,CompactSpace,Subgroup,IsOpen,Subgroup.FiniteIndexProof uses:
Iff.mpr,Finite,HasQuotient.Quotient,Subgroup.finiteIndex_iff_finite_quotient,Subgroup.quotient_finite_of_isOpen15 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- instance
(instance at line 249)line 249 source - lemma
Subgroup.IsFiniteRelIndex.of_isCompactline 261 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,TopologicalSpace,SeparatelyContinuousMul,Subgroup,IsOpen,IsCompact,Subgroup.IsFiniteRelIndexProof uses:
CompactSpace,Subtype,Membership.mem,Iff.mp,Set,isCompact_iff_compactSpace,Iff.mpr,Subgroup.FiniteIndex,Subgroup.subgroupOf,Subgroup.isFiniteRelIndex_iff_finiteIndex, Subgroup.FiniteIndex.of_compactSpace,IsOpen.preimage,continuous_subtype_val21 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- instance
(instance at line 268)line 268 source