mathlib documentation

ring_theory.subring.pointwise

Pointwise instances on subrings #

This file provides the action subring.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 ring_theory/subsemiring/pointwise.lean. Where possible, try to keep them in sync.

@[protected, instance]
def subring.pointwise_mul_action {M : Type u_1} {R : Type u_2} [monoid M] [ring R] [mul_semiring_action M R] :

The action on a subring corresponding to applying the action to every element.

This is available as an instance in the pointwise locale.

Equations
theorem subring.pointwise_smul_def {M : Type u_1} {R : Type u_2} [monoid M] [ring R] [mul_semiring_action M R] {a : M} (S : subring R) :
@[simp]
theorem subring.coe_pointwise_smul {M : Type u_1} {R : Type u_2} [monoid M] [ring R] [mul_semiring_action M R] (m : M) (S : subring R) :
↑(m • S) = m • ↑S
@[simp]
theorem subring.pointwise_smul_to_add_subgroup {M : Type u_1} {R : Type u_2} [monoid M] [ring R] [mul_semiring_action M R] (m : M) (S : subring R) :
@[simp]
theorem subring.pointwise_smul_to_subsemiring {M : Type u_1} {R : Type u_2} [monoid M] [ring R] [mul_semiring_action M R] (m : M) (S : subring R) :
theorem subring.smul_mem_pointwise_smul {M : Type u_1} {R : Type u_2} [monoid M] [ring R] [mul_semiring_action M R] (m : M) (r : R) (S : subring R) :
r ∈ S → m • r ∈ m • S
theorem subring.mem_smul_pointwise_iff_exists {M : Type u_1} {R : Type u_2} [monoid M] [ring R] [mul_semiring_action M R] (m : M) (r : R) (S : subring R) :
r ∈ m • S ↔ ∃ (s : R), s ∈ S ∧ m • s = r
@[protected, instance]
@[simp]
theorem subring.smul_mem_pointwise_smul_iff {M : Type u_1} {R : Type u_2} [group M] [ring R] [mul_semiring_action M R] {a : M} {S : subring R} {x : R} :
a • x ∈ a • S ↔ x ∈ S
theorem subring.mem_pointwise_smul_iff_inv_smul_mem {M : Type u_1} {R : Type u_2} [group M] [ring R] [mul_semiring_action M R] {a : M} {S : subring R} {x : R} :
x ∈ a • S ↔ a⁻¹ • x ∈ S
theorem subring.mem_inv_pointwise_smul_iff {M : Type u_1} {R : Type u_2} [group M] [ring R] [mul_semiring_action M R] {a : M} {S : subring R} {x : R} :
x ∈ a⁻¹ • S ↔ a • x ∈ S
@[simp]
theorem subring.pointwise_smul_le_pointwise_smul_iff {M : Type u_1} {R : Type u_2} [group M] [ring R] [mul_semiring_action M R] {a : M} {S T : subring R} :
a • S ≤ a • T ↔ S ≤ T
theorem subring.pointwise_smul_subset_iff {M : Type u_1} {R : Type u_2} [group M] [ring R] [mul_semiring_action M R] {a : M} {S T : subring R} :
a • S ≤ T ↔ S ≤ a⁻¹ • T
theorem subring.subset_pointwise_smul_iff {M : Type u_1} {R : Type u_2} [group M] [ring R] [mul_semiring_action M R] {a : M} {S T : subring R} :
S ≤ a • T ↔ a⁻¹ • S ≤ T

TODO: add equiv_smul like we have for subgroup.

@[simp]
theorem subring.smul_mem_pointwise_smul_iff₀ {M : Type u_1} {R : Type u_2} [group_with_zero M] [ring R] [mul_semiring_action M R] {a : M} (ha : a ≠ 0) (S : subring R) (x : R) :
a • x ∈ a • S ↔ x ∈ S
theorem subring.mem_pointwise_smul_iff_inv_smul_mem₀ {M : Type u_1} {R : Type u_2} [group_with_zero M] [ring R] [mul_semiring_action M R] {a : M} (ha : a ≠ 0) (S : subring R) (x : R) :
x ∈ a • S ↔ a⁻¹ • x ∈ S
theorem subring.mem_inv_pointwise_smul_iff₀ {M : Type u_1} {R : Type u_2} [group_with_zero M] [ring R] [mul_semiring_action M R] {a : M} (ha : a ≠ 0) (S : subring R) (x : R) :
x ∈ a⁻¹ • S ↔ a • x ∈ S
@[simp]
theorem subring.pointwise_smul_le_pointwise_smul_iff₀ {M : Type u_1} {R : Type u_2} [group_with_zero M] [ring R] [mul_semiring_action M R] {a : M} (ha : a ≠ 0) {S T : subring R} :
a • S ≤ a • T ↔ S ≤ T
theorem subring.pointwise_smul_le_iff₀ {M : Type u_1} {R : Type u_2} [group_with_zero M] [ring R] [mul_semiring_action M R] {a : M} (ha : a ≠ 0) {S T : subring R} :
a • S ≤ T ↔ S ≤ a⁻¹ • T
theorem subring.le_pointwise_smul_iff₀ {M : Type u_1} {R : Type u_2} [group_with_zero M] [ring R] [mul_semiring_action M R] {a : M} (ha : a ≠ 0) {S T : subring R} :
S ≤ a • T ↔ a⁻¹ • S ≤ T