ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.det_eq_zero_of_row_eq_zero
theorem det_eq_zero_of_row_eq_zero {A : Matrix n n R} (i : n) (h : ∀ j, A i j = 0) : det A = 0 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {A : Matrix n n R} (i : n) (h : ∀ (j : n), A i j = 0)
Goal: A.det = 0
-- Matrix.det_eq_zero_of_column_eq_zero
theorem det_eq_zero_of_column_eq_zero {A : Matrix n n R} (j : n) (h : ∀ i, A i j = 0) :
    det A = 0 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {A : Matrix n n R} (j : n) (h : ∀ (i : n), A i j = 0)
Goal: A.det = 0
-- Matrix.det_zero_of_row_eq
theorem det_zero_of_row_eq (i_ne_j : i ≠ j) (hij : M i = M j) : M.det = 0 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {M : Matrix n n R} {i j : n} (i_ne_j : i ≠ j) (hij : M i = M j)
Goal: M.det = 0
-- Matrix.det_zero_of_column_eq
theorem det_zero_of_column_eq (i_ne_j : i ≠ j) (hij : ∀ k, M k i = M k j) : M.det = 0 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {M : Matrix n n R} {i j : n} (i_ne_j : i ≠ j) (hij : ∀ (k : n), M k i = M k j)
Goal: M.det = 0
-- Matrix.det_updateRow_eq_zero
theorem det_updateRow_eq_zero (h : i ≠ j) :
    (M.updateRow j (M i)).det = 0 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {M : Matrix n n R} {i j : n} (h : i ≠ j)
Goal: (M.updateRow j (M i)).det = 0
-- Matrix.det_updateColumn_eq_zero
theorem det_updateColumn_eq_zero (h : i ≠ j) :
    (M.updateColumn j (fun k ↦ M k i)).det = 0 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {M : Matrix n n R} {i j : n} (h : i ≠ j)
Goal: (M.updateColumn j fun k => M k i).det = 0
-- Matrix.det_updateRow_add
theorem det_updateRow_add (M : Matrix n n R) (j : n) (u v : n → R) :
    det (updateRow M j <| u + v) = det (updateRow M j u) + det (updateRow M j v) 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (M : Matrix n n R) (j : n) (u v : n → R)
Goal: (M.updateRow j (u + v)).det = (M.updateRow j u).det + (M.updateRow j v).det
-- Matrix.det_updateColumn_add
theorem det_updateColumn_add (M : Matrix n n R) (j : n) (u v : n → R) :
    det (updateColumn M j <| u + v) = det (updateColumn M j u) + det (updateColumn M j v) 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (M : Matrix n n R) (j : n) (u v : n → R)
Goal: (M.updateColumn j (u + v)).det = (M.updateColumn j u).det + (M.updateColumn j v).det
-- Matrix.det_updateRow_smul
theorem det_updateRow_smul (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
    det (updateRow M j <| s • u) = s * det (updateRow M j u) 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (M : Matrix n n R) (j : n) (s : R) (u : n → R)
Goal: (M.updateRow j (s • u)).det = s * (M.updateRow j u).det
-- Matrix.det_updateColumn_smul
theorem det_updateColumn_smul (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
    det (updateColumn M j <| s • u) = s * det (updateColumn M j u) 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (M : Matrix n n R) (j : n) (s : R) (u : n → R)
Goal: (M.updateColumn j (s • u)).det = s * (M.updateColumn j u).det
-- Matrix.det_updateRow_smul'
theorem det_updateRow_smul' (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
    det (updateRow (s • M) j u) = s ^ (Fintype.card n - 1) * det (updateRow M j u) 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (M : Matrix n n R) (j : n) (s : R) (u : n → R)
Goal: ((s • M).updateRow j u).det = s ^ (Fintype.card n - 1) * (M.updateRow j u).det
-- Matrix.det_updateColumn_smul'
theorem det_updateColumn_smul' (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
    det (updateColumn (s • M) j u) = s ^ (Fintype.card n - 1) * det (updateColumn M j u) 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (M : Matrix n n R) (j : n) (s : R) (u : n → R)
Goal: ((s • M).updateColumn j u).det = s ^ (Fintype.card n - 1) * (M.updateColumn j u).det
-- Matrix.det_updateRow_sum_aux
theorem det_updateRow_sum_aux (M : Matrix n n R) {j : n} (s : Finset n) (hj : j ∉ s) (c : n → R)
    (a : R) :
    (M.updateRow j (a • M j + ∑ k ∈ s, (c k) • M k)).det = a • M.det 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (M : Matrix n n R) {j : n} (s : Finset n) (hj : j ∉ s) (c : n → R) (a : R)
Goal: (M.updateRow j (a • M j + ∑ k ∈ s, c k • M k)).det = a • M.det
-- Matrix.det_updateRow_sum
theorem det_updateRow_sum (A : Matrix n n R) (j : n) (c : n → R) :
    (A.updateRow j (∑ k, (c k) • A k)).det = (c j) • A.det 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix n n R) (j : n) (c : n → R)
Goal: (A.updateRow j (∑ k : n, c k • A k)).det = c j • A.det
-- Matrix.det_updateColumn_sum
theorem det_updateColumn_sum (A : Matrix n n R) (j : n) (c : n → R) :
    (A.updateColumn j (fun k ↦ ∑ i, (c i) • A k i)).det = (c j) • A.det 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix n n R) (j : n) (c : n → R)
