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.Opposite
Algebra.GroupWithZero.Action.Pi
Algebra.GroupWithZero.Action.Prod
@[simp]
theorem
Commute.smul_right_iff₀
{α : Type u_3}
{β : Type u_4}
[GroupWithZero α]
[MulAction α β]
{a : α}
[Mul β]
[SMulCommClass α β β]
[IsScalarTower α β β]
{x y : β}
(ha : a ≠ 0)
:
@[simp]
theorem
Commute.smul_left_iff₀
{α : Type u_3}
{β : Type u_4}
[GroupWithZero α]
[MulAction α β]
{a : α}
[Mul β]
[SMulCommClass α β β]
[IsScalarTower α β β]
{x y : β}
(ha : a ≠ 0)
:
def
Equiv.smulRight
{α : Type u_3}
{β : Type u_4}
[GroupWithZero α]
[MulAction α β]
{a : α}
(ha : a ≠ 0)
:
β ≃ β
Right scalar multiplication as an order isomorphism.
Equations
- Equiv.smulRight ha = { toFun := fun (b : β) => a • b, invFun := fun (b : β) => a⁻¹ • b, left_inv := ⋯, right_inv := ⋯ }
Instances For
@[simp]
theorem
Equiv.smulRight_symm_apply
{α : Type u_3}
{β : Type u_4}
[GroupWithZero α]
[MulAction α β]
{a : α}
(ha : a ≠ 0)
(b : β)
:
(Equiv.smulRight ha).symm b = a⁻¹ • b
@[simp]
theorem
Equiv.smulRight_apply
{α : Type u_3}
{β : Type u_4}
[GroupWithZero α]
[MulAction α β]
{a : α}
(ha : a ≠ 0)
(b : β)
:
(Equiv.smulRight ha) b = a • b
Action of the units of M
on a type α
#
instance
Units.instSMulZeroClass
{M : Type u_2}
{α : Type u_3}
[Monoid M]
[Zero α]
[SMulZeroClass M α]
:
SMulZeroClass Mˣ α
Equations
- Units.instSMulZeroClass = SMulZeroClass.mk ⋯
instance
Units.instDistribSMulUnits
{M : Type u_2}
{α : Type u_3}
[Monoid M]
[AddZeroClass α]
[DistribSMul M α]
:
DistribSMul Mˣ α
Equations
- Units.instDistribSMulUnits = DistribSMul.mk ⋯
instance
Units.instDistribMulAction
{M : Type u_2}
{α : Type u_3}
[Monoid M]
[AddMonoid α]
[DistribMulAction M α]
:
Equations
- Units.instDistribMulAction = DistribMulAction.mk ⋯ ⋯
instance
Units.instMulDistribMulAction
{M : Type u_2}
{α : Type u_3}
[Monoid M]
[Monoid α]
[MulDistribMulAction M α]
:
Equations
- Units.instMulDistribMulAction = MulDistribMulAction.mk ⋯ ⋯
Action of a group G
on units of M
#
instance
Units.mulDistribMulAction'
{G : Type u_1}
{M : Type u_2}
[Group G]
[Monoid M]
[MulDistribMulAction G M]
[SMulCommClass G M M]
[IsScalarTower G M M]
:
A stronger form of Units.mul_action'
.
Equations
- Units.mulDistribMulAction' = MulDistribMulAction.mk ⋯ ⋯