ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.IsHermitian.fromBlocks₁₁
theorem IsHermitian.fromBlocks₁₁ [Fintype m] [DecidableEq m] {A : Matrix m m 𝕜} (B : Matrix m n 𝕜)
    (D : Matrix n n 𝕜) (hA : A.IsHermitian) :
    (Matrix.fromBlocks A B Bᴴ D).IsHermitian ↔ (D - Bᴴ * A⁻¹ * B).IsHermitian 
Arguments: {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [CommRing 𝕜] [StarRing 𝕜] [Fintype m] [DecidableEq m] {A : Matrix m m 𝕜} (B : Matrix m n 𝕜) (D : Matrix n n 𝕜) (hA : A.IsHermitian)
Goal: (Matrix.fromBlocks A B B.conjTranspose D).IsHermitian ↔ (D - B.conjTranspose * A⁻¹ * B).IsHermitian
-- Matrix.IsHermitian.fromBlocks₂₂
theorem IsHermitian.fromBlocks₂₂ [Fintype n] [DecidableEq n] (A : Matrix m m 𝕜) (B : Matrix m n 𝕜)
    {D : Matrix n n 𝕜} (hD : D.IsHermitian) :
    (Matrix.fromBlocks A B Bᴴ D).IsHermitian ↔ (A - B * D⁻¹ * Bᴴ).IsHermitian 
Arguments: {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [CommRing 𝕜] [StarRing 𝕜] [Fintype n] [DecidableEq n] (A : Matrix m m 𝕜) (B : Matrix m n 𝕜) {D : Matrix n n 𝕜} (hD : D.IsHermitian)
Goal: (Matrix.fromBlocks A B B.conjTranspose D).IsHermitian ↔ (A - B * D⁻¹ * B.conjTranspose).IsHermitian
-- Matrix.PosSemidef.fromBlocks₁₁
theorem PosSemidef.fromBlocks₁₁ [Fintype m] [DecidableEq m] [Fintype n] {A : Matrix m m 𝕜}
    (B : Matrix m n 𝕜) (D : Matrix n n 𝕜) (hA : A.PosDef) [Invertible A] :
    (fromBlocks A B Bᴴ D).PosSemidef ↔ (D - Bᴴ * A⁻¹ * B).PosSemidef 
Arguments: {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [CommRing 𝕜] [PartialOrder 𝕜] [StarRing 𝕜] [StarOrderedRing 𝕜] [Fintype m] [DecidableEq m] [Fintype n] {A : Matrix m m 𝕜} (B : Matrix m n 𝕜) (D : Matrix n n 𝕜) (hA : A.PosDef) [Invertible A]
Goal: (Matrix.fromBlocks A B B.conjTranspose D).PosSemidef ↔ (D - B.conjTranspose * A⁻¹ * B).PosSemidef
-- Matrix.PosSemidef.fromBlocks₂₂
theorem PosSemidef.fromBlocks₂₂ [Fintype m] [Fintype n] [DecidableEq n] (A : Matrix m m 𝕜)
    (B : Matrix m n 𝕜) {D : Matrix n n 𝕜} (hD : D.PosDef) [Invertible D] :
    (fromBlocks A B Bᴴ D).PosSemidef ↔ (A - B * D⁻¹ * Bᴴ).PosSemidef 
Arguments: {m : Type u_2} {n : Type u_3} {𝕜 : Type u_5} [CommRing 𝕜] [PartialOrder 𝕜] [StarRing 𝕜] [StarOrderedRing 𝕜] [Fintype m] [Fintype n] [DecidableEq n] (A : Matrix m m 𝕜) (B : Matrix m n 𝕜) {D : Matrix n n 𝕜} (hD : D.PosDef) [Invertible D]
Goal: (Matrix.fromBlocks A B B.conjTranspose D).PosSemidef ↔ (A - B * D⁻¹ * B.conjTranspose).PosSemidef
-- TensorProduct.directSum_lof_tmul_lof
@[simp]
theorem directSum_lof_tmul_lof (i₁ : ι₁) (m₁ : M₁ i₁) (i₂ : ι₂) (m₂ : M₂ i₂) :
    TensorProduct.directSum R S M₁ M₂ (DirectSum.lof S ι₁ M₁ i₁ m₁ ⊗ₜ DirectSum.lof R ι₂ M₂ i₂ m₂) =
      DirectSum.lof S (ι₁ × ι₂) (fun i => M₁ i.1 ⊗[R] M₂ i.2) (i₁, i₂) (m₁ ⊗ₜ m₂) 
Arguments: (R : Type u) [CommSemiring R] (S : Type u_1) [Semiring S] [Algebra R S] {ι₁ : Type v₁} {ι₂ : Type v₂} [DecidableEq ι₁] [DecidableEq ι₂] {M₁ : ι₁ → Type w₁} {M₂ : ι₂ → Type w₂} [(i₁ : ι₁) → AddCommMonoid (M₁ i₁)] [(i₂ : ι₂) → AddCommMonoid (M₂ i₂)] [(i₁ : ι₁) → Module R (M₁ i₁)] [(i₂ : ι₂) → Module R (M₂ i₂)] [(i₁ : ι₁) → Module S (M₁ i₁)] [∀ (i₁ : ι₁), IsScalarTower R S (M₁ i₁)] (i₁ : ι₁) (m₁ : M₁ i₁) (i₂ : ι₂) (m₂ : M₂ i₂)
Goal: (TensorProduct.directSum R S M₁ M₂) ((DirectSum.lof S ι₁ M₁ i₁) m₁ ⊗ₜ[R] (DirectSum.lof R ι₂ M₂ i₂) m₂) =
  (DirectSum.lof S (ι₁ × ι₂) (fun i => TensorProduct R (M₁ i.1) (M₂ i.2)) (i₁, i₂)) (m₁ ⊗ₜ[R] m₂)
-- TensorProduct.directSum_symm_lof_tmul
@[simp]
theorem directSum_symm_lof_tmul (i₁ : ι₁) (m₁ : M₁ i₁) (i₂ : ι₂) (m₂ : M₂ i₂) :
    (TensorProduct.directSum R S M₁ M₂).symm
      (DirectSum.lof S (ι₁ × ι₂) (fun i => M₁ i.1 ⊗[R] M₂ i.2) (i₁, i₂) (m₁ ⊗ₜ m₂)) =
      (DirectSum.lof S ι₁ M₁ i₁ m₁ ⊗ₜ DirectSum.lof R ι₂ M₂ i₂ m₂) 
Arguments: (R : Type u) [CommSemiring R] (S : Type u_1) [Semiring S] [Algebra R S] {ι₁ : Type v₁} {ι₂ : Type v₂} [DecidableEq ι₁] [DecidableEq ι₂] {M₁ : ι₁ → Type w₁} {M₂ : ι₂ → Type w₂} [(i₁ : ι₁) → AddCommMonoid (M₁ i₁)] [(i₂ : ι₂) → AddCommMonoid (M₂ i₂)] [(i₁ : ι₁) → Module R (M₁ i₁)] [(i₂ : ι₂) → Module R (M₂ i₂)] [(i₁ : ι₁) → Module S (M₁ i₁)] [∀ (i₁ : ι₁), IsScalarTower R S (M₁ i₁)] (i₁ : ι₁) (m₁ : M₁ i₁) (i₂ : ι₂) (m₂ : M₂ i₂)
Goal: (TensorProduct.directSum R S M₁ M₂).symm
    ((DirectSum.lof S (ι₁ × ι₂) (fun i => TensorProduct R (M₁ i.1) (M₂ i.2)) (i₁, i₂)) (m₁ ⊗ₜ[R] m₂)) =
  (DirectSum.lof S ι₁ M₁ i₁) m₁ ⊗ₜ[R] (DirectSum.lof R ι₂ M₂ i₂) m₂
-- TensorProduct.directSumLeft_tmul_lof
@[simp]
theorem directSumLeft_tmul_lof (i : ι₁) (x : M₁ i) (y : M₂') :
    directSumLeft R M₁ M₂' (DirectSum.lof R _ _ i x ⊗ₜ[R] y) =
    DirectSum.lof R _ _ i (x ⊗ₜ[R] y) 
Arguments: (R : Type u) [CommSemiring R] {ι₁ : Type v₁} [DecidableEq ι₁] {M₁ : ι₁ → Type w₁} {M₂' : Type w₂'} [(i₁ : ι₁) → AddCommMonoid (M₁ i₁)] [AddCommMonoid M₂'] [(i₁ : ι₁) → Module R (M₁ i₁)] [Module R M₂'] (i : ι₁) (x : M₁ i) (y : M₂')
Goal: (TensorProduct.directSumLeft R M₁ M₂') ((DirectSum.lof R ι₁ M₁ i) x ⊗ₜ[R] y) =
  (DirectSum.lof R ι₁ (fun i => TensorProduct R (M₁ i) M₂') i) (x ⊗ₜ[R] y)
-- TensorProduct.directSumLeft_symm_lof_tmul
@[simp]
theorem directSumLeft_symm_lof_tmul (i : ι₁) (x : M₁ i) (y : M₂') :
    (directSumLeft R M₁ M₂').symm (DirectSum.lof R _ _ i (x ⊗ₜ[R] y)) =
      DirectSum.lof R _ _ i x ⊗ₜ[R] y 
Arguments: (R : Type u) [CommSemiring R] {ι₁ : Type v₁} [DecidableEq ι₁] {M₁ : ι₁ → Type w₁} {M₂' : Type w₂'} [(i₁ : ι₁) → AddCommMonoid (M₁ i₁)] [AddCommMonoid M₂'] [(i₁ : ι₁) → Module R (M₁ i₁)] [Module R M₂'] (i : ι₁) (x : M₁ i) (y : M₂')
Goal: (TensorProduct.directSumLeft R M₁ M₂').symm ((DirectSum.lof R ι₁ (fun i => TensorProduct R (M₁ i) M₂') i) (x ⊗ₜ[R] y)) =
  (DirectSum.lof R ι₁ M₁ i) x ⊗ₜ[R] y
-- TensorProduct.directSumRight_tmul_lof
@[simp]
theorem directSumRight_tmul_lof (x : M₁') (i : ι₂) (y : M₂ i) :
    directSumRight R M₁' M₂ (x ⊗ₜ[R] DirectSum.lof R _ _ i y) =
    DirectSum.lof R _ _ i (x ⊗ₜ[R] y) 
Arguments: (R : Type u) [CommSemiring R] {ι₂ : Type v₂} [DecidableEq ι₂] {M₁' : Type w₁'} {M₂ : ι₂ → Type w₂} [AddCommMonoid M₁'] [(i₂ : ι₂) → AddCommMonoid (M₂ i₂)] [Module R M₁'] [(i₂ : ι₂) → Module R (M₂ i₂)] (x : M₁') (i : ι₂) (y : M₂ i)
Goal: (TensorProduct.directSumRight R M₁' M₂) (x ⊗ₜ[R] (DirectSum.lof R ι₂ M₂ i) y) =
  (DirectSum.lof R ι₂ (fun i => TensorProduct R M₁' (M₂ i)) i) (x ⊗ₜ[R] y)
-- TensorProduct.directSumRight_symm_lof_tmul
@[simp]
theorem directSumRight_symm_lof_tmul (x : M₁') (i : ι₂) (y : M₂ i) :
    (directSumRight R M₁' M₂).symm (DirectSum.lof R _ _ i (x ⊗ₜ[R] y)) =
      x ⊗ₜ[R] DirectSum.lof R _ _ i y 
Arguments: (R : Type u) [CommSemiring R] {ι₂ : Type v₂} [DecidableEq ι₂] {M₁' : Type w₁'} {M₂ : ι₂ → Type w₂} [AddCommMonoid M₁'] [(i₂ : ι₂) → AddCommMonoid (M₂ i₂)] [Module R M₁'] [(i₂ : ι₂) → Module R (M₂ i₂)] (x : M₁') (i : ι₂) (y : M₂ i)
Goal: (TensorProduct.directSumRight R M₁' M₂).symm
    ((DirectSum.lof R ι₂ (fun i => TensorProduct R M₁' (M₂ i)) i) (x ⊗ₜ[R] y)) =
  x ⊗ₜ[R] (DirectSum.lof R ι₂ M₂ i) y
-- rank_le
theorem rank_le {n : ℕ}
    (H : ∀ s : Finset M, (LinearIndependent R fun i : s => (i : M)) → s.card ≤ n) :
    Module.rank R M ≤ n 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] {n : ℕ} (H : ∀ (s : Finset M), (LinearIndependent R fun i => ↑i) → s.card ≤ n)
Goal: Module.rank R M ≤ ↑n
-- rank_eq_zero_iff
lemma rank_eq_zero_iff :
    Module.rank R M = 0 ↔ ∀ x : M, ∃ a : R, a ≠ 0 ∧ a • x = 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M]
Goal: Module.rank R M = 0 ↔ ∀ (x : M), ∃ a, a ≠ 0 ∧ a • x = 0
-- rank_zero_iff_forall_zero
theorem rank_zero_iff_forall_zero :
    Module.rank R M = 0 ↔ ∀ x : M, x = 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M]
Goal: Module.rank R M = 0 ↔ ∀ (x : M), x = 0
-- rank_zero_iff
theorem rank_zero_iff : Module.rank R M = 0 ↔ Subsingleton M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M]
Goal: Module.rank R M = 0 ↔ Subsingleton M
-- rank_pos_iff_exists_ne_zero
theorem rank_pos_iff_exists_ne_zero : 0 < Module.rank R M ↔ ∃ x : M, x ≠ 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M]
Goal: 0 < Module.rank R M ↔ ∃ x, x ≠ 0
-- rank_pos_iff_nontrivial
theorem rank_pos_iff_nontrivial : 0 < Module.rank R M ↔ Nontrivial M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M]
Goal: 0 < Module.rank R M ↔ Nontrivial M
-- rank_eq_zero_iff_isTorsion
lemma rank_eq_zero_iff_isTorsion {R M} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M] :
    Module.rank R M = 0 ↔ Module.IsTorsion R M 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M]
Goal: Module.rank R M = 0 ↔ Module.IsTorsion R M
-- rank_pos
theorem rank_pos [Nontrivial M] : 0 < Module.rank R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M] [Nontrivial M]
Goal: 0 < Module.rank R M
-- rank_subsingleton'
theorem rank_subsingleton' [Subsingleton M] : Module.rank R M = 0 
Arguments: (R : Type u) (M : Type v) [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [Subsingleton M]
Goal: Module.rank R M = 0
-- rank_punit
@[simp]
theorem rank_punit : Module.rank R PUnit = 0 
Arguments: (R : Type u) [Ring R] [Nontrivial R]
Goal: Module.rank R PUnit.{u_1 + 1} = 0
-- rank_bot
@[simp]
theorem rank_bot : Module.rank R (⊥ : Submodule R M) = 0 
Arguments: (R : Type u) (M : Type v) [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R]
Goal: Module.rank R ↥⊥ = 0
-- exists_mem_ne_zero_of_rank_pos
theorem exists_mem_ne_zero_of_rank_pos {s : Submodule R M} (h : 0 < Module.rank R s) :
    ∃ b : M, b ∈ s ∧ b ≠ 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] {s : Submodule R M} (h : 0 < Module.rank R ↥s)
Goal: ∃ b ∈ s, b ≠ 0
-- Module.finite_of_rank_eq_nat
theorem Module.finite_of_rank_eq_nat [Module.Free R M] {n : ℕ} (h : Module.rank R M = n) :
    Module.Finite R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Module.Free R M] {n : ℕ} (h : Module.rank R M = ↑n)
Goal: Module.Finite R M
-- Module.finite_of_rank_eq_zero
theorem Module.finite_of_rank_eq_zero [NoZeroSMulDivisors R M]
    (h : Module.rank R M = 0) :
    Module.Finite R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] (h : Module.rank R M = 0)
Goal: Module.Finite R M
-- Module.finite_of_rank_eq_one
theorem Module.finite_of_rank_eq_one [Module.Free R M] (h : Module.rank R M = 1) :
    Module.Finite R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Module.Free R M] (h : Module.rank R M = 1)
Goal: Module.Finite R M
-- Basis.nonempty_fintype_index_of_rank_lt_aleph0
theorem Basis.nonempty_fintype_index_of_rank_lt_aleph0 {ι : Type*} (b : Basis ι R M)
    (h : Module.rank R M < ℵ₀) : Nonempty (Fintype ι) 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] {ι : Type u_1} (b : Basis ι R M) (h : Module.rank R M < ℵ₀)
Goal: Nonempty (Fintype ι)
-- Basis.finite_index_of_rank_lt_aleph0
theorem Basis.finite_index_of_rank_lt_aleph0 {ι : Type*} {s : Set ι} (b : Basis s R M)
    (h : Module.rank R M < ℵ₀) : s.Finite 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] {ι : Type u_1} {s : Set ι} (b : Basis (↑s) R M) (h : Module.rank R M < ℵ₀)
Goal: s.Finite
-- LinearIndependent.cardinal_mk_le_finrank
theorem cardinal_mk_le_finrank [Module.Finite R M]
    {ι : Type w} {b : ι → M} (h : LinearIndependent R b) : #ι ≤ finrank R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] {ι : Type w} {b : ι → M} (h : LinearIndependent R b)
Goal: #ι ≤ ↑(FiniteDimensional.finrank R M)
-- LinearIndependent.fintype_card_le_finrank
theorem fintype_card_le_finrank [Module.Finite R M]
    {ι : Type*} [Fintype ι] {b : ι → M} (h : LinearIndependent R b) :
    Fintype.card ι ≤ finrank R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] {ι : Type u_1} [Fintype ι] {b : ι → M} (h : LinearIndependent R b)
Goal: Fintype.card ι ≤ FiniteDimensional.finrank R M
-- LinearIndependent.finset_card_le_finrank
theorem finset_card_le_finrank [Module.Finite R M]
    {b : Finset M} (h : LinearIndependent R (fun x => x : b → M)) :
    b.card ≤ finrank R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] {b : Finset M} (h : LinearIndependent R fun x => ↑x)
Goal: b.card ≤ FiniteDimensional.finrank R M
-- LinearIndependent.lt_aleph0_of_finite
theorem lt_aleph0_of_finite {ι : Type w}
    [Module.Finite R M] {v : ι → M} (h : LinearIndependent R v) : #ι < ℵ₀ 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] {ι : Type w} [Module.Finite R M] {v : ι → M} (h : LinearIndependent R v)
Goal: #ι < ℵ₀
-- LinearIndependent.finite
theorem finite [Module.Finite R M] {ι : Type*} {f : ι → M}
    (h : LinearIndependent R f) : Finite ι 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] {ι : Type u_1} {f : ι → M} (h : LinearIndependent R f)
Goal: Finite ι
-- LinearIndependent.setFinite
theorem setFinite [Module.Finite R M] {b : Set M}
    (h : LinearIndependent R fun x : b => (x : M)) : b.Finite 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] {b : Set M} (h : LinearIndependent R fun (x : ↑b) => ↑x)
Goal: b.Finite
-- exists_set_linearIndependent_of_lt_rank
lemma exists_set_linearIndependent_of_lt_rank {n : Cardinal} (hn : n < Module.rank R M) :
    ∃ s : Set M, #s = n ∧ LinearIndependent R ((↑) : s → M) 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] {n : Cardinal.{v}} (hn : n < Module.rank R M)
Goal: ∃ s, #↑s = n ∧ LinearIndependent (ι := { x // x ∈ s }) R Subtype.val
-- exists_finset_linearIndependent_of_le_rank
lemma exists_finset_linearIndependent_of_le_rank {n : ℕ} (hn : n ≤ Module.rank R M) :
    ∃ s : Finset M, s.card = n ∧ LinearIndependent R ((↑) : s → M) 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] {n : ℕ} (hn : ↑n ≤ Module.rank R M)
Goal: ∃ s, s.card = n ∧ LinearIndependent R Subtype.val
-- exists_linearIndependent_of_le_rank
lemma exists_linearIndependent_of_le_rank {n : ℕ} (hn : n ≤ Module.rank R M) :
    ∃ f : Fin n → M, LinearIndependent R f 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] {n : ℕ} (hn : ↑n ≤ Module.rank R M)
Goal: ∃ f, LinearIndependent R f
-- natCast_le_rank_iff
lemma natCast_le_rank_iff {n : ℕ} :
    n ≤ Module.rank R M ↔ ∃ f : Fin n → M, LinearIndependent R f 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] {n : ℕ}
