Documentation

Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition

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 a division ring, and are moved from the files Mathlib/LinearAlgebra/Dimension/DivisionRing.lean and Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean.

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

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

See also Module.finBasis.

Equations
    Instances For
      @[simp]
      theorem Basis.ofRankEqZero_apply {K : Type u} {V : Type v} [Ring K] [StrongRankCondition K] [AddCommGroup V] [Module K V] [Module.Free K V] {ι : Type u_1} [IsEmpty ι] (hV : Module.rank K V = 0) (i : ι) :
      (ofRankEqZero hV) i = 0
      theorem rank_le_one_iff {K : Type u} {V : Type v} [Ring K] [StrongRankCondition K] [AddCommGroup V] [Module K V] [Module.Free K V] :
      Module.rank 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] [StrongRankCondition K] [AddCommGroup V] [Module K V] [Module.Free K V] :
      Module.rank 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] [StrongRankCondition K] [AddCommGroup V] [Module K V] (s : Submodule K V) [Module.Free K ↄs] :
      Module.rank K ↄs ≤ 1 ↔ ∃ vā‚€ ∈ s, s ≤ 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] [StrongRankCondition K] [AddCommGroup V] [Module K V] (s : Submodule K V) [Module.Free K ↄs] :
      Module.rank K ↄs = 1 ↔ ∃ vā‚€ ∈ s, vā‚€ ≠ 0 ∧ s ≤ 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] [StrongRankCondition K] [AddCommGroup V] [Module K V] (s : Submodule K V) [Module.Free K ↄs] :
      Module.rank K ↄs ≤ 1 ↔ ∃ (vā‚€ : V), s ≤ 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 finrank_eq_one_iff {K : Type u} {V : Type v} [Ring K] [StrongRankCondition K] [AddCommGroup V] [Module K V] [Module.Free K V] (ι : Type u_1) [Unique ι] :

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

      See also Module.Basis.nonempty_unique_index_of_finrank_eq_one

      theorem finrank_eq_one_iff' {K : Type u} {V : Type v} [Ring K] [StrongRankCondition K] [AddCommGroup V] [Module K V] [Module.Free K V] :
      Module.finrank K V = 1 ↔ ∃ (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] [StrongRankCondition K] [AddCommGroup V] [Module K V] [Module.Free K V] [Module.Finite K V] :
      Module.finrank K V ≤ 1 ↔ ∃ (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 Subalgebra.eq_bot_of_rank_le_one {F : Type u_1} {E : Type u_2} [CommRing F] [StrongRankCondition F] [Ring E] [Algebra F E] {S : Subalgebra F E} (h : Module.rank F ↄS ≤ 1) [Module.Free F ↄS] :
      theorem Subalgebra.eq_bot_of_finrank_one {F : Type u_1} {E : Type u_2} [CommRing F] [StrongRankCondition F] [Ring E] [Algebra F E] {S : Subalgebra F E} (h : Module.finrank F ↄS = 1) [Module.Free F ↄS] :
      @[simp]
      theorem Subalgebra.rank_eq_one_iff {F : Type u_1} {E : Type u_2} [CommRing F] [StrongRankCondition F] [Ring E] [Algebra F E] {S : Subalgebra F E} [Nontrivial E] [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} [CommRing F] [StrongRankCondition F] [Ring E] [Algebra F E] {S : Subalgebra F E} [Nontrivial E] [Module.Free F ↄS] :
      @[simp]

      Alias of the reverse direction of Subalgebra.bot_eq_top_iff_rank_eq_one.