Goal: (A.updateColumn j fun k => ∑ i : n, c i • A k i).det = c j • A.det
-- Matrix.det_eq_of_eq_mul_det_one
theorem det_eq_of_eq_mul_det_one {A B : Matrix n n R} (C : Matrix n n R) (hC : det C = 1)
    (hA : A = B * C) : det A = det B 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {A B : Matrix n n R} (C : Matrix n n R) (hC : C.det = 1) (hA : A = B * C)
Goal: A.det = B.det
-- Matrix.det_eq_of_eq_det_one_mul
theorem det_eq_of_eq_det_one_mul {A B : Matrix n n R} (C : Matrix n n R) (hC : det C = 1)
    (hA : A = C * B) : det A = det B 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {A B : Matrix n n R} (C : Matrix n n R) (hC : C.det = 1) (hA : A = C * B)
Goal: A.det = B.det
-- Matrix.det_updateRow_add_self
theorem det_updateRow_add_self (A : Matrix n n R) {i j : n} (hij : i ≠ j) :
    det (updateRow A i (A i + A j)) = det A 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix n n R) {i j : n} (hij : i ≠ j)
Goal: (A.updateRow i (A i + A j)).det = A.det
-- Matrix.det_updateColumn_add_self
theorem det_updateColumn_add_self (A : Matrix n n R) {i j : n} (hij : i ≠ j) :
    det (updateColumn A i fun k => A k i + A k j) = det A 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix n n R) {i j : n} (hij : i ≠ j)
Goal: (A.updateColumn i fun k => A k i + A k j).det = A.det
-- Matrix.det_updateRow_add_smul_self
theorem det_updateRow_add_smul_self (A : Matrix n n R) {i j : n} (hij : i ≠ j) (c : R) :
    det (updateRow A i (A i + c • A j)) = det A 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix n n R) {i j : n} (hij : i ≠ j) (c : R)
Goal: (A.updateRow i (A i + c • A j)).det = A.det
-- Matrix.det_updateColumn_add_smul_self
theorem det_updateColumn_add_smul_self (A : Matrix n n R) {i j : n} (hij : i ≠ j) (c : R) :
    det (updateColumn A i fun k => A k i + c • A k j) = det A 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix n n R) {i j : n} (hij : i ≠ j) (c : R)
Goal: (A.updateColumn i fun k => A k i + c • A k j).det = A.det
-- Matrix.det_eq_of_forall_row_eq_smul_add_const_aux
theorem det_eq_of_forall_row_eq_smul_add_const_aux {A B : Matrix n n R} {s : Finset n} :
    ∀ (c : n → R) (_ : ∀ i, i ∉ s → c i = 0) (k : n) (_ : k ∉ s)
      (_ : ∀ i j, A i j = B i j + c i * B k j), det A = det B 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {A B : Matrix n n R} {s : Finset n} (c : n → R)
Goal: (∀ i ∉ s, c i = 0) → ∀ k ∉ s, (∀ (i j : n), A i j = B i j + c i * B k j) → A.det = B.det
-- Matrix.det_eq_of_forall_row_eq_smul_add_const
theorem det_eq_of_forall_row_eq_smul_add_const {A B : Matrix n n R} (c : n → R) (k : n)
    (hk : c k = 0) (A_eq : ∀ i j, A i j = B i j + c i * B k j) : det A = det B 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {A B : Matrix n n R} (c : n → R) (k : n) (hk : c k = 0) (A_eq : ∀ (i j : n), A i j = B i j + c i * B k j)