Goal: ↑n ≤ Module.rank R M ↔ ∃ f, LinearIndependent R f
-- natCast_le_rank_iff_finset
lemma natCast_le_rank_iff_finset {n : ℕ} :
    n ≤ Module.rank R M ↔ ∃ s : Finset M, s.card = n ∧ LinearIndependent R ((↑) : s → M) 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] {n : ℕ}
Goal: ↑n ≤ Module.rank R M ↔ ∃ s, s.card = n ∧ LinearIndependent R Subtype.val
-- exists_finset_linearIndependent_of_le_finrank
lemma exists_finset_linearIndependent_of_le_finrank {n : ℕ} (hn : n ≤ finrank R M) :
    ∃ s : Finset M, s.card = n ∧ LinearIndependent R ((↑) : s → M) 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] {n : ℕ} (hn : n ≤ FiniteDimensional.finrank R M)
Goal: ∃ s, s.card = n ∧ LinearIndependent R Subtype.val
-- exists_linearIndependent_of_le_finrank
lemma exists_linearIndependent_of_le_finrank {n : ℕ} (hn : n ≤ finrank R M) :
    ∃ f : Fin n → M, LinearIndependent R f 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] {n : ℕ} (hn : n ≤ FiniteDimensional.finrank R M)
Goal: ∃ f, LinearIndependent R f
-- Module.Finite.not_linearIndependent_of_infinite
theorem Module.Finite.not_linearIndependent_of_infinite {ι : Type*} [Infinite ι]
    (v : ι → M) : ¬LinearIndependent R v 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] {ι : Type u_1} [Infinite ι] (v : ι → M)
