Documentation

Mathlib.LinearAlgebra.Dimension.DivisionRing

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 division ring), we have

See also Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean for the Erdős-Kaplansky theorem.

If a vector space has a finite dimension, the index set of Basis.ofVectorSpace is finite.

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 : db.rangeeb.range) (hgd : cd.ker = ) (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.

theorem Submodule.rank_span_le_rank {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {R : Type u_1} [CommRing R] [Nontrivial R] [SMulWithZero R K] [FaithfulSMul R K] [IsScalarTower R K K] [Module R V] [IsScalarTower R K V] (M : Submodule R V) :
Module.rank K (span K M) Module.rank R M

The K-rank of the K-span of an R-submodule M of V is at most the R-rank of M.

theorem Submodule.rank_span_le_rank_span {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {R : Type u_1} [CommRing R] [Nontrivial R] [SMulWithZero R K] [FaithfulSMul R K] [IsScalarTower R K K] [Module R V] [IsScalarTower R K V] (s : Set V) :
Module.rank K (span K s) Module.rank R (span R s)

The K-rank of the K-span of a set s in V is at most the R-rank of the R-span of s.

theorem Submodule.finrank_span_le_finrank {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {R : Type u_1} [CommRing R] [Nontrivial R] [SMulWithZero R K] [FaithfulSMul R K] [IsScalarTower R K K] [Module R V] [IsScalarTower R K V] (M : Submodule R V) (h : M.FG) :
Module.finrank K (span K M) Module.finrank R M

The K-rank of the K-span of a finitely generated R-submodule M of V is at most the R-rank of M.

This is the Module.finrank version of Submodule.rank_span_le_rank; see also Submodule.finrank_span_eq_finrank for an equality in a different setting.

theorem Submodule.finrank_span_le_finrank_span {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {R : Type u_1} [CommRing R] [Nontrivial R] [SMulWithZero R K] [FaithfulSMul R K] [IsScalarTower R K K] [Module R V] [IsScalarTower R K V] {s : Set V} (hs : s.Finite) :
Module.finrank K (span K s) Module.finrank R (span R s)

The K-rank of the K-span of a finite set s in V is at most the R-rank of the R-span of s.

This is the Module.finrank version of Submodule.rank_span_le_rank_span; see also Submodule.finrank_span_eq_finrank_span for an equality in a different setting.