Goal: A.det = B.det
-- Matrix.det_eq_of_forall_row_eq_smul_add_pred_aux
theorem det_eq_of_forall_row_eq_smul_add_pred_aux {n : ℕ} (k : Fin (n + 1)) :
    ∀ (c : Fin n → R) (_hc : ∀ i : Fin n, k < i.succ → c i = 0)
      {M N : Matrix (Fin n.succ) (Fin n.succ) R} (_h0 : ∀ j, M 0 j = N 0 j)
      (_hsucc : ∀ (i : Fin n) (j), M i.succ j = N i.succ j + c i * M (Fin.castSucc i) j),
      det M = det N 
Arguments: {R : Type v} [CommRing R] {n : ℕ} (k : Fin (n + 1)) (c : Fin n → R) (_hc : ∀ (i : Fin n), k < i.succ → c i = 0) {M N : Matrix (Fin n.succ) (Fin n.succ) R} (_h0 : ∀ (j : Fin n.succ), M 0 j = N 0 j) (_hsucc : ∀ (i : Fin n) (j : Fin n.succ), M i.succ j = N i.succ j + c i * M i.castSucc j)
Goal: M.det = N.det
-- Matrix.det_eq_of_forall_row_eq_smul_add_pred
theorem det_eq_of_forall_row_eq_smul_add_pred {n : ℕ} {A B : Matrix (Fin (n + 1)) (Fin (n + 1)) R}
    (c : Fin n → R) (A_zero : ∀ j, A 0 j = B 0 j)
    (A_succ : ∀ (i : Fin n) (j), A i.succ j = B i.succ j + c i * A (Fin.castSucc i) j) :
    det A = det B 
Arguments: {R : Type v} [CommRing R] {n : ℕ} {A B : Matrix (Fin (n + 1)) (Fin (n + 1)) R} (c : Fin n → R) (A_zero : ∀ (j : Fin (n + 1)), A 0 j = B 0 j) (A_succ : ∀ (i : Fin n) (j : Fin (n + 1)), A i.succ j = B i.succ j + c i * A i.castSucc j)
Goal: A.det = B.det
-- Matrix.det_eq_of_forall_col_eq_smul_add_pred
theorem det_eq_of_forall_col_eq_smul_add_pred {n : ℕ} {A B : Matrix (Fin (n + 1)) (Fin (n + 1)) R}
    (c : Fin n → R) (A_zero : ∀ i, A i 0 = B i 0)
    (A_succ : ∀ (i) (j : Fin n), A i j.succ = B i j.succ + c j * A i (Fin.castSucc j)) :
    det A = det B 
Arguments: {R : Type v} [CommRing R] {n : ℕ} {A B : Matrix (Fin (n + 1)) (Fin (n + 1)) R} (c : Fin n → R) (A_zero : ∀ (i : Fin (n + 1)), A i 0 = B i 0) (A_succ : ∀ (i : Fin (n + 1)) (j : Fin n), A i j.succ = B i j.succ + c j * A i j.castSucc)
Goal: A.det = B.det
-- Matrix.det_blockDiagonal
@[simp]
theorem det_blockDiagonal {o : Type*} [Fintype o] [DecidableEq o] (M : o → Matrix n n R) :
    (blockDiagonal M).det = ∏ k, (M k).det 
Arguments: {n : Type u_2} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {o : Type u_3} [Fintype o] [DecidableEq o] (M : o → Matrix n n R)
Goal: (Matrix.blockDiagonal M).det = ∏ k : o, (M k).det
-- Matrix.det_fromBlocks_zero₂₁
@[simp]
theorem det_fromBlocks_zero₂₁ (A : Matrix m m R) (B : Matrix m n R) (D : Matrix n n R) :
    (Matrix.fromBlocks A B 0 D).det = A.det * D.det 
Arguments: {m : Type u_1} {n : Type u_2} [DecidableEq n] [Fintype n] [DecidableEq m] [Fintype m] {R : Type v} [CommRing R] (A : Matrix m m R) (B : Matrix m n R) (D : Matrix n n R)
Goal: (Matrix.fromBlocks A B 0 D).det = A.det * D.det
-- Matrix.det_fromBlocks_zero₁₂
@[simp]
theorem det_fromBlocks_zero₁₂ (A : Matrix m m R) (C : Matrix n m R) (D : Matrix n n R) :
    (Matrix.fromBlocks A 0 C D).det = A.det * D.det 
