The span of a set of vectors, as a submodule #
Submodule.span s
is defined to be the smallest submodule containing the sets
.
Notations #
- We introduce the notation
R ∙ v
for the span of a singleton,Submodule.span R {v}
. This is\span
, not the same as the scalar multiplication•
/\bub
.
The span of a set s ⊆ M
is the smallest submodule of M that contains s
.
Equations
- Submodule.span R s = sInf {p : Submodule R M | s ⊆ ↑p}
Instances For
An R
-submodule of M
is principal if it is generated by one element.
- principal' : ∃ (a : M), S = Submodule.span R {a}
Instances
A version of Submodule.span_eq
for subobjects closed under addition and scalar multiplication
and containing zero. In general, this should not be used directly, but can be used to quickly
generate proofs for specific types of subobjects.
A version of Submodule.span_eq
for when the span is by a smaller ring.
A version of Submodule.map_span_le
that does not require the RingHomSurjective
assumption.
Alias of Submodule.map_span
.
Alias of Submodule.map_span_le
.
Alias of Submodule.span_preimage_le
.
An induction principle for span membership. If p
holds for 0 and all elements of s
, and is
preserved under addition and scalar multiplication, then p
holds for all elements of the span of
s
.
Alias of Submodule.span_induction
.
An induction principle for span membership. If p
holds for 0 and all elements of s
, and is
preserved under addition and scalar multiplication, then p
holds for all elements of the span of
s
.
An induction principle for span membership. This is a version of Submodule.span_induction
for binary predicates.
A variant of span_induction
that combines ∀ x ∈ s, p x
and ∀ r x, p x → p (r • x)
into a single condition ∀ r, ∀ x ∈ s, p (r • x)
, which can be easier to verify.
Alias of Submodule.closure_induction
.
A variant of span_induction
that combines ∀ x ∈ s, p x
and ∀ r x, p x → p (r • x)
into a single condition ∀ r, ∀ x ∈ s, p (r • x)
, which can be easier to verify.
span
forms a Galois insertion with the coercion from submodule to set.
Equations
- Submodule.gi R M = { choice := fun (s : Set M) (x : ↑(Submodule.span R s) ≤ s) => Submodule.span R s, gc := ⋯, le_l_u := ⋯, choice_eq := ⋯ }
Instances For
Equations
- Submodule.«term_∙_» = Lean.ParserDescr.trailingNode `Submodule.term_∙_ 1000 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∙ ") (Lean.ParserDescr.cat `term 0))
Instances For
See Submodule.span_smul_eq
(in RingTheory.Ideal.Operations
) for
span R (r • s) = r • span R s
that holds for arbitrary r
in a CommSemiring
.
We can regard coe_iSup_of_chain
as the statement that (↑) : (Submodule R M) → Set M
is
Scott continuous for the ω-complete partial order induced by the complete lattice structures.
If R
is "smaller" ring than S
then the span by R
is smaller than the span by S
.
A version of Submodule.span_le_restrictScalars
with coercions.
Taking the span by a large ring of the span by the small ring is the same as taking the span by just the large ring.
f
is an explicit argument so we can apply
this theorem and obtain h
as a new goal.
An induction principle for elements of ⨆ i, p i
.
If C
holds for 0
and all elements of p i
for all i
, and is preserved under addition,
then it holds for all elements of the supremum of p
.
A dependent version of submodule.iSup_induction
.
The span of a finite subset is compact in the lattice of submodules.
The span of a finite subset is compact in the lattice of submodules.
Equations
- ⋯ = ⋯
A submodule is equal to the supremum of the spans of the submodule's nonzero elements.
For every element in the span of a set, there exists a finite subset of the set such that the element is contained in the span of the subset.
The product of two submodules is a submodule.
Instances For
Equations
- ⋯ = ⋯
There is no vector subspace between p
and (K ∙ x) ⊔ p
, WCovBy
version.
There is no vector subspace between p
and (K ∙ x) ⊔ p
, CovBy
version.
Given an element x
of a module M
over R
, the natural map from
R
to scalar multiples of x
. See also LinearMap.ringLmapEquivSelf
.
Equations
- LinearMap.toSpanSingleton R M x = LinearMap.id.smulRight x
Instances For
The range of toSpanSingleton x
is the span of x
.
Two linear maps are equal on Submodule.span s
iff they are equal on s
.
If two linear maps are equal on a set s
, then they are equal on Submodule.span s
.
This version uses Set.EqOn
, and the hidden argument will expand to h : x ∈ (span R s : Set M)
.
See LinearMap.eqOn_span
for a version that takes h : x ∈ span R s
as an argument.
If two linear maps are equal on a set s
, then they are equal on Submodule.span s
.
See also LinearMap.eqOn_span'
for a version using Set.EqOn
.
If s
generates the whole module and linear maps f
, g
are equal on s
, then they are
equal.
If the range of v : ι → M
generates the whole module and linear maps f
, g
are equal at
each v i
, then they are equal.
Given a nonzero element x
of a torsion-free module M
over a ring R
, the natural
isomorphism from R
to the span of x
given by $r \mapsto r \cdot x$.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a nonzero element x
of a torsion-free module M
over a ring R
, the natural
isomorphism from the span of x
to R
given by $r \cdot x \mapsto r$.
Equations
- LinearEquiv.coord R M x h = (LinearEquiv.toSpanNonzeroSingleton R M x h).symm