FLT/Patching/Module.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
65 declarations, 0 contain sorry, 0 declared as axioms
The patching module
The patching module attached to a family of R i-modules M i of uniformly
bounded rank: the ultraproduct of the truncations M i / I^k M i along a
non-principal ultrafilter, viewed as a module over the patching algebra.
Imports (13)
- FLT.Patching.Ultraproduct
- FLT.Patching.Utils.AdicTopology
- Mathlib.Algebra.Module.Torsion.Basic
- Mathlib.CategoryTheory.Types.Basic
- Mathlib.LinearAlgebra.Dimension.Finrank
- Mathlib.RingTheory.Filtration
- Mathlib.RingTheory.FractionalIdeal.Basic
- Mathlib.Topology.Algebra.Ring.Compact
- FLT.Patching.Utils.InverseLimit
- Mathlib.RingTheory.LocalRing.Quotient
- Mathlib.Topology.Algebra.Nonarchimedean.TotallyDisconnected
- Mathlib.Topology.Compactness.Paracompact
- Mathlib.Topology.Connected.Separation
Imported by 2 files
- class
Module.UniformlyBoundedRankA family ofR-modulesM ihas uniformly bounded rank if there exists a single boundn : ℕsuch that for everyi, the rank ofM ioverR / Ann (M i)is less thannline 46 sourceSource documentation
A family of
R-modulesM ihas uniformly bounded rank if there exists a single boundn : ℕsuch that for everyi, the rank ofM ioverR / Ann (M i)is less thann.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module3 instances, coercions and auxiliary constants left out.
class Module.UniformlyBoundedRank : Prop where …
- def
Module.UniformlyBoundedRank.boundline 53 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module, Module.UniformlyBoundedRank,NatProof uses:
Exists.choose,LT.lt,Cardinal,Module.rank,HasQuotient.Quotient,Ideal,Module.annihilator,Module.UniformlyBoundedRank.cond15 instances, coercions and auxiliary constants left out.
- lemma
Module.UniformlyBoundedRank.rank_lt_boundline 56 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module, Module.UniformlyBoundedRank,LT.lt,Cardinal,Module.rank,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank.boundProof uses:
Exists.choose_spec,Nat,Module.UniformlyBoundedRank.cond24 instances, coercions and auxiliary constants left out.
- lemma
Module.UniformlyBoundedRank.finrank_lt_boundline 60 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module, Module.UniformlyBoundedRank,LT.lt,Nat,Module.finrank,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank.boundProof uses:
Module.finrank_lt_of_rank_lt, Module.UniformlyBoundedRank.rank_lt_bound15 instances, coercions and auxiliary constants left out.
- instance
(instance at line 66)line 66 source - instance
(instance at line 70)line 70 source - lemma
Module.UniformlyBoundedRank.exists_finsupp_surjectiveline 72 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,Exists,LinearMap,RingHom.id,Finsupp,Fin, Module.UniformlyBoundedRank.bound,Function.SurjectiveProof uses:
Subsingleton,Nontrivial,Or,Eq,subsingleton_or_nontrivial,Or.inl,Exists.intro,OfNat.ofNat,Subsingleton.elim,Or.inr,Eq.mpr,Ne,Top.top,id,congrArg,propext,Ideal.Quotient.nontrivial_iff,Not,ne_eq,Submodule.annihilatorand 39 more92 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
Module.UniformlyBoundedRank.finite_quotient_smulline 92 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,Finite,Submodule,HSMul.hSMul,Top.topProof uses:
LinearMap,RingHom.id,Finsupp,Fin, Module.UniformlyBoundedRank.bound,Function.Surjective,Exists, Module.UniformlyBoundedRank.exists_finsupp_surjective, Pi.liftQuotientₗ,LinearMap.comp,LinearEquiv.symm,Finsupp.linearEquivFunOnFinite, Pi.liftQuotientₗ_surjective,Function.Surjective.comp,LinearEquiv.surjective,Finite.of_surjective57 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Module.UniformlyBoundedRank.card_quotient_leline 101 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,Finite,LE.le,Nat,Nat.card,Submodule,HSMul.hSMul,Top.top,HPow.hPow, Module.UniformlyBoundedRank.boundProof uses:
LinearMap,RingHom.id,Finsupp,Fin,Function.Surjective,Exists, Module.UniformlyBoundedRank.exists_finsupp_surjective, Pi.liftQuotientₗ,LinearMap.comp,LinearEquiv.symm,Finsupp.linearEquivFunOnFinite, Pi.liftQuotientₗ_surjective,Function.Surjective.comp,LinearEquiv.surjective,LE.le.trans_eq,Nat.card_le_card_of_surjective,Fintype,Nonempty,Eq,nonempty_fintypeand 17 more72 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
Module.UniformlyBoundedRank.exists_rankline 112 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,Exists,Nat,Filter.Eventually,Nonempty,LinearEquiv,RingHom.id,FinProof uses: Module.UniformlyBoundedRank.bound,
HAdd.hAdd,OfNat.ofNat,Eq.mpr,id,Eq,congrArg,Eq.symm,propext,Ultrafilter.eventually_exists_iff,Filter.Eventually.of_forall,Subsingleton,Nontrivial,Or,subsingleton_or_nontrivial,Or.inl,Exists.intro,Fin.mk,Nat.zero_lt_succ,Or.inrand 36 more89 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- def
Module.UniformlyBoundedRank.rankline 135 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,NatProof uses:
Exists.choose,Filter.Eventually,Nonempty,LinearEquiv,RingHom.id,Fin, Module.UniformlyBoundedRank.exists_rank23 instances, coercions and auxiliary constants left out.
- lemma
Module.UniformlyBoundedRank.rank_specline 137 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,Filter.Eventually,Nonempty,LinearEquiv,RingHom.id,Fin, Module.UniformlyBoundedRank.rankProof uses:
Exists.choose_spec,Nat, Module.UniformlyBoundedRank.exists_rank32 instances, coercions and auxiliary constants left out.
- def
Module.UniformlyBoundedRank.linearMapline 144 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,LinearMap,RingHom.id,Fin, Module.UniformlyBoundedRank.rankProof uses:
dite,Nonempty,LinearEquiv,Classical.propDecidable,LinearMap.comp,LinearEquiv.symm,Nonempty.some,LinearMap.compLeft,Algebra.linearMap,Not,OfNat.ofNat35 instances, coercions and auxiliary constants left out.
- lemma
Module.UniformlyBoundedRank.linearMap_surjectiveline 151 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,Filter.Eventually,Function.Surjective,Fin, Module.UniformlyBoundedRank.rank,LinearMap,RingHom.id, Module.UniformlyBoundedRank.linearMapProof uses:
Filter.mp_mem,Set.ofPred,Nonempty,LinearEquiv, Module.UniformlyBoundedRank.rank_spec,Filter.univ_mem',Membership.mem,Set,id,Eq.mpr,dite,Classical.propDecidable,LinearMap.comp,LinearEquiv.symm,Nonempty.some,LinearMap.compLeft,Algebra.linearMap,Not,OfNat.ofNat,Eqand 10 more48 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Module.UniformlyBoundedRank.linearMap_eq_zeroline 158 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,Filter.Eventually,Fin, Module.UniformlyBoundedRank.rank,Iff,Eq,LinearMap,RingHom.id, Module.UniformlyBoundedRank.linearMap,OfNat.ofNat,Membership.memProof uses:
Filter.mp_mem,Set.ofPred,Nonempty,LinearEquiv, Module.UniformlyBoundedRank.rank_spec,Filter.univ_mem',Set,id,Eq.mpr,dite,Classical.propDecidable,LinearMap.comp,LinearEquiv.symm,Nonempty.some,LinearMap.compLeft,Algebra.linearMap,Not,congrArg,Module.UniformlyBoundedRank.linearMap.eq_1,dite_eq_leftand 9 more80 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- abbrev
PatchingModule.ComponentDocumented declaration: Component line 185 sourceSource documentation
The
α-th component of the patching module associated to (i) a family of modulesM iover a commutative ringR, (ii) an ultrafilter on the index set for theM iand (iii) an ideal ofR. This is the ultraproduct ofM i / α • M ialong the ultrafilterF.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter,IdealProof uses: UltraProduct,
HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top15 instances, coercions and auxiliary constants left out.
abbrev PatchingModule.Component (α : Ideal R) := …
- def
PatchingModule.liftComponentA family of linear mapsf i : M₀ →ₗ[R] M ilifts to a linear mapM₀ / α • M₀ → Component αline 193 sourceSource documentation
A family of linear maps
f i : M₀ →ₗ[R] M ilifts to a linear mapM₀ / α • M₀ → Component α.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter,Ideal,LinearMap,RingHom.id,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top, PatchingModule.ComponentProof uses:
LinearMap.comp, UltraProduct, UltraProduct.πₗ,LinearMap.pi,Submodule.mapQ49 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def PatchingModule.liftComponent (α : Ideal R) (f : ∀ i, M₀ →ₗ[R] M i) : M₀ ⧸ (α • ⊤ : Submodule R M₀) →ₗ[R] Component R M F α := …Mentions: PatchingModule.Component
- def
OpenIdealsThe set of open ideals of a topological ringRline 201 sourceSource documentation
The set of open ideals of a topological ring
R.no axioms what this means
Statement uses:
TopologicalSpace,CommRingProof uses:
Subtype,Ideal,IsOpen6 instances, coercions and auxiliary constants left out.
def OpenIdeals : Type _ := { α : Ideal R // IsOpen (X := R) α } - instance
(instance at line 203)line 203 source - instance
(instance at line 206)line 206 source - abbrev
PatchingModule.componentMapThe transition linear map between components for idealsα ≤ β:Component α → Component βline 211 sourceSource documentation
The transition linear map between components for ideals
α ≤ β:Component α → Component β.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter,Ideal,LE.le,LinearMap,RingHom.id, PatchingModule.Component,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.topProof uses: UltraProduct, UltraProduct.map,
Submodule.mapQ,LinearMap.id46 instances, coercions and auxiliary constants left out.
abbrev PatchingModule.componentMap {α β : Ideal R} (h : α ≤ β) : Component R M F α →ₗ[R] Component R M F β := …Mentions: PatchingModule.Component
- def
PatchingModule.submoduleThe patching module as a submodule of the product of components: those families compatible with the transition maps asα ≤ βranges over open ideals line 225 sourceSource documentation
The patching module as a submodule of the product of components: those families compatible with the transition maps as
α ≤ βranges over open ideals. This is just an explicit construction of the patching module (a projective limit of components) as a subset of a product of components.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,Submodule, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,HasQuotient.Quotient,HSMul.hSMul,Top.topProof uses:
Submodule.mk,AddSubmonoid.mk,AddSubsemigroup.mk,Set.ofPred,LE.le,Eq,LinearMap,RingHom.id, PatchingModule.componentMap,Membership.mem,Set60 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
def PatchingModule.submodule : Submodule (ι → R) (Π α : OpenIdeals R, Component R M F α.1) where …
Mentions: OpenIdeals, PatchingModule.Component
- lemma
PatchingModule.isClosed_submoduleline 236 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,IsClosed, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top, PatchingModule.submoduleProof uses:
LE.le,Set.ofPred,Eq,LinearMap,RingHom.id, PatchingModule.componentMap,isClosed_eq,id,Continuous,Continuous.comp', UltraProduct, UltraProduct.map,Submodule.mapQ,LinearMap.id,continuous_bot,continuous_apply,Eq.mpr,Set.iInter,eq_of_heq,Setand 13 more67 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- def
PatchingModuleThe patching module for a familyM iof modules over a commutative topological ringRline 248 sourceSource documentation
The patching module for a family
M iof modules over a commutative topological ringR. This is an inverse limit overαof ultraproducts ofM i / α • M ialong the ultrafilterF, whereαranges over open ideals ofR.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,UltrafilterProof uses:
Subtype, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,Membership.mem,Submodule,HasQuotient.Quotient,HSMul.hSMul,Top.top, PatchingModule.submodule26 instances, coercions and auxiliary constants left out.
def PatchingModule : Type _ := PatchingModule.submodule R M F
Mentions: PatchingModule.submodule
- instance
(instance at line 250)line 250 source - instance
(instance at line 253)line 253 source - instance
(instance at line 256)line 256 source - lemma
PatchingModule.smul_applyline 261 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter, PatchingModule, OpenIdeals,Eq, PatchingModule.Component,Ideal,IsOpen,Membership.mem,Submodule,HasQuotient.Quotient,HSMul.hSMul,Top.top, PatchingModule.submoduleProof uses:
rfl73 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- instance
(instance at line 264)line 264 source - instance
(instance at line 267)line 267 source - instance
(instance at line 270)line 270 source - instance
(instance at line 273)line 273 source - instance
(instance at line 284)line 284 source - instance
(instance at line 287)line 287 source - instance
(instance at line 290)line 290 source - def
PatchingModule.πThe projection from the patching module onto itsα-th component, for an open idealαofRline 298 sourceSource documentation
The projection from the patching module onto its
α-th component, for an open idealαofR.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter, OpenIdeals,LinearMap,RingHom.id, PatchingModule, PatchingModule.Component,Ideal,IsOpen,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.topProof uses:
LinearMap.comp,LinearMap.proj,Submodule.subtype, PatchingModule.submodule50 instances, coercions and auxiliary constants left out.
def PatchingModule.π (α : OpenIdeals R) : PatchingModule R M F →ₗ[ι → R] PatchingModule.Component R M F α.1 := …Mentions: OpenIdeals, PatchingModule, PatchingModule.Component
- def
PatchingModule.ofPiAuxiliary linear map from indexed sequences of representatives to the product of components, used to constructPatchingModule.inclline 304 sourceSource documentation
Auxiliary linear map from indexed sequences of representatives to the product of components, used to construct
PatchingModule.incl.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,LinearMap, OpenIdeals,RingHom.id, PatchingModule.Component,Ideal,IsOpen,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.topProof uses: LinearMap.piMap',
LinearMap.comp, UltraProduct.πₗ,Submodule.mkQ49 instances, coercions and auxiliary constants left out.
def PatchingModule.ofPi : (OpenIdeals R → Π i, M i) →ₗ[OpenIdeals R → ι → R] Π α : OpenIdeals R, Component R M F α.1 := …Mentions: OpenIdeals, PatchingModule.Component
- lemma
PatchingModule.ofPi_applyline 311 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter, OpenIdeals,Eq, PatchingModule.Component,Ideal,IsOpen,LinearMap,RingHom.id,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top, PatchingModule.ofPi, UltraProduct, UltraProduct.πₗ,Submodule.Quotient.mkProof uses:
rfl53 instances, coercions and auxiliary constants left out.
- lemma
PatchingModule.ofPi_surjectiveline 316 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,Function.Surjective, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,LinearMap,RingHom.id,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top, PatchingModule.ofPiProof uses:
Eq, UltraProduct, UltraProduct.πₗ,Submodule.Quotient.mk,Exists.intro,funext,of_eq_true,Eq.trans,Filter.Eventually,True,congrArg,Eq.symm,congrFun',Filter,eq_self,Classical.choose,Submodule.Quotient.mk_surjective,Classical.choose_spec, UltraProduct.πₗ_surjective55 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- def
PatchingModule.inclThe natural(ι → R)-linear map∏ i, M i → PatchingModule R M Fline 324 sourceSource documentation
The natural
(ι → R)-linear map∏ i, M i → PatchingModule R M F.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,LinearMap,RingHom.id, PatchingModuleProof uses:
LinearMap.codRestrict, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top, PatchingModule.submodule,LinearMap.comp, PatchingModule.ofPi,LinearMap.pi,LinearMap.id40 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def PatchingModule.incl : (Π i, M i) →ₗ[ι → R] PatchingModule R M F := …Mentions: PatchingModule
- lemma
PatchingModule.incl_applyline 333 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter, OpenIdeals,Eq, PatchingModule.Component,Ideal,IsOpen,Membership.mem,Submodule,HasQuotient.Quotient,HSMul.hSMul,Top.top, PatchingModule.submodule,LinearMap,RingHom.id, PatchingModule, PatchingModule.incl and 3 moreProof uses:
rfl65 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 339)line 339 source - abbrev
PatchingModule.componentMapModuleFunctoriality ofPatchingModule.Componentin the family of modules: a family of linear mapsf i : M i →ₗ[R] N iinduces a map between theα-th components line 362 sourceSource documentation
Functoriality of
PatchingModule.Componentin the family of modules: a family of linear mapsf i : M i →ₗ[R] N iinduces a map between theα-th components.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter,LinearMap,RingHom.id,Ideal, PatchingModule.Component,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.topProof uses: UltraProduct.map,
Submodule.mapQ33 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
abbrev PatchingModule.componentMapModule (α : Ideal R) : Component R M F α →ₗ[ι → R] Component R N F α := …Mentions: PatchingModule.Component
- lemma
PatchingModule.componentMapModule_surjectiveline 374 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter,LinearMap,RingHom.id,Function.Surjective,Ideal, PatchingModule.Component,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top, PatchingModule.componentMapModuleProof uses: UltraProduct.map_surjective,
Submodule.mapQ,Eq.mpr,Eq,LinearMap.range,id,congrArg,Eq.symm,propext,LinearMap.range_eq_top,Submodule.liftQ,LinearMap.comp,Submodule.mkQ,Submodule.mapQ.eq_1,Submodule.range_liftQ,Function.Surjective.comp,Submodule.mkQ_surjective42 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- def
PatchingModule.mapFunctoriality ofPatchingModulein the family of modules line 383 sourceSource documentation
Functoriality of
PatchingModulein the family of modules.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,LinearMap,RingHom.id, PatchingModuleProof uses:
LinearMap.restrict, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top, LinearMap.piMap', PatchingModule.componentMapModule, PatchingModule.submodule,Membership.mem,LE.le41 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
def PatchingModule.map : PatchingModule R M F →ₗ[ι → R] PatchingModule R N F := …Mentions: PatchingModule
- lemma
PatchingModule.map_applyline 399 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,LinearMap,RingHom.id, PatchingModule, OpenIdeals,Eq, PatchingModule.Component,Ideal,IsOpen,Membership.mem,Submodule,HasQuotient.Quotient,HSMul.hSMul,Top.top, PatchingModule.submodule, PatchingModule.map and 1 moreProof uses:
rfl58 instances, coercions and auxiliary constants left out.
- lemma
PatchingModule.map_comp_applyline 403 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,LinearMap,RingHom.id, PatchingModule,Eq, PatchingModule.map,LinearMap.compProof uses:
Subtype.ext, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,Membership.mem,Submodule,HasQuotient.Quotient,HSMul.hSMul,Top.top, PatchingModule.submodule,funext, PatchingModule.ofPi,Exists, PatchingModule.ofPi_surjective,of_eq_true,Eq.trans, UltraProduct, UltraProduct.πₗ,Submodule.Quotient.mkand 7 more44 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
PatchingModule.map_compline 410 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,LinearMap,RingHom.id,Eq, PatchingModule, PatchingModule.map,LinearMap.compProof uses:
LinearMap.ext, PatchingModule.map_comp_apply18 instances, coercions and auxiliary constants left out.
- lemma
PatchingModule.map_idline 416 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,Eq,LinearMap,RingHom.id, PatchingModule, PatchingModule.map,LinearMap.idProof uses:
LinearMap.ext,Subtype.ext, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,Membership.mem,Submodule,HasQuotient.Quotient,HSMul.hSMul,Top.top, PatchingModule.submodule,funext, UltraProduct, UltraProduct.πₗ,Exists, UltraProduct.πₗ_surjective,of_eq_true,Eq.trans,Trueand 8 more42 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- def
PatchingModule.mapEquivA family of linear equivalencesM i ≃ₗ[R] N ilifts to a linear equivalence between the corresponding patching modules line 426 sourceSource documentation
A family of linear equivalences
M i ≃ₗ[R] N ilifts to a linear equivalence between the corresponding patching modules.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,LinearEquiv,RingHom.id, PatchingModuleProof uses:
LinearMap, PatchingModule.map,LinearEquiv.mk,LinearEquiv.symm24 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def PatchingModule.mapEquiv (f : ∀ i, M i ≃ₗ[R] N i) : PatchingModule R M F ≃ₗ[ι → R] PatchingModule R N F where …Mentions: PatchingModule
- lemma
PatchingModule.map_surjectiveline 435 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,IsTopologicalRing,CompactSpace,AddCommGroup,Module,Ultrafilter,LinearMap,RingHom.id,IsLocalRing, IsLocalRing.IsAdicTopology, Module.UniformlyBoundedRank,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator,Function.Surjective, PatchingModule, PatchingModule.mapProof uses: OpenIdeals,
Set, PatchingModule.Component,IsOpen,Set.preimage,Submodule,HSMul.hSMul,Top.top, PatchingModule.componentMapModule,Singleton.singleton,Membership.mem, PatchingModule.submodule,LE.le,Subtype.mk, PatchingModule.componentMap,Eq, UltraProduct, UltraProduct.πₗ,Exists, UltraProduct.πₗ_surjective and 41 more97 instances, coercions and auxiliary constants left out.
Tactic trace: 30 steps
Open to load the checked before-and-after goal states.
- def
PatchingModule.toConstThe natural map from a fixed moduleMto the patching module of the constant familyfun _ ↦ Mline 484 sourceSource documentation
The natural map from a fixed module
Mto the patching module of the constant familyfun _ ↦ M.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,Ultrafilter,AddCommGroup,Module,LinearMap,RingHom.id, PatchingModuleProof uses:
LinearMap.comp, PatchingModule.incl,LinearMap.pi,LinearMap.id20 instances, coercions and auxiliary constants left out.
def PatchingModule.toConst (M) [AddCommGroup M] [Module R M] : M →ₗ[R] PatchingModule R (fun _ ↦ M) F := …Mentions: PatchingModule
- lemma
PatchingModule.toConst_surjectiveline 488 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,IsTopologicalRing,CompactSpace,Ultrafilter,AddCommGroup,Module,Module.Finite,Function.Surjective, PatchingModule,LinearMap,RingHom.id, PatchingModule.toConstProof uses:
moduleTopology,IsModuleTopology,IsModuleTopology.mk,rfl, IsModuleTopology.compactSpace,Continuous,IsModuleTopology.continuous_of_linearMap,DenseRange, denseRange_inverseLimit, OpenIdeals, PatchingModule.Component,Ideal,IsOpen,LE.le,HasQuotient.Quotient,Submodule,HSMul.hSMul,Top.top, PatchingModule.componentMap,continuous_of_discreteTopologyand 43 more101 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- def
PatchingModule.constEquivline 517 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,IsTopologicalRing,CompactSpace,Ultrafilter,IsLocalRing,T2Space,IsNoetherianRing,AddCommGroup,Module,Module.Finite,LinearEquiv,RingHom.id, PatchingModuleProof uses:
LinearEquiv.ofBijective, PatchingModule.toConst21 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- class
IsPatchingSystemA family of modulesM iis a patching system along the filterFif for every open idealα ⊆ R, the annihilatorAnn (M i)isF-eventually contained inαline 534 sourceSource documentation
A family of modules
M iis a patching system along the filterFif for every open idealα ⊆ R, the annihilatorAnn (M i)isF-eventually contained inα.standard axioms: Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Filter3 instances, coercions and auxiliary constants left out.
class IsPatchingSystem (F : Filter ι) : Prop where …
- def
IsPatchingSystem.linearMapline 545 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank,LinearMap,RingHom.id,Fin, Module.UniformlyBoundedRank.rank,Submodule,HSMul.hSMul,Top.topProof uses: Pi.liftQuotientₗ, Module.UniformlyBoundedRank.linearMap
31 instances, coercions and auxiliary constants left out.
- lemma
IsPatchingSystem.linearMap_compLeftline 551 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Ultrafilter,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank,Fin, Module.UniformlyBoundedRank.rank,Eq,Submodule,HSMul.hSMul,Top.top,LinearMap,RingHom.id, IsPatchingSystem.linearMap,LinearMap.compLeft,Algebra.linearMapand 2 moreProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,LinearMap.ker,LinearEquiv,LinearEquiv.trans,Subtype,Membership.mem,LinearMap.range,LinearEquiv.symm,LinearEquiv.ofTop,LinearMap.quotKerEquivRange,Submodule.liftQ,LinearMap.comp,Submodule.mkQ,LinearMap.quotKerEquivRange_symm_apply_image,Eq.rec,trivialand 2 more77 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
IsPatchingSystem.linearMap_bijectiveline 558 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,AddCommGroup,Module,Ultrafilter,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank, IsPatchingSystem,IsOpen,Filter.Eventually,Function.Bijective,Fin, Module.UniformlyBoundedRank.rank,Submodule,HSMul.hSMul,Top.top,LinearMapand 2 moreProof uses:
Filter.mp_mem,Set.ofPred,LE.le,IsPatchingSystem.cond,Iff,Eq, Module.UniformlyBoundedRank.linearMap,OfNat.ofNat,Membership.mem,Set, Module.UniformlyBoundedRank.linearMap_eq_zero,Function.Surjective, Module.UniformlyBoundedRank.linearMap_surjective,Filter.univ_mem',id, Pi.liftQuotientₗ_bijective,LinearMap.ker,Eq.mpr,LinearMap.compLeft,Algebra.linearMapand 8 more82 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- def
PatchingModule.equivComponentline 569 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,IsTopologicalRing,CompactSpace,AddCommGroup,Module,Ultrafilter,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank, IsPatchingSystem,IsOpen,LinearEquiv,RingHom.id,Fin, Module.UniformlyBoundedRank.rank, PatchingModule.Component,Submoduleand 2 moreProof uses:
LinearEquiv.ofBijective,LinearMap.comp, UltraProduct, UltraProduct.πₗ,LinearMap.pi, IsPatchingSystem.linearMap69 instances, coercions and auxiliary constants left out.
- def
PatchingModule.mapOfIsPatchingSystemline 579 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,IsTopologicalRing,CompactSpace,AddCommGroup,Module,Ultrafilter,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank, IsPatchingSystem,LinearMap,RingHom.id,Fin, Module.UniformlyBoundedRank.rank, PatchingModuleProof uses:
LinearMap.codRestrict, OpenIdeals, PatchingModule.Component,IsOpen,Submodule,HSMul.hSMul,Top.top,Submodule.restrictScalars, PatchingModule.submodule,LinearMap.pi,LinearMap.comp, PatchingModule.equivComponent,LinearMap.compLeft,Algebra.linearMap,LE.le68 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
PatchingModule.continuous_ofPiline 587 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,IsTopologicalRing,CompactSpace,AddCommGroup,Module,Ultrafilter,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank, IsPatchingSystem,Continuous,Fin, Module.UniformlyBoundedRank.rank, PatchingModule,LinearMap,RingHom.id, PatchingModule.mapOfIsPatchingSystemProof uses:
LinearMap.continuous_on_pi42 instances, coercions and auxiliary constants left out.
- lemma
PatchingModule.mapOfIsPatchingSystem_bijectiveline 612 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,CompactSpace,AddCommGroup,Module,Ultrafilter,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank, IsPatchingSystem,NonarchimedeanRing,T2Space,Function.Bijective,Fin, Module.UniformlyBoundedRank.rank, PatchingModule,LinearMap,RingHom.idand 1 moreProof uses:
And.intro,Function.Injective,Function.Surjective,Eq.mpr,Eq,OfNat.ofNat,id,congrArg,propext,injective_iff_map_eq_zero,RingHom,funext, OpenIdeals, PatchingModule.Component,IsOpen,LinearEquiv,Submodule,HSMul.hSMul,Top.top, PatchingModule.equivComponent and 53 more120 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- instance
(instance at line 635)line 635 source - instance
(instance at line 638)line 638 source - lemma
PatchingModule.rank_patchingModuleline 643 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
TopologicalSpace,CommRing,CompactSpace,AddCommGroup,Module,Ultrafilter,Module.Free,HasQuotient.Quotient,Ideal,Module.annihilator, Module.UniformlyBoundedRank, IsPatchingSystem,NonarchimedeanRing,T2Space,Nontrivial,Eq,Cardinal,Module.rank, PatchingModule, Module.UniformlyBoundedRank.rankProof uses:
Eq.mp,Cardinal.lift,Fin,Eq.trans,congrArg,Cardinal.sum,rank_pi,HMul.hMul,Cardinal.mk,OfNat.ofNat,funext,Module.rank_self,Cardinal.sum_const,congr,Fintype.card,Cardinal.mk_fintype,Nat,Fintype.card_fin,Cardinal.lift_natCast,Cardinal.lift_uzeroand 7 more44 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.