Arguments: {m : Type u_1} {n : Type u_2} [DecidableEq n] [Fintype n] [DecidableEq m] [Fintype m] {R : Type v} [CommRing R] (A : Matrix m m R) (C : Matrix n m R) (D : Matrix n n R)
Goal: (Matrix.fromBlocks A 0 C D).det = A.det * D.det
-- Matrix.det_succ_column_zero
theorem det_succ_column_zero {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R) :
    det A = ∑ i : Fin n.succ, (-1) ^ (i : ℕ) * A i 0 * det (A.submatrix i.succAbove Fin.succ) 
Arguments: {R : Type v} [CommRing R] {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R)
Goal: A.det = ∑ i : Fin n.succ, (-1) ^ ↑i * A i 0 * (A.submatrix i.succAbove Fin.succ).det
-- Matrix.det_succ_row_zero
theorem det_succ_row_zero {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R) :
    det A = ∑ j : Fin n.succ, (-1) ^ (j : ℕ) * A 0 j * det (A.submatrix Fin.succ j.succAbove) 
Arguments: {R : Type v} [CommRing R] {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R)
Goal: A.det = ∑ j : Fin n.succ, (-1) ^ ↑j * A 0 j * (A.submatrix Fin.succ j.succAbove).det
-- Matrix.det_succ_row
theorem det_succ_row {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R) (i : Fin n.succ) :
    det A =
      ∑ j : Fin n.succ, (-1) ^ (i + j : ℕ) * A i j * det (A.submatrix i.succAbove j.succAbove) 
Arguments: {R : Type v} [CommRing R] {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R) (i : Fin n.succ)
Goal: A.det = ∑ j : Fin n.succ, (-1) ^ (↑i + ↑j) * A i j * (A.submatrix i.succAbove j.succAbove).det
-- Matrix.det_succ_column
theorem det_succ_column {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R) (j : Fin n.succ) :
    det A =
      ∑ i : Fin n.succ, (-1) ^ (i + j : ℕ) * A i j * det (A.submatrix i.succAbove j.succAbove) 
Arguments: {R : Type v} [CommRing R] {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R) (j : Fin n.succ)
Goal: A.det = ∑ i : Fin n.succ, (-1) ^ (↑i + ↑j) * A i j * (A.submatrix i.succAbove j.succAbove).det
-- Matrix.det_fin_zero
@[simp]
theorem det_fin_zero {A : Matrix (Fin 0) (Fin 0) R} : det A = 1 
Arguments: {R : Type v} [CommRing R] {A : Matrix (Fin 0) (Fin 0) R}
Goal: A.det = 1
-- Matrix.det_fin_one
theorem det_fin_one (A : Matrix (Fin 1) (Fin 1) R) : det A = A 0 0 
Arguments: {R : Type v} [CommRing R] (A : Matrix (Fin 1) (Fin 1) R)
Goal: A.det = A 0 0
-- Matrix.det_fin_one_of
theorem det_fin_one_of (a : R) : det !![a] = a 
Arguments: {R : Type v} [CommRing R] (a : R)
Goal: !![a].det = a
-- Matrix.det_fin_two
theorem det_fin_two (A : Matrix (Fin 2) (Fin 2) R) : det A = A 0 0 * A 1 1 - A 0 1 * A 1 0 
Arguments: {R : Type v} [CommRing R] (A : Matrix (Fin 2) (Fin 2) R)
Goal: A.det = A 0 0 * A 1 1 - A 0 1 * A 1 0
-- Matrix.det_fin_two_of
@[simp]
theorem det_fin_two_of (a b c d : R) : Matrix.det !![a, b; c, d] = a * d - b * c 
Arguments: {R : Type v} [CommRing R] (a b c d : R)
Goal: !![a, b; c, d].det = a * d - b * c
-- Matrix.det_fin_three
theorem det_fin_three (A : Matrix (Fin 3) (Fin 3) R) :
    det A =
      A 0 0 * A 1 1 * A 2 2 - A 0 0 * A 1 2 * A 2 1
      - A 0 1 * A 1 0 * A 2 2 + A 0 1 * A 1 2 * A 2 0
      + A 0 2 * A 1 0 * A 2 1 - A 0 2 * A 1 1 * A 2 0 
