File: Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean

full_name: Basis.ofRankEqZero
code: /-- The `ι` indexed basis on `V`, where `ι` is an empty type and `V` is zero-dimensional.

See also `FiniteDimensional.finBasis`.
-/
noncomputable def Basis.ofRankEqZero [Module.Free K V] {ι : Type*} [IsEmpty ι]
    (hV : Module.rank K V = 0) : Basis ι K V 
goal: Basis ι K V

full_name: Basis.ofRankEqZero_apply
code: @[simp]
theorem Basis.ofRankEqZero_apply [Module.Free K V] {ι : Type*} [IsEmpty ι]
    (hV : Module.rank K V = 0) (i : ι) : Basis.ofRankEqZero hV i = 0 
goal: (Basis.ofRankEqZero hV) i = 0

full_name: le_rank_iff_exists_linearIndependent
code: theorem le_rank_iff_exists_linearIndependent [Module.Free K V] {c : Cardinal} :
    c ≤ Module.rank K V ↔ ∃ s : Set V, #s = c ∧ LinearIndependent K ((↑) : s → V) 
goal: c ≤ Module.rank K V ↔ ∃ s, #↑s = c ∧ LinearIndependent (ι := { x // x ∈ s }) K Subtype.val

full_name: le_rank_iff_exists_linearIndependent_finset
code: theorem le_rank_iff_exists_linearIndependent_finset
    [Module.Free K V] {n : ℕ} : ↑n ≤ Module.rank K V ↔
    ∃ s : Finset V, s.card = n ∧ LinearIndependent K ((↑) : ↥(s : Set V) → V) 