Goal: ¬LinearIndependent R v
-- CompleteLattice.Independent.subtype_ne_bot_le_rank
theorem CompleteLattice.Independent.subtype_ne_bot_le_rank [Nontrivial R]
    {V : ι → Submodule R M} (hV : CompleteLattice.Independent V) :
    Cardinal.lift.{v} #{ i : ι // V i ≠ ⊥ } ≤ Cardinal.lift.{w} (Module.rank R M) 
Arguments: {R : Type u} {M : Type v} {ι : Type w} [Ring R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] [Nontrivial R] {V : ι → Submodule R M} (hV : CompleteLattice.Independent V)
Goal: Cardinal.lift.{v, w} #{ i // V i ≠ ⊥ } ≤ Cardinal.lift.{w, v} (Module.rank R M)
-- CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux
theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux
    {p : ι → Submodule R M} (hp : CompleteLattice.Independent p) :
    #{ i // p i ≠ ⊥ } ≤ (finrank R M : Cardinal.{w}) 
Arguments: {R : Type u} {M : Type v} {ι : Type w} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] [NoZeroSMulDivisors R M] {p : ι → Submodule R M} (hp : CompleteLattice.Independent p)
Goal: #{ i // p i ≠ ⊥ } ≤ ↑(FiniteDimensional.finrank R M)
-- CompleteLattice.Independent.subtype_ne_bot_le_finrank
theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank
    {p : ι → Submodule R M} (hp : CompleteLattice.Independent p) [Fintype { i // p i ≠ ⊥ }] :
    Fintype.card { i // p i ≠ ⊥ } ≤ finrank R M 
Arguments: {R : Type u} {M : Type v} {ι : Type w} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] [NoZeroSMulDivisors R M] {p : ι → Submodule R M} (hp : CompleteLattice.Independent p) [Fintype { i // p i ≠ ⊥ }]
Goal: Fintype.card { i // p i ≠ ⊥ } ≤ FiniteDimensional.finrank R M
-- Module.exists_nontrivial_relation_of_finrank_lt_card
theorem Module.exists_nontrivial_relation_of_finrank_lt_card {t : Finset M}
    (h : finrank R M < t.card) : ∃ f : M → R, ∑ e ∈ t, f e • e = 0 ∧ ∃ x ∈ t, f x ≠ 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] {t : Finset M} (h : FiniteDimensional.finrank R M < t.card)
Goal: ∃ f, ∑ e ∈ t, f e • e = 0 ∧ ∃ x ∈ t, f x ≠ 0
-- Module.exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card
theorem Module.exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card
    {t : Finset M} (h : finrank R M + 1 < t.card) :
    ∃ f : M → R, ∑ e ∈ t, f e • e = 0 ∧ ∑ e ∈ t, f e = 0 ∧ ∃ x ∈ t, f x ≠ 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M] {t : Finset M} (h : FiniteDimensional.finrank R M + 1 < t.card)
Goal: ∃ f, ∑ e ∈ t, f e • e = 0 ∧ ∑ e ∈ t, f e = 0 ∧ ∃ x ∈ t, f x ≠ 0
-- FiniteDimensional.nontrivial_of_finrank_pos
theorem FiniteDimensional.nontrivial_of_finrank_pos (h : 0 < finrank R M) : Nontrivial M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M] (h : 0 < FiniteDimensional.finrank R M)
Goal: Nontrivial M
-- FiniteDimensional.nontrivial_of_finrank_eq_succ
theorem FiniteDimensional.nontrivial_of_finrank_eq_succ {n : ℕ}
    (hn : finrank R M = n.succ) : Nontrivial M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M] {n : ℕ} (hn : FiniteDimensional.finrank R M = n.succ)
Goal: Nontrivial M
-- FiniteDimensional.finrank_zero_of_subsingleton
@[nontriviality]
theorem FiniteDimensional.finrank_zero_of_subsingleton [Subsingleton M] : finrank R M = 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [Subsingleton M]
Goal: FiniteDimensional.finrank R M = 0
-- LinearIndependent.finrank_eq_zero_of_infinite
lemma LinearIndependent.finrank_eq_zero_of_infinite {ι} [Nontrivial R] [Infinite ι] {v : ι → M}
    (hv : LinearIndependent R v) : finrank R M = 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] {ι : Type u_1} [Nontrivial R] [Infinite ι] {v : ι → M} (hv : LinearIndependent R v)
