FLT/Mathlib/Topology/Algebra/RestrictedProduct/Basic.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
23 declarations, 0 contain sorry, 0 declared as axioms
Basic
Material destined for Mathlib.
Imports (5)
Imported by 6 files
- def
RestrictedProduct.mapAlongLinearMapDocumented declaration: mapAlongLinearMap line 64 sourceSource documentation
Given two restricted products
Πʳ (i : ι₁), [R₁ i, B₁ i]_[𝓕₁]andΠʳ (j : ι₂), [R₂ j, B₂ j]_[𝓕₂]ofA-modules,RestrictedProduct.mapAlongLinearMapgives anA-linear map between them. The data needed is a functionf : ι₂ → ι₁such that𝓕₂tends to𝓕₁alongf, andA-linear mapsφ j : R₁ (f j) → R₂ jsendingB₁ (f j)intoB₂ jfor an𝓕₂-large set ofj's.standard axioms: Quot.sound, propext what this means
Statement uses:
Filter,SetLike,Filter.Tendsto,Semiring,AddCommMonoid,Module,AddSubmonoidClass,SMulMemClass,LinearMap,RingHom.id,Filter.Eventually,Set.MapsTo,RestrictedProductProof uses:
AddMonoidHom,RestrictedProduct.mapAlongAddMonoidHom,LinearMap.mk,AddHom.mk,ZeroHom.toFun39 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def RestrictedProduct.mapAlongLinearMap : Πʳ i, [R₁ i, B₁ i]_[𝓕₁] →ₗ[A] Πʳ j, [R₂ j, B₂ j]_[𝓕₂] where … - lemma
RestrictedProduct.mapAlongLinearMap_applyline 72 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Filter,SetLike,Filter.Tendsto,Semiring,AddCommMonoid,Module,AddSubmonoidClass,SMulMemClass,LinearMap,RingHom.id,Filter.Eventually,Set.MapsTo,RestrictedProduct,Eq, RestrictedProduct.mapAlongLinearMapProof uses:
rfl32 instances, coercions and auxiliary constants left out.
- def
RestrictedProduct.inclusionLinearMapDocumented declaration: inclusionLinearMap line 84 sourceSource documentation
A linear map version of
RestrictedProduct.inclusion: if𝓕 ≤ 𝓖then there's a linear mapΠʳ i, [R i, C i]_[𝓖] →ₗ[A] Πʳ i, [R i, C i]_[𝓕]where theR iareA-modules and theC iare submodules.standard axioms: Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Submodule,Filter,LE.le,LinearMap,RingHom.id,RestrictedProductProof uses: RestrictedProduct.mapAlongLinearMap,
id,LinearMap.id23 instances, coercions and auxiliary constants left out.
def RestrictedProduct.inclusionLinearMap {𝓕 𝓖 : Filter ι} (h : 𝓕 ≤ 𝓖) : Πʳ i, [R i, C i]_[𝓖] →ₗ[A] Πʳ i, [R i, C i]_[𝓕] := … - lemma
inclusionLinearMap_applyline 90 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Submodule,Filter,LE.le,RestrictedProduct,Eq,LinearMap,RingHom.id, RestrictedProduct.inclusionLinearMap,Subtype.mk,Filter.Eventually,Membership.mem,Set,Filter.Eventually.filter_mono,Subtype.propertyProof uses:
rfl32 instances, coercions and auxiliary constants left out.
- def
RestrictedProduct.mulSupportline 118 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,One,RestrictedProduct,Filter.cofinite,SetProof uses:
Set.ofPred,Ne,OfNat.ofNat5 instances, coercions and auxiliary constants left out.
- lemma
RestrictedProduct.not_mem_mulSupportline 123 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,One,RestrictedProduct,Filter.cofinite,Iff,Not,Membership.mem,Set, RestrictedProduct.mulSupport,Eq,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,iff_self11 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.mul_comm_of_disjoint_mulSupportline 128 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Monoid,SubmonoidClass,RestrictedProduct,Filter.cofinite,Eq,Set,Inter.inter, RestrictedProduct.mulSupport,EmptyCollection.emptyCollection,HMul.hMulProof uses:
RestrictedProduct.ext,Not,Membership.mem,Or,And,Iff.mp,Iff,Decidable.iff_iff_and_or_not_and_not,Eq.mp,congrArg,propext,Set.ext_iff,False.elim,False,Iff.mpr,Classical.or_iff_not_imp_left,And.intro,Decidable.of_not_not,Classical.propDecidable,of_eq_trueand 9 more28 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.mulSupport_mul_subsetline 142 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Monoid,SubmonoidClass,RestrictedProduct,Filter.cofinite,Set,LE.le, RestrictedProduct.mulSupport,HMul.hMulProof uses:
Membership.mem,Mathlib.Tactic.Contrapose.contrapose₁,Not,of_eq_true,Eq.trans,Eq,OfNat.ofNat,True,congrFun',congrArg,congr,Iff.mp, RestrictedProduct.not_mem_mulSupport,mul_one,eq_self23 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.mulSupport_invline 151 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Group,SubgroupClass,RestrictedProduct,Filter.cofinite,Eq,Set, RestrictedProduct.mulSupport,Inv.invProof uses:
Set.ext,id,Iff,Membership.mem,inv_ne_one21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- def
RestrictedProduct.SubmonoidClass.isProductAtA submonoidUof a resticted product of monoids is a product atiifUcan be written as Uᵢ × Uⁱ with Uᵢ supported at the i'th component and Uⁱ supported away fromiline 163 sourceSource documentation
A submonoid
Uof a resticted product of monoids is a product atiifUcan be written as Uᵢ × Uⁱ with Uᵢ supported at the i'th component and Uⁱ supported away fromi.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Monoid,SubmonoidClass,RestrictedProduct,Filter.cofiniteProof uses:
Membership.mem,Exists,And,Eq,HMul.hMul,LE.le,Set, RestrictedProduct.mulSupport,Singleton.singleton,Not14 instances, coercions and auxiliary constants left out.
def SubmonoidClass.isProductAt (U : T) (i : ι) : Prop := …
- lemma
RestrictedProduct.mem_coset_and_mulSupport_subset_of_isProductAtIfUis a product atiandgis supported atithenUgUcan be written as a disjoint union of cosetsgᵢUwith thegᵢsupported atiline 174 sourceSource documentation
If
Uis a product atiandgis supported atithenUgUcan be written as a disjoint union of cosetsgᵢUwith thegᵢsupported ati.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Group,SubgroupClass,RestrictedProduct,Filter.cofinite, RestrictedProduct.SubmonoidClass.isProductAt,LE.le,Set, RestrictedProduct.mulSupport,Singleton.singleton,Membership.mem,HMul.hMul,Set.mul,HSMul.hSMul,Set.smulSet,Exists,AndProof uses:
Eq,Not,Exists.intro,And.intro,Inv.inv,MulMemClass.mul_mem,InvMemClass.inv_mem, RestrictedProduct.mul_comm_of_disjoint_mulSupport,Eq.mpr,Inter.inter,EmptyCollection.emptyCollection,id,congrArg, RestrictedProduct.mulSupport_inv,propext,Set.eq_empty_iff_forall_notMem,False,Eq.mp,of_eq_true,Eq.transand 7 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
lemma mem_coset_and_mulSupport_subset_of_isProductAt {U : T} (i : ι) (g : Πʳ i, [G i, A i]) (hU : SubmonoidClass.isProductAt U i) (hg : mulSupport g ⊆ {i}) (γ : Πʳ i, [G i, A i]) (hγ : γ ∈ U * g • (U : Set (Πʳ i, [G i, A i]))) : ∃ δ, δ ∈ γ • (U : Set (Πʳ i, [G i, A i])) ∧ mulSupport δ ⊆ {i} := by …Mentions: RestrictedProduct.SubmonoidClass.isProductAt, RestrictedProduct.mulSupport
- def
RestrictedProduct.indexSupportline 196 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,RestrictedProduct,Filter.cofinite,FinsetProof uses:
Set.Finite.toFinset,Set.ofPred,Not,Membership.mem6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
RestrictedProduct.mem_indexSupport_iffline 200 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,RestrictedProduct,Filter.cofinite,Iff,Membership.mem,Finset, RestrictedProduct.indexSupport,NotProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Set.ofPred,iff_self12 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.components_comp_coe_eq_coe_applyline 216 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Filter,Set,RestrictedProduct,Eq,Function.compProof uses:
funext,of_eq_true,Eq.trans,True,congrArg,eq_self4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.exists_updateline 220 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,RestrictedProduct,Membership.mem,Compl.compl,Singleton.singleton,Exists,And,Eq,NeProof uses:
Exists.intro,Subtype.mk,Filter.Eventually,dite,Classical.propDecidable,Eq.rec,Eq.symm,Not,Filter.mp_mem,Set.ofPred,Subtype.property,Filter.univ_mem',id,Eq.mpr,congrArg,dite_eq_right_of_eq_false,eq_false,of_eq_true,Eq.trans,Trueand 15 more13 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.exists_apply_eqline 229 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Nonempty,Membership.mem,Compl.compl,Singleton.singleton,Exists,RestrictedProduct,EqProof uses:
Subtype.mk,Filter.Eventually,Classical.ofNonempty,Filter.Eventually.of_forall,Subtype.coe_prop,And,Ne, RestrictedProduct.exists_update,Exists.intro16 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.surjective_components_of_surjectiveline 239 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,RestrictedProduct,Eq,Nonempty,Function.Surjective,Membership.mem,Compl.compl,Singleton.singletonProof uses:
Exists, RestrictedProduct.exists_apply_eq,Exists.intro,Eq.mpr,id,congrArg,Eq.symm,Eq.refl13 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
RestrictedProduct.eventually_surjOn_of_surjectiveline 248 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Eq,Filter.comap,RestrictedProduct,Nonempty,Function.Surjective,Filter.Eventually,Set.SurjOnProof uses:
Exists,Membership.mem,dite,Classical.propDecidable,Exists.intro,Classical.choice,inferInstance,Not,And,Set.image,Eq.mp,LE.le,congrArg,propext,Set.not_subset_iff_exists_mem_notMem,Set.SurjOn.eq_1,Subtype.mk,absurd,And.intro,Filter.Eventually.of_foralland 15 more13 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- def
RestrictedProduct.structureMapMonoidHomline 276 sourcestandard axioms: Quot.sound what this means
Statement uses:
Monoid,SetLike,SubmonoidClass,Filter,MonoidHom,Subtype,Membership.mem,RestrictedProduct,Submonoid,Submonoid.ofClassProof uses:
MonoidHom.mk,OneHom.mk,RestrictedProduct.structureMap21 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
RestrictedProduct.structureMapRingHomThe structure map for a restricted product of ring line 284 sourceSource documentation
The structure map for a restricted product of ring.
standard axioms: Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,Filter,RingHom,Subtype,Membership.mem,RestrictedProduct,Subring,Subring.ofClassProof uses:
RingHom.mk,MonoidHom.mk,OneHom.mk,RestrictedProduct.structureMap28 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
def structureMapRingHom {ι : Type*} (M : ι → Type*) [(i : ι) → Ring (M i)] {S : ι → Type*} [∀ i, SetLike (S i) (M i)] [∀ i, SubringClass (S i) (M i)] (A : Π i, S i) (𝓕 : Filter ι) : ((i : ι) → (A i)) →+* Πʳ (i : ι), [M i, Subring.ofClass (A i)]_[𝓕] where … - lemma
RestrictedProduct.structureMapRingHom_apply_applyline 294 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Ring,SetLike,SubringClass,Filter,Subtype,Membership.mem,Eq,RestrictedProduct,Subring,Subring.ofClass,RingHom, RestrictedProduct.structureMapRingHomProof uses:
rfl27 instances, coercions and auxiliary constants left out.
- def
RestrictedProduct.structureSubringThe subring∏ i, A iinsideΠʳ i, [R i, A i]_[𝓕]line 299 sourceSource documentation
The subring
∏ i, A iinsideΠʳ i, [R i, A i]_[𝓕].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,SetLike,Ring,SubringClass,Subring,RestrictedProductProof uses:
RingHom.range,Subtype,Membership.mem,Subring.ofClass, RestrictedProduct.structureMapRingHom11 instances, coercions and auxiliary constants left out.
def structureSubring {ι : Type*} (R : ι → Type*) {S : ι → Type*} (A : (i : ι) → (S i)) (𝓕 : Filter ι) [(i : ι) → SetLike (S i) (R i)] [(i : ι) → Ring (R i)] [(i : ι) → SubringClass (S i) (R i)] : Subring (Πʳ i, [R i, A i]_[𝓕]) := … - theorem
RestrictedProduct.mem_structureSubring_iffline 306 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,SetLike,Ring,SubringClass,RestrictedProduct,Iff,Membership.mem,Subring, RestrictedProduct.structureSubringProof uses:
Eq.mpr,RingHom.range,Subtype,Subring.ofClass, RestrictedProduct.structureMapRingHom,id,Eq,congrArg,RestrictedProduct.structureSubring.eq_1,Set,Set.range,RestrictedProduct.structureMap,Set.ofPred,Filter.Eventually,RestrictedProduct.range_structureMap,congrFun',funext,forall_congr,Iff.rfl21 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.