Arguments: {R : Type v} [CommRing R] (A : Matrix (Fin 3) (Fin 3) R)
Goal: A.det =
  A 0 0 * A 1 1 * A 2 2 - A 0 0 * A 1 2 * A 2 1 - A 0 1 * A 1 0 * A 2 2 + A 0 1 * A 1 2 * A 2 0 +
      A 0 2 * A 1 0 * A 2 1 -
    A 0 2 * A 1 1 * A 2 0
-- Module.End.eigenspace_aeval_polynomial_degree_1
theorem eigenspace_aeval_polynomial_degree_1 (f : End K V) (q : K[X]) (hq : degree q = 1) :
    eigenspace f (-q.coeff 0 / q.leadingCoeff) = LinearMap.ker (aeval f q) 
Arguments: {K : Type v} {V : Type w} [Field K] [AddCommGroup V] [Module K V] (f : Module.End K V) (q : Polynomial K) (hq : q.degree = 1)
Goal: f.eigenspace (-q.coeff 0 / q.leadingCoeff) = LinearMap.ker ((Polynomial.aeval f) q)
-- Module.End.ker_aeval_ring_hom'_unit_polynomial
theorem ker_aeval_ring_hom'_unit_polynomial (f : End K V) (c : K[X]ˣ) :
    LinearMap.ker (aeval f (c : K[X])) = ⊥ 
Arguments: {K : Type v} {V : Type w} [Field K] [AddCommGroup V] [Module K V] (f : Module.End K V) (c : (Polynomial K)ˣ)
Goal: LinearMap.ker ((Polynomial.aeval f) ↑c) = ⊥
-- Module.End.aeval_apply_of_hasEigenvector
theorem aeval_apply_of_hasEigenvector {f : End K V} {p : K[X]} {μ : K} {x : V}
    (h : f.HasEigenvector μ x) : aeval f p x = p.eval μ • x 
Arguments: {K : Type v} {V : Type w} [Field K] [AddCommGroup V] [Module K V] {f : Module.End K V} {p : Polynomial K} {μ : K} {x : V} (h : f.HasEigenvector μ x)
Goal: ((Polynomial.aeval f) p) x = Polynomial.eval μ p • x
-- Module.End.isRoot_of_hasEigenvalue
theorem isRoot_of_hasEigenvalue {f : End K V} {μ : K} (h : f.HasEigenvalue μ) :
    (minpoly K f).IsRoot μ 
Arguments: {K : Type v} {V : Type w} [Field K] [AddCommGroup V] [Module K V] {f : Module.End K V} {μ : K} (h : f.HasEigenvalue μ)
Goal: (minpoly K f).IsRoot μ
-- Module.End.hasEigenvalue_of_isRoot
theorem hasEigenvalue_of_isRoot (h : (minpoly K f).IsRoot μ) : f.HasEigenvalue μ 
Arguments: {K : Type v} {V : Type w} [Field K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] {f : Module.End K V} {μ : K} (h : (minpoly K f).IsRoot μ)
Goal: f.HasEigenvalue μ
-- Module.End.hasEigenvalue_iff_isRoot
theorem hasEigenvalue_iff_isRoot : f.HasEigenvalue μ ↔ (minpoly K f).IsRoot μ 
Arguments: {K : Type v} {V : Type w} [Field K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] {f : Module.End K V} {μ : K}
Goal: f.HasEigenvalue μ ↔ (minpoly K f).IsRoot μ
-- Module.End.finite_hasEigenvalue
lemma finite_hasEigenvalue : Set.Finite f.HasEigenvalue 
Arguments: {K : Type v} {V : Type w} [Field K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] (f : Module.End K V)
Goal: Set.Finite f.HasEigenvalue
-- Module.End.finite_spectrum
theorem Module.End.finite_spectrum {K : Type v} {V : Type w} [Field K] [AddCommGroup V]
    [Module K V] [FiniteDimensional K V] (f : Module.End K V) :
    Set.Finite (spectrum K f) 
