Module structure and endomorphisms #
In this file, we define Module.toAddMonoidEnd
, which is (•)
as a monoid homomorphism.
We use this to prove some results on scalar multiplication by integers.
(•)
as an AddMonoidHom
.
This is a stronger version of DistribMulAction.toAddMonoidEnd
Equations
- Module.toAddMonoidEnd R M = { toMonoidHom := DistribMulAction.toAddMonoidEnd R M, map_zero' := ⋯, map_add' := ⋯ }
Instances For
A convenience alias for Module.toAddMonoidEnd
as an AddMonoidHom
, usually to allow the
use of AddMonoidHom.flip
.
Equations
- smulAddHom R M = (Module.toAddMonoidEnd R M).toAddMonoidHom
Instances For
Alias of Int.cast_smul_eq_zsmul
.
zsmul
is equal to any other module structure via a cast.
Convert back any exotic ℤ
-smul to the canonical instance. This should not be needed since in
mathlib all AddCommGroup
s should normally have exactly one ℤ
-module structure by design.
All ℤ
-module structures are equal. Not an instance since in mathlib all AddCommGroup
should normally have exactly one ℤ
-module structure by design.
Equations
- AddCommGroup.uniqueIntModule = { default := inferInstance, uniq := ⋯ }