Pointwise instances on submonoid
s and add_submonoid
s #
This file provides:
and the actions
which matches the action of mul_action_set
.
These are all available in the pointwise
locale.
Additionally, it provides add_submonoid.has_mul
, which is available globally to match
submodule.has_mul
.
Implementation notes #
Most of the lemmas in this file are direct copies of lemmas from algebra/pointwise.lean
.
While the statements of these lemmas are defeq, we repeat them here due to them not being
syntactically equal. Before adding new lemmas here, consider if they would also apply to the action
on set
s.
The additive submonoid with every element negated.
Equations
Equations
add_submonoid.has_neg
as an order isomorphism
Equations
submonoid.has_inv
as an order isomorphism.
Equations
The action on a submonoid corresponding to applying the action to every element.
This is available as an instance in the pointwise
locale.
Equations
- submonoid.pointwise_mul_action = {to_has_scalar := {smul := λ (a : α) (S : submonoid M), submonoid.map (⇑(mul_distrib_mul_action.to_monoid_End α M) a) S}, one_smul := _, mul_smul := _}
The action on an additive submonoid corresponding to applying the action to every element.
This is available as an instance in the pointwise
locale.
Equations
- add_submonoid.pointwise_mul_action = {to_has_scalar := {smul := λ (a : α) (S : add_submonoid A), add_submonoid.map (⇑(distrib_mul_action.to_add_monoid_End α A) a) S}, one_smul := _, mul_smul := _}
Elementwise multiplication of two additive submonoids #
These definitions are a cut-down versions of the ones around submodule.has_mul
, as that API is
usually more useful.
Multiplication of additive submonoids of a semiring R. The additive submonoid S * T
is the
smallest R-submodule of R
containing the elements s * t
for s ∈ S
and t ∈ T
.
Equations
- add_submonoid.has_mul = {mul := λ (M N : add_submonoid R), ⨆ (s : ↥M), add_submonoid.map (⇑add_monoid_hom.mul s.val) N}