ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.ker_diagonal_toLin'
theorem ker_diagonal_toLin' [DecidableEq m] (w : m → K) :
    ker (toLin' (diagonal w)) =
      ⨆ i ∈ { i | w i = 0 }, LinearMap.range (LinearMap.stdBasis K (fun _ => K) i) 
Arguments: {m : Type u_1} [Fintype m] {K : Type u} [Semifield K] [DecidableEq m] (w : m → K)
Goal: LinearMap.ker (Matrix.toLin' (Matrix.diagonal w)) =
  ⨆ i ∈ {i | w i = 0}, LinearMap.range (LinearMap.stdBasis K (fun x => K) i)
-- Matrix.range_diagonal
theorem range_diagonal [DecidableEq m] (w : m → K) :
    LinearMap.range (toLin' (diagonal w)) =
      ⨆ i ∈ { i | w i ≠ 0 }, LinearMap.range (LinearMap.stdBasis K (fun _ => K) i) 
Arguments: {m : Type u_1} [Fintype m] {K : Type u} [Semifield K] [DecidableEq m] (w : m → K)
Goal: LinearMap.range (Matrix.toLin' (Matrix.diagonal w)) =
  ⨆ i ∈ {i | w i ≠ 0}, LinearMap.range (LinearMap.stdBasis K (fun x => K) i)
-- LinearMap.rank_diagonal
theorem rank_diagonal [DecidableEq m] [DecidableEq K] (w : m → K) :
    LinearMap.rank (toLin' (diagonal w)) = Fintype.card { i // w i ≠ 0 } 
Arguments: {m : Type u_1} [Fintype m] {K : Type u} [Field K] [DecidableEq m] [DecidableEq K] (w : m → K)
Goal: (Matrix.toLin' (Matrix.diagonal w)).rank = ↑(Fintype.card { i // w i ≠ 0 })
-- Matrix.SpecialLinearGroup.ext_iff
theorem ext_iff (A B : SpecialLinearGroup n R) : A = B ↔ ∀ i j, ↑ₘA i j = ↑ₘB i j 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A B : Matrix.SpecialLinearGroup n R)
Goal: A = B ↔ ∀ (i j : n), ↑A i j = ↑B i j
-- Matrix.SpecialLinearGroup.ext
@[ext]
theorem ext (A B : SpecialLinearGroup n R) : (∀ i j, ↑ₘA i j = ↑ₘB i j) → A = B 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A B : Matrix.SpecialLinearGroup n R)
Goal: (∀ (i j : n), ↑A i j = ↑B i j) → A = B
-- Matrix.SpecialLinearGroup.coe_mk
theorem coe_mk (A : Matrix n n R) (h : det A = 1) : ↑(⟨A, h⟩ : SpecialLinearGroup n R) = A 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix n n R) (h : A.det = 1)
Goal: ↑⟨A, h⟩ = A
-- Matrix.SpecialLinearGroup.coe_inv
@[simp]
theorem coe_inv : ↑ₘA⁻¹ = adjugate A 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R)
Goal: ↑A⁻¹ = (↑A).adjugate
-- Matrix.SpecialLinearGroup.coe_mul
@[simp]
theorem coe_mul : ↑ₘ(A * B) = ↑ₘA * ↑ₘB 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A B : Matrix.SpecialLinearGroup n R)
Goal: ↑(A * B) = ↑A * ↑B
-- Matrix.SpecialLinearGroup.coe_one
@[simp]
theorem coe_one : ↑ₘ(1 : SpecialLinearGroup n R) = (1 : Matrix n n R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R]
Goal: ↑1 = 1
-- Matrix.SpecialLinearGroup.det_coe
@[simp]
theorem det_coe : det ↑ₘA = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R)
Goal: (↑A).det = 1
-- Matrix.SpecialLinearGroup.coe_pow
@[simp]
theorem coe_pow (m : ℕ) : ↑ₘ(A ^ m) = ↑ₘA ^ m 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R) (m : ℕ)
Goal: ↑(A ^ m) = ↑A ^ m
-- Matrix.SpecialLinearGroup.coe_transpose
@[simp]
lemma coe_transpose (A : SpecialLinearGroup n R) : ↑ₘAᵀ = (↑ₘA)ᵀ 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R)
Goal: ↑A.transpose = (↑A).transpose
-- Matrix.SpecialLinearGroup.det_ne_zero
theorem det_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) : det ↑ₘg ≠ 0 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] [Nontrivial R] (g : Matrix.SpecialLinearGroup n R)
Goal: (↑g).det ≠ 0
-- Matrix.SpecialLinearGroup.row_ne_zero
theorem row_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) (i : n) : ↑ₘg i ≠ 0 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] [Nontrivial R] (g : Matrix.SpecialLinearGroup n R) (i : n)
Goal: ↑g i ≠ 0
-- Matrix.SpecialLinearGroup.toLin'_apply
theorem toLin'_apply (A : SpecialLinearGroup n R) (v : n → R) :
    SpecialLinearGroup.toLin' A v = Matrix.toLin' (↑ₘA) v 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R) (v : n → R)
