Scalar actions on and by Mᵐᵒᵖ
#
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the actions on the opposite type has_smul R Mᵐᵒᵖ
, and actions by the opposite
type, has_smul Rᵐᵒᵖ M
.
Note that mul_opposite.has_smul
is provided in an earlier file as it is needed to provide the
add_monoid.nsmul
and add_comm_group.gsmul
fields.
Actions on the opposite type #
Actions on the opposite type just act on the underlying type.
Equations
- add_opposite.add_action α R = {to_has_vadd := {vadd := has_vadd.vadd (add_opposite.has_vadd α R)}, zero_vadd := _, add_vadd := _}
Equations
- mul_opposite.mul_action α R = {to_has_smul := {smul := has_smul.smul (mul_opposite.has_smul α R)}, one_smul := _, mul_smul := _}
Equations
- mul_opposite.distrib_mul_action α R = {to_mul_action := {to_has_smul := mul_action.to_has_smul (mul_opposite.mul_action α R), one_smul := _, mul_smul := _}, smul_zero := _, smul_add := _}
Equations
- mul_opposite.mul_distrib_mul_action α R = {to_mul_action := {to_has_smul := mul_action.to_has_smul (mul_opposite.mul_action α R), one_smul := _, mul_smul := _}, smul_mul := _, smul_one := _}
Actions by the opposite type (right actions) #
In has_mul.to_has_smul
in another file, we define the left action a₁ • a₂ = a₁ * a₂
. For the
multiplicative opposite, we define mul_opposite.op a₁ • a₂ = a₂ * a₁
, with the multiplication
reversed.
Like has_mul.to_has_smul
, but multiplies on the right.
See also monoid.to_opposite_mul_action
and monoid_with_zero.to_opposite_mul_action_with_zero
.
Equations
- has_mul.to_has_opposite_smul α = {smul := λ (c : αᵐᵒᵖ) (x : α), x * mul_opposite.unop c}
Like has_add.to_has_vadd
, but adds on the right.
See also add_monoid.to_opposite_add_action
.
Equations
- has_add.to_has_opposite_vadd α = {vadd := λ (c : αᵃᵒᵖ) (x : α), x + add_opposite.unop c}
The right regular action of a group on itself is transitive.
The right regular action of an additive group on itself is transitive.
Like monoid.to_mul_action
, but multiplies on the right.
Equations
- monoid.to_opposite_mul_action α = {to_has_smul := {smul := has_smul.smul (has_mul.to_has_opposite_smul α)}, one_smul := _, mul_smul := _}
Like add_monoid.to_add_action
, but adds on the right.
Equations
- add_monoid.to_opposite_add_action α = {to_has_vadd := {vadd := has_vadd.vadd (has_add.to_has_opposite_vadd α)}, zero_vadd := _, add_vadd := _}
monoid.to_opposite_mul_action
is faithful on cancellative monoids.
add_monoid.to_opposite_add_action
is faithful on cancellative monoids.
monoid.to_opposite_mul_action
is faithful on nontrivial cancellative monoids with zero.