FLT/Patching/Utils/Depth.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
14 declarations, 0 contain sorry, 0 declared as axioms
Module depth
The depth of a module: the supremum of the lengths of regular sequences, together with basic API.
Imports (10)
- Mathlib.RingTheory.Regular.RegularSequence
- Mathlib.RingTheory.Support
- Mathlib.RingTheory.KrullDimension.Basic
- Mathlib.GroupTheory.GroupAction.Ring
- Mathlib.RingTheory.Flat.FaithfullyFlat.Basic
- Mathlib.RingTheory.KrullDimension.NonZeroDivisors
- Mathlib.RingTheory.Spectrum.Prime.RingHom
- Mathlib.RingTheory.TensorProduct.Free
- Mathlib.Tactic.Continuity.Init
- Mathlib.Tactic.Positivity.Finset
Imported by 2 files
- def
Module.depthNot sure if we should useIsRegularorIsWeaklyRegularline 41 sourceSource documentation
Not sure if we should use
IsRegularorIsWeaklyRegular. They agree for nontrivial finite modules over local rings. UsingIsWeaklyRegulargivesdepth R 0 = ∞, which is the right one according to stacks.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,ENatProof uses:
SupSet.sSup,Set.ofPred,Exists,List,RingTheory.Sequence.IsWeaklyRegular,Membership.mem,Ideal,IsLocalRing.maximalIdeal,Eq,List.length20 instances, coercions and auxiliary constants left out.
def Module.depth : ℕ∞ := …
- instance
(instance at line 46)line 46 source - lemma
Module.length_le_depthline 49 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,List,RingTheory.Sequence.IsWeaklyRegular,Membership.mem,Ideal,IsLocalRing.maximalIdeal,LE.le,ENat,List.length, Module.depthProof uses:
le_sSup,Set.ofPred,Exists,Eq,Exists.intro,rfl25 instances, coercions and auxiliary constants left out.
- lemma
Module.depth_of_subsingletonline 55 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,Subsingleton,Eq,ENat, Module.depth,Top.topProof uses:
Eq.mpr,SupSet.sSup,Set.ofPred,Exists,List,RingTheory.Sequence.IsWeaklyRegular,Membership.mem,Ideal,IsLocalRing.maximalIdeal,List.length,id,congrArg,Module.depth.eq_1,LT.lt,And,Set,propext,sSup_eq_top,Nat,Iff.mpand 45 more127 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- lemma
Module.depth_of_isScalarTowerline 67 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,Algebra,IsScalarTower,IsLocalHom,RingHom,Algebra.algebraMap,LE.le,ENat, Module.depthProof uses:
sSup_le_sSup,Set.ofPred,Exists,List,RingTheory.Sequence.IsWeaklyRegular,Membership.mem,Ideal,IsLocalRing.maximalIdeal,Eq,List.length,Set,Exists.intro,List.map,Eq.mp,congrArg,Eq.symm,propext,RingTheory.Sequence.isWeaklyRegular_map_algebraMap_iff,Eq.mpr,Notand 14 more61 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
Module.depth_le_krullDim_supportline 76 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,Nontrivial,Module.Finite,LE.le,WithBot,ENat, Module.depth,Order.krullDim,PrimeSpectrum,Module.support,Membership.mem,SetProof uses:
Nonempty,Eq.mpr,Set.Nonempty,id,Eq,congrArg,propext,Set.nonempty_coe_sort,Ne,EmptyCollection.emptyCollection,Set.nonempty_iff_ne_empty,Not,ne_eq,Subsingleton,Module.support_eq_empty_iff,not_subsingleton_iff_nontrivial,WithBot.recBotCoe,Bot.bot,False,Eq.transand 162 more228 instances, coercions and auxiliary constants left out.
Tactic trace: 65 steps
Open to load the checked before-and-after goal states.
- lemma
Module.depth_le_dim_annihilatorline 156 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,Nontrivial,Module.Finite,LE.le,WithBot,ENat, Module.depth,ringKrullDim,HasQuotient.Quotient,Ideal,Module.annihilatorProof uses:
Eq.mpr,Order.krullDim,PrimeSpectrum,PrimeSpectrum.zeroLocus,Membership.mem,Set,id,Eq,congrArg,ringKrullDim_quotient,Module.support,Eq.symm,Module.support_eq_zeroLocus, Module.depth_le_krullDim_support27 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Module.depth_le_dimline 162 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,Nontrivial,Module.Finite,LE.le,WithBot,ENat, Module.depth,ringKrullDimProof uses:
LE.le.trans,HasQuotient.Quotient,Ideal,Module.annihilator, Module.depth_le_dim_annihilator,ringKrullDim_quotient_le15 instances, coercions and auxiliary constants left out.
- lemma
isSMulRegular_iff_of_freeline 166 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Module.Free,Nontrivial,Iff,IsSMulRegularProof uses:
Module.Free.ChooseBasisIndex,Module.Basis,Module.Free.chooseBasis,Iff.intro,Eq,HSMul.hSMul,Nonempty.some,inferInstance,Nonempty,of_eq_true,Eq.trans,HMul.hMul,True,congr,congrArg,congrFun',id,eq_self,Eq.mp,Finsuppand 12 more78 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
- lemma
RingTheory.Sequence.isWeaklyRegular_of_subsingletonline 183 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Subsingleton,List,RingTheory.Sequence.IsWeaklyRegularProof uses:
Module.subsingleton,Iff.mpr,Fin,List.length,IsSMulRegular,HasQuotient.Quotient,Submodule,HSMul.hSMul,Ideal,Ideal.ofList,List.take,Top.top,GetElem.getElem,LT.lt,Nat,RingTheory.Sequence.isWeaklyRegular_iff_Fin,Eq,Subsingleton.elim31 instances, coercions and auxiliary constants left out.
- lemma
RingTheory.Sequence.isWeaklyRegular_of_free_auxline 191 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Module.Free,Nontrivial,List,Iff,RingTheory.Sequence.IsWeaklyRegularProof uses:
Nat.recAux,Nat,Eq,List.length,OfNat.ofNat,of_eq_true,Eq.trans,True,congr,congrArg,List.nil,id,Eq.mp,iff_self,HAdd.hAdd,False.elim,False,And,and_false,Eq.symmand 39 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
- lemma
RingTheory.Sequence.isWeaklyRegular_of_freeline 214 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Module.Free,Nontrivial,List,Iff,RingTheory.Sequence.IsWeaklyRegularProof uses:
Module.Basis,Module.Free.ChooseBasisIndex,Module.Free.chooseBasis,Module.nontrivial,Eq.mpr,Finsupp,id,Eq,congrArg,propext,LinearEquiv.isWeaklyRegular_congr,Module.Basis.repr, RingTheory.Sequence.isWeaklyRegular_of_free_aux,Iff.rfl28 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Module.depth_le_of_freeline 222 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,Module.Free,LE.le,ENat, Module.depthProof uses:
Subsingleton,Nontrivial,Or,Eq,subsingleton_or_nontrivial,Or.inl,of_eq_true,Eq.trans,Top.top,True,congrArg, Module.depth_of_subsingleton,Or.inr,sSup_le_sSup,Set.ofPred,Exists,List,RingTheory.Sequence.IsWeaklyRegular,Membership.mem,Idealand 8 more31 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
Module.faithfulSMul_of_depth_eq_ringKrullDimline 229 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsLocalRing,AddCommGroup,Module,IsDomain,Nontrivial,Module.Finite,LT.lt,WithBot,ENat,ringKrullDim,Top.top,Eq, Module.depth,FaithfulSMulProof uses:
HasQuotient.Quotient,Ideal,Module.annihilator,Iff.mpr,Ne,Ideal.Quotient.nontrivial_iff,Eq.mpr,Not,id,congrArg,ne_eq,Submodule.annihilator,Submodule,Eq.symm,Submodule.annihilator_top,Bot.bot,propext,Submodule.annihilator_eq_top_iff,top_ne_bot,Module.annihilator_eq_botand 65 more114 instances, coercions and auxiliary constants left out.
Tactic trace: 29 steps
Open to load the checked before-and-after goal states.