Goal: (Matrix.SpecialLinearGroup.toLin' A) v = (Matrix.toLin' ↑A) v
-- Matrix.SpecialLinearGroup.toLin'_to_linearMap
theorem toLin'_to_linearMap (A : SpecialLinearGroup n R) :
    ↑(SpecialLinearGroup.toLin' A) = Matrix.toLin' ↑ₘA 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R)
Goal: ↑(Matrix.SpecialLinearGroup.toLin' A) = Matrix.toLin' ↑A
-- Matrix.SpecialLinearGroup.toLin'_symm_apply
theorem toLin'_symm_apply (A : SpecialLinearGroup n R) (v : n → R) :
    A.toLin'.symm v = Matrix.toLin' (↑ₘA⁻¹) v 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R) (v : n → R)
Goal: (Matrix.SpecialLinearGroup.toLin' A).symm v = (Matrix.toLin' ↑A⁻¹) v
-- Matrix.SpecialLinearGroup.toLin'_symm_to_linearMap
theorem toLin'_symm_to_linearMap (A : SpecialLinearGroup n R) :
    ↑A.toLin'.symm = Matrix.toLin' ↑ₘA⁻¹ 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R)
Goal: ↑(Matrix.SpecialLinearGroup.toLin' A).symm = Matrix.toLin' ↑A⁻¹
-- Matrix.SpecialLinearGroup.toLin'_injective
theorem toLin'_injective :
    Function.Injective ↑(toLin' : SpecialLinearGroup n R →* (n → R) ≃ₗ[R] n → R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R]
Goal: Function.Injective ⇑Matrix.SpecialLinearGroup.toLin'
-- Matrix.SpecialLinearGroup.coe_toGL
theorem coe_toGL (A : SpecialLinearGroup n R) : SpecialLinearGroup.toGL A = A.toLin'.toLinearMap 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup n R)
Goal: ↑(Matrix.SpecialLinearGroup.toGL A) = ↑(Matrix.SpecialLinearGroup.toLin' A)
-- Matrix.SpecialLinearGroup.map_apply_coe
@[simps]
def map (f : R →+* S) : SpecialLinearGroup n R →* SpecialLinearGroup n S 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {S : Type u_1} [CommRing S] (f : R →+* S) (g : Matrix.SpecialLinearGroup n R)
Goal: ↑((Matrix.SpecialLinearGroup.map f) g) = f.mapMatrix ↑g
-- Matrix.SpecialLinearGroup.center_eq_bot_of_subsingleton
@[simp]
theorem center_eq_bot_of_subsingleton [Subsingleton n] :
    center (SpecialLinearGroup n R) = ⊥ 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] [Subsingleton n]
Goal: Subgroup.center (Matrix.SpecialLinearGroup n R) = ⊥
-- Matrix.SpecialLinearGroup.scalar_eq_self_of_mem_center
theorem scalar_eq_self_of_mem_center
    {A : SpecialLinearGroup n R} (hA : A ∈ center (SpecialLinearGroup n R)) (i : n) :
    scalar n (A i i) = A 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {A : Matrix.SpecialLinearGroup n R} (hA : A ∈ Subgroup.center (Matrix.SpecialLinearGroup n R)) (i : n)
Goal: (Matrix.scalar n) (↑A i i) = ↑A
-- Matrix.SpecialLinearGroup.scalar_eq_coe_self_center
theorem scalar_eq_coe_self_center
    (A : center (SpecialLinearGroup n R)) (i : n) :
    scalar n ((A : Matrix n n R) i i) = A 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : ↥(Subgroup.center (Matrix.SpecialLinearGroup n R))) (i : n)
Goal: (Matrix.scalar n) (↑↑A i i) = ↑↑A
-- Matrix.SpecialLinearGroup.mem_center_iff
theorem mem_center_iff {A : SpecialLinearGroup n R} :
    A ∈ center (SpecialLinearGroup n R) ↔ ∃ (r : R), r ^ (Fintype.card n) = 1 ∧ scalar n r = A 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {A : Matrix.SpecialLinearGroup n R}
Goal: A ∈ Subgroup.center (Matrix.SpecialLinearGroup n R) ↔ ∃ r, r ^ Fintype.card n = 1 ∧ (Matrix.scalar n) r = ↑A
-- Matrix.SpecialLinearGroup.center_equiv_rootsOfUnity'_symm_apply_coe_coe
@[simps]
def center_equiv_rootsOfUnity' (i : n) :
    center (SpecialLinearGroup n R) ≃* rootsOfUnity (Fintype.card n).toPNat' R 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (i : n) (a : ↥(rootsOfUnity (Fintype.card n).toPNat' R))
