FLT/Mathlib/Topology/Algebra/RestrictedProduct/Equiv.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
43 declarations, 0 contain sorry, 0 declared as axioms
Isomorphisms of restricted products
Restricted products of isomorphic things are isomorphic.
Restricted products of matrices/products/units are isomorphic to matrices/products/units of the restricted product.
Restricted product over a principal filter is isomorphic to a product.
We don't allow topological isomorphisms; they have to go into TopologicalSpace because of imports.
Imports (4)
Imported by 3 files
- def
Equiv.restrictedProductCongrRightThe equivalence between restricted products on the same index, when each factor is equivalent, with compatibility on the restricted subsets line 44 sourceSource documentation
The equivalence between restricted products on the same index, when each factor is equivalent, with compatibility on the restricted subsets.
standard axioms: Quot.sound, propext what this means
Statement uses:
Set,Filter,Equiv,Filter.Eventually,Set.BijOn,RestrictedProductProof uses:
Equiv.mk,RestrictedProduct.map,Equiv.symm10 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
def Equiv.restrictedProductCongrRight (φ : (i : ι) → R₁ i ≃ R₂ i) (hφ : ∀ᶠ i in 𝓕, Set.BijOn (φ i) (A₁ i) (A₂ i)) : Πʳ i, [R₁ i, A₁ i]_[𝓕] ≃ Πʳ i, [R₂ i, A₂ i]_[𝓕] where … - def
MulEquiv.restrictedProductCongrRightline 62 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Monoid,SubmonoidClass,MulEquiv,Filter.Eventually,Set.BijOn,RestrictedProductProof uses:
Equiv, Equiv.restrictedProductCongrRight,MulEquiv.toEquiv,MulEquiv.mk19 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
MulEquiv.restrictedProductUnitsThe isomorphism between the units of a restricted product of monoids, and the restricted product of the units of the monoids line 70 sourceSource documentation
The isomorphism between the units of a restricted product of monoids, and the restricted product of the units of the monoids.
standard axioms: Quot.sound, propext what this means
Statement uses:
Filter,Monoid,SetLike,SubmonoidClass,MulEquiv,Units,RestrictedProduct,Subgroup,Submonoid.units,Submonoid.ofClassProof uses:
MulEquiv.mk,Equiv.mk,Subtype.mk,Filter.Eventually,Membership.mem,Set,Units.mk,Inv.inv37 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
def MulEquiv.restrictedProductUnits {ι : Type*} {ℱ : Filter ι} {M : ι → Type*} [(i : ι) → Monoid (M i)] {S : ι → Type*} [∀ i, SetLike (S i) (M i)] [∀ i, SubmonoidClass (S i) (M i)] {A : Π i, S i} : (Πʳ i, [M i, A i]_[ℱ])ˣ ≃* Πʳ i, [(M i)ˣ, (Submonoid.ofClass (A i)).units]_[ℱ] where … - def
RingEquiv.restrictedProductCongrRightThe ring isomorphism between restricted products on the same index, when each factor is equivalent, with compatibility on the restricted subsets line 97 sourceSource documentation
The ring isomorphism between restricted products on the same index, when each factor is equivalent, with compatibility on the restricted subsets.
standard axioms: Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,SubsemiringClass,RingEquiv,Filter.Eventually,Set.BijOn,RestrictedProductProof uses:
AddEquiv,AddEquiv.restrictedProductCongrRight,RingEquiv.toAddEquiv,RingEquiv.mk,AddEquiv.toEquiv41 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def RingEquiv.restrictedProductCongrRight (φ : (i : ι) → R₁ i ≃+* R₂ i) (hφ : ∀ᶠ i in 𝓕, Set.BijOn (φ i) (A₁ i) (A₂ i)) : (Πʳ i, [R₁ i, A₁ i]_[𝓕]) ≃+* (Πʳ i, [R₂ i, A₂ i]_[𝓕]) where … - def
LinearEquiv.restrictedProductCongrRightTheLinearEquivbetween restricted products built fromLinearEquivs on the factors line 115 sourceSource documentation
The
LinearEquivbetween restricted products built fromLinearEquivs on the factors.standard axioms: Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,AddCommMonoid,Module,AddSubmonoidClass,SMulMemClass,LinearEquiv,RingHom.id,Filter.Eventually,Set.BijOn,RestrictedProductProof uses:
AddEquiv,AddEquiv.restrictedProductCongrRight,LinearEquiv.toAddEquiv,LinearEquiv.mk,LinearMap.mk,AddHom.mk,Equiv.toFun,AddEquiv.toEquiv,Equiv.invFun45 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
def LinearEquiv.restrictedProductCongrRight (φ : (i : ι) → R₁ i ≃ₗ[T] R₂ i) (hφ : ∀ᶠ i in 𝓕, Set.BijOn (φ i) (A₁ i) (A₂ i)) : (Πʳ i, [R₁ i, A₁ i]_[𝓕]) ≃ₗ[T] (Πʳ i, [R₂ i, A₂ i]_[𝓕]) where … - def
Equiv.restrictedProductCongrLeft'The equivalence between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters line 140 sourceSource documentation
The equivalence between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the right-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Equiv,Eq,Filter.map,RestrictedProduct,Equiv.symmProof uses:
Equiv.mk,Subtype.mk,Filter.Eventually,Membership.mem,Equiv.piCongrLeft'12 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
def Equiv.restrictedProductCongrLeft' (e : ι₁ ≃ ι₂) (h : 𝓕₂ = 𝓕₁.map e) : Πʳ i, [R₁ i, A₁ i]_[𝓕₁] ≃ Πʳ j, [R₁ (e.symm j), A₁ (e.symm j)]_[𝓕₂] where … - theorem
Equiv.restrictedProductCongrLeft'_symm_apply_applyline 158 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Equiv,Eq,Filter.map,RestrictedProduct,Equiv.symm, Equiv.restrictedProductCongrLeft'Proof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Subtype.mk,Filter.Eventually,Membership.mem,Equiv.piCongrLeft',congrFun,Equiv.restrictedProductCongrLeft'_symm_apply,Equiv.piCongrLeft'_symm_apply_apply,eq_self10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- def
Equiv.restrictedProductCongrLeftThe equivalence between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters line 166 sourceSource documentation
The equivalence between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the left-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Equiv,Eq,Filter.comap,RestrictedProductProof uses:
Equiv.symm, Equiv.restrictedProductCongrLeft'7 instances, coercions and auxiliary constants left out.
def Equiv.restrictedProductCongrLeft (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) : Πʳ i, [R₂ (e i), A₂ (e i)]_[𝓕₁] ≃ Πʳ j, [R₂ j, A₂ j]_[𝓕₂] := … - theorem
Equiv.restrictedProductCongrLeft_apply_applyline 171 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Equiv,Eq,Filter.comap,RestrictedProduct, Equiv.restrictedProductCongrLeftProof uses: Equiv.restrictedProductCongrLeft'_symm_apply_apply,
Equiv.symm,Eq.rec,Filter.map,Eq.symm,Filter.map_equiv_symm7 instances, coercions and auxiliary constants left out.
- def
AddEquiv.restrictedProductCongrLeft'Documented declaration: restrictedProductCongrLeft' line 189 sourceSource documentation
The additive monoid isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the right-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,AddMonoid,AddSubmonoidClass,Equiv,Eq,Filter.map,AddEquiv,RestrictedProduct,Equiv.symmProof uses: Equiv.restrictedProductCongrLeft',
AddEquiv.mk20 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def AddEquiv.restrictedProductCongrLeft' (e : ι₁ ≃ ι₂) (h : 𝓕₂ = 𝓕₁.map e) : (Πʳ i, [R₁ i, A₁ i]_[𝓕₁]) ≃+ (Πʳ j, [R₁ (e.symm j), A₁ (e.symm j)]_[𝓕₂]) where … - def
AddEquiv.restrictedProductCongrLeftDocumented declaration: restrictedProductCongrLeft line 197 sourceSource documentation
The additive monoid isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the left-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,AddMonoid,AddSubmonoidClass,Equiv,Eq,Filter.comap,AddEquiv,RestrictedProductProof uses: Equiv.restrictedProductCongrLeft,
AddEquiv.mk,Equiv.mk,Equiv.toFun,Equiv.invFun22 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def AddEquiv.restrictedProductCongrLeft (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) : Πʳ i, [R₂ (e i), A₂ (e i)]_[𝓕₁] ≃+ Πʳ j, [R₂ j, A₂ j]_[𝓕₂] where … - def
MulEquiv.restrictedProductCongrLeft'Documented declaration: restrictedProductCongrLeft' line 220 sourceSource documentation
The multiplicative monoid isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the right-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Monoid,SubmonoidClass,Equiv,Eq,Filter.map,MulEquiv,RestrictedProduct,Equiv.symmProof uses: Equiv.restrictedProductCongrLeft',
MulEquiv.mk20 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
def MulEquiv.restrictedProductCongrLeft' (e : ι₁ ≃ ι₂) (h : 𝓕₂ = 𝓕₁.map e) : (Πʳ i, [R₁ i, A₁ i]_[𝓕₁]) ≃* (Πʳ j, [R₁ (e.symm j), A₁ (e.symm j)]_[𝓕₂]) where … - def
MulEquiv.restrictedProductCongrLeftDocumented declaration: restrictedProductCongrLeft line 228 sourceSource documentation
The multiplicative monoid isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the left-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Monoid,SubmonoidClass,Equiv,Eq,Filter.comap,MulEquiv,RestrictedProductProof uses: Equiv.restrictedProductCongrLeft,
MulEquiv.mk,Equiv.mk,Equiv.toFun,Equiv.invFun22 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def MulEquiv.restrictedProductCongrLeft (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) : Πʳ i, [R₂ (e i), A₂ (e i)]_[𝓕₁] ≃* Πʳ j, [R₂ j, A₂ j]_[𝓕₂] where … - def
RingEquiv.restrictedProductCongrLeft'The ring isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters line 248 sourceSource documentation
The ring isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the right-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,SubsemiringClass,Equiv,Eq,Filter.map,RingEquiv,RestrictedProduct,Equiv.symmProof uses:
AddEquiv, AddEquiv.restrictedProductCongrLeft',RingEquiv.mk,AddEquiv.toEquiv42 instances, coercions and auxiliary constants left out.
def RingEquiv.restrictedProductCongrLeft' (e : ι₁ ≃ ι₂) (h : 𝓕₂ = 𝓕₁.map e) : (Πʳ i, [R₁ i, A₁ i]_[𝓕₁]) ≃+* (Πʳ j, [R₁ (e.symm j), A₁ (e.symm j)]_[𝓕₂]) where … - def
RingEquiv.restrictedProductCongrLeftThe ring isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters line 256 sourceSource documentation
The ring isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the right-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,SubsemiringClass,Equiv,Eq,Filter.comap,RingEquiv,RestrictedProductProof uses:
AddEquiv, AddEquiv.restrictedProductCongrLeft,RingEquiv.mk,AddEquiv.toEquiv42 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def RingEquiv.restrictedProductCongrLeft (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) : Πʳ i, [R₂ (e i), A₂ (e i)]_[𝓕₁] ≃+* Πʳ j, [R₂ j, A₂ j]_[𝓕₂] where … - def
LinearEquiv.restrictedProductCongrLeft'The linear isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters line 279 sourceSource documentation
The linear isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the right-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,AddCommMonoid,Module,AddSubmonoidClass,SMulMemClass,Equiv,Eq,Filter.map,LinearEquiv,RingHom.id,RestrictedProduct,Equiv.symmProof uses:
AddEquiv, AddEquiv.restrictedProductCongrLeft',LinearEquiv.mk,LinearMap.mk,AddHom.mk,Equiv.toFun,AddEquiv.toEquiv,Equiv.invFun48 instances, coercions and auxiliary constants left out.
def LinearEquiv.restrictedProductCongrLeft' (e : ι₁ ≃ ι₂) (h : 𝓕₂ = 𝓕₁.map e) : (Πʳ i, [R₁ i, A₁ i]_[𝓕₁]) ≃ₗ[T] (Πʳ j, [R₁ (e.symm j), A₁ (e.symm j)]_[𝓕₂]) where … - def
LinearEquiv.restrictedProductCongrLeftThe linear isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters line 287 sourceSource documentation
The linear isomorphism between restricted products on the same factors on different indices, when the indices are equivalent, with compatibility on the restriction filters. Applying the equivalence on the left-hand side.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,AddCommMonoid,Module,AddSubmonoidClass,SMulMemClass,Equiv,Eq,Filter.comap,LinearEquiv,RingHom.id,RestrictedProductProof uses:
AddEquiv, AddEquiv.restrictedProductCongrLeft,LinearEquiv.mk,LinearMap.mk,AddHom.mk,Equiv.toFun,AddEquiv.toEquiv,Equiv.invFun48 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def LinearEquiv.restrictedProductCongrLeft (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) : Πʳ i, [R₂ (e i), A₂ (e i)]_[𝓕₁] ≃ₗ[T] Πʳ j, [R₂ j, A₂ j]_[𝓕₂] where … - def
Equiv.restrictedProductCongrThe equivalence between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors line 309 sourceSource documentation
The equivalence between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Equiv,Eq,Filter.comap,Filter.Eventually,Set.BijOn,RestrictedProductProof uses:
Equiv.trans, Equiv.restrictedProductCongrRight, Equiv.restrictedProductCongrLeft6 instances, coercions and auxiliary constants left out.
def Equiv.restrictedProductCongr (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) (φ : (i : ι₁) → R₁ i ≃ R₂ (e i)) (hφ : ∀ᶠ i in 𝓕₁, Set.BijOn (φ i) (A₁ i) (A₂ (e i))) : Πʳ i, [R₁ i, A₁ i]_[𝓕₁] ≃ Πʳ j, [R₂ j, A₂ j]_[𝓕₂] := … - theorem
Equiv.restrictedProductCongr_apply_applyline 317 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Equiv,Eq,Filter.comap,Filter.Eventually,Set.BijOn,RestrictedProduct, Equiv.restrictedProductCongrProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg, Equiv.restrictedProductCongrLeft,RestrictedProduct.map,congrFun, Equiv.restrictedProductCongrRight,Equiv.restrictedProductCongrRight_apply, Equiv.restrictedProductCongrLeft_apply_apply,eq_self9 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Equiv.restrictedProductCongr_symm_applyline 326 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Equiv,Eq,Filter.comap,Filter.Eventually,Set.BijOn,RestrictedProduct,Equiv.symm, Equiv.restrictedProductCongrProof uses:
rfl8 instances, coercions and auxiliary constants left out.
- def
AddEquiv.restrictedProductCongrThe additive monoid isomorphism between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors line 347 sourceSource documentation
The additive monoid isomorphism between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,AddMonoid,AddSubmonoidClass,Equiv,Eq,Filter.comap,AddEquiv,Filter.Eventually,Set.BijOn,RestrictedProductProof uses: Equiv.restrictedProductCongr,
AddEquiv.toEquiv,AddEquiv.mk21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def AddEquiv.restrictedProductCongr (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) (φ : (i : ι₁) → R₁ i ≃+ R₂ (e i)) (hφ : ∀ᶠ i in 𝓕₁, Set.BijOn (φ i) (A₁ i) (A₂ (e i))) : (Πʳ i, [R₁ i, A₁ i]_[𝓕₁]) ≃+ (Πʳ j, [R₂ j, A₂ j]_[𝓕₂]) where … - def
MulEquiv.restrictedProductCongrDocumented declaration: restrictedProductCongr line 364 sourceSource documentation
The multiplicative monoid isomorphism between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Monoid,SubmonoidClass,Equiv,Eq,Filter.comap,MulEquiv,Filter.Eventually,Set.BijOn,RestrictedProductProof uses: Equiv.restrictedProductCongr,
MulEquiv.toEquiv,MulEquiv.mk21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def MulEquiv.restrictedProductCongr (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) (φ : (i : ι₁) → R₁ i ≃* R₂ (e i)) (hφ : ∀ᶠ i in 𝓕₁, Set.BijOn (φ i) (A₁ i) (A₂ (e i))) : (Πʳ i, [R₁ i, A₁ i]_[𝓕₁]) ≃* (Πʳ j, [R₂ j, A₂ j]_[𝓕₂]) where … - def
RingEquiv.restrictedProductCongrThe ring isomorphism between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors line 382 sourceSource documentation
The ring isomorphism between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,SubsemiringClass,Equiv,Eq,Filter.comap,RingEquiv,Filter.Eventually,Set.BijOn,RestrictedProductProof uses:
AddEquiv, AddEquiv.restrictedProductCongr,RingEquiv.toAddEquiv,RingEquiv.mk,AddEquiv.toEquiv42 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def RingEquiv.restrictedProductCongr (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) (φ : (i : ι₁) → R₁ i ≃+* R₂ (e i)) (hφ : ∀ᶠ i in 𝓕₁, Set.BijOn (φ i) (A₁ i) (A₂ (e i))) : (Πʳ i, [R₁ i, A₁ i]_[𝓕₁]) ≃+* (Πʳ j, [R₂ j, A₂ j]_[𝓕₂]) where … - theorem
RingEquiv.restrictedProductCongr_apply_applyline 391 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,SubsemiringClass,Equiv,Eq,Filter.comap,RingEquiv,Filter.Eventually,Set.BijOn,RestrictedProduct, RingEquiv.restrictedProductCongrProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg, Equiv.restrictedProductCongrLeft,RestrictedProduct.map,AddEquiv,Set.MapsTo,RingEquiv.toAddEquiv,id,Eq.refl,congrFun, AddEquiv.restrictedProductCongr, Equiv.restrictedProductCongrRight,AddEquiv.restrictedProductCongr_apply,Equiv.restrictedProductCongrRight_apply, Equiv.restrictedProductCongrLeft_apply_apply,eq_self54 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
RingEquiv.restrictedProductCongr_symm_applyline 400 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,SubsemiringClass,Equiv,Eq,Filter.comap,RingEquiv,Filter.Eventually,Set.BijOn,RestrictedProduct,RingEquiv.symm, RingEquiv.restrictedProductCongrProof uses:
rfl44 instances, coercions and auxiliary constants left out.
- def
LinearEquiv.restrictedProductCongrThe linear isomorphism between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors line 421 sourceSource documentation
The linear isomorphism between restricted products when the indices and factors are equivalent, provided compatibility criteria on the restriction filters and factors.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Semiring,AddCommMonoid,Module,AddSubmonoidClass,SMulMemClass,Equiv,Eq,Filter.comap,LinearEquiv,RingHom.id,Filter.Eventually,Set.BijOn,RestrictedProductProof uses:
AddEquiv, AddEquiv.restrictedProductCongr,LinearEquiv.toAddEquiv,LinearEquiv.mk,LinearMap.mk,AddHom.mk,Equiv.toFun,AddEquiv.toEquiv,Equiv.invFun47 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def LinearEquiv.restrictedProductCongr (e : ι₁ ≃ ι₂) (h : 𝓕₁ = 𝓕₂.comap e) (φ : (i : ι₁) → R₁ i ≃ₗ[T] R₂ (e i)) (hφ : ∀ᶠ i in 𝓕₁, Set.BijOn (φ i) (A₁ i) (A₂ (e i))) : (Πʳ i, [R₁ i, A₁ i]_[𝓕₁]) ≃ₗ[T] (Πʳ j, [R₂ j, A₂ j]_[𝓕₂]) where … - theorem
RingEquiv.restrictedProductCongr_bijOn_structureSubringline 445 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SetLike,Filter,Ring,SubringClass,Equiv,Eq,Filter.comap,RingEquiv,Set.BijOn,RestrictedProduct, RingEquiv.restrictedProductCongr,Filter.Eventually.of_forall,Subring, RestrictedProduct.structureSubringProof uses:
Set.MapsTo,Set.BijOn.mapsTo,Equiv.symm,RingEquiv.toEquiv,Set.BijOn.symm,Equiv.invOn,And.intro,And,Set.InjOn,Set.SurjOn,Membership.mem,Set,Iff.mpr, RestrictedProduct.mem_structureSubring_iff,Exists,Equiv.surjective,Eq.rec,Eq.symm,Eq.mpr,Eq.refland 17 more59 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- def
Equiv.restrictedProductProdThe bijection between a restricted product of binary products, and the binary product of the restricted products line 468 sourceSource documentation
The bijection between a restricted product of binary products, and the binary product of the restricted products.
standard axioms: Quot.sound, propext what this means
Statement uses:
Filter,Set,Equiv,RestrictedProduct,Prod,SProd.sprodProof uses:
Equiv.mk,Prod.mk,RestrictedProduct.map,Prod.fst,Prod.snd,Subtype.mk,Filter.Eventually,Membership.mem10 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
def Equiv.restrictedProductProd : Πʳ i, [A i × B i, C i ×ˢ D i]_[ℱ] ≃ (Πʳ i, [A i, C i]_[ℱ]) × (Πʳ i, [B i, D i]_[ℱ]) where … - lemma
Equiv.restrictedProductProd_symm_comp_inclusionline 478 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Set,Filter,LE.le,Eq,Prod,RestrictedProduct,SProd.sprod,Function.comp,Equiv,Equiv.symm, Equiv.restrictedProductProd,Prod.map,RestrictedProduct.inclusionProof uses:
rfl14 instances, coercions and auxiliary constants left out.
- def
Equiv.restrictedProductPiThe bijection between a restricted product of finite products, and a finite product of restricted products line 497 sourceSource documentation
The bijection between a restricted product of finite products, and a finite product of restricted products.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Fintype,Set,Equiv,RestrictedProduct,Set.ofPred,Membership.memProof uses:
Equiv.mk,RestrictedProduct.map,RestrictedProduct.mk8 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
def Equiv.restrictedProductPi : Πʳ i, [Π j, A j i, {f | ∀ j, f j ∈ C j i}]_[ℱ] ≃ Π j, Πʳ i, [A j i, C j i]_[ℱ] where … - lemma
Equiv.restrictedProductPi_symm_comp_inclusionline 504 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,Set,Filter,LE.le,Eq,RestrictedProduct,Set.ofPred,Membership.mem,Function.comp,Equiv,Equiv.symm, Equiv.restrictedProductPi,Pi.map,RestrictedProduct.inclusionProof uses:
rfl14 instances, coercions and auxiliary constants left out.
- def
Equiv.restrictedProductMatrixThe bijection between a restricted product of m x n matrices, and m x n matrices of restricted products line 512 sourceSource documentation
The bijection between a restricted product of m x n matrices, and m x n matrices of restricted products.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,Set,Equiv,RestrictedProduct,Matrix,Set.ofPred,Membership.mem,Filter.cofiniteProof uses:
Equiv.trans, Equiv.restrictedProductPi,Equiv.piCongrRight2 instances, coercions and auxiliary constants left out.
def Equiv.restrictedProductMatrix {ι : Type*} {m n : Type*} [Fintype m] [Fintype n] {A : ι → Type*} {C : (i : ι) → Set (A i)} : Πʳ i, [Matrix m n (A i), {f | ∀ a b, f a b ∈ C i}] ≃ Matrix m n (Πʳ i, [A i, C i]) := … - def
RestrictedProduct.flattenThe canonical map from a restricted product of products over fibres of a map on indexing sets to the restricted product over the original indexing set line 534 sourceSource documentation
The canonical map from a restricted product of products over fibres of a map on indexing sets to the restricted product over the original indexing set.
standard axioms: Quot.sound, propext what this means
Statement uses:
Filter,Set,Filter.Tendsto,RestrictedProduct,Set.preimage,Singleton.singleton,Membership.mem,Set.pi,Set.univProof uses:
RestrictedProduct.mapAlong,Subtype.mk10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
def flatten : Πʳ j, [Π (i : f ⁻¹' {j}), G i, Set.pi Set.univ (fun (i : f ⁻¹' {j}) => C i)]_[𝒢] → Πʳ i, [G i, C i]_[ℱ] := … - lemma
RestrictedProduct.flatten_applyline 539 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Filter,Set,Filter.Tendsto,RestrictedProduct,Set.preimage,Singleton.singleton,Membership.mem,Set.pi,Set.univ,Eq, RestrictedProduct.flatten,Subtype.mk,rfl12 instances, coercions and auxiliary constants left out.
- def
RestrictedProduct.flattenEquivThe canonical bijection from a restricted product of products over fibres of a map on indexing sets to the restricted product over the original indexing set line 547 sourceSource documentation
The canonical bijection from a restricted product of products over fibres of a map on indexing sets to the restricted product over the original indexing set.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Eq,Filter.comap,Equiv,RestrictedProduct,Set.preimage,Singleton.singleton,Membership.mem,Set.pi,Set.univProof uses:
Equiv.mk, RestrictedProduct.flatten,RestrictedProduct.flattenEquiv.match_1,Filter.Eventually,Subtype.mk12 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
def flattenEquiv : Πʳ j, [Π (i : f ⁻¹' {j}), G i, Set.pi Set.univ (fun (i : f ⁻¹' {j}) => C i)]_[𝒢] ≃ Πʳ i, [G i, C i]_[ℱ] where … - lemma
RestrictedProduct.flatten_equiv_applyline 561 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Eq,Filter.comap,RestrictedProduct,Set.preimage,Singleton.singleton,Membership.mem,Set.pi,Set.univ,Equiv, RestrictedProduct.flattenEquiv,Subtype.mk,rfl16 instances, coercions and auxiliary constants left out.
- lemma
RestrictedProduct.flatten_equiv_symm_applyline 566 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Filter,Set,Eq,Filter.comap,RestrictedProduct,Set.preimage,Singleton.singleton,Membership.mem,Set.pi,Set.univ,Equiv,Equiv.symm, RestrictedProduct.flattenEquivProof uses:
rfl16 instances, coercions and auxiliary constants left out.
- def
RestrictedProduct.flattenEquiv'The equivalence given byflattenwhen both restricted products are over the cofinite filter line 574 sourceSource documentation
The equivalence given by
flattenwhen both restricted products are over the cofinite filter.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Filter.Tendsto,Filter.cofinite,Equiv,RestrictedProduct,Set.preimage,Singleton.singleton,Membership.mem,Set.pi,Set.univProof uses: RestrictedProduct.flattenEquiv
5 instances, coercions and auxiliary constants left out.
def flattenEquiv' : Πʳ j, [Π (i : f ⁻¹' {j}), G i, Set.pi Set.univ (fun (i : f ⁻¹' {j}) => C i)] ≃ Πʳ i, [G i, C i] := … - lemma
RestrictedProduct.flatten_equiv'_applyline 580 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Filter.Tendsto,Filter.cofinite,RestrictedProduct,Set.preimage,Singleton.singleton,Membership.mem,Set.pi,Set.univ,Eq,Equiv, RestrictedProduct.flattenEquiv',Subtype.mk,rfl16 instances, coercions and auxiliary constants left out.
- lemma
RestrictedProduct.flatten_equiv'_symm_applyline 585 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Filter.Tendsto,Filter.cofinite,RestrictedProduct,Set.preimage,Singleton.singleton,Eq,Membership.mem,Set.pi,Set.univ,Equiv,Equiv.symm, RestrictedProduct.flattenEquiv'Proof uses:
rfl16 instances, coercions and auxiliary constants left out.
- def
RestrictedProduct.principalEquivProdThe canonical isomorphism betweenΠʳ i, [R i, A i]_[𝓟 S]and(Π i ∈ S, R i) × (Π i ∉ S, A i)line 609 sourceSource documentation
The canonical isomorphism between
Πʳ i, [R i, A i]_[𝓟 S]and(Π i ∈ S, R i) × (Π i ∉ S, A i)standard axioms: Quot.sound, propext what this means
Statement uses:
Set,Decidable,Membership.mem,Equiv,RestrictedProduct,Filter.principal,Prod,Compl.complProof uses:
Equiv.mk,Prod.mk,Subtype.mk,Filter.Eventually,dite,Prod.fst,Not,Prod.snd14 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
def principalEquivProd : Πʳ i, [R i, A i]_[𝓟 S] ≃ (Π i : S, A i) × (Π i : (Sᶜ : Set ι), R i) where … - def
RestrictedProduct.principalMulEquivProdAdditive monoid equivalence of principalEquivProd line 629 sourceSource documentation
Additive monoid equivalence of principalEquivProd.
standard axioms: Quot.sound, propext what this means
Statement uses:
Set,Decidable,Membership.mem,SetLike,Monoid,SubmonoidClass,MulEquiv,RestrictedProduct,Filter.principal,Prod,Subtype,Compl.complProof uses:
Equiv, RestrictedProduct.principalEquivProd,MulEquiv.mk30 instances, coercions and auxiliary constants left out.
def principalMulEquivProd [Π i, Monoid (R i)] [∀ i, SubmonoidClass (T i) (R i)] : Πʳ i, [R i, A i]_[𝓟 S] ≃* (Π i : S, A i) × (Π i : (Sᶜ : Set ι), R i) where … - def
RestrictedProduct.principalLinearEquivProdModule equivalence version ofprincipalEquivProdline 645 sourceSource documentation
Module equivalence version of
principalEquivProd.standard axioms: Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Submodule,Set,Decidable,Membership.mem,LinearEquiv,RingHom.id,RestrictedProduct,Filter.principal,Prod,Subtype,Compl.complProof uses:
AddEquiv,RestrictedProduct.principalAddEquivSum,LinearEquiv.mk,LinearMap.mk,AddHom.mk,Equiv.toFun,AddEquiv.toEquiv,Equiv.invFun63 instances, coercions and auxiliary constants left out.
noncomputable def principalLinearEquivProd [Π i, AddCommGroup (R i)] [∀ i, Module A (R i)] {C : ∀ i, Submodule A (R i)} (S : Set ι) [∀ i, Decidable (i ∈ S)] : (Πʳ i, [R i, C i]_[𝓟 S]) ≃ₗ[A] ((Π i : S, C i) × (Π i : (Sᶜ : Set ι), R i)) where …