Submodules of a module #
In this file we define
-
submodule R M
: a subset of amodule
M
that contains zero and is closed with respect to addition and scalar multiplication. -
subspace k M
: an abbreviation forsubmodule
assuming thatk
is afield
.
Tags #
submodule, subspace, linear map
Reinterpret a submodule
as an add_submonoid
.
- carrier : set M
- zero_mem' : 0 ∈ c.carrier
- add_mem' : ∀ {a b : M}, a ∈ c.carrier → b ∈ c.carrier → a + b ∈ c.carrier
- smul_mem' : ∀ (c_1 : R) {x : M}, x ∈ c.carrier → c_1 • x ∈ c.carrier
A submodule of a module is one which is closed under vector operations. This is a sufficient condition for the subset of vectors in the submodule to themselves form a module.
Reinterpret a submodule
as an sub_mul_action
.
Equations
- submodule.set_like = {coe := submodule.carrier _inst_3, coe_injective' := _}
Copy of a submodule with a new carrier
equal to the old one. Useful to fix definitional
equalities.
Equations
- p.add_comm_monoid = {add := has_add.add p.has_add, add_assoc := _, zero := 0, zero_add := _, add_zero := _, nsmul := add_comm_monoid.nsmul p.to_add_submonoid.to_add_comm_monoid, nsmul_zero' := _, nsmul_succ' := _, add_comm := _}
Equations
- p.module' = {to_distrib_mul_action := {to_mul_action := {to_has_scalar := {smul := has_scalar.smul p.has_scalar}, one_smul := _, mul_smul := _}, smul_add := _, smul_zero := _}, add_smul := _, zero_smul := _}
Reinterpret a submodule as an additive subgroup.
Equations
- p.to_add_subgroup = {carrier := p.to_add_submonoid.carrier, zero_mem' := _, add_mem' := _, neg_mem' := _}
Equations
- p.add_comm_group = {add := has_add.add p.has_add, add_assoc := _, zero := 0, zero_add := _, add_zero := _, nsmul := add_comm_group.nsmul p.to_add_subgroup.to_add_comm_group, nsmul_zero' := _, nsmul_succ' := _, neg := has_neg.neg p.has_neg, sub := add_comm_group.sub p.to_add_subgroup.to_add_comm_group, sub_eq_add_neg := _, gsmul := add_comm_group.gsmul p.to_add_subgroup.to_add_comm_group, gsmul_zero' := _, gsmul_succ' := _, gsmul_neg' := _, add_left_neg := _, add_comm := _}
A submodule of an ordered_add_comm_monoid
is an ordered_add_comm_monoid
.
Equations
A submodule of a linear_ordered_add_comm_monoid
is a linear_ordered_add_comm_monoid
.
A submodule of an ordered_cancel_add_comm_monoid
is an ordered_cancel_add_comm_monoid
.
A submodule of a linear_ordered_cancel_add_comm_monoid
is a
linear_ordered_cancel_add_comm_monoid
.
A submodule of an ordered_add_comm_group
is an ordered_add_comm_group
.
Equations
A submodule of a linear_ordered_add_comm_group
is a
linear_ordered_add_comm_group
.