Goal: ↑↑((Matrix.SpecialLinearGroup.center_equiv_rootsOfUnity' i).symm a) = a • 1
-- Matrix.SpecialLinearGroup.center_equiv_rootsOfUnity'_apply
@[simps]
def center_equiv_rootsOfUnity' (i : n) :
    center (SpecialLinearGroup n R) ≃* rootsOfUnity (Fintype.card n).toPNat' R 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (i : n) (A : ↥(Subgroup.center (Matrix.SpecialLinearGroup n R)))
Goal: (Matrix.SpecialLinearGroup.center_equiv_rootsOfUnity' i) A = rootsOfUnity.mkOfPowEq (↑↑A i i) ⋯
-- Matrix.SpecialLinearGroup.coe_matrix_coe
@[simp]
theorem coe_matrix_coe (g : SpecialLinearGroup n ℤ) :
    ↑(g : SpecialLinearGroup n R) = (↑g : Matrix n n ℤ).map (Int.castRingHom R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (g : Matrix.SpecialLinearGroup n ℤ)
Goal: ↑((Matrix.SpecialLinearGroup.map (Int.castRingHom R)) g) = (↑g).map ⇑(Int.castRingHom R)
-- Matrix.SpecialLinearGroup.coe_neg
@[simp]
theorem coe_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(g : Matrix n n R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] [Fact (Even (Fintype.card n))] (g : Matrix.SpecialLinearGroup n R)
Goal: ↑(-g) = -↑g
-- Matrix.SpecialLinearGroup.coe_int_neg
@[simp]
theorem coe_int_neg (g : SpecialLinearGroup n ℤ) : ↑(-g) = (-↑g : SpecialLinearGroup n R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] [Fact (Even (Fintype.card n))] (g : Matrix.SpecialLinearGroup n ℤ)
Goal: (Matrix.SpecialLinearGroup.map (Int.castRingHom R)) (-g) = -(Matrix.SpecialLinearGroup.map (Int.castRingHom R)) g
-- Matrix.SpecialLinearGroup.SL2_inv_expl_det
theorem SL2_inv_expl_det (A : SL(2, R)) :
    det ![![A.1 1 1, -A.1 0 1], ![-A.1 1 0, A.1 0 0]] = 1 
Arguments: {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup (Fin 2) R)
Goal: Matrix.det ![![↑A 1 1, -↑A 0 1], ![-↑A 1 0, ↑A 0 0]] = 1
-- Matrix.SpecialLinearGroup.SL2_inv_expl
theorem SL2_inv_expl (A : SL(2, R)) :
    A⁻¹ = ⟨![![A.1 1 1, -A.1 0 1], ![-A.1 1 0, A.1 0 0]], SL2_inv_expl_det A⟩ 
Arguments: {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup (Fin 2) R)
Goal: A⁻¹ = ⟨![![↑A 1 1, -↑A 0 1], ![-↑A 1 0, ↑A 0 0]], ⋯⟩
-- Matrix.SpecialLinearGroup.fin_two_induction
theorem fin_two_induction (P : SL(2, R) → Prop)
    (h : ∀ (a b c d : R) (hdet : a * d - b * c = 1), P ⟨!![a, b; c, d], by rwa [det_fin_two_of]⟩)
    (g : SL(2, R)) : P g 
Arguments: {R : Type v} [CommRing R] (P : Matrix.SpecialLinearGroup (Fin 2) R → Prop) (h : ∀ (a b c d : R) (hdet : a * d - b * c = 1), P ⟨!![a, b; c, d], ⋯⟩) (g : Matrix.SpecialLinearGroup (Fin 2) R)
Goal: P g
-- Matrix.SpecialLinearGroup.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero
theorem fin_two_exists_eq_mk_of_apply_zero_one_eq_zero {R : Type*} [Field R] (g : SL(2, R))
    (hg : (g : Matrix (Fin 2) (Fin 2) R) 1 0 = 0) :
    ∃ (a b : R) (h : a ≠ 0), g = (⟨!![a, b; 0, a⁻¹], by simp [h]⟩ : SL(2, R)) 
Arguments: {R : Type u_2} [Field R] (g : Matrix.SpecialLinearGroup (Fin 2) R) (hg : ↑g 1 0 = 0)
Goal: ∃ a b, ∃ (h : a ≠ 0), g = ⟨!![a, b; 0, a⁻¹], ⋯⟩
-- Matrix.SpecialLinearGroup.isCoprime_row
lemma isCoprime_row (A : SL(2, R)) (i : Fin 2) : IsCoprime (A i 0) (A i 1) 
Arguments: {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup (Fin 2) R) (i : Fin 2)
Goal: IsCoprime (↑A i 0) (↑A i 1)
-- Matrix.SpecialLinearGroup.isCoprime_col
lemma isCoprime_col (A : SL(2, R)) (j : Fin 2) : IsCoprime (A 0 j) (A 1 j) 
Arguments: {R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup (Fin 2) R) (j : Fin 2)
Goal: IsCoprime (↑A 0 j) (↑A 1 j)
-- IsCoprime.exists_SL2_col
lemma exists_SL2_col {a b : R} (hab : IsCoprime a b) (j : Fin 2) :
    ∃ g : SL(2, R), g 0 j = a ∧ g 1 j = b 
Arguments: {R : Type u_1} [CommRing R] {a b : R} (hab : IsCoprime a b) (j : Fin 2)
Goal: ∃ g, ↑g 0 j = a ∧ ↑g 1 j = b
-- IsCoprime.exists_SL2_row
lemma exists_SL2_row {a b : R} (hab : IsCoprime a b) (i : Fin 2) :
    ∃ g : SL(2, R), g i 0 = a ∧ g i 1 = b 
Arguments: {R : Type u_1} [CommRing R] {a b : R} (hab : IsCoprime a b) (i : Fin 2)
Goal: ∃ g, ↑g i 0 = a ∧ ↑g i 1 = b
-- IsCoprime.vecMulSL
lemma vecMulSL {v : Fin 2 → R} (hab : IsCoprime (v 0) (v 1)) (A : SL(2, R)) :
    IsCoprime ((v ᵥ* A.1) 0) ((v ᵥ* A.1) 1) 
Arguments: {R : Type u_1} [CommRing R] {v : Fin 2 → R} (hab : IsCoprime (v 0) (v 1)) (A : Matrix.SpecialLinearGroup (Fin 2) R)
Goal: IsCoprime (Matrix.vecMul v (↑A) 0) (Matrix.vecMul v (↑A) 1)
-- IsCoprime.mulVecSL
lemma mulVecSL {v : Fin 2 → R} (hab : IsCoprime (v 0) (v 1)) (A : SL(2, R)) :
    IsCoprime ((A.1 *ᵥ v) 0) ((A.1 *ᵥ v) 1) 
Arguments: {R : Type u_1} [CommRing R] {v : Fin 2 → R} (hab : IsCoprime (v 0) (v 1)) (A : Matrix.SpecialLinearGroup (Fin 2) R)
Goal: IsCoprime ((↑A).mulVec v 0) ((↑A).mulVec v 1)
-- ModularGroup.coe_S
theorem coe_S : ↑ₘS = !![0, -1; 1, 0] 
Goal: ↑ModularGroup.S = !![0, -1; 1, 0]
-- ModularGroup.coe_T
theorem coe_T : ↑ₘT = !![1, 1; 0, 1] 
Goal: ↑ModularGroup.T = !![1, 1; 0, 1]
-- ModularGroup.coe_T_inv
theorem coe_T_inv : ↑ₘT⁻¹ = !![1, -1; 0, 1] 
Goal: ↑ModularGroup.T⁻¹ = !![1, -1; 0, 1]
-- ModularGroup.coe_T_zpow
theorem coe_T_zpow (n : ℤ) : ↑ₘ(T ^ n) = !![1, n; 0, 1] 
Arguments: (n : ℤ)
Goal: ↑(ModularGroup.T ^ n) = !![1, n; 0, 1]
-- ModularGroup.T_pow_mul_apply_one
@[simp]
theorem T_pow_mul_apply_one (n : ℤ) (g : SL(2, ℤ)) : ↑ₘ(T ^ n * g) 1 = ↑ₘg 1 
Arguments: (n : ℤ) (g : Matrix.SpecialLinearGroup (Fin 2) ℤ)
Goal: ↑(ModularGroup.T ^ n * g) 1 = ↑g 1
-- ModularGroup.T_mul_apply_one
@[simp]
theorem T_mul_apply_one (g : SL(2, ℤ)) : ↑ₘ(T * g) 1 = ↑ₘg 1 
Arguments: (g : Matrix.SpecialLinearGroup (Fin 2) ℤ)
Goal: ↑(ModularGroup.T * g) 1 = ↑g 1
-- ModularGroup.T_inv_mul_apply_one
@[simp]
theorem T_inv_mul_apply_one (g : SL(2, ℤ)) : ↑ₘ(T⁻¹ * g) 1 = ↑ₘg 1 
Arguments: (g : Matrix.SpecialLinearGroup (Fin 2) ℤ)
Goal: ↑(ModularGroup.T⁻¹ * g) 1 = ↑g 1
-- Matrix.submatrix_succAbove_det_eq_negOnePow_submatrix_succAbove_det
theorem submatrix_succAbove_det_eq_negOnePow_submatrix_succAbove_det {n : ℕ}
    (M : Matrix (Fin (n + 1)) (Fin n) R) (hv : ∑ j, M j = 0) (j₁ j₂ : Fin (n + 1)) :
    (M.submatrix (Fin.succAbove j₁) id).det =
      Int.negOnePow (j₁ - j₂) • (M.submatrix (Fin.succAbove j₂) id).det 
Arguments: {R : Type u_1} [CommRing R] {n : ℕ} (M : Matrix (Fin (n + 1)) (Fin n) R) (hv : ∑ j : Fin (n + 1), M j = 0) (j₁ j₂ : Fin (n + 1))
Goal: (M.submatrix j₁.succAbove id).det = (↑↑j₁ - ↑↑j₂).negOnePow • (M.submatrix j₂.succAbove id).det
-- Matrix.submatrix_succAbove_det_eq_negOnePow_submatrix_succAbove_det'
theorem submatrix_succAbove_det_eq_negOnePow_submatrix_succAbove_det' {n : ℕ}
    (M : Matrix (Fin n) (Fin (n + 1)) R) (hv : ∀ i, ∑ j, M i j = 0) (j₁ j₂ : Fin (n + 1)) :
    (M.submatrix id (Fin.succAbove j₁)).det =
      Int.negOnePow (j₁ - j₂) • (M.submatrix id (Fin.succAbove j₂)).det 
Arguments: {R : Type u_1} [CommRing R] {n : ℕ} (M : Matrix (Fin n) (Fin (n + 1)) R) (hv : ∀ (i : Fin n), ∑ j : Fin (n + 1), M i j = 0) (j₁ j₂ : Fin (n + 1))
Goal: (M.submatrix id j₁.succAbove).det = (↑↑j₁ - ↑↑j₂).negOnePow • (M.submatrix id j₂.succAbove).det
-- Matrix.IsHermitian.eq
theorem IsHermitian.eq {A : Matrix n n α} (h : A.IsHermitian) : Aᴴ = A 
Arguments: {α : Type u_1} {n : Type u_4} [Star α] {A : Matrix n n α} (h : A.IsHermitian)
Goal: A.conjTranspose = A
-- Matrix.IsHermitian.isSelfAdjoint
protected theorem IsHermitian.isSelfAdjoint {A : Matrix n n α} (h : A.IsHermitian) :
    IsSelfAdjoint A 
Arguments: {α : Type u_1} {n : Type u_4} [Star α] {A : Matrix n n α} (h : A.IsHermitian)
Goal: IsSelfAdjoint A
-- Matrix.IsHermitian.ext
theorem IsHermitian.ext {A : Matrix n n α} : (∀ i j, star (A j i) = A i j) → A.IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [Star α] {A : Matrix n n α}
Goal: (∀ (i j : n), star (A j i) = A i j) → A.IsHermitian
-- Matrix.IsHermitian.apply
theorem IsHermitian.apply {A : Matrix n n α} (h : A.IsHermitian) (i j : n) : star (A j i) = A i j 
Arguments: {α : Type u_1} {n : Type u_4} [Star α] {A : Matrix n n α} (h : A.IsHermitian) (i j : n)
Goal: star (A j i) = A i j
-- Matrix.IsHermitian.ext_iff
theorem IsHermitian.ext_iff {A : Matrix n n α} : A.IsHermitian ↔ ∀ i j, star (A j i) = A i j 
Arguments: {α : Type u_1} {n : Type u_4} [Star α] {A : Matrix n n α}
Goal: A.IsHermitian ↔ ∀ (i j : n), star (A j i) = A i j
-- Matrix.IsHermitian.map
@[simp]
theorem IsHermitian.map {A : Matrix n n α} (h : A.IsHermitian) (f : α → β)
    (hf : Function.Semiconj f star star) : (A.map f).IsHermitian 
Arguments: {α : Type u_1} {β : Type u_2} {n : Type u_4} [Star α] [Star β] {A : Matrix n n α} (h : A.IsHermitian) (f : α → β) (hf : Function.Semiconj f star star)
Goal: (A.map f).IsHermitian
-- Matrix.IsHermitian.transpose
theorem IsHermitian.transpose {A : Matrix n n α} (h : A.IsHermitian) : Aᵀ.IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [Star α] {A : Matrix n n α} (h : A.IsHermitian)
Goal: A.transpose.IsHermitian
-- Matrix.isHermitian_transpose_iff
@[simp]
theorem isHermitian_transpose_iff (A : Matrix n n α) : Aᵀ.IsHermitian ↔ A.IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [Star α] (A : Matrix n n α)
Goal: A.transpose.IsHermitian ↔ A.IsHermitian
-- Matrix.IsHermitian.conjTranspose
theorem IsHermitian.conjTranspose {A : Matrix n n α} (h : A.IsHermitian) : Aᴴ.IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [Star α] {A : Matrix n n α} (h : A.IsHermitian)
Goal: A.conjTranspose.IsHermitian
-- Matrix.IsHermitian.submatrix
@[simp]
theorem IsHermitian.submatrix {A : Matrix n n α} (h : A.IsHermitian) (f : m → n) :
    (A.submatrix f f).IsHermitian 
Arguments: {α : Type u_1} {m : Type u_3} {n : Type u_4} [Star α] {A : Matrix n n α} (h : A.IsHermitian) (f : m → n)
Goal: (A.submatrix f f).IsHermitian
-- Matrix.isHermitian_submatrix_equiv
@[simp]
theorem isHermitian_submatrix_equiv {A : Matrix n n α} (e : m ≃ n) :
    (A.submatrix e e).IsHermitian ↔ A.IsHermitian 
Arguments: {α : Type u_1} {m : Type u_3} {n : Type u_4} [Star α] {A : Matrix n n α} (e : m ≃ n)
Goal: (A.submatrix ⇑e ⇑e).IsHermitian ↔ A.IsHermitian
-- Matrix.isHermitian_conjTranspose_iff
@[simp]
theorem isHermitian_conjTranspose_iff (A : Matrix n n α) : Aᴴ.IsHermitian ↔ A.IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [InvolutiveStar α] (A : Matrix n n α)
Goal: A.conjTranspose.IsHermitian ↔ A.IsHermitian
-- Matrix.IsHermitian.fromBlocks
theorem IsHermitian.fromBlocks {A : Matrix m m α} {B : Matrix m n α} {C : Matrix n m α}
    {D : Matrix n n α} (hA : A.IsHermitian) (hBC : Bᴴ = C) (hD : D.IsHermitian) :
    (A.fromBlocks B C D).IsHermitian 
Arguments: {α : Type u_1} {m : Type u_3} {n : Type u_4} [InvolutiveStar α] {A : Matrix m m α} {B : Matrix m n α} {C : Matrix n m α} {D : Matrix n n α} (hA : A.IsHermitian) (hBC : B.conjTranspose = C) (hD : D.IsHermitian)
Goal: (Matrix.fromBlocks A B C D).IsHermitian
-- Matrix.isHermitian_fromBlocks_iff
theorem isHermitian_fromBlocks_iff {A : Matrix m m α} {B : Matrix m n α} {C : Matrix n m α}
    {D : Matrix n n α} :
    (A.fromBlocks B C D).IsHermitian ↔ A.IsHermitian ∧ Bᴴ = C ∧ Cᴴ = B ∧ D.IsHermitian 
Arguments: {α : Type u_1} {m : Type u_3} {n : Type u_4} [InvolutiveStar α] {A : Matrix m m α} {B : Matrix m n α} {C : Matrix n m α} {D : Matrix n n α}
Goal: (Matrix.fromBlocks A B C D).IsHermitian ↔ A.IsHermitian ∧ B.conjTranspose = C ∧ C.conjTranspose = B ∧ D.IsHermitian
-- Matrix.isHermitian_diagonal_of_self_adjoint
theorem isHermitian_diagonal_of_self_adjoint [DecidableEq n] (v : n → α) (h : IsSelfAdjoint v) :
    (diagonal v).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [AddMonoid α] [StarAddMonoid α] [DecidableEq n] (v : n → α) (h : IsSelfAdjoint v)
Goal: (Matrix.diagonal v).IsHermitian
-- Matrix.isHermitian_diagonal_iff
lemma isHermitian_diagonal_iff [DecidableEq n] {d : n → α} :
    IsHermitian (diagonal d) ↔ (∀ i : n, IsSelfAdjoint (d i)) 
Arguments: {α : Type u_1} {n : Type u_4} [AddMonoid α] [StarAddMonoid α] [DecidableEq n] {d : n → α}
Goal: (Matrix.diagonal d).IsHermitian ↔ ∀ (i : n), IsSelfAdjoint (d i)
-- Matrix.isHermitian_diagonal
@[simp]
theorem isHermitian_diagonal [TrivialStar α] [DecidableEq n] (v : n → α) :
    (diagonal v).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [AddMonoid α] [StarAddMonoid α] [TrivialStar α] [DecidableEq n] (v : n → α)
Goal: (Matrix.diagonal v).IsHermitian
-- Matrix.isHermitian_zero
@[simp]
theorem isHermitian_zero : (0 : Matrix n n α).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [AddMonoid α] [StarAddMonoid α]
Goal: Matrix.IsHermitian 0
-- Matrix.IsHermitian.add
@[simp]
theorem IsHermitian.add {A B : Matrix n n α} (hA : A.IsHermitian) (hB : B.IsHermitian) :
    (A + B).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [AddMonoid α] [StarAddMonoid α] {A B : Matrix n n α} (hA : A.IsHermitian) (hB : B.IsHermitian)
Goal: (A + B).IsHermitian
-- Matrix.isHermitian_add_transpose_self
theorem isHermitian_add_transpose_self (A : Matrix n n α) : (A + Aᴴ).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [AddCommMonoid α] [StarAddMonoid α] (A : Matrix n n α)
Goal: (A + A.conjTranspose).IsHermitian
-- Matrix.isHermitian_transpose_add_self
theorem isHermitian_transpose_add_self (A : Matrix n n α) : (Aᴴ + A).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [AddCommMonoid α] [StarAddMonoid α] (A : Matrix n n α)
Goal: (A.conjTranspose + A).IsHermitian
-- Matrix.IsHermitian.neg
@[simp]
theorem IsHermitian.neg {A : Matrix n n α} (h : A.IsHermitian) : (-A).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [AddGroup α] [StarAddMonoid α] {A : Matrix n n α} (h : A.IsHermitian)
Goal: (-A).IsHermitian
-- Matrix.IsHermitian.sub
@[simp]
theorem IsHermitian.sub {A B : Matrix n n α} (hA : A.IsHermitian) (hB : B.IsHermitian) :
    (A - B).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [AddGroup α] [StarAddMonoid α] {A B : Matrix n n α} (hA : A.IsHermitian) (hB : B.IsHermitian)
Goal: (A - B).IsHermitian
-- Matrix.isHermitian_mul_conjTranspose_self
theorem isHermitian_mul_conjTranspose_self [Fintype n] (A : Matrix m n α) :
    (A * Aᴴ).IsHermitian 
Arguments: {α : Type u_1} {m : Type u_3} {n : Type u_4} [NonUnitalSemiring α] [StarRing α] [Fintype n] (A : Matrix m n α)
Goal: (A * A.conjTranspose).IsHermitian
-- Matrix.isHermitian_transpose_mul_self
theorem isHermitian_transpose_mul_self [Fintype m] (A : Matrix m n α) : (Aᴴ * A).IsHermitian 
Arguments: {α : Type u_1} {m : Type u_3} {n : Type u_4} [NonUnitalSemiring α] [StarRing α] [Fintype m] (A : Matrix m n α)
Goal: (A.conjTranspose * A).IsHermitian
-- Matrix.isHermitian_conjTranspose_mul_mul
theorem isHermitian_conjTranspose_mul_mul [Fintype m] {A : Matrix m m α} (B : Matrix m n α)
    (hA : A.IsHermitian) : (Bᴴ * A * B).IsHermitian 
Arguments: {α : Type u_1} {m : Type u_3} {n : Type u_4} [NonUnitalSemiring α] [StarRing α] [Fintype m] {A : Matrix m m α} (B : Matrix m n α) (hA : A.IsHermitian)
Goal: (B.conjTranspose * A * B).IsHermitian
-- Matrix.isHermitian_mul_mul_conjTranspose
theorem isHermitian_mul_mul_conjTranspose [Fintype m] {A : Matrix m m α} (B : Matrix n m α)
    (hA : A.IsHermitian) : (B * A * Bᴴ).IsHermitian 
Arguments: {α : Type u_1} {m : Type u_3} {n : Type u_4} [NonUnitalSemiring α] [StarRing α] [Fintype m] {A : Matrix m m α} (B : Matrix n m α) (hA : A.IsHermitian)
Goal: (B * A * B.conjTranspose).IsHermitian
-- Matrix.commute_iff
lemma commute_iff [Fintype n] {A B : Matrix n n α}
    (hA : A.IsHermitian) (hB : B.IsHermitian) : Commute A B ↔ (A * B).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [NonUnitalSemiring α] [StarRing α] [Fintype n] {A B : Matrix n n α} (hA : A.IsHermitian) (hB : B.IsHermitian)
Goal: Commute A B ↔ (A * B).IsHermitian
-- Matrix.isHermitian_one
@[simp]
theorem isHermitian_one [DecidableEq n] : (1 : Matrix n n α).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [Semiring α] [StarRing α] [DecidableEq n]
Goal: Matrix.IsHermitian 1
-- Matrix.IsHermitian.pow
theorem IsHermitian.pow [Fintype n] [DecidableEq n] {A : Matrix n n α} (h : A.IsHermitian) (k : ℕ) :
    (A ^ k).IsHermitian 
Arguments: {α : Type u_1} {n : Type u_4} [Semiring α] [StarRing α] [Fintype n] [DecidableEq n] {A : Matrix n n α} (h : A.IsHermitian) (k : ℕ)
Goal: (A ^ k).IsHermitian