FLT/Mathlib/Topology/Algebra/RestrictedProduct/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
18 declarations, 0 contain sorry, 0 declared as axioms
Restricted product of modules as a module over restricted product of rings
If R : ι → Type* is a family of rings, B : (i : ι) → Subring (R i) is a family of
subrings, M : ι → Type* is a family of types, with M i having an R i-module structure
and C : (i : ι) → Submodule (B i) (M i), then Πʳ i, [M i, C i]_[𝓕] has a
Πʳ i, [R i, B i]_[𝓕]-module structure.
Main definitions
RestrictedProduct.module'is the module structure defined above.RestrictedProduct.linearMapComponentis the componentM j →ₗ[R j] M' jgiven by a linear mapΠʳ i, [M i, C i]_[𝓕] →ₗ[Πʳ i, [R i, B i]_[𝓕]] Πʳ i, [M' i, C' i]_[𝓕].ContinuousLinearEquiv.restrictedProductPiis the continuous linear equivalence betweenΠʳ i, [(R i)^n, (B i)^n]andΠʳ i, [(R i), (B i)]^n.
Main theorems
RestrictedProduct.isOpenMap_linearMap_of_surjective: a condition for a linear map to be surjective based on properties of its components.Instances for
ContinuousSMul (Πʳ i, [R i, B i]_[𝓟 T]) (Πʳ i, [M i, C i]_[𝓟 T])andContinuousSMul (Πʳ i, [R i, B i]) (Πʳ i, [M i, C i]).RestrictedProduct.isModuleTopology:Πʳ i, [M i, C i]has theΠʳ i, [R i, B i]-module topology if(M i)have the(R i)-module topology and(B i)and(C i)are open.
Imports (10)
- FLT.Mathlib.Algebra.Module.Submodule.Basic
- Mathlib.Algebra.Lie.OfAssociative
- Mathlib.Topology.Algebra.Module.ModuleTopology
- Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace
- FLT.Mathlib.Topology.Algebra.Module.ModuleTopology
- FLT.Mathlib.Topology.Algebra.MulAction
- FLT.Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace
- Mathlib.CategoryTheory.Category.Init
- Mathlib.Data.Nat.Totient
- Mathlib.Tactic.Positivity.Finset
Imported by 3 files
- instance
RestrictedProduct.(instance at line 67)line 67 source - lemma
RestrictedProduct.smul_apply'line 73 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,Filter,AddCommGroup,Module,SMulMemClass,Subtype,Membership.mem,RestrictedProduct,Eq,HSMul.hSMulProof uses:
rfl54 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- instance
RestrictedProduct.(instance at line 77)line 77 source - lemma
RestrictedProduct.single_smulline 86 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,AddCommGroup,Module,AddSubgroupClass,SMulMemClass,Subtype,Membership.mem,DecidableEq,RestrictedProduct,Filter.cofinite,Eq,HSMul.hSMul,RestrictedProduct.singleProof uses:
RestrictedProduct.ext,Not,Or,em,of_eq_true,Eq.trans,True,congr,congrArg,congrFun',Pi.single_eq_same,eq_self,OfNat.ofNat,Zero,ZeroMemClass,RestrictedProduct.single_eq_of_ne',zero_smul86 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.smul_singleline 94 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,AddCommGroup,Module,AddSubgroupClass,SMulMemClass,Subtype,Membership.mem,DecidableEq,RestrictedProduct,Filter.cofinite,Eq,HSMul.hSMul,RestrictedProduct.singleProof uses:
RestrictedProduct.ext,Not,Or,em,of_eq_true,Eq.trans,True,congr,congrArg,Pi.single_eq_same,eq_self,OfNat.ofNat,Zero,ZeroMemClass,RestrictedProduct.single_eq_of_ne',smul_zero71 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.single_eq_smulline 101 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,AddCommGroup,Module,AddSubgroupClass,SMulMemClass,Subtype,Membership.mem,DecidableEq,RestrictedProduct,Filter.cofinite,Eq,HSMul.hSMul,RestrictedProduct.single,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg, RestrictedProduct.single_smul,RestrictedProduct.single.congr_simp,one_smul,eq_self86 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- def
RestrictedProduct.linearMapComponentComponents of a linear map line 116 sourceSource documentation
Components of a linear map.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,AddCommGroup,Module,AddSubgroupClass,SMulMemClass,Subtype,Membership.mem,DecidableEq,LinearMap,RestrictedProduct,Filter.cofinite,RingHom.idProof uses:
LinearMap.mk,AddHom.mk,RestrictedProduct.single67 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
noncomputable def linearMapComponent (f : Πʳ i, [M i, C i] →ₗ[Πʳ i, [R i, B i]] Πʳ i, [M₂ i, C₂ i]) (i : ι) : M i →ₗ[R i] M₂ i where … - lemma
RestrictedProduct.linearMap_component_applyline 127 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,AddCommGroup,Module,AddSubgroupClass,SMulMemClass,Subtype,Membership.mem,DecidableEq,LinearMap,RestrictedProduct,Filter.cofinite,RingHom.id,Eq, RestrictedProduct.linearMapComponent,RestrictedProduct.singleProof uses:
rfl65 instances, coercions and auxiliary constants left out.
- lemma
RestrictedProduct.linearMap_apply_eq_componentline 131 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,AddCommGroup,Module,AddSubgroupClass,SMulMemClass,Subtype,Membership.mem,DecidableEq,LinearMap,RestrictedProduct,Filter.cofinite,RingHom.id,Eq, RestrictedProduct.linearMapComponentProof uses:
Eq.mpr,RestrictedProduct.single,id,congrArg, RestrictedProduct.linearMap_component_apply,HSMul.hSMul,OfNat.ofNat,Eq.symm, RestrictedProduct.single_eq_smul,map_smul, RestrictedProduct.single_smul,RestrictedProduct.single_eq_same,one_smul,Eq.refl86 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- instance
RestrictedProduct.(instance at line 144)line 144 source - instance
RestrictedProduct.(instance at line 151)line 151 source - theorem
RestrictedProduct.isOpenMap_linearMap_of_surjectiveline 164 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,AddCommGroup,Module,AddSubgroupClass,SMulMemClass,Subtype,Membership.mem,TopologicalSpace,DecidableEq,IsOpen,LinearMap,RestrictedProduct,Filter.cofinite,RingHom.id,IsOpenMap, RestrictedProduct.linearMapComponent,Filter.Eventually,Set.SurjOnProof uses: RestrictedProduct.isOpenMap_of_open_components, RestrictedProduct.linearMap_apply_eq_component
59 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- def
RestrictedProduct.piSubringSubmoduleIfB iis subring ofR ithen(B i)^nis aB i-submodule of(R i)^nline 182 sourceSource documentation
If
B iis subring ofR ithen(B i)^nis aB i-submodule of(R i)^n.standard axioms: Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,Submodule,Subtype,Membership.memProof uses:
Submodule.pi,Set.univ, Subring.toSubmodule,Subring.ofClass18 instances, coercions and auxiliary constants left out.
def piSubringSubmodule (i : ι) : Submodule (B i) (n → R i) := …
- def
RestrictedProduct._root_.LinearEquiv.restrictedProductPiCanonical linear equivalence betweenΠ' R^nand(Π' R)^nline 187 sourceSource documentation
Canonical linear equivalence between
Π' R^nand(Π' R)^ndef _root_.LinearEquiv.restrictedProductPi [Fintype n] : Πʳ i, [n → R i, piSubringSubmodule B n i]_[ℱ] ≃ₗ[Πʳ i, [R i, B i]_[ℱ]] n → Πʳ i, [R i, B i]_[ℱ] where …Mentions: RestrictedProduct.piSubringSubmodule
- lemma
RestrictedProduct.isOpen_piSubringSubmoduleline 201 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,TopologicalSpace,Finite,IsOpen,Submodule,Subtype,Membership.mem, RestrictedProduct.piSubringSubmoduleProof uses:
Eq.mpr,Submodule.pi,Set.univ, Subring.toSubmodule,Subring.ofClass,id,Eq,congrArg,RestrictedProduct.piSubringSubmodule.eq_1,Set.pi,Set,Submodule.coe_pi,isOpen_set_pi,Set.finite_univ29 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- def
RestrictedProduct._root_.ContinuousLinearEquiv.restrictedProductPiCanonical continuous linear equivalence betweenΠ' R^nand(Π' R)^nline 212 sourceSource documentation
Canonical continuous linear equivalence between
Π' R^nand(Π' R)^ndef _root_.ContinuousLinearEquiv.restrictedProductPi [Fintype n] (hOpen : ∀ i, IsOpen (B i : Set (R i))) : Πʳ i, [n → R i, piSubringSubmodule B n i] ≃L[Πʳ i, [R i, B i]] n → Πʳ i, [R i, B i] where …Mentions: RestrictedProduct.piSubringSubmodule
- lemma
RestrictedProduct.moduleToplogy_of_prodline 227 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,TopologicalSpace,IsTopologicalRing,Finite,IsOpen,IsModuleTopology,RestrictedProduct,Filter.cofinite,Submodule,Subtype,Membership.mem, RestrictedProduct.piSubringSubmoduleProof uses:
Fintype,Fintype.ofFinite,Fact,Fact.mk,IsModuleTopology.iso,ContinuousLinearEquiv.symm,RingHom.id,ContinuousLinearEquiv.restrictedProductPi62 instances, coercions and auxiliary constants left out.
- theorem
RestrictedProduct.isModuleTopologyline 240 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,AddCommGroup,Module,AddSubgroupClass,SMulMemClass,Subtype,Membership.mem,TopologicalSpace,IsTopologicalRing,IsModuleTopology,Module.Finite,RestrictedProduct,Filter.cofinite,IsOpenProof uses:
Fact,Fact.mk,Nat,Exists,LinearMap,RingHom.id,Fin,Function.Surjective,Module.Finite.exists_fin',ContinuousLinearEquiv,Submodule, RestrictedProduct.piSubringSubmodule,ContinuousLinearEquiv.restrictedProductPi,LinearMap.comp,ContinuousAdd,IsModuleTopology.toContinuousAdd,ContinuousSMul, RestrictedProduct.moduleToplogy_of_prod,Function.Surjective.comp,ContinuousLinearEquiv.surjectiveand 19 more126 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.