Pointwise monoid structures on SubMulAction #
This file provides SubMulAction.Monoid and weaker typeclasses, which show that SubMulActions
inherit the same pointwise multiplications as sets.
To match Submodule.idemSemiring, we do not put these in the Pointwise locale.
@[implicit_reducible]
instance
SubMulAction.instOne
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[One M]
:
One (SubMulAction R M)
@[simp]
theorem
SubMulAction.mem_one
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[One M]
{x : M}
:
x ∈ 1 ↔ ∃ (r : R), r • 1 = x
theorem
SubMulAction.subset_coe_one
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[One M]
:
1 ⊆ ↑1
@[implicit_reducible]
instance
SubMulAction.instMul
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[Mul M]
[IsScalarTower R M M]
:
Mul (SubMulAction R M)
theorem
SubMulAction.coe_mul
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[Mul M]
[IsScalarTower R M M]
(p q : SubMulAction R M)
:
↑(p * q) = ↑p * ↑q
theorem
SubMulAction.mem_mul
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[Mul M]
[IsScalarTower R M M]
{p q : SubMulAction R M}
{x : M}
:
x ∈ p * q ↔ ∃ y ∈ p, ∃ z ∈ q, y * z = x
@[implicit_reducible]
instance
SubMulAction.instMulOneClass
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[MulOneClass M]
[IsScalarTower R M M]
[SMulCommClass R M M]
:
MulOneClass (SubMulAction R M)
@[implicit_reducible]
instance
SubMulAction.instSemigroup
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[Semigroup M]
[IsScalarTower R M M]
:
Semigroup (SubMulAction R M)
@[implicit_reducible]
instance
SubMulAction.instMonoid
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[Monoid M]
[IsScalarTower R M M]
[SMulCommClass R M M]
:
Monoid (SubMulAction R M)
theorem
SubMulAction.coe_pow
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[Monoid M]
[IsScalarTower R M M]
[SMulCommClass R M M]
(p : SubMulAction R M)
{n : ℕ}
:
n ≠ 0 → ↑(p ^ n) = ↑p ^ n
theorem
SubMulAction.subset_coe_pow
{R : Type u_1}
{M : Type u_2}
[Monoid R]
[MulAction R M]
[Monoid M]
[IsScalarTower R M M]
[SMulCommClass R M M]
(p : SubMulAction R M)
{n : ℕ}
:
↑p ^ n ⊆ ↑(p ^ n)