# Some results on free modules over rings satisfying strong rank condition #

This file contains some results on free modules over rings satisfying strong rank condition. Most of them are generalized from the same result assuming the base ring being division ring, and are moved from the files Mathlib/LinearAlgebra/Dimension/DivisionRing.lean and Mathlib/LinearAlgebra/FiniteDimensional.lean.

noncomputable def Basis.ofRankEqZero {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] {ι : Type u_1} [] (hV : = 0) :
Basis ι K V

The ι indexed basis on V, where ι is an empty type and V is zero-dimensional.

See also FiniteDimensional.finBasis.

Equations
Instances For
@[simp]
theorem Basis.ofRankEqZero_apply {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] {ι : Type u_1} [] (hV : = 0) (i : ι) :
() i = 0
theorem le_rank_iff_exists_linearIndependent {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] {c : Cardinal.{v}} :
c ∃ (s : Set V), = c LinearIndependent (ι := { x : V // x s }) K Subtype.val
theorem le_rank_iff_exists_linearIndependent_finset {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] {n : } :
n ∃ (s : ), s.card = n LinearIndependent (ι := { x : V // x s }) K Subtype.val
theorem rank_le_one_iff {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] :
1 ∃ (v₀ : V), ∀ (v : V), ∃ (r : K), r v₀ = v

A vector space has dimension at most 1 if and only if there is a single vector of which all vectors are multiples.

theorem rank_eq_one_iff {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] :
= 1 ∃ (v₀ : V), v₀ 0 ∀ (v : V), ∃ (r : K), r v₀ = v

A vector space has dimension 1 if and only if there is a single non-zero vector of which all vectors are multiples.

theorem rank_submodule_le_one_iff {K : Type u} {V : Type v} [Ring K] [] [Module K V] (s : ) [Module.Free K s] :
Module.rank K s 1 v₀s, s Submodule.span K {v₀}

A submodule has dimension at most 1 if and only if there is a single vector in the submodule such that the submodule is contained in its span.

theorem rank_submodule_eq_one_iff {K : Type u} {V : Type v} [Ring K] [] [Module K V] (s : ) [Module.Free K s] :
Module.rank K s = 1 v₀s, v₀ 0 s Submodule.span K {v₀}

A submodule has dimension 1 if and only if there is a single non-zero vector in the submodule such that the submodule is contained in its span.

theorem rank_submodule_le_one_iff' {K : Type u} {V : Type v} [Ring K] [] [Module K V] (s : ) [Module.Free K s] :
Module.rank K s 1 ∃ (v₀ : V), s Submodule.span K {v₀}

A submodule has dimension at most 1 if and only if there is a single vector, not necessarily in the submodule, such that the submodule is contained in its span.

theorem Submodule.rank_le_one_iff_isPrincipal {K : Type u} {V : Type v} [Ring K] [] [Module K V] (W : ) [Module.Free K W] :
Module.rank K W 1 W.IsPrincipal
theorem Module.rank_le_one_iff_top_isPrincipal {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] :
1 .IsPrincipal
theorem finrank_eq_one_iff {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] (ι : Type u_1) [] :
Nonempty (Basis ι K V)

A module has dimension 1 iff there is some v : V so {v} is a basis.

theorem finrank_eq_one_iff' {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] :
∃ (v : V), v 0 ∀ (w : V), ∃ (c : K), c v = w

A module has dimension 1 iff there is some nonzero v : V so every vector is a multiple of v.

theorem finrank_le_one_iff {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] [] :
∃ (v : V), ∀ (w : V), ∃ (c : K), c v = w

A finite dimensional module has dimension at most 1 iff there is some v : V so every vector is a multiple of v.

theorem Submodule.finrank_le_one_iff_isPrincipal {K : Type u} {V : Type v} [Ring K] [] [Module K V] (W : ) [Module.Free K W] [] :
W.IsPrincipal
theorem Module.finrank_le_one_iff_top_isPrincipal {K : Type u} {V : Type v} [Ring K] [] [Module K V] [] [] :
.IsPrincipal
theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K : Type u) (V : Type u) [Ring K] [] [Module K V] [] [] :
= ^
theorem cardinal_lt_aleph0_of_finiteDimensional (K : Type u) (V : Type v) [Ring K] [] [Module K V] [] [] [] :
theorem Subalgebra.eq_bot_of_rank_le_one {F : Type u_1} {E : Type u_2} [] [Ring E] [Algebra F E] {S : } (h : Module.rank F S 1) [Module.Free F S] :
S =
theorem Subalgebra.eq_bot_of_finrank_one {F : Type u_1} {E : Type u_2} [] [Ring E] [Algebra F E] {S : } (h : ) [Module.Free F S] :
S =
@[simp]
theorem Subalgebra.rank_eq_one_iff {F : Type u_1} {E : Type u_2} [] [Ring E] [Algebra F E] {S : } [] [Module.Free F S] :
Module.rank F S = 1 S =
@[simp]
theorem Subalgebra.finrank_eq_one_iff {F : Type u_1} {E : Type u_2} [] [Ring E] [Algebra F E] {S : } [] [Module.Free F S] :
S =
theorem Subalgebra.bot_eq_top_iff_rank_eq_one {F : Type u_1} {E : Type u_2} [] [Ring E] [Algebra F E] [] [] :
= 1
theorem Subalgebra.bot_eq_top_iff_finrank_eq_one {F : Type u_1} {E : Type u_2} [] [Ring E] [Algebra F E] [] [] :
@[simp]
theorem Subalgebra.bot_eq_top_of_rank_eq_one {F : Type u_1} {E : Type u_2} [] [Ring E] [Algebra F E] [] [] :
= 1

Alias of the reverse direction of Subalgebra.bot_eq_top_iff_rank_eq_one.

@[simp]
theorem Subalgebra.bot_eq_top_of_finrank_eq_one {F : Type u_1} {E : Type u_2} [] [Ring E] [Algebra F E] [] [] :

Alias of the reverse direction of Subalgebra.bot_eq_top_iff_finrank_eq_one.