Dimension of vector spaces #
In this file we provide results about Module.rank and Module.finrank of vector spaces
over division rings.
Main statements #
For vector spaces (i.e. modules over a field), we have
rank_quotient_add_rank_of_divisionRing: ifV₁is a submodule ofV, thenModule.rank (V/V₁) + Module.rank V₁ = Module.rank V.rank_range_add_rank_ker: the rank-nullity theorem.
See also Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean for the Erdős-Kaplansky theorem.
theorem
Module.Basis.finite_ofVectorSpaceIndex_of_rank_lt_aleph0
{K : Type u}
{V : Type v}
[DivisionRing K]
[AddCommGroup V]
[Module K V]
(h : Module.rank K V < Cardinal.aleph0)
:
(ofVectorSpaceIndex K V).Finite
If a vector space has a finite dimension, the index set of Basis.ofVectorSpace is finite.
theorem
rank_quotient_add_rank_of_divisionRing
{K : Type u}
{V : Type v}
[DivisionRing K]
[AddCommGroup V]
[Module K V]
(p : Submodule K V)
:
Also see rank_quotient_add_rank.
theorem
rank_add_rank_split
{K : Type u}
{V V₁ V₂ V₃ : Type v}
[DivisionRing K]
[AddCommGroup V]
[Module K V]
[AddCommGroup V₁]
[Module K V₁]
[AddCommGroup V₂]
[Module K V₂]
[AddCommGroup V₃]
[Module K V₃]
(db : V₂ →ₗ[K] V)
(eb : V₃ →ₗ[K] V)
(cd : V₁ →ₗ[K] V₂)
(ce : V₁ →ₗ[K] V₃)
(hde : ⊤ ≤ LinearMap.range db ⊔ LinearMap.range eb)
(hgd : LinearMap.ker cd = ⊥)
(eq : db ∘ₗ cd = eb ∘ₗ ce)
(eq₂ : ∀ (d : V₂) (e : V₃), db d = eb e → ∃ (c : V₁), cd c = d ∧ ce c = e)
:
This is mostly an auxiliary lemma for Submodule.rank_sup_add_rank_inf_eq.