ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- lift_rank_le_of_injective_injective
theorem lift_rank_le_of_injective_injective (i : R' → R) (j : M →+ M')
    (hi : ∀ r, i r = 0 → r = 0) (hj : Injective j)
    (hc : ∀ (r : R') (m : M), j (i r • m) = r • j m) :
    lift.{v'} (Module.rank R M) ≤ lift.{v} (Module.rank R' M') 
Arguments: {R : Type u} {R' : Type u'} {M : Type v} {M' : Type v'} [Ring R] [Ring R'] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R' M'] (i : R' → R) (j : M →+ M') (hi : ∀ (r : R'), i r = 0 → r = 0) (hj : Function.Injective ⇑j) (hc : ∀ (r : R') (m : M), j (i r • m) = r • j m)
Goal: Cardinal.lift.{v', v} (Module.rank R M) ≤ Cardinal.lift.{v, v'} (Module.rank R' M')
-- lift_rank_le_of_surjective_injective
theorem lift_rank_le_of_surjective_injective (i : ZeroHom R R') (j : M →+ M')
    (hi : Surjective i) (hj : Injective j) (hc : ∀ (r : R) (m : M), j (r • m) = i r • j m) :
    lift.{v'} (Module.rank R M) ≤ lift.{v} (Module.rank R' M') 
Arguments: {R : Type u} {R' : Type u'} {M : Type v} {M' : Type v'} [Ring R] [Ring R'] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R' M'] (i : ZeroHom R R') (j : M →+ M') (hi : Function.Surjective ⇑i) (hj : Function.Injective ⇑j) (hc : ∀ (r : R) (m : M), j (r • m) = i r • j m)
Goal: Cardinal.lift.{v', v} (Module.rank R M) ≤ Cardinal.lift.{v, v'} (Module.rank R' M')
-- lift_rank_eq_of_equiv_equiv
theorem lift_rank_eq_of_equiv_equiv (i : ZeroHom R R') (j : M ≃+ M')
    (hi : Bijective i) (hc : ∀ (r : R) (m : M), j (r • m) = i r • j m) :
    lift.{v'} (Module.rank R M) = lift.{v} (Module.rank R' M') 
Arguments: {R : Type u} {R' : Type u'} {M : Type v} {M' : Type v'} [Ring R] [Ring R'] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R' M'] (i : ZeroHom R R') (j : M ≃+ M') (hi : Function.Bijective ⇑i) (hc : ∀ (r : R) (m : M), j (r • m) = i r • j m)
Goal: Cardinal.lift.{v', v} (Module.rank R M) = Cardinal.lift.{v, v'} (Module.rank R' M')
-- rank_le_of_injective_injective
theorem rank_le_of_injective_injective (i : R' → R) (j : M →+ M₁)
    (hi : ∀ r, i r = 0 → r = 0) (hj : Injective j)
    (hc : ∀ (r : R') (m : M), j (i r • m) = r • j m) :
    Module.rank R M ≤ Module.rank R' M₁ 
Arguments: {R : Type u} {R' : Type u'} {M M₁ : Type v} [Ring R] [Ring R'] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R' M₁] (i : R' → R) (j : M →+ M₁) (hi : ∀ (r : R'), i r = 0 → r = 0) (hj : Function.Injective ⇑j) (hc : ∀ (r : R') (m : M), j (i r • m) = r • j m)
Goal: Module.rank R M ≤ Module.rank R' M₁
-- rank_le_of_surjective_injective
theorem rank_le_of_surjective_injective (i : ZeroHom R R') (j : M →+ M₁)
    (hi : Surjective i) (hj : Injective j)
    (hc : ∀ (r : R) (m : M), j (r • m) = i r • j m) :
    Module.rank R M ≤ Module.rank R' M₁ 
Arguments: {R : Type u} {R' : Type u'} {M M₁ : Type v} [Ring R] [Ring R'] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R' M₁] (i : ZeroHom R R') (j : M →+ M₁) (hi : Function.Surjective ⇑i) (hj : Function.Injective ⇑j) (hc : ∀ (r : R) (m : M), j (r • m) = i r • j m)
Goal: Module.rank R M ≤ Module.rank R' M₁
-- rank_eq_of_equiv_equiv
theorem rank_eq_of_equiv_equiv (i : ZeroHom R R') (j : M ≃+ M₁)
    (hi : Bijective i) (hc : ∀ (r : R) (m : M), j (r • m) = i r • j m) :
    Module.rank R M = Module.rank R' M₁ 
Arguments: {R : Type u} {R' : Type u'} {M M₁ : Type v} [Ring R] [Ring R'] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R' M₁] (i : ZeroHom R R') (j : M ≃+ M₁) (hi : Function.Bijective ⇑i) (hc : ∀ (r : R) (m : M), j (r • m) = i r • j m)
Goal: Module.rank R M = Module.rank R' M₁
-- Algebra.lift_rank_le_of_injective_injective
theorem lift_rank_le_of_injective_injective
    (i : R' →+* R) (j : S →+* S') (hi : Injective i) (hj : Injective j)
    (hc : (j.comp (algebraMap R S)).comp i = algebraMap R' S') :
    lift.{v'} (Module.rank R S) ≤ lift.{v} (Module.rank R' S') 
Arguments: {R : Type w} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {R' : Type w'} {S' : Type v'} [CommRing R'] [Ring S'] [Algebra R' S'] (i : R' →+* R) (j : S →+* S') (hi : Function.Injective ⇑i) (hj : Function.Injective ⇑j) (hc : (j.comp (algebraMap R S)).comp i = algebraMap R' S')
Goal: Cardinal.lift.{v', v} (Module.rank R S) ≤ Cardinal.lift.{v, v'} (Module.rank R' S')
-- Algebra.lift_rank_le_of_surjective_injective
theorem lift_rank_le_of_surjective_injective
    (i : R →+* R') (j : S →+* S') (hi : Surjective i) (hj : Injective j)
    (hc : (algebraMap R' S').comp i = j.comp (algebraMap R S)) :
    lift.{v'} (Module.rank R S) ≤ lift.{v} (Module.rank R' S') 
Arguments: {R : Type w} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {R' : Type w'} {S' : Type v'} [CommRing R'] [Ring S'] [Algebra R' S'] (i : R →+* R') (j : S →+* S') (hi : Function.Surjective ⇑i) (hj : Function.Injective ⇑j) (hc : (algebraMap R' S').comp i = j.comp (algebraMap R S))
Goal: Cardinal.lift.{v', v} (Module.rank R S) ≤ Cardinal.lift.{v, v'} (Module.rank R' S')
-- Algebra.lift_rank_eq_of_equiv_equiv
theorem lift_rank_eq_of_equiv_equiv (i : R ≃+* R') (j : S ≃+* S')
    (hc : (algebraMap R' S').comp i.toRingHom = j.toRingHom.comp (algebraMap R S)) :
    lift.{v'} (Module.rank R S) = lift.{v} (Module.rank R' S') 
Arguments: {R : Type w} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {R' : Type w'} {S' : Type v'} [CommRing R'] [Ring S'] [Algebra R' S'] (i : R ≃+* R') (j : S ≃+* S') (hc : (algebraMap R' S').comp i.toRingHom = j.toRingHom.comp (algebraMap R S))
Goal: Cardinal.lift.{v', v} (Module.rank R S) = Cardinal.lift.{v, v'} (Module.rank R' S')
-- Algebra.rank_le_of_injective_injective
theorem rank_le_of_injective_injective
    (i : R' →+* R) (j : S →+* S') (hi : Injective i) (hj : Injective j)
    (hc : (j.comp (algebraMap R S)).comp i = algebraMap R' S') :
    Module.rank R S ≤ Module.rank R' S' 
Arguments: {R : Type w} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {R' : Type w'} {S' : Type v} [CommRing R'] [Ring S'] [Algebra R' S'] (i : R' →+* R) (j : S →+* S') (hi : Function.Injective ⇑i) (hj : Function.Injective ⇑j) (hc : (j.comp (algebraMap R S)).comp i = algebraMap R' S')
Goal: Module.rank R S ≤ Module.rank R' S'
-- Algebra.rank_le_of_surjective_injective
theorem rank_le_of_surjective_injective
    (i : R →+* R') (j : S →+* S') (hi : Surjective i) (hj : Injective j)
    (hc : (algebraMap R' S').comp i = j.comp (algebraMap R S)) :
    Module.rank R S ≤ Module.rank R' S' 
Arguments: {R : Type w} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {R' : Type w'} {S' : Type v} [CommRing R'] [Ring S'] [Algebra R' S'] (i : R →+* R') (j : S →+* S') (hi : Function.Surjective ⇑i) (hj : Function.Injective ⇑j) (hc : (algebraMap R' S').comp i = j.comp (algebraMap R S))
Goal: Module.rank R S ≤ Module.rank R' S'
-- Algebra.rank_eq_of_equiv_equiv
theorem rank_eq_of_equiv_equiv (i : R ≃+* R') (j : S ≃+* S')
    (hc : (algebraMap R' S').comp i.toRingHom = j.toRingHom.comp (algebraMap R S)) :
    Module.rank R S = Module.rank R' S' 
Arguments: {R : Type w} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {R' : Type w'} {S' : Type v} [CommRing R'] [Ring S'] [Algebra R' S'] (i : R ≃+* R') (j : S ≃+* S') (hc : (algebraMap R' S').comp i.toRingHom = j.toRingHom.comp (algebraMap R S))
Goal: Module.rank R S = Module.rank R' S'
-- LinearMap.lift_rank_le_of_injective
theorem LinearMap.lift_rank_le_of_injective (f : M →ₗ[R] M') (i : Injective f) :
    Cardinal.lift.{v'} (Module.rank R M) ≤ Cardinal.lift.{v} (Module.rank R M') 
Arguments: {R : Type u} {M : Type v} {M' : Type v'} [Ring R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] (f : M →ₗ[R] M') (i : Function.Injective ⇑f)
Goal: Cardinal.lift.{v', v} (Module.rank R M) ≤ Cardinal.lift.{v, v'} (Module.rank R M')
-- LinearMap.rank_le_of_injective
theorem LinearMap.rank_le_of_injective (f : M →ₗ[R] M₁) (i : Injective f) :
    Module.rank R M ≤ Module.rank R M₁ 
Arguments: {R : Type u} {M M₁ : Type v} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] (f : M →ₗ[R] M₁) (i : Function.Injective ⇑f)
Goal: Module.rank R M ≤ Module.rank R M₁
-- lift_rank_range_le
-- The proof is: a free submodule of the range lifts to a free submodule of the
-- source, by arbitrarily lifting a basis.
theorem lift_rank_range_le (f : M →ₗ[R] M') : Cardinal.lift.{v}
    (Module.rank R (LinearMap.range f)) ≤ Cardinal.lift.{v'} (Module.rank R M) 
Arguments: {R : Type u} {M : Type v} {M' : Type v'} [Ring R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] (f : M →ₗ[R] M')
Goal: Cardinal.lift.{v, v'} (Module.rank R ↥(LinearMap.range f)) ≤ Cardinal.lift.{v', v} (Module.rank R M)
-- rank_range_le
theorem rank_range_le (f : M →ₗ[R] M₁) : Module.rank R (LinearMap.range f) ≤ Module.rank R M 
Arguments: {R : Type u} {M M₁ : Type v} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] (f : M →ₗ[R] M₁)
Goal: Module.rank R ↥(LinearMap.range f) ≤ Module.rank R M
-- lift_rank_map_le
theorem lift_rank_map_le (f : M →ₗ[R] M') (p : Submodule R M) :
    Cardinal.lift.{v} (Module.rank R (p.map f)) ≤ Cardinal.lift.{v'} (Module.rank R p) 
Arguments: {R : Type u} {M : Type v} {M' : Type v'} [Ring R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] (f : M →ₗ[R] M') (p : Submodule R M)
Goal: Cardinal.lift.{v, v'} (Module.rank R ↥(Submodule.map f p)) ≤ Cardinal.lift.{v', v} (Module.rank R ↥p)
-- rank_map_le
theorem rank_map_le (f : M →ₗ[R] M₁) (p : Submodule R M) :
    Module.rank R (p.map f) ≤ Module.rank R p 
Arguments: {R : Type u} {M M₁ : Type v} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] (f : M →ₗ[R] M₁) (p : Submodule R M)
Goal: Module.rank R ↥(Submodule.map f p) ≤ Module.rank R ↥p
-- rank_le_of_submodule
theorem rank_le_of_submodule (s t : Submodule R M) (h : s ≤ t) :
    Module.rank R s ≤ Module.rank R t 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (s t : Submodule R M) (h : s ≤ t)
Goal: Module.rank R ↥s ≤ Module.rank R ↥t
-- LinearEquiv.lift_rank_eq
theorem LinearEquiv.lift_rank_eq (f : M ≃ₗ[R] M') :
    Cardinal.lift.{v'} (Module.rank R M) = Cardinal.lift.{v} (Module.rank R M') 
Arguments: {R : Type u} {M : Type v} {M' : Type v'} [Ring R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] (f : M ≃ₗ[R] M')
Goal: Cardinal.lift.{v', v} (Module.rank R M) = Cardinal.lift.{v, v'} (Module.rank R M')
-- LinearEquiv.rank_eq
theorem LinearEquiv.rank_eq (f : M ≃ₗ[R] M₁) : Module.rank R M = Module.rank R M₁ 
Arguments: {R : Type u} {M M₁ : Type v} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] (f : M ≃ₗ[R] M₁)
Goal: Module.rank R M = Module.rank R M₁
-- lift_rank_range_of_injective
theorem lift_rank_range_of_injective (f : M →ₗ[R] M') (h : Injective f) :
    lift.{v} (Module.rank R (LinearMap.range f)) = lift.{v'} (Module.rank R M) 
Arguments: {R : Type u} {M : Type v} {M' : Type v'} [Ring R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] (f : M →ₗ[R] M') (h : Function.Injective ⇑f)
Goal: Cardinal.lift.{v, v'} (Module.rank R ↥(LinearMap.range f)) = Cardinal.lift.{v', v} (Module.rank R M)
-- rank_range_of_injective
theorem rank_range_of_injective (f : M →ₗ[R] M₁) (h : Injective f) :
    Module.rank R (LinearMap.range f) = Module.rank R M 
Arguments: {R : Type u} {M M₁ : Type v} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] (f : M →ₗ[R] M₁) (h : Function.Injective ⇑f)
Goal: Module.rank R ↥(LinearMap.range f) = Module.rank R M
-- LinearEquiv.lift_rank_map_eq
theorem LinearEquiv.lift_rank_map_eq (f : M ≃ₗ[R] M') (p : Submodule R M) :
    lift.{v} (Module.rank R (p.map (f : M →ₗ[R] M'))) = lift.{v'} (Module.rank R p) 
Arguments: {R : Type u} {M : Type v} {M' : Type v'} [Ring R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] (f : M ≃ₗ[R] M') (p : Submodule R M)
Goal: Cardinal.lift.{v, v'} (Module.rank R ↥(Submodule.map (↑f) p)) = Cardinal.lift.{v', v} (Module.rank R ↥p)
-- LinearEquiv.rank_map_eq
theorem LinearEquiv.rank_map_eq (f : M ≃ₗ[R] M₁) (p : Submodule R M) :
    Module.rank R (p.map (f : M →ₗ[R] M₁)) = Module.rank R p 
Arguments: {R : Type u} {M M₁ : Type v} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] (f : M ≃ₗ[R] M₁) (p : Submodule R M)
Goal: Module.rank R ↥(Submodule.map (↑f) p) = Module.rank R ↥p
-- rank_top
@[simp]
theorem rank_top : Module.rank R (⊤ : Submodule R M) = Module.rank R M 
Arguments: (R : Type u) (M : Type v) [Ring R] [AddCommGroup M] [Module R M]
Goal: Module.rank R ↥⊤ = Module.rank R M
-- rank_range_of_surjective
theorem rank_range_of_surjective (f : M →ₗ[R] M') (h : Surjective f) :
    Module.rank R (LinearMap.range f) = Module.rank R M' 
Arguments: {R : Type u} {M : Type v} {M' : Type v'} [Ring R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] (f : M →ₗ[R] M') (h : Function.Surjective ⇑f)
Goal: Module.rank R ↥(LinearMap.range f) = Module.rank R M'
-- rank_submodule_le
theorem rank_submodule_le (s : Submodule R M) : Module.rank R s ≤ Module.rank R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (s : Submodule R M)
Goal: Module.rank R ↥s ≤ Module.rank R M
-- LinearMap.lift_rank_le_of_surjective
theorem LinearMap.lift_rank_le_of_surjective (f : M →ₗ[R] M') (h : Surjective f) :
    lift.{v} (Module.rank R M') ≤ lift.{v'} (Module.rank R M) 
Arguments: {R : Type u} {M : Type v} {M' : Type v'} [Ring R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] (f : M →ₗ[R] M') (h : Function.Surjective ⇑f)
Goal: Cardinal.lift.{v, v'} (Module.rank R M') ≤ Cardinal.lift.{v', v} (Module.rank R M)
-- LinearMap.rank_le_of_surjective
theorem LinearMap.rank_le_of_surjective (f : M →ₗ[R] M₁) (h : Surjective f) :
    Module.rank R M₁ ≤ Module.rank R M 
Arguments: {R : Type u} {M M₁ : Type v} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] (f : M →ₗ[R] M₁) (h : Function.Surjective ⇑f)
Goal: Module.rank R M₁ ≤ Module.rank R M
-- rank_subsingleton
@[nontriviality, simp]
theorem rank_subsingleton [Subsingleton R] : Module.rank R M = 1 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [Subsingleton R]
Goal: Module.rank R M = 1
-- Module.End.exists_isNilpotent_isSemisimple_of_separable_of_dvd_pow
theorem exists_isNilpotent_isSemisimple_of_separable_of_dvd_pow {P : K[X]} {k : ℕ}
    (sep : P.Separable) (nil : minpoly K f ∣ P ^ k) :
    ∃ᵉ (n ∈ adjoin K {f}) (s ∈ adjoin K {f}), IsNilpotent n ∧ IsSemisimple s ∧ f = n + s 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] {f : Module.End K V} {P : K[X]} {k : ℕ} (sep : P.Separable) (nil : minpoly K f ∣ P ^ k)
Goal: ∃ n ∈ Algebra.adjoin K {f}, ∃ s ∈ Algebra.adjoin K {f}, IsNilpotent n ∧ s.IsSemisimple ∧ f = n + s
-- Module.End.exists_isNilpotent_isSemisimple
theorem exists_isNilpotent_isSemisimple [PerfectField K] :
    ∃ᵉ (n ∈ adjoin K {f}) (s ∈ adjoin K {f}), IsNilpotent n ∧ IsSemisimple s ∧ f = n + s 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] {f : Module.End K V} [PerfectField K]
Goal: ∃ n ∈ Algebra.adjoin K {f}, ∃ s ∈ Algebra.adjoin K {f}, IsNilpotent n ∧ s.IsSemisimple ∧ f = n + s
-- Matrix.posSemidef_diagonal_iff
lemma posSemidef_diagonal_iff [DecidableEq n] {d : n → R} :
    PosSemidef (diagonal d) ↔ (∀ i : n, 0 ≤ d i) 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] [StarOrderedRing R] [DecidableEq n] {d : n → R}
Goal: (Matrix.diagonal d).PosSemidef ↔ ∀ (i : n), 0 ≤ d i
-- Matrix.PosSemidef.isHermitian
theorem isHermitian {M : Matrix n n R} (hM : M.PosSemidef) : M.IsHermitian 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] {M : Matrix n n R} (hM : M.PosSemidef)
Goal: M.IsHermitian
-- Matrix.PosSemidef.re_dotProduct_nonneg
theorem re_dotProduct_nonneg {M : Matrix n n 𝕜} (hM : M.PosSemidef) (x : n → 𝕜) :
    0 ≤ RCLike.re (dotProduct (star x) (M *ᵥ x)) 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] {M : Matrix n n 𝕜} (hM : M.PosSemidef) (x : n → 𝕜)
Goal: 0 ≤ RCLike.re (Matrix.dotProduct (star x) (M.mulVec x))
-- Matrix.PosSemidef.conjTranspose_mul_mul_same
lemma conjTranspose_mul_mul_same {A : Matrix n n R} (hA : PosSemidef A)
    {m : Type*} [Fintype m] (B : Matrix n m R) :
    PosSemidef (Bᴴ * A * B) 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] {A : Matrix n n R} (hA : A.PosSemidef) {m : Type u_5} [Fintype m] (B : Matrix n m R)
Goal: (B.conjTranspose * A * B).PosSemidef
-- Matrix.PosSemidef.mul_mul_conjTranspose_same
lemma mul_mul_conjTranspose_same {A : Matrix n n R} (hA : PosSemidef A)
    {m : Type*} [Fintype m] (B : Matrix m n R) :
    PosSemidef (B * A * Bᴴ) 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] {A : Matrix n n R} (hA : A.PosSemidef) {m : Type u_5} [Fintype m] (B : Matrix m n R)
Goal: (B * A * B.conjTranspose).PosSemidef
-- Matrix.PosSemidef.submatrix
theorem submatrix {M : Matrix n n R} (hM : M.PosSemidef) (e : m → n) :
    (M.submatrix e e).PosSemidef 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] {M : Matrix n n R} (hM : M.PosSemidef) (e : m → n)
Goal: (M.submatrix e e).PosSemidef
-- Matrix.PosSemidef.transpose
theorem transpose {M : Matrix n n R} (hM : M.PosSemidef) : Mᵀ.PosSemidef 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] {M : Matrix n n R} (hM : M.PosSemidef)
Goal: M.transpose.PosSemidef
-- Matrix.PosSemidef.conjTranspose
theorem conjTranspose {M : Matrix n n R} (hM : M.PosSemidef) : Mᴴ.PosSemidef 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] {M : Matrix n n R} (hM : M.PosSemidef)
Goal: M.conjTranspose.PosSemidef
-- Matrix.PosSemidef.zero
protected lemma zero : PosSemidef (0 : Matrix n n R) 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R]
Goal: Matrix.PosSemidef 0
-- Matrix.PosSemidef.one
protected lemma one [DecidableEq n] : PosSemidef (1 : Matrix n n R) 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] [StarOrderedRing R] [DecidableEq n]
Goal: Matrix.PosSemidef 1
-- Matrix.PosSemidef.pow
protected lemma pow [DecidableEq n] {M : Matrix n n R} (hM : M.PosSemidef) (k : ℕ) :
    PosSemidef (M ^ k) 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] [StarOrderedRing R] [DecidableEq n] {M : Matrix n n R} (hM : M.PosSemidef) (k : ℕ)
Goal: (M ^ k).PosSemidef
-- Matrix.PosSemidef.inv
protected lemma inv [DecidableEq n] {M : Matrix n n R} (hM : M.PosSemidef) : M⁻¹.PosSemidef 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] [DecidableEq n] {M : Matrix n n R} (hM : M.PosSemidef)
Goal: M⁻¹.PosSemidef
-- Matrix.PosSemidef.zpow
protected lemma zpow [DecidableEq n] {M : Matrix n n R} (hM : M.PosSemidef) (z : ℤ) :
    (M ^ z).PosSemidef 
Arguments: {n : Type u_2} {R : Type u_3} [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] [StarOrderedRing R] [DecidableEq n] {M : Matrix n n R} (hM : M.PosSemidef) (z : ℤ)
Goal: (M ^ z).PosSemidef
-- Matrix.PosSemidef.add
protected lemma add {A : Matrix m m R} {B : Matrix m m R}
    (hA : A.PosSemidef) (hB : B.PosSemidef) : (A + B).PosSemidef 
Arguments: {m : Type u_1} {R : Type u_3} [Fintype m] [CommRing R] [PartialOrder R] [StarRing R] [StarOrderedRing R] {A B : Matrix m m R} (hA : A.PosSemidef) (hB : B.PosSemidef)
Goal: (A + B).PosSemidef
-- Matrix.PosSemidef.eigenvalues_nonneg
lemma eigenvalues_nonneg [DecidableEq n] {A : Matrix n n 𝕜}
    (hA : Matrix.PosSemidef A) (i : n) : 0 ≤ hA.1.eigenvalues i 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.PosSemidef) (i : n)
Goal: 0 ≤ ⋯.eigenvalues i
-- Matrix.PosSemidef.posSemidef_sqrt
lemma posSemidef_sqrt : PosSemidef hA.sqrt 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.PosSemidef)
Goal: hA.sqrt.PosSemidef
-- Matrix.PosSemidef.sq_sqrt
@[simp]
lemma sq_sqrt : hA.sqrt ^ 2 = A 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.PosSemidef)
Goal: hA.sqrt ^ 2 = A
-- Matrix.PosSemidef.sqrt_mul_self
@[simp]
lemma sqrt_mul_self : hA.sqrt * hA.sqrt = A 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.PosSemidef)
Goal: hA.sqrt * hA.sqrt = A
-- Matrix.PosSemidef.eq_of_sq_eq_sq
lemma eq_of_sq_eq_sq {B : Matrix n n 𝕜} (hB : PosSemidef B) (hAB : A ^ 2 = B ^ 2) : A = B 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.PosSemidef) {B : Matrix n n 𝕜} (hB : B.PosSemidef) (hAB : A ^ 2 = B ^ 2)
Goal: A = B
-- Matrix.PosSemidef.sqrt_sq
lemma sqrt_sq : (hA.pow 2 : PosSemidef (A ^ 2)).sqrt = A 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.PosSemidef)
Goal: (⋯ : (A ^ 2).PosSemidef).sqrt = A
-- Matrix.PosSemidef.eq_sqrt_of_sq_eq
lemma eq_sqrt_of_sq_eq {B : Matrix n n 𝕜} (hB : PosSemidef B) (hAB : A ^ 2 = B) : A = hB.sqrt 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.PosSemidef) {B : Matrix n n 𝕜} (hB : B.PosSemidef) (hAB : A ^ 2 = B)
Goal: A = hB.sqrt
-- Matrix.posSemidef_submatrix_equiv
@[simp]
theorem posSemidef_submatrix_equiv {M : Matrix n n R} (e : m ≃ n) :
    (M.submatrix e e).PosSemidef ↔ M.PosSemidef 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] {M : Matrix n n R} (e : m ≃ n)
Goal: (M.submatrix ⇑e ⇑e).PosSemidef ↔ M.PosSemidef
-- Matrix.posSemidef_conjTranspose_mul_self
theorem posSemidef_conjTranspose_mul_self (A : Matrix m n R) : PosSemidef (Aᴴ * A) 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] [StarOrderedRing R] (A : Matrix m n R)
Goal: (A.conjTranspose * A).PosSemidef
-- Matrix.posSemidef_self_mul_conjTranspose
theorem posSemidef_self_mul_conjTranspose (A : Matrix m n R) : PosSemidef (A * Aᴴ) 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [CommRing R] [PartialOrder R] [StarRing R] [StarOrderedRing R] (A : Matrix m n R)
Goal: (A * A.conjTranspose).PosSemidef
-- Matrix.eigenvalues_conjTranspose_mul_self_nonneg
lemma eigenvalues_conjTranspose_mul_self_nonneg (A : Matrix m n 𝕜) [DecidableEq n] (i : n) :
    0 ≤ (isHermitian_transpose_mul_self A).eigenvalues i 
Arguments: {m : Type u_1} {n : Type u_2} {𝕜 : Type u_4} [Fintype m] [Fintype n] [RCLike 𝕜] (A : Matrix m n 𝕜) [DecidableEq n] (i : n)
Goal: 0 ≤ ⋯.eigenvalues i
-- Matrix.eigenvalues_self_mul_conjTranspose_nonneg
lemma eigenvalues_self_mul_conjTranspose_nonneg (A : Matrix m n 𝕜) [DecidableEq m] (i : m) :
    0 ≤ (isHermitian_mul_conjTranspose_self A).eigenvalues i 
Arguments: {m : Type u_1} {n : Type u_2} {𝕜 : Type u_4} [Fintype m] [Fintype n] [RCLike 𝕜] (A : Matrix m n 𝕜) [DecidableEq m] (i : m)
Goal: 0 ≤ ⋯.eigenvalues i
-- Matrix.posSemidef_iff_eq_transpose_mul_self
lemma posSemidef_iff_eq_transpose_mul_self {A : Matrix n n 𝕜} :
    PosSemidef A ↔ ∃ (B : Matrix n n 𝕜), A = Bᴴ * B 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] {A : Matrix n n 𝕜}
Goal: A.PosSemidef ↔ ∃ B, A = B.conjTranspose * B
-- Matrix.IsHermitian.posSemidef_of_eigenvalues_nonneg
lemma IsHermitian.posSemidef_of_eigenvalues_nonneg [DecidableEq n] {A : Matrix n n 𝕜}
    (hA : IsHermitian A) (h : ∀ i : n, 0 ≤ hA.eigenvalues i) : PosSemidef A 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.IsHermitian) (h : ∀ (i : n), 0 ≤ hA.eigenvalues i)
Goal: A.PosSemidef
-- Matrix.PosSemidef.dotProduct_mulVec_zero_iff
theorem PosSemidef.dotProduct_mulVec_zero_iff
    {A : Matrix n n 𝕜} (hA : PosSemidef A) (x : n → 𝕜) :
    star x ⬝ᵥ A *ᵥ x = 0 ↔ A *ᵥ x = 0 
Arguments: {n : Type u_2} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] {A : Matrix n n 𝕜} (hA : A.PosSemidef) (x : n → 𝕜)
Goal: Matrix.dotProduct (star x) (A.mulVec x) = 0 ↔ A.mulVec x = 0