goal: ↑n ≤ Module.rank K V ↔ ∃ s, s.card = n ∧ LinearIndependent (ι := { x // x ∈ ↑s }) K Subtype.val

full_name: rank_le_one_iff
code: /-- 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_le_one_iff [Module.Free K V] :
    Module.rank K V ≤ 1 ↔ ∃ v₀ : V, ∀ v, ∃ r : K, r • v₀ = v 
goal: Module.rank K V ≤ 1 ↔ ∃ v₀, ∀ (v : V), ∃ r, r • v₀ = v

full_name: rank_eq_one_iff
code: /-- 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_eq_one_iff [Module.Free K V] :
    Module.rank K V = 1 ↔ ∃ v₀ : V, v₀ ≠ 0 ∧ ∀ v, ∃ r : K, r • v₀ = v 
goal: Module.rank K V = 1 ↔ ∃ v₀, v₀ ≠ 0 ∧ ∀ (v : V), ∃ r, r • v₀ = v

full_name: rank_submodule_le_one_iff
code: /-- 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_le_one_iff (s : Submodule K V) [Module.Free K s] :
    Module.rank K s ≤ 1 ↔ ∃ v₀ ∈ s, s ≤ K ∙ v₀ 
goal: Module.rank K ↥s ≤ 1 ↔ ∃ v₀ ∈ s, s ≤ Submodule.span K {v₀}

full_name: rank_submodule_eq_one_iff
code: /-- 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_eq_one_iff (s : Submodule K V) [Module.Free K s] :
    Module.rank K s = 1 ↔ ∃ v₀ ∈ s, v₀ ≠ 0 ∧ s ≤ K ∙ v₀ 
goal: Module.rank K ↥s = 1 ↔ ∃ v₀ ∈ s, v₀ ≠ 0 ∧ s ≤ Submodule.span K {v₀}

full_name: rank_submodule_le_one_iff'
code: /-- 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 rank_submodule_le_one_iff' (s : Submodule K V) [Module.Free K s] :
    Module.rank K s ≤ 1 ↔ ∃ v₀, s ≤ K ∙ v₀ 
goal: Module.rank K ↥s ≤ 1 ↔ ∃ v₀, s ≤ Submodule.span K {v₀}

full_name: Submodule.rank_le_one_iff_isPrincipal
code: theorem Submodule.rank_le_one_iff_isPrincipal (W : Submodule K V) [Module.Free K W] :
    Module.rank K W ≤ 1 ↔ W.IsPrincipal 
goal: Module.rank K ↥W ≤ 1 ↔ W.IsPrincipal

full_name: Module.rank_le_one_iff_top_isPrincipal
code: theorem Module.rank_le_one_iff_top_isPrincipal [Module.Free K V] :
    Module.rank K V ≤ 1 ↔ (⊤ : Submodule K V).IsPrincipal 
goal: Module.rank K V ≤ 1 ↔ ⊤.IsPrincipal

full_name: finrank_eq_one_iff
code: /-- A module has dimension 1 iff there is some `v : V` so `{v}` is a basis.
-/
theorem finrank_eq_one_iff [Module.Free K V] (ι : Type*) [Unique ι] :
    finrank K V = 1 ↔ Nonempty (Basis ι K V) 
goal: FiniteDimensional.finrank K V = 1 ↔ Nonempty (Basis ι K V)

full_name: finrank_eq_one_iff'
code: /-- A module has dimension 1 iff there is some nonzero `v : V` so every vector is a multiple of `v`.
-/
theorem finrank_eq_one_iff' [Module.Free K V] :
    finrank K V = 1 ↔ ∃ v ≠ 0, ∀ w : V, ∃ c : K, c • v = w 
goal: FiniteDimensional.finrank K V = 1 ↔ ∃ v, v ≠ 0 ∧ ∀ (w : V), ∃ c, c • v = w

full_name: finrank_le_one_iff
code: /-- A finite dimensional module has dimension at most 1 iff
there is some `v : V` so every vector is a multiple of `v`.
-/
theorem finrank_le_one_iff [Module.Free K V] [Module.Finite K V] :
    finrank K V ≤ 1 ↔ ∃ v : V, ∀ w : V, ∃ c : K, c • v = w 
goal: FiniteDimensional.finrank K V ≤ 1 ↔ ∃ v, ∀ (w : V), ∃ c, c • v = w

full_name: Submodule.finrank_le_one_iff_isPrincipal
code: theorem Submodule.finrank_le_one_iff_isPrincipal
    (W : Submodule K V) [Module.Free K W] [Module.Finite K W] :
    finrank K W ≤ 1 ↔ W.IsPrincipal 
goal: FiniteDimensional.finrank K ↥W ≤ 1 ↔ W.IsPrincipal

full_name: Module.finrank_le_one_iff_top_isPrincipal
code: theorem Module.finrank_le_one_iff_top_isPrincipal [Module.Free K V] [Module.Finite K V] :
    finrank K V ≤ 1 ↔ (⊤ : Submodule K V).IsPrincipal 
goal: FiniteDimensional.finrank K V ≤ 1 ↔ ⊤.IsPrincipal

full_name: lift_cardinal_mk_eq_lift_cardinal_mk_field_pow_lift_rank
code: theorem lift_cardinal_mk_eq_lift_cardinal_mk_field_pow_lift_rank [Module.Free K V]
    [Module.Finite K V] : lift.{u} #V = lift.{v} #K ^ lift.{u} (Module.rank K V) 
goal: Cardinal.lift.{u, v} #V = Cardinal.lift.{v, u} #K ^ Cardinal.lift.{u, v} (Module.rank K V)

full_name: cardinal_mk_eq_cardinal_mk_field_pow_rank
code: theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [Ring K] [StrongRankCondition K]
    [AddCommGroup V] [Module K V] [Module.Free K V] [Module.Finite K V] :
    #V = #K ^ Module.rank K V 
goal: #V = #K ^ Module.rank K V

full_name: cardinal_lt_aleph0_of_finiteDimensional
code: theorem cardinal_lt_aleph0_of_finiteDimensional [Finite K] [Module.Free K V] [Module.Finite K V] :
    #V < ℵ₀ 
goal: #V < ℵ₀

full_name: Subalgebra.eq_bot_of_rank_le_one
code: theorem eq_bot_of_rank_le_one (h : Module.rank F S ≤ 1) [Module.Free F S] : S = ⊥ 
goal: S = ⊥

full_name: Subalgebra.eq_bot_of_finrank_one
code: theorem eq_bot_of_finrank_one (h : finrank F S = 1) [Module.Free F S] : S = ⊥ 
goal: S = ⊥

full_name: Subalgebra.rank_eq_one_iff
code: @[simp]
theorem rank_eq_one_iff [Nontrivial E] [Module.Free F S] : Module.rank F S = 1 ↔ S = ⊥ 
goal: Module.rank F ↥S = 1 ↔ S = ⊥

full_name: Subalgebra.finrank_eq_one_iff
code: @[simp]
theorem finrank_eq_one_iff [Nontrivial E] [Module.Free F S] : finrank F S = 1 ↔ S = ⊥ 
goal: FiniteDimensional.finrank F ↥S = 1 ↔ S = ⊥

full_name: Subalgebra.bot_eq_top_iff_rank_eq_one
code: theorem bot_eq_top_iff_rank_eq_one [Nontrivial E] [Module.Free F E] :
    (⊥ : Subalgebra F E) = ⊤ ↔ Module.rank F E = 1 
goal: ⊥ = ⊤ ↔ Module.rank F E = 1

full_name: Subalgebra.bot_eq_top_iff_finrank_eq_one
code: theorem bot_eq_top_iff_finrank_eq_one [Nontrivial E] [Module.Free F E] :
    (⊥ : Subalgebra F E) = ⊤ ↔ finrank F E = 1 
goal: ⊥ = ⊤ ↔ FiniteDimensional.finrank F E = 1