Arguments: {K : Type v} {V : Type w} [Field K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] (f : Module.End K V)
Goal: (spectrum K f).Finite
-- Matrix.finite_spectrum
theorem Matrix.finite_spectrum (A : Matrix n n R) : Set.Finite (spectrum R A) 
Arguments: {n : Type u_1} {R : Type u_2} [Field R] [Fintype n] [DecidableEq n] (A : Matrix n n R)
Goal: (spectrum R A).Finite
-- Basis.flag_zero
@[simp]
theorem flag_zero (b : Basis (Fin n) R M) : b.flag 0 = ⊥ 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M)
Goal: b.flag 0 = ⊥
-- Basis.flag_last
@[simp]
theorem flag_last (b : Basis (Fin n) R M) : b.flag (.last n) = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M)
Goal: b.flag (Fin.last n) = ⊤
-- Basis.flag_le_iff
theorem flag_le_iff (b : Basis (Fin n) R M) {k p} :
    b.flag k ≤ p ↔ ∀ i : Fin n, i.castSucc < k → b i ∈ p 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M) {k : Fin (n + 1)} {p : Submodule R M}
Goal: b.flag k ≤ p ↔ ∀ (i : Fin n), i.castSucc < k → b i ∈ p
-- Basis.flag_succ
theorem flag_succ (b : Basis (Fin n) R M) (k : Fin n) :
    b.flag k.succ = (R ∙ b k) ⊔ b.flag k.castSucc 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M) (k : Fin n)
Goal: b.flag k.succ = Submodule.span R {b k} ⊔ b.flag k.castSucc
-- Basis.self_mem_flag
theorem self_mem_flag (b : Basis (Fin n) R M) {i : Fin n} {k : Fin (n + 1)} (h : i.castSucc < k) :
    b i ∈ b.flag k 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M) {i : Fin n} {k : Fin (n + 1)} (h : i.castSucc < k)
Goal: b i ∈ b.flag k
-- Basis.self_mem_flag_iff
@[simp]
theorem self_mem_flag_iff [Nontrivial R] (b : Basis (Fin n) R M) {i : Fin n} {k : Fin (n + 1)} :
    b i ∈ b.flag k ↔ i.castSucc < k 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} [Nontrivial R] (b : Basis (Fin n) R M) {i : Fin n} {k : Fin (n + 1)}
Goal: b i ∈ b.flag k ↔ i.castSucc < k
-- Basis.flag_mono
@[mono]
theorem flag_mono (b : Basis (Fin n) R M) : Monotone b.flag 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M)
Goal: Monotone b.flag
-- Basis.isChain_range_flag
theorem isChain_range_flag (b : Basis (Fin n) R M) : IsChain (· ≤ ·) (range b.flag) 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M)
Goal: IsChain (fun x x_1 => x ≤ x_1) (Set.range b.flag)
-- Basis.flag_strictMono
@[mono]
theorem flag_strictMono [Nontrivial R] (b : Basis (Fin n) R M) : StrictMono b.flag 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {n : ℕ} [Nontrivial R] (b : Basis (Fin n) R M)
Goal: StrictMono b.flag
-- Basis.flag_le_ker_coord_iff
@[simp]
theorem flag_le_ker_coord_iff [Nontrivial R] (b : Basis (Fin n) R M) {k : Fin (n + 1)} {l : Fin n} :
    b.flag k ≤ LinearMap.ker (b.coord l) ↔ k ≤ l.castSucc 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {n : ℕ} [Nontrivial R] (b : Basis (Fin n) R M) {k : Fin (n + 1)} {l : Fin n}
Goal: b.flag k ≤ LinearMap.ker (b.coord l) ↔ k ≤ l.castSucc
-- Basis.flag_le_ker_coord
theorem flag_le_ker_coord (b : Basis (Fin n) R M) {k : Fin (n + 1)} {l : Fin n}
    (h : k ≤ l.castSucc) : b.flag k ≤ LinearMap.ker (b.coord l) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M) {k : Fin (n + 1)} {l : Fin n} (h : k ≤ l.castSucc)
Goal: b.flag k ≤ LinearMap.ker (b.coord l)
-- Basis.flag_le_ker_dual
theorem flag_le_ker_dual (b : Basis (Fin n) R M) (k : Fin n) :
    b.flag k.castSucc ≤ LinearMap.ker (b.dualBasis k) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {n : ℕ} (b : Basis (Fin n) R M) (k : Fin n)
Goal: b.flag k.castSucc ≤ LinearMap.ker (b.dualBasis k)
-- Basis.flag_covBy
theorem flag_covBy (b : Basis (Fin n) K V) (i : Fin n) :
    b.flag i.castSucc ⋖ b.flag i.succ 
