FLT/Hacks/RightActionInstances.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
15 declarations, 0 contain sorry, 0 declared as axioms
Right-action instances on tensor products
Right-action instances making M ⊗[R] S an S-module / S-algebra when
S is a commutative R-algebra. These are scoped instances kept in their
own namespace to avoid clashing with the standard left-action instances.
Imports (12)
- Mathlib.RingTheory.TensorProduct.Free
- Mathlib.Algebra.Lie.OfAssociative
- Mathlib.RingTheory.TensorProduct.Maps
- Mathlib.Topology.Algebra.Module.ModuleTopology
- FLT.Mathlib.Topology.Algebra.Module.ModuleTopology
- Mathlib.CategoryTheory.Category.Init
- Mathlib.Data.Nat.Totient
- Mathlib.Data.Sym.Sym2.Init
- Mathlib.Logic.Equiv.PartialEquiv
- Mathlib.RingTheory.TensorProduct.Finite
- Mathlib.Tactic.NormNum.GCD
- Mathlib.Tactic.Positivity.Finset
Imported by 5 files
- lemma
TensorProduct.RightActions.smul_defline 67 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommSemiring,AddCommMonoid,Algebra,Module,TensorProduct,Eq,HSMul.hSMul,TensorProduct.RightActions.instSMul,LinearEquiv,RingHom.id,LinearEquiv.symm,TensorProduct.commProof uses:
rfl20 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
TensorProduct.RightActions.algebraMap_evalline 104 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommSemiring,Algebra,Semiring,Eq,TensorProduct,RingHom,Algebra.algebraMap,TensorProduct.RightActions.instAlgebra,TensorProduct.tmul,OfNat.ofNatProof uses:
rfl18 instances, coercions and auxiliary constants left out.
- def
TensorProduct.RightActions.Algebra.TensorProduct.commThe A-algebra isomorphism A ⊗ B = B ⊗ A, available in theTensorProduct.RightActionsscope line 107 sourceSource documentation
The A-algebra isomorphism A ⊗ B = B ⊗ A, available in the
TensorProduct.RightActionsscope.standard axioms: Quot.sound, propext what this means
Statement uses:
CommSemiring,Algebra,Semiring,AlgEquiv,TensorProduct,TensorProduct.RightActions.instAlgebraProof uses:
Algebra.TensorProduct.comm,AlgEquiv.mk,AlgEquiv.toEquiv18 instances, coercions and auxiliary constants left out.
def Algebra.TensorProduct.comm : A ⊗[R] B ≃ₐ[A] B ⊗[R] A where …
- lemma
TensorProduct.RightActions.Algebra.TensorProduct.comm_apply_tmulline 112 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommSemiring,Algebra,Semiring,Eq,TensorProduct,AlgEquiv,TensorProduct.RightActions.instAlgebra, TensorProduct.RightActions.Algebra.TensorProduct.comm,TensorProduct.tmulProof uses:
Eq.refl18 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
TensorProduct.RightActions.Algebra.TensorProduct.comm_symm_apply_tmulline 116 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommSemiring,Algebra,Semiring,Eq,TensorProduct,AlgEquiv,TensorProduct.RightActions.instAlgebra,AlgEquiv.symm, TensorProduct.RightActions.Algebra.TensorProduct.comm,TensorProduct.tmulProof uses:
rfl18 instances, coercions and auxiliary constants left out.
- def
TensorProduct.RightActions.Module.TensorProduct.commThe A-module isomorphism A ⊗ M = M ⊗ A, available in theTensorProduct.RightActionsscope line 120 sourceSource documentation
The A-module isomorphism A ⊗ M = M ⊗ A, available in the
TensorProduct.RightActionsscope.standard axioms: Quot.sound, propext what this means
Statement uses:
CommSemiring,AddCommMonoid,Module,Algebra,LinearEquiv,RingHom.id,TensorProduct,TensorProduct.RightActions.instModuleProof uses:
AddEquiv,LinearEquiv.toAddEquiv,TensorProduct.comm,LinearEquiv.mk,LinearMap.mk,AddHom.mk,Equiv.toFun,AddEquiv.toEquiv,Equiv.invFun26 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
def Module.TensorProduct.comm : A ⊗[R] M ≃ₗ[A] M ⊗[R] A where …
- lemma
TensorProduct.RightActions.Module.TensorProduct.comm_apply_tmulline 132 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommSemiring,AddCommMonoid,Module,Algebra,Eq,TensorProduct,LinearEquiv,RingHom.id,TensorProduct.RightActions.instModule, TensorProduct.RightActions.Module.TensorProduct.comm,TensorProduct.tmulProof uses:
rfl24 instances, coercions and auxiliary constants left out.
- lemma
TensorProduct.RightActions.Module.TensorProduct.comm_symm_apply_tmulline 135 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommSemiring,AddCommMonoid,Module,Algebra,Eq,TensorProduct,LinearEquiv,RingHom.id,TensorProduct.RightActions.instModule,LinearEquiv.symm, TensorProduct.RightActions.Module.TensorProduct.comm,TensorProduct.tmulProof uses:
rfl24 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- abbrev
TensorProduct.RightActions.LinearMap.baseChangeBase extension of anR-linear mapV → Wto anA-linear mapV ⊗ A → W ⊗ Aline 159 sourceSource documentation
Base extension of an
R-linear mapV → Wto anA-linear mapV ⊗ A → W ⊗ A. Available in theTensorProduct.RightActionsscope.standard axioms: Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Algebra,LinearMap,RingHom.id,TensorProduct,TensorProduct.RightActions.instModuleProof uses:
LinearMap.comp, TensorProduct.RightActions.Module.TensorProduct.comm,LinearMap.baseChange,LinearEquiv.symm20 instances, coercions and auxiliary constants left out.
noncomputable abbrev LinearMap.baseChange (R : Type*) [CommRing R] (V W : Type*) [AddCommGroup V] [Module R V] [AddCommGroup W] [Module R W] (A : Type*) [CommRing A] [Algebra R A] (φ : V →ₗ[R] W) : V ⊗[R] A →ₗ[A] W ⊗[R] A := … - lemma
TensorProduct.RightActions.LinearMap.baseChange_idline 168 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Algebra,Eq,LinearMap,RingHom.id,TensorProduct,TensorProduct.RightActions.instModule, TensorProduct.RightActions.LinearMap.baseChange,LinearMap.idProof uses:
LinearMap.ext,of_eq_true,Eq.trans,True,congrFun',congrArg,Function.comp, TensorProduct.RightActions.Module.TensorProduct.comm,LinearMap.comp,LinearMap.baseChange,LinearEquiv.symm,LinearEquiv,LinearMap.comp.congr_simp,LinearMap.baseChange_id,Eq.refl,LinearEquiv.apply_symm_apply,eq_self26 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
TensorProduct.RightActions.LinearMap.baseChange_compline 175 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Algebra,LinearMap,RingHom.id,Eq,TensorProduct,TensorProduct.RightActions.instModule,LinearMap.comp, TensorProduct.RightActions.LinearMap.baseChangeProof uses:
LinearMap.ext,of_eq_true,Eq.trans,LinearEquiv, TensorProduct.RightActions.Module.TensorProduct.comm,LinearMap.baseChange,LinearEquiv.symm,True,congr,congrArg,Function.comp,LinearEquiv.symm_apply_apply,congrFun',LinearMap.comp.congr_simp,LinearMap.baseChange_comp,Eq.refl,eq_self27 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- example
TensorProduct.RightActions.(example at line 184)line 184 source - abbrev
TensorProduct.RightActions.LinearEquiv.baseChangeBase extension of anR-linear isoV → Wto anA-linear isoV ⊗ A → W ⊗ Aline 189 sourceSource documentation
Base extension of an
R-linear isoV → Wto anA-linear isoV ⊗ A → W ⊗ A. Available in theTensorProduct.RightActionsscope.standard axioms: Quot.sound, propext what this means
Statement uses:
CommRing,AddCommGroup,Module,Algebra,LinearEquiv,RingHom.id,TensorProduct,TensorProduct.RightActions.instModuleProof uses:
LinearMap, TensorProduct.RightActions.LinearMap.baseChange,LinearEquiv.mk,LinearEquiv.symm21 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
noncomputable abbrev LinearEquiv.baseChange (R : Type*) [CommRing R] (V W : Type*) [AddCommGroup V] [Module R V] [AddCommGroup W] [Module R W] (A : Type*) [CommRing A] [Algebra R A] (φ : V ≃ₗ[R] W) : V ⊗[R] A ≃ₗ[A] W ⊗[R] A where … - def
TensorProduct.RightActions.AlgebraMap.baseChangeBase extension of anR-algebra mapB → Cto anA-linear mapB ⊗ A → C ⊗ Aline 207 sourceSource documentation
Base extension of an
R-algebra mapB → Cto anA-linear mapB ⊗ A → C ⊗ A. Available in theTensorProduct.RightActionsscope.standard axioms: Quot.sound, propext what this means
Statement uses:
CommRing,Ring,Algebra,AlgHom,TensorProduct,TensorProduct.RightActions.instAlgebraProof uses:
Algebra.TensorProduct.map,AlgHom.id,AlgHom.mk,AlgHom.toRingHom17 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
noncomputable def AlgebraMap.baseChange (R : Type*) [CommRing R] (B C : Type*) [Ring B] [Algebra R B] [Ring C] [Algebra R C] (A : Type*) [CommRing A] [Algebra R A] (φ : B →ₐ[R] C) : B ⊗[R] A →ₐ[A] C ⊗[R] A where … - def
TensorProduct.RightActions.Algebra.TensorProduct.basisRight action version ofAlgebra.TensorProduct.basis-- base extension of a basis over a tensor product line 216 sourceSource documentation
Right action version of
Algebra.TensorProduct.basis-- base extension of a basis over a tensor product.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommSemiring,Algebra,AddCommMonoid,Module,Module.Basis,TensorProduct,TensorProduct.RightActions.instModuleProof uses:
Module.Basis.map,Algebra.TensorProduct.basis, TensorProduct.RightActions.Module.TensorProduct.comm11 instances, coercions and auxiliary constants left out.
def Algebra.TensorProduct.basis {R : Type*} (A : Type*) {M : Type*} {ι : Type*} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (b : Module.Basis ι R M) : Module.Basis ι A (M ⊗[R] A) := …