Submodules of a module #
In this file we define
Submodule R M: a subset of aModuleMthat contains zero and is closed with respect to addition and scalar multiplication.Subspace k M: an abbreviation forSubmoduleassuming thatkis aField.
Tags #
submodule, subspace, linear map
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.
Instances For
The actual Submodule obtained from an element of a SMulMemClass and AddSubmonoidClass.
Equations
- Submodule.ofClass s = { carrier := ↑s, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
Instances For
Copy of a submodule with a new carrier equal to the old one. Useful to fix definitional
equalities.
Instances For
A submodule of a Module is a Module.
Equations
- SMulMemClass.toModule S' = { toMulAction := SubMulAction.SMulMemClass.toMulAction S', smul_zero := ⋯, smul_add := ⋯, add_smul := ⋯, zero_smul := ⋯ }
This can't be an instance because Lean wouldn't know how to find R, but we can still use
this to manually derive Module on specific types.
Equations
- SMulMemClass.toModule' S R' R A s = SMulMemClass.toModule s
Instances For
Equations
Reinterpret a submodule as an additive subgroup.
Equations
- p.toAddSubgroup = { toAddSubmonoid := p.toAddSubmonoid, neg_mem' := ⋯ }
Instances For
Equations
Equations
- SubmoduleClass.module' t = { toSMul := SetLike.smul' t, one_smul := ⋯, mul_smul := ⋯, smul_zero := ⋯, smul_add := ⋯, add_smul := ⋯, zero_smul := ⋯ }