mathlib documentation

group_theory.group_action.sub_mul_action

Sets invariant to a mul_action #

In this file we define sub_mul_action R M; a subset of a mul_action M which is closed with respect to scalar multiplication.

For most uses, typically submodule R M is more powerful.

Tags #

submodule, mul_action

structure sub_mul_action (R : Type u) (M : Type v) [has_scalar R M] :
Type v

A sub_mul_action is a set which is closed under scalar multiplication.

@[instance]
def sub_mul_action.set.has_coe_t {R : Type u} {M : Type v} [has_scalar R M] :
Equations
@[instance]
def sub_mul_action.has_mem {R : Type u} {M : Type v} [has_scalar R M] :
Equations
@[instance]
def sub_mul_action.has_coe_to_sort {R : Type u} {M : Type v} [has_scalar R M] :
Equations
@[instance]
def sub_mul_action.has_top {R : Type u} {M : Type v} [has_scalar R M] :
Equations
@[instance]
def sub_mul_action.has_bot {R : Type u} {M : Type v} [has_scalar R M] :
Equations
@[instance]
def sub_mul_action.inhabited {R : Type u} {M : Type v} [has_scalar R M] :
Equations
@[simp]
theorem sub_mul_action.coe_sort_coe {R : Type u} {M : Type v} [has_scalar R M] (p : sub_mul_action R M) :
theorem sub_mul_action.exists {R : Type u} {M : Type v} [has_scalar R M] {p : sub_mul_action R M} {q : p → Prop} :
(∃ (x : p), q x) ∃ (x : M) (H : x p), q x, H⟩
theorem sub_mul_action.forall {R : Type u} {M : Type v} [has_scalar R M] {p : sub_mul_action R M} {q : p → Prop} :
(∀ (x : p), q x) ∀ (x : M) (H : x p), q x, H⟩
theorem sub_mul_action.coe_injective {R : Type u} {M : Type v} [has_scalar R M] :
@[simp]
theorem sub_mul_action.coe_set_eq {R : Type u} {M : Type v} [has_scalar R M] {p q : sub_mul_action R M} :
p = q p = q
theorem sub_mul_action.ext'_iff {R : Type u} {M : Type v} [has_scalar R M] {p q : sub_mul_action R M} :
p = q p = q
@[ext]
theorem sub_mul_action.ext {R : Type u} {M : Type v} [has_scalar R M] {p q : sub_mul_action R M} (h : ∀ (x : M), x p x q) :
p = q
@[simp]
theorem sub_mul_action.mem_coe {R : Type u} {M : Type v} [has_scalar R M] (p : sub_mul_action R M) {x : M} :
x p x p
theorem sub_mul_action.smul_mem {R : Type u} {M : Type v} [has_scalar R M] (p : sub_mul_action R M) {x : M} (r : R) (h : x p) :
r x p
@[instance]
def sub_mul_action.has_scalar {R : Type u} {M : Type v} [has_scalar R M] (p : sub_mul_action R M) :
Equations
@[simp]
theorem sub_mul_action.coe_eq_coe {R : Type u} {M : Type v} [has_scalar R M] {p : sub_mul_action R M} {x y : p} :
x = y x = y
@[simp]
theorem sub_mul_action.coe_smul {R : Type u} {M : Type v} [has_scalar R M] {p : sub_mul_action R M} (r : R) (x : p) :
(r x) = r x
@[simp]
theorem sub_mul_action.coe_mk {R : Type u} {M : Type v} [has_scalar R M] {p : sub_mul_action R M} (x : M) (hx : x p) :
x, hx⟩ = x
@[simp]
theorem sub_mul_action.coe_mem {R : Type u} {M : Type v} [has_scalar R M] {p : sub_mul_action R M} (x : p) :
x p
@[simp]
theorem sub_mul_action.eta {R : Type u} {M : Type v} [has_scalar R M] {p : sub_mul_action R M} (x : p) (hx : x p) :
x, hx⟩ = x
def sub_mul_action.subtype {R : Type u} {M : Type v} [has_scalar R M] (p : sub_mul_action R M) :

Embedding of a submodule p to the ambient space M.

Equations
@[simp]
theorem sub_mul_action.subtype_apply {R : Type u} {M : Type v} [has_scalar R M] (p : sub_mul_action R M) (x : p) :
theorem sub_mul_action.subtype_eq_val {R : Type u} {M : Type v} [has_scalar R M] (p : sub_mul_action R M) :
@[simp]
theorem sub_mul_action.smul_mem_iff' {R : Type u} {M : Type v} [monoid R] [mul_action R M] (p : sub_mul_action R M) {x : M} (u : units R) :
u x p x p
@[instance]
def sub_mul_action.mul_action {R : Type u} {M : Type v} [monoid R] [mul_action R M] (p : sub_mul_action R M) :

If the scalar product forms a mul_action, then the subset inherits this action

Equations
theorem sub_mul_action.zero_mem {R : Type u} {M : Type v} [semiring R] [add_comm_monoid M] [semimodule R M] (p : sub_mul_action R M) (h : p.nonempty) :
0 p
@[instance]
def sub_mul_action.has_zero {R : Type u} {M : Type v} [semiring R] [add_comm_monoid M] [semimodule R M] (p : sub_mul_action R M) [n_empty : nonempty p] :

If the scalar product forms a semimodule, and the sub_mul_action is not , then the subset inherits the zero.

Equations
theorem sub_mul_action.neg_mem {R : Type u} {M : Type v} [ring R] [add_comm_group M] [semimodule R M] (p : sub_mul_action R M) {x : M} (hx : x p) :
-x p
@[simp]
theorem sub_mul_action.neg_mem_iff {R : Type u} {M : Type v} [ring R] [add_comm_group M] [semimodule R M] (p : sub_mul_action R M) {x : M} :
-x p x p
@[instance]
def sub_mul_action.has_neg {R : Type u} {M : Type v} [ring R] [add_comm_group M] [semimodule R M] (p : sub_mul_action R M) :
Equations
@[simp]
theorem sub_mul_action.coe_neg {R : Type u} {M : Type v} [ring R] [add_comm_group M] [semimodule R M] (p : sub_mul_action R M) (x : p) :
theorem sub_mul_action.smul_mem_iff {R : Type u} {M : Type v} [division_ring R] [add_comm_group M] [module R M] (p : sub_mul_action R M) {r : R} {x : M} (r0 : r 0) :
r x p x p