Pointwise instances on submodule
s #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file provides:
and the actions
which matches the action of mul_action_set
.
These actions are available in the pointwise
locale.
Implementation notes #
Most of the lemmas in this file are direct copies of lemmas from
group_theory/submonoid/pointwise.lean
.
The submodule with every element negated. Note if R
is a ring and not just a semiring, this
is a no-op, as shown by submodule.neg_eq_self
.
Recall that When R
is the semiring corresponding to the nonnegative elements of R'
,
submodule R' M
is the type of cones of M
. This instance reflects such cones about 0
.
This is available as an instance in the pointwise
locale.
submodule.has_pointwise_neg
is involutive.
This is available as an instance in the pointwise
locale.
Equations
submodule.has_pointwise_neg
as an order isomorphism.
Equations
Equations
- submodule.pointwise_add_comm_monoid = {add := has_sup.sup (semilattice_sup.to_has_sup (submodule R M)), add_assoc := _, zero := ⊥, zero_add := _, add_zero := _, nsmul := add_monoid.nsmul._default ⊥ has_sup.sup submodule.pointwise_add_comm_monoid._proof_4 submodule.pointwise_add_comm_monoid._proof_5, nsmul_zero' := _, nsmul_succ' := _, add_comm := _}
Equations
- submodule.canonically_ordered_add_monoid = {add := has_add.add (add_zero_class.to_has_add (submodule R M)), add_assoc := _, zero := 0, zero_add := _, add_zero := _, nsmul := add_comm_monoid.nsmul submodule.pointwise_add_comm_monoid, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, le := complete_lattice.le submodule.complete_lattice, lt := complete_lattice.lt submodule.complete_lattice, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, add_le_add_left := _, bot := ⊥, bot_le := _, exists_add_of_le := _, le_self_add := _}
The action on a submodule corresponding to applying the action to every element.
This is available as an instance in the pointwise
locale.
Equations
- submodule.pointwise_distrib_mul_action = {to_mul_action := {to_has_smul := {smul := λ (a : α) (S : submodule R M), submodule.map (distrib_mul_action.to_linear_map R M a) S}, one_smul := _, mul_smul := _}, smul_zero := _, smul_add := _}
See also submodule.smul_bot
.
See also submodule.smul_sup
.
The action on a submodule corresponding to applying the action to every element.
This is available as an instance in the pointwise
locale.
This is a stronger version of submodule.pointwise_distrib_mul_action
. Note that add_smul
does
not hold so this cannot be stated as a module
.