Pointwise instances on Subsemiring
s #
This file provides the action Subsemiring.PointwiseMulAction
which matches the action of
MulActionSet
.
This actions is available in the Pointwise
locale.
Implementation notes #
This file is almost identical to GroupTheory/Submonoid/Pointwise.lean
. Where possible, try to
keep them in sync.
def
Subsemiring.pointwiseMulAction
{M : Type u_1}
{R : Type u_2}
[Monoid M]
[Semiring R]
[MulSemiringAction M R]
:
MulAction 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.pointwiseMulAction = MulAction.mk ⋯ ⋯
Instances For
theorem
Subsemiring.pointwise_smul_def
{M : Type u_1}
{R : Type u_2}
[Monoid M]
[Semiring R]
[MulSemiringAction M R]
{a : M}
(S : Subsemiring R)
:
a • S = Subsemiring.map (MulSemiringAction.toRingHom M R a) S
@[simp]
theorem
Subsemiring.coe_pointwise_smul
{M : Type u_1}
{R : Type u_2}
[Monoid M]
[Semiring R]
[MulSemiringAction M R]
(m : M)
(S : Subsemiring R)
:
@[simp]
theorem
Subsemiring.pointwise_smul_toAddSubmonoid
{M : Type u_1}
{R : Type u_2}
[Monoid M]
[Semiring R]
[MulSemiringAction M R]
(m : M)
(S : Subsemiring R)
:
Subsemiring.toAddSubmonoid (m • S) = m • Subsemiring.toAddSubmonoid S
theorem
Subsemiring.smul_mem_pointwise_smul
{M : Type u_1}
{R : Type u_2}
[Monoid M]
[Semiring R]
[MulSemiringAction 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]
[MulSemiringAction M R]
(m : M)
(r : R)
(S : Subsemiring R)
:
theorem
Subsemiring.smul_sup
{M : Type u_1}
{R : Type u_2}
[Monoid M]
[Semiring R]
[MulSemiringAction M R]
(a : M)
(S : Subsemiring R)
(T : Subsemiring R)
:
theorem
Subsemiring.smul_closure
{M : Type u_1}
{R : Type u_2}
[Monoid M]
[Semiring R]
[MulSemiringAction M R]
(a : M)
(s : Set R)
:
a • Subsemiring.closure s = Subsemiring.closure (a • s)
instance
Subsemiring.pointwise_central_scalar
{M : Type u_1}
{R : Type u_2}
[Monoid M]
[Semiring R]
[MulSemiringAction M R]
[MulSemiringAction Mᵐᵒᵖ R]
[IsCentralScalar M R]
:
IsCentralScalar M (Subsemiring R)
Equations
- ⋯ = ⋯
@[simp]
theorem
Subsemiring.smul_mem_pointwise_smul_iff
{M : Type u_1}
{R : Type u_2}
[Group M]
[Semiring R]
[MulSemiringAction 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]
[MulSemiringAction 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]
[MulSemiringAction 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]
[MulSemiringAction M R]
{a : M}
{S : Subsemiring R}
{T : Subsemiring R}
:
theorem
Subsemiring.pointwise_smul_subset_iff
{M : Type u_1}
{R : Type u_2}
[Group M]
[Semiring R]
[MulSemiringAction M R]
{a : M}
{S : Subsemiring R}
{T : Subsemiring R}
:
theorem
Subsemiring.subset_pointwise_smul_iff
{M : Type u_1}
{R : Type u_2}
[Group M]
[Semiring R]
[MulSemiringAction M R]
{a : M}
{S : Subsemiring R}
{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}
[GroupWithZero M]
[Semiring R]
[MulSemiringAction 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}
[GroupWithZero M]
[Semiring R]
[MulSemiringAction 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}
[GroupWithZero M]
[Semiring R]
[MulSemiringAction 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}
[GroupWithZero M]
[Semiring R]
[MulSemiringAction M R]
{a : M}
(ha : a ≠ 0)
{S : Subsemiring R}
{T : Subsemiring R}
:
theorem
Subsemiring.pointwise_smul_le_iff₀
{M : Type u_1}
{R : Type u_2}
[GroupWithZero M]
[Semiring R]
[MulSemiringAction M R]
{a : M}
(ha : a ≠ 0)
{S : Subsemiring R}
{T : Subsemiring R}
:
theorem
Subsemiring.le_pointwise_smul_iff₀
{M : Type u_1}
{R : Type u_2}
[GroupWithZero M]
[Semiring R]
[MulSemiringAction M R]
{a : M}
(ha : a ≠ 0)
{S : Subsemiring R}
{T : Subsemiring R}
: