Multiplicative actions with zero on and by Mˣ #
This file provides the multiplicative actions with zero of a unit on a type α, SMul Mˣ α, in the
presence of SMulWithZero M α, with the obvious definition stated in Units.smul_def.
Additionally, a MulDistribMulAction G M for some group G satisfying some additional properties
admits a MulDistribMulAction G Mˣ structure, again with the obvious definition stated in
Units.coe_smul. This instance uses a primed name.
See also #
Algebra.GroupWithZero.Action.OppositeAlgebra.GroupWithZero.Action.PiAlgebra.GroupWithZero.Action.Prod
@[simp]
theorem
Commute.smul_right_iff₀
{α : Type u_4}
{β : Type u_5}
[GroupWithZero α]
[MulAction α β]
{a : α}
[Mul β]
[SMulCommClass α β β]
[IsScalarTower α β β]
{x y : β}
(ha : a ≠ 0)
:
@[simp]
theorem
Commute.smul_left_iff₀
{α : Type u_4}
{β : Type u_5}
[GroupWithZero α]
[MulAction α β]
{a : α}
[Mul β]
[SMulCommClass α β β]
[IsScalarTower α β β]
{x y : β}
(ha : a ≠ 0)
:
def
Equiv.smulRight
{α : Type u_4}
{β : Type u_5}
[GroupWithZero α]
[MulAction α β]
{a : α}
(ha : a ≠ 0)
:
Right scalar multiplication as an order isomorphism.
Equations
Instances For
@[simp]
theorem
Equiv.smulRight_apply
{α : Type u_4}
{β : Type u_5}
[GroupWithZero α]
[MulAction α β]
{a : α}
(ha : a ≠ 0)
(b : β)
:
Action of the units of M on a type α #
instance
Units.instSMulZeroClass
{M : Type u_3}
{α : Type u_4}
[Monoid M]
[Zero α]
[SMulZeroClass M α]
:
SMulZeroClass Mˣ α
instance
Units.instDistribSMulUnits
{M : Type u_3}
{α : Type u_4}
[Monoid M]
[AddZeroClass α]
[DistribSMul M α]
:
DistribSMul Mˣ α
Equations
- Units.instDistribSMulUnits = { toSMulZeroClass := Units.instSMulZeroClass, smul_add := ⋯ }
instance
Units.instDistribMulAction
{M : Type u_3}
{α : Type u_4}
[Monoid M]
[AddMonoid α]
[DistribMulAction M α]
:
Equations
- Units.instDistribMulAction = { toSMul := Units.instDistribSMulUnits.toSMul, one_smul := ⋯, mul_smul := ⋯, smul_zero := ⋯, smul_add := ⋯ }
instance
Units.instMulDistribMulAction
{M : Type u_3}
{α : Type u_4}
[Monoid M]
[Monoid α]
[MulDistribMulAction M α]
:
Equations
- Units.instMulDistribMulAction = { toMulAction := Units.instMulAction, smul_mul := ⋯, smul_one := ⋯ }
Action of a group G on units of M #
instance
Units.mulDistribMulAction'
{G : Type u_2}
{M : Type u_3}
[Group G]
[Monoid M]
[MulDistribMulAction G M]
[SMulCommClass G M M]
[IsScalarTower G M M]
:
A stronger form of Units.mul_action'.