Goal: FiniteDimensional.finrank R M = 0
-- finrank_bot
@[simp]
theorem finrank_bot : finrank R (⊥ : Submodule R M) = 0 
Arguments: (R : Type u) (M : Type v) [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R]
Goal: FiniteDimensional.finrank R ↥⊥ = 0
-- FiniteDimensional.finrank_pos_iff_exists_ne_zero
theorem FiniteDimensional.finrank_pos_iff_exists_ne_zero [NoZeroSMulDivisors R M] :
    0 < finrank R M ↔ ∃ x : M, x ≠ 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [StrongRankCondition R] [Module.Finite R M] [NoZeroSMulDivisors R M]
Goal: 0 < FiniteDimensional.finrank R M ↔ ∃ x, x ≠ 0
-- FiniteDimensional.finrank_pos_iff
theorem FiniteDimensional.finrank_pos_iff [NoZeroSMulDivisors R M] :
    0 < finrank R M ↔ Nontrivial M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [StrongRankCondition R] [Module.Finite R M] [NoZeroSMulDivisors R M]
Goal: 0 < FiniteDimensional.finrank R M ↔ Nontrivial M
-- FiniteDimensional.finrank_pos
theorem FiniteDimensional.finrank_pos [NoZeroSMulDivisors R M] [h : Nontrivial M] :
    0 < finrank R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [StrongRankCondition R] [Module.Finite R M] [NoZeroSMulDivisors R M] [h : Nontrivial M]
