Loogle!
Result
Found 59 declarations mentioning Ne, OfNat.ofNat, and Matrix.det. Of these, 38 match your pattern(s).
- Matrix.linearIndependent_rows_of_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.Determinant.Basic
{m : Type u_1} [DecidableEq m] [Fintype m] {R : Type v} [CommRing R] [IsDomain R] {A : Matrix m m R} (hA : A.det ≠ 0) : LinearIndependent R fun i => A i - Matrix.linearIndependent_cols_of_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.Determinant.Basic
{m : Type u_1} [DecidableEq m] [Fintype m] {R : Type v} [CommRing R] [IsDomain R] {A : Matrix m m R} (hA : A.det ≠ 0) : LinearIndependent R A.col - Matrix.det_mvPolynomialX_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.MvPolynomial
(m : Type u_1) (R : Type u_3) [DecidableEq m] [Fintype m] [CommRing R] [Nontrivial R] : (Matrix.mvPolynomialX m m R).det ≠ 0 - Matrix.nondegenerate_of_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.Nondegenerate
{m : Type u_1} {A : Type u_3} [Fintype m] [CommRing A] [IsDomain A] [DecidableEq m] {M : Matrix m m A} (hM : M.det ≠ 0) : M.Nondegenerate - Matrix.eq_zero_of_mulVec_eq_zero 📋 Mathlib.LinearAlgebra.Matrix.Nondegenerate
{m : Type u_1} {A : Type u_3} [Fintype m] [CommRing A] [IsDomain A] [DecidableEq m] {M : Matrix m m A} (hM : M.det ≠ 0) {v : m → A} (hv : M.mulVec v = 0) : v = 0 - Matrix.eq_zero_of_vecMul_eq_zero 📋 Mathlib.LinearAlgebra.Matrix.Nondegenerate
{m : Type u_1} {A : Type u_3} [Fintype m] [CommRing A] [IsDomain A] [DecidableEq m] {M : Matrix m m A} (hM : M.det ≠ 0) {v : m → A} (hv : Matrix.vecMul v M = 0) : v = 0 - Matrix.det_ne_zero_of_left_inverse 📋 Mathlib.LinearAlgebra.Matrix.NonsingularInverse
{n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α} [Nontrivial α] (h : B * A = 1) : A.det ≠ 0 - Matrix.det_ne_zero_of_right_inverse 📋 Mathlib.LinearAlgebra.Matrix.NonsingularInverse
{n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α} [Nontrivial α] (h : A * B = 1) : A.det ≠ 0 - Matrix.diagonal_transvection_induction_of_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.Transvection
{n : Type u_1} {𝕜 : Type u_3} [Field 𝕜] [DecidableEq n] [Fintype n] (P : Matrix n n 𝕜 → Prop) (M : Matrix n n 𝕜) (hMdet : M.det ≠ 0) (hdiag : ∀ (D : n → 𝕜), (Matrix.diagonal D).det ≠ 0 → P (Matrix.diagonal D)) (htransvec : ∀ (t : Matrix.TransvectionStruct n 𝕜), P t.toMatrix) (hmul : ∀ (A B : Matrix n n 𝕜), A.det ≠ 0 → B.det ≠ 0 → P A → P B → P (A * B)) : P M - Matrix.SpecialLinearGroup.det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] [Nontrivial R] (g : Matrix.SpecialLinearGroup n R) : (↑g).det ≠ 0 - Matrix.GeneralLinearGroup.mkOfDetNeZero 📋 Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs
{n : Type u} [DecidableEq n] [Fintype n] {K : Type u_1} [Field K] (A : Matrix n n K) (h : A.det ≠ 0) : GL n K - Matrix.GeneralLinearGroup.det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs
{n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] [Nontrivial R] (g : GL n R) : (↑g).det ≠ 0 - Matrix.GeneralLinearGroup.val_mkOfDetNeZero 📋 Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs
{n : Type u} [DecidableEq n] [Fintype n] {K : Type u_1} [Field K] (A : Matrix n n K) (h : A.det ≠ 0) : ↑(Matrix.GeneralLinearGroup.mkOfDetNeZero A h) = A - Matrix.GLPos.det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs
{n : Type u} {R : Type v} [DecidableEq n] [Fintype n] [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] (A : ↥(Matrix.GLPos n R)) : (↑↑A).det ≠ 0 - Matrix.Nondegenerate.det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.ToLinearEquiv
{n : Type u_1} [Fintype n] {A : Type u_4} [DecidableEq n] [CommRing A] [IsDomain A] {M : Matrix n n A} : M.Nondegenerate → M.det ≠ 0 - Matrix.Nondegenerate.of_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.ToLinearEquiv
{n : Type u_1} [Fintype n] {A : Type u_4} [DecidableEq n] [CommRing A] [IsDomain A] {M : Matrix n n A} : M.det ≠ 0 → M.Nondegenerate - Matrix.nondegenerate_iff_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.ToLinearEquiv
{n : Type u_1} [Fintype n] {A : Type u_4} [DecidableEq n] [CommRing A] [IsDomain A] {M : Matrix n n A} : M.Nondegenerate ↔ M.det ≠ 0 - Matrix.det_ne_zero_of_sum_col_pos 📋 Mathlib.LinearAlgebra.Matrix.ToLinearEquiv
{n : Type u_1} [Fintype n] [DecidableEq n] {S : Type u_2} [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] {A : Matrix n n S} (h1 : Pairwise fun i j => A i j < 0) (h2 : ∀ (j : n), 0 < ∑ i, A i j) : A.det ≠ 0 - Matrix.det_ne_zero_of_sum_row_pos 📋 Mathlib.LinearAlgebra.Matrix.ToLinearEquiv
{n : Type u_1} [Fintype n] [DecidableEq n] {S : Type u_2} [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] {A : Matrix n n S} (h1 : Pairwise fun i j => A i j < 0) (h2 : ∀ (i : n), 0 < ∑ j, A i j) : A.det ≠ 0 - LinearMap.separatingLeft_of_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.SesquilinearForm
{R₁ : Type u_2} {M₁ : Type u_6} {ι : Type u_15} [CommRing R₁] [AddCommMonoid M₁] [Module R₁ M₁] [DecidableEq ι] [Fintype ι] [IsDomain R₁] {B : M₁ →ₗ[R₁] M₁ →ₗ[R₁] R₁} (b : Module.Basis ι R₁ M₁) (h : ((LinearMap.toMatrix₂ b b) B).det ≠ 0) : B.SeparatingLeft - LinearMap.separatingLeft_iff_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.SesquilinearForm
{R₁ : Type u_2} {M₁ : Type u_6} {ι : Type u_15} [CommRing R₁] [AddCommMonoid M₁] [Module R₁ M₁] [DecidableEq ι] [Fintype ι] [IsDomain R₁] {B : M₁ →ₗ[R₁] M₁ →ₗ[R₁] R₁} (b : Module.Basis ι R₁ M₁) : B.SeparatingLeft ↔ ((LinearMap.toMatrix₂ b b) B).det ≠ 0 - LinearMap.separatingLeft_toLinearMap₂'_of_det_ne_zero' 📋 Mathlib.LinearAlgebra.Matrix.SesquilinearForm
{R₁ : Type u_2} {ι : Type u_15} [CommRing R₁] [DecidableEq ι] [Fintype ι] [IsDomain R₁] (M : Matrix ι ι R₁) (h : M.det ≠ 0) : ((Matrix.toLinearMap₂' R₁) M).SeparatingLeft - LinearMap.separatingLeft_toLinearMap₂'_iff_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.SesquilinearForm
{R₁ : Type u_2} {ι : Type u_15} [CommRing R₁] [DecidableEq ι] [Fintype ι] [IsDomain R₁] {M : Matrix ι ι R₁} : ((Matrix.toLinearMap₂' R₁) M).SeparatingLeft ↔ M.det ≠ 0 - Real.smul_map_diagonal_volume_pi 📋 Mathlib.MeasureTheory.Measure.Lebesgue.Basic
{ι : Type u_1} [Fintype ι] [DecidableEq ι] {D : ι → ℝ} (h : (Matrix.diagonal D).det ≠ 0) : ENNReal.ofReal |(Matrix.diagonal D).det| • MeasureTheory.Measure.map (⇑(Matrix.toLin' (Matrix.diagonal D))) MeasureTheory.volume = MeasureTheory.volume - Real.map_matrix_volume_pi_eq_smul_volume_pi 📋 Mathlib.MeasureTheory.Measure.Lebesgue.Basic
{ι : Type u_1} [Fintype ι] [DecidableEq ι] {M : Matrix ι ι ℝ} (hM : M.det ≠ 0) : MeasureTheory.Measure.map (⇑(Matrix.toLin' M)) MeasureTheory.volume = ENNReal.ofReal |M.det⁻¹| • MeasureTheory.volume - Matrix.det_vandermonde_ne_zero_iff 📋 Mathlib.LinearAlgebra.Vandermonde
{R : Type u_1} [CommRing R] {n : ℕ} [IsDomain R] {v : Fin n → R} : (Matrix.vandermonde v).det ≠ 0 ↔ Function.Injective v - LinearMap.BilinForm.nondegenerate_of_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.BilinearForm
{M₂ : Type u_4} [AddCommGroup M₂] {A : Type u_5} [CommRing A] [IsDomain A] [Module A M₂] (B₃ : LinearMap.BilinForm A M₂) {ι : Type u_6} [DecidableEq ι] [Fintype ι] (b : Module.Basis ι A M₂) (h : ((BilinForm.toMatrix b) B₃).det ≠ 0) : B₃.Nondegenerate - LinearMap.BilinForm.nondegenerate_iff_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.BilinearForm
{M₂ : Type u_4} [AddCommGroup M₂] {A : Type u_5} [CommRing A] [IsDomain A] [Module A M₂] {ι : Type u_6} [DecidableEq ι] [Fintype ι] {B : LinearMap.BilinForm A M₂} (b : Module.Basis ι A M₂) : B.Nondegenerate ↔ ((BilinForm.toMatrix b) B).det ≠ 0 - LinearMap.BilinForm.nondegenerate_toBilin'_of_det_ne_zero' 📋 Mathlib.LinearAlgebra.Matrix.BilinearForm
{A : Type u_5} [CommRing A] [IsDomain A] {ι : Type u_6} [DecidableEq ι] [Fintype ι] (M : Matrix ι ι A) (h : M.det ≠ 0) : (Matrix.toBilin' M).Nondegenerate - LinearMap.BilinForm.nondegenerate_toBilin'_iff_det_ne_zero 📋 Mathlib.LinearAlgebra.Matrix.BilinearForm
{A : Type u_5} [CommRing A] [IsDomain A] {ι : Type u_6} [DecidableEq ι] [Fintype ι] {M : Matrix ι ι A} : (Matrix.toBilin' M).Nondegenerate ↔ M.det ≠ 0 - det_traceMatrix_ne_zero' 📋 Mathlib.RingTheory.Trace.Basic
{K : Type u_4} {L : Type u_5} [Field K] [Field L] [Algebra K L] (pb : PowerBasis K L) [Algebra.IsSeparable K L] : (Algebra.traceMatrix K ⇑pb.basis).det ≠ 0 - det_traceForm_ne_zero 📋 Mathlib.RingTheory.Trace.Basic
{K : Type u_4} {L : Type u_5} [Field K] [Field L] [Algebra K L] {ι : Type w} [Algebra.IsSeparable K L] [Fintype ι] [DecidableEq ι] (b : Module.Basis ι K L) : ((BilinForm.toMatrix b) (Algebra.traceForm K L)).det ≠ 0 - det_ne_zero_of_sum_col_lt_diag 📋 Mathlib.LinearAlgebra.Matrix.Gershgorin
{K : Type u_1} {n : Type u_2} [NormedField K] [Fintype n] [DecidableEq n] {A : Matrix n n K} (h : ∀ (k : n), ∑ i ∈ Finset.univ.erase k, ‖A i k‖ < ‖A k k‖) : A.det ≠ 0 - det_ne_zero_of_sum_row_lt_diag 📋 Mathlib.LinearAlgebra.Matrix.Gershgorin
{K : Type u_1} {n : Type u_2} [NormedField K] [Fintype n] [DecidableEq n] {A : Matrix n n K} (h : ∀ (k : n), ∑ j ∈ Finset.univ.erase k, ‖A k j‖ < ‖A k k‖) : A.det ≠ 0 - RootPairing.GeckConstruction.instHasTrivialRadical 📋 Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Semisimple
{ι : Type u_1} {K : Type u_2} {M : Type u_3} {N : Type u_4} [Field K] [CharZero K] [DecidableEq ι] [Fintype ι] [AddCommGroup M] [Module K M] [AddCommGroup N] [Module K N] {P : RootPairing ι K M N} [P.IsRootSystem] [P.IsCrystallographic] {b : P.Base} [Fact ((4 - b.cartanMatrix).det ≠ 0)] [P.IsReduced] [P.IsIrreducible] [IsAlgClosed K] : LieAlgebra.HasTrivialRadical K ↥(RootPairing.GeckConstruction.lieAlgebra b) - RootPairing.GeckConstruction.instIsIrreducible 📋 Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Semisimple
{ι : Type u_1} {K : Type u_2} {M : Type u_3} {N : Type u_4} [Field K] [CharZero K] [DecidableEq ι] [Fintype ι] [AddCommGroup M] [Module K M] [AddCommGroup N] [Module K N] {P : RootPairing ι K M N} [P.IsRootSystem] [P.IsCrystallographic] {b : P.Base} [Fact ((4 - b.cartanMatrix).det ≠ 0)] [P.IsReduced] [P.IsIrreducible] [Nonempty ι] : LieModule.IsIrreducible K (↥(RootPairing.GeckConstruction.lieAlgebra b)) (↥b.support ⊕ ι → K) - NumberField.det_of_basisMatrix_non_zero 📋 Mathlib.NumberTheory.NumberField.EquivReindex
(K : Type u_1) [Field K] [NumberField K] [DecidableEq (K →+* ℂ)] : (NumberField.basisMatrix K).det ≠ 0 - Matrix.GeneralLinearGroup.mkOfDetNeZero.congr_simp 📋 Mathlib.NumberTheory.ModularForms.Basic
{n : Type u} [DecidableEq n] [Fintype n] {K : Type u_1} [Field K] (A A✝ : Matrix n n K) (e_A : A = A✝) (h : A.det ≠ 0) : Matrix.GeneralLinearGroup.mkOfDetNeZero A h = Matrix.GeneralLinearGroup.mkOfDetNeZero A✝ ⋯
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision 6ff4759 serving mathlib revision 7379a9f