Arguments: {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] {n : ℕ} (b : Basis (Fin n) K V) (i : Fin n)
Goal: b.flag i.castSucc ⋖ b.flag i.succ
-- Basis.flag_wcovBy
theorem flag_wcovBy (b : Basis (Fin n) K V) (i : Fin n) :
    b.flag i.castSucc ⩿ b.flag i.succ 
Arguments: {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] {n : ℕ} (b : Basis (Fin n) K V) (i : Fin n)
Goal: b.flag i.castSucc ⩿ b.flag i.succ
-- Basis.toFlag_carrier
@[simps!]
def toFlag (b : Basis (Fin n) K V) : Flag (Submodule K V) 
Arguments: {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] {n : ℕ} (b : Basis (Fin n) K V)
Goal: ↑b.toFlag = Set.range b.flag
-- Basis.mem_toFlag
@[simp]
theorem mem_toFlag (b : Basis (Fin n) K V) {p : Submodule K V} : p ∈ b.toFlag ↔ ∃ k, b.flag k = p 
Arguments: {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] {n : ℕ} (b : Basis (Fin n) K V) {p : Submodule K V}
Goal: p ∈ b.toFlag ↔ ∃ k, b.flag k = p
-- Basis.isMaxChain_range_flag
theorem isMaxChain_range_flag (b : Basis (Fin n) K V) : IsMaxChain (· ≤ ·) (range b.flag) 
Arguments: {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] {n : ℕ} (b : Basis (Fin n) K V)
Goal: IsMaxChain (fun x x_1 => x ≤ x_1) (Set.range b.flag)
-- FiniteDimensional.left
theorem left [Nontrivial A] [FiniteDimensional F A] : FiniteDimensional F K 
Arguments: (F : Type u) (K : Type v) (A : Type w) [DivisionRing F] [DivisionRing K] [AddCommGroup A] [Module F K] [Module K A] [Module F A] [IsScalarTower F K A] [Nontrivial A] [FiniteDimensional F A]
Goal: FiniteDimensional F K
-- FiniteDimensional.right
theorem right [hf : FiniteDimensional F A] : FiniteDimensional K A 
Arguments: (F : Type u) (K : Type v) (A : Type w) [DivisionRing F] [DivisionRing K] [AddCommGroup A] [Module F K] [Module K A] [Module F A] [IsScalarTower F K A] [hf : FiniteDimensional F A]
Goal: FiniteDimensional K A
-- FiniteDimensional.Subalgebra.isSimpleOrder_of_finrank_prime
theorem Subalgebra.isSimpleOrder_of_finrank_prime (F A) [Field F] [Ring A] [IsDomain A]
    [Algebra F A] (hp : (finrank F A).Prime) : IsSimpleOrder (Subalgebra F A) 
Arguments: (F : Type u_1) (A : Type u_2) [Field F] [Ring A] [IsDomain A] [Algebra F A] (hp : Nat.Prime (FiniteDimensional.finrank F A))
Goal: IsSimpleOrder (Subalgebra F A)
-- Matrix.toLinearMap₂'Aux_stdBasis
theorem Matrix.toLinearMap₂'Aux_stdBasis (f : Matrix n m N₂) (i : n) (j : m) :
    f.toLinearMap₂'Aux σ₁ σ₂ (LinearMap.stdBasis R₁ (fun _ => R₁) i 1)
      (LinearMap.stdBasis R₂ (fun _ => R₂) j 1) = f i j 
Arguments: {R₁ : Type u_2} {S₁ : Type u_3} {R₂ : Type u_4} {S₂ : Type u_5} {N₂ : Type u_11} {n : Type u_12} {m : Type u_13} [Semiring R₁] [Semiring S₁] [Semiring R₂] [Semiring S₂] [AddCommMonoid N₂] [Module S₁ N₂] [Module S₂ N₂] [SMulCommClass S₂ S₁ N₂] [Fintype n] [Fintype m] (σ₁ : R₁ →+* S₁) (σ₂ : R₂ →+* S₂) [DecidableEq n] [DecidableEq m] (f : Matrix n m N₂) (i : n) (j : m)
Goal: ((Matrix.toLinearMap₂'Aux σ₁ σ₂ f) ((LinearMap.stdBasis R₁ (fun x => R₁) i) 1))
    ((LinearMap.stdBasis R₂ (fun x => R₂) j) 1) =
  f i j