Goal: 0 < FiniteDimensional.finrank R M
-- FiniteDimensional.finrank_eq_zero_iff
theorem FiniteDimensional.finrank_eq_zero_iff :
    finrank R M = 0 ↔ ∀ x : M, ∃ a : R, a ≠ 0 ∧ a • x = 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M]
Goal: FiniteDimensional.finrank R M = 0 ↔ ∀ (x : M), ∃ a, a ≠ 0 ∧ a • x = 0
-- FiniteDimensional.finrank_eq_zero_iff_isTorsion
theorem FiniteDimensional.finrank_eq_zero_iff_isTorsion {R} [CommRing R] [StrongRankCondition R]
    [IsDomain R] [Module R M] [Module.Finite R M] :
    finrank R M = 0 ↔ Module.IsTorsion R M 
Arguments: {M : Type v} [AddCommGroup M] {R : Type u_1} [CommRing R] [StrongRankCondition R] [IsDomain R] [Module R M] [Module.Finite R M]
Goal: FiniteDimensional.finrank R M = 0 ↔ Module.IsTorsion R M
-- FiniteDimensional.finrank_zero_iff
theorem FiniteDimensional.finrank_zero_iff [NoZeroSMulDivisors R M] :
    finrank R M = 0 ↔ Subsingleton M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [StrongRankCondition R] [Module.Finite R M] [NoZeroSMulDivisors R M]
