Pointwise instances on subsemiring
s #
This file provides the action subsemiring.pointwise_mul_action
which matches the action of
mul_action_set
.
This actions is available in the pointwise
locale.
Implementation notes #
This file is almost identical to group_theory/submonoid/pointwise.lean
. Where possible, try to
keep them in sync.
@[protected, instance]
def
subsemiring.pointwise_mul_action
{M : Type u_1}
{R : Type u_2}
[monoid M]
[semiring R]
[mul_semiring_action M R] :
mul_action M (subsemiring R)
The action on a subsemiring corresponding to applying the action to every element.
This is available as an instance in the pointwise
locale.
Equations
- subsemiring.pointwise_mul_action = {to_has_scalar := {smul := λ (a : M) (S : subsemiring R), subsemiring.map (mul_semiring_action.to_ring_hom M R a) S}, one_smul := _, mul_smul := _}
theorem
subsemiring.pointwise_smul_def
{M : Type u_1}
{R : Type u_2}
[monoid M]
[semiring R]
[mul_semiring_action M R]
{a : M}
(S : subsemiring R) :
a • S = subsemiring.map (mul_semiring_action.to_ring_hom M R a) S
@[simp]
theorem
subsemiring.coe_pointwise_smul
{M : Type u_1}
{R : Type u_2}
[monoid M]
[semiring R]
[mul_semiring_action M R]
(m : M)
(S : subsemiring R) :
@[simp]
theorem
subsemiring.pointwise_smul_to_add_submonoid
{M : Type u_1}
{R : Type u_2}
[monoid M]
[semiring R]
[mul_semiring_action M R]
(m : M)
(S : subsemiring R) :
(m • S).to_add_submonoid = m • S.to_add_submonoid
theorem
subsemiring.smul_mem_pointwise_smul
{M : Type u_1}
{R : Type u_2}
[monoid M]
[semiring R]
[mul_semiring_action M R]
(m : M)
(r : R)
(S : subsemiring R) :
theorem
subsemiring.mem_smul_pointwise_iff_exists
{M : Type u_1}
{R : Type u_2}
[monoid M]
[semiring R]
[mul_semiring_action M R]
(m : M)
(r : R)
(S : subsemiring R) :
@[protected, instance]
def
subsemiring.pointwise_central_scalar
{M : Type u_1}
{R : Type u_2}
[monoid M]
[semiring R]
[mul_semiring_action M R]
[mul_semiring_action Mᵐᵒᵖ R]
[is_central_scalar M R] :
is_central_scalar M (subsemiring R)
@[simp]
theorem
subsemiring.smul_mem_pointwise_smul_iff
{M : Type u_1}
{R : Type u_2}
[group M]
[semiring R]
[mul_semiring_action M R]
{a : M}
{S : subsemiring R}
{x : R} :
theorem
subsemiring.mem_pointwise_smul_iff_inv_smul_mem
{M : Type u_1}
{R : Type u_2}
[group M]
[semiring R]
[mul_semiring_action M R]
{a : M}
{S : subsemiring R}
{x : R} :
theorem
subsemiring.mem_inv_pointwise_smul_iff
{M : Type u_1}
{R : Type u_2}
[group M]
[semiring R]
[mul_semiring_action M R]
{a : M}
{S : subsemiring R}
{x : R} :
@[simp]
theorem
subsemiring.pointwise_smul_le_pointwise_smul_iff
{M : Type u_1}
{R : Type u_2}
[group M]
[semiring R]
[mul_semiring_action M R]
{a : M}
{S T : subsemiring R} :
theorem
subsemiring.pointwise_smul_subset_iff
{M : Type u_1}
{R : Type u_2}
[group M]
[semiring R]
[mul_semiring_action M R]
{a : M}
{S T : subsemiring R} :
theorem
subsemiring.subset_pointwise_smul_iff
{M : Type u_1}
{R : Type u_2}
[group M]
[semiring R]
[mul_semiring_action M R]
{a : M}
{S T : subsemiring R} :
TODO: add equiv_smul
like we have for subgroup.
@[simp]
theorem
subsemiring.smul_mem_pointwise_smul_iff₀
{M : Type u_1}
{R : Type u_2}
[group_with_zero M]
[semiring R]
[mul_semiring_action M R]
{a : M}
(ha : a ≠ 0)
(S : subsemiring R)
(x : R) :
theorem
subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀
{M : Type u_1}
{R : Type u_2}
[group_with_zero M]
[semiring R]
[mul_semiring_action M R]
{a : M}
(ha : a ≠ 0)
(S : subsemiring R)
(x : R) :
theorem
subsemiring.mem_inv_pointwise_smul_iff₀
{M : Type u_1}
{R : Type u_2}
[group_with_zero M]
[semiring R]
[mul_semiring_action M R]
{a : M}
(ha : a ≠ 0)
(S : subsemiring R)
(x : R) :
@[simp]
theorem
subsemiring.pointwise_smul_le_pointwise_smul_iff₀
{M : Type u_1}
{R : Type u_2}
[group_with_zero M]
[semiring R]
[mul_semiring_action M R]
{a : M}
(ha : a ≠ 0)
{S T : subsemiring R} :
theorem
subsemiring.pointwise_smul_le_iff₀
{M : Type u_1}
{R : Type u_2}
[group_with_zero M]
[semiring R]
[mul_semiring_action M R]
{a : M}
(ha : a ≠ 0)
{S T : subsemiring R} :
theorem
subsemiring.le_pointwise_smul_iff₀
{M : Type u_1}
{R : Type u_2}
[group_with_zero M]
[semiring R]
[mul_semiring_action M R]
{a : M}
(ha : a ≠ 0)
{S T : subsemiring R} :