Transfer algebraic structures across Equivs #
This continues the pattern set in Mathlib/Algebra/Group/TransferInstance.lean.
Transfer NoZeroSMulDivisors across an Equiv
Transfer Module across an Equiv
Equations
- Equiv.module R e = { toDistribMulAction := Equiv.distribMulAction R e, add_smul := ⋯, zero_smul := ⋯ }
Instances For
An equivalence e : α ≃ β gives a linear equivalence α ≃ₗ[R] β
where the R-module structure on α is
the one obtained by transporting an R-module structure on β back along e.
Equations
Instances For
Transfer Module.IsTorsionFree across an Equiv
Transport a module instance via an isomorphism of the underlying abelian groups.
This has better definitional properties than Equiv.module since here
the abelian group structure remains unmodified.
Equations
- AddEquiv.module A e = { toSMul := Equiv.smul A e.toEquiv, mul_smul := ⋯, one_smul := ⋯, smul_zero := ⋯, smul_add := ⋯, add_smul := ⋯, zero_smul := ⋯ }
Instances For
The module instance from AddEquiv.module is compatible with the R-module structures,
if the AddEquiv is induced by an R-module isomorphism.
When α is equipped with the A-module structure transferred via e : α ≃+ β,
this isomorphism is A-linear.