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.