Scalar multiplication on ℝ≥0∞. #
This file defines basic scalar actions on extended nonnegative reals, showing that
MulActions, DistribMulActions, Modules and Algebras restrict from ℝ≥0∞ to ℝ≥0.
@[implicit_reducible]
instance
ENNReal.instIsScalarTowerNNReal
{M : Type u_1}
{N : Type u_2}
[MulAction ENNReal M]
[MulAction ENNReal N]
[SMul M N]
[IsScalarTower ENNReal M N]
:
IsScalarTower NNReal M N
instance
ENNReal.smulCommClass_left
{M : Type u_1}
{N : Type u_2}
[MulAction ENNReal N]
[SMul M N]
[SMulCommClass ENNReal M N]
:
SMulCommClass NNReal M N
instance
ENNReal.smulCommClass_right
{M : Type u_1}
{N : Type u_2}
[MulAction ENNReal N]
[SMul M N]
[SMulCommClass M ENNReal N]
:
SMulCommClass M NNReal N
@[implicit_reducible]
noncomputable instance
ENNReal.instDistribMulActionNNReal
{M : Type u_1}
[AddMonoid M]
[DistribMulAction ENNReal M]
:
A DistribMulAction over ℝ≥0∞ restricts to a DistribMulAction over ℝ≥0.
@[implicit_reducible]
noncomputable instance
ENNReal.instModuleNNReal
{M : Type u_1}
[AddCommMonoid M]
[Module ENNReal M]
:
theorem
ENNReal.coe_smul
{R : Type u_1}
(r : R)
(s : NNReal)
[SMul R NNReal]
[SMul R ENNReal]
[IsScalarTower R NNReal NNReal]
[IsScalarTower R NNReal ENNReal]
:
↑(r • s) = r • ↑s
theorem
ENNReal.smul_top
{R : Type u_1}
[Semiring R]
[IsDomain R]
[Module R ENNReal]
[IsScalarTower R ENNReal ENNReal]
[Module.IsTorsionFree R ENNReal]
[DecidableEq R]
(c : R)
:
@[simp]