Goal: FiniteDimensional.finrank R M = 0 ↔ Subsingleton M
-- FiniteDimensional.finrank_eq_zero_of_rank_eq_zero
theorem FiniteDimensional.finrank_eq_zero_of_rank_eq_zero (h : Module.rank R M = 0) :
    finrank R M = 0 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (h : Module.rank R M = 0)
Goal: FiniteDimensional.finrank R M = 0
-- Submodule.bot_eq_top_of_rank_eq_zero
theorem Submodule.bot_eq_top_of_rank_eq_zero [NoZeroSMulDivisors R M] (h : Module.rank R M = 0) :
    (⊥ : Submodule R M) = ⊤ 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M] (h : Module.rank R M = 0)
Goal: ⊥ = ⊤
-- Submodule.rank_eq_zero
@[simp]
theorem Submodule.rank_eq_zero [Nontrivial R] [NoZeroSMulDivisors R M] {S : Submodule R M} :
    Module.rank R S = 0 ↔ S = ⊥ 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M] {S : Submodule R M}
Goal: Module.rank R ↥S = 0 ↔ S = ⊥
-- Submodule.finrank_eq_zero
@[simp]
theorem Submodule.finrank_eq_zero [StrongRankCondition R] [NoZeroSMulDivisors R M]
    {S : Submodule R M} [Module.Finite R S] :
    finrank R S = 0 ↔ S = ⊥ 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [StrongRankCondition R] [NoZeroSMulDivisors R M] {S : Submodule R M} [Module.Finite R ↥S]
Goal: FiniteDimensional.finrank R ↥S = 0 ↔ S = ⊥