Loogle!
Result
Found 124 declarations mentioning Polynomial.IsRoot.
- Polynomial.IsRoot π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] (p : Polynomial R) (a : R) : Prop - Polynomial.IsRoot.decidable π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} [DecidableEq R] : Decidable (p.IsRoot a) - Polynomial.IsRoot.eq_zero π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {x : R} (h : p.IsRoot x) : Polynomial.eval x p = 0 - Polynomial.IsRoot.def π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} : p.IsRoot a β Polynomial.eval a p = 0 - Polynomial.isRoot_comp π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_1} [CommSemiring R] {p q : Polynomial R} {r : R} : (p.comp q).IsRoot r β p.IsRoot (Polynomial.eval r q) - Polynomial.root_mul_left_of_isRoot π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [CommSemiring R] (p : Polynomial R) {q : Polynomial R} : q.IsRoot a β (p * q).IsRoot a - Polynomial.root_mul_right_of_isRoot π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [CommSemiring R] {p : Polynomial R} (q : Polynomial R) : p.IsRoot a β (p * q).IsRoot a - Polynomial.not_isRoot_C π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] (r a : R) (hr : r β 0) : Β¬(Polynomial.C r).IsRoot a - Polynomial.isRoot_prod π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_2} [CommSemiring R] [IsDomain R] {ΞΉ : Type u_1} (s : Finset ΞΉ) (p : ΞΉ β Polynomial R) (x : R) : (β j β s, p j).IsRoot x β β i β s, (p i).IsRoot x - Polynomial.IsRoot.dvd π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_1} [CommSemiring R] {p q : Polynomial R} {x : R} (h : p.IsRoot x) (hpq : p β£ q) : q.IsRoot x - Polynomial.root_or_root_of_root_mul π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [CommSemiring R] {p q : Polynomial R} [NoZeroDivisors R] (h : (p * q).IsRoot a) : p.IsRoot a β¨ q.IsRoot a - Polynomial.root_mul π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [CommSemiring R] {p q : Polynomial R} [NoZeroDivisors R] : (p * q).IsRoot a β p.IsRoot a β¨ q.IsRoot a - Polynomial.root_X_sub_C π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a b : R} [Ring R] : (Polynomial.X - Polynomial.C a).IsRoot b β a = b - Polynomial.coeff_zero_eq_zero_of_zero_isRoot π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} : p.IsRoot 0 β p.coeff 0 = 0 - Polynomial.zero_isRoot_of_coeff_zero_eq_zero π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} : p.coeff 0 = 0 β p.IsRoot 0 - Polynomial.zero_isRoot_iff_coeff_zero_eq_zero π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} : p.IsRoot 0 β p.coeff 0 = 0 - Polynomial.IsRoot.map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] {f : R β+* S} {x : R} {p : Polynomial R} (h : p.IsRoot x) : (Polynomial.map f p).IsRoot (f x) - Polynomial.IsRoot.of_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{S : Type v} [CommSemiring S] {R : Type u_1} [Ring R] {f : R β+* S} {x : R} {p : Polynomial R} (h : (Polynomial.map f p).IsRoot (f x)) (hf : Function.Injective βf) : p.IsRoot x - Polynomial.isRoot_map_iff π Mathlib.Algebra.Polynomial.Eval.Coeff
{S : Type v} [CommSemiring S] {R : Type u_1} [CommRing R] {f : R β+* S} {x : R} {p : Polynomial R} (hf : Function.Injective βf) : (Polynomial.map f p).IsRoot (f x) β p.IsRoot x - Polynomial.isRoot_of_evalβ_map_eq_zero π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {S : Type v} [CommSemiring R] {p : Polynomial R} [Semiring S] {f : R β+* S} (hf : Function.Injective βf) {r : R} : Polynomial.evalβ f (f r) p = 0 β p.IsRoot r - Polynomial.dvd_term_of_isRoot_of_dvd_terms π Mathlib.Algebra.Polynomial.AlgebraMap
{S : Type v} [CommRing S] {r p : S} {f : Polynomial S} (i : β) (hr : f.IsRoot r) (h : β (j : β), j β i β p β£ f.coeff j * r ^ j) : p β£ f.coeff i * r ^ i - Polynomial.isRoot_of_aeval_algebraMap_eq_zero π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] [FaithfulSMul R S] {p : Polynomial R} {r : R} (hr : (Polynomial.aeval ((algebraMap R S) r)) p = 0) : p.IsRoot r - Polynomial.subsingleton_isRoot_of_natDegree_eq_one π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p : Polynomial R} [IsLeftCancelMulZero R] (h : p.natDegree = 1) : {x | p.IsRoot x}.Subsingleton - Polynomial.degree_pos_of_root π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} (hp : p β 0) (h : p.IsRoot a) : 0 < p.degree - Polynomial.rootMultiplicity_eq_zero π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} {x : R} (h : Β¬p.IsRoot x) : Polynomial.rootMultiplicity x p = 0 - Polynomial.IsRoot.dvd_coeff_zero π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} {x : R} (h : p.IsRoot x) : x β£ p.coeff 0 - Irreducible.subsingleton_isRoot π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} [IsDomain R] (hi : Irreducible p) : {x | p.IsRoot x}.Subsingleton - Irreducible.not_isRoot_of_natDegree_ne_one π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} [IsDomain R] (hi : Irreducible p) (hdeg : p.natDegree β 1) {x : R} : Β¬p.IsRoot x - Polynomial.rootMultiplicity_eq_zero_iff π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} {x : R} : Polynomial.rootMultiplicity x p = 0 β p.IsRoot x β p = 0 - Polynomial.rootMultiplicity_pos π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} (hp : p β 0) {x : R} : 0 < Polynomial.rootMultiplicity x p β p.IsRoot x - Polynomial.rootMultiplicity_pos' π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} {x : R} : 0 < Polynomial.rootMultiplicity x p β p β 0 β§ p.IsRoot x - Polynomial.degree_eq_one_of_irreducible_of_root π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} [IsDomain R] (hi : Irreducible p) {x : R} (hx : p.IsRoot x) : p.degree = 1 - Irreducible.isRoot_eq_bot_of_natDegree_ne_one π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} [IsDomain R] (hi : Irreducible p) (hdeg : p.natDegree β 1) : p.IsRoot = β₯ - Polynomial.dvd_iff_isRoot π Mathlib.Algebra.Polynomial.Div
{R : Type u} {a : R} [CommRing R] {p : Polynomial R} : Polynomial.X - Polynomial.C a β£ p β p.IsRoot a - Polynomial.mul_divByMonic_eq_iff_isRoot π Mathlib.Algebra.Polynomial.Div
{R : Type u} {a : R} [CommRing R] {p : Polynomial R} : (Polynomial.X - Polynomial.C a) * (p /β (Polynomial.X - Polynomial.C a)) = p β p.IsRoot a - Polynomial.isRoot_of_mem_roots π Mathlib.Algebra.Polynomial.Roots
{R : Type u} {a : R} [CommRing R] [IsDomain R] {p : Polynomial R} (h : a β p.roots) : p.IsRoot a - Polynomial.eq_zero_of_infinite_isRoot π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] (p : Polynomial R) (h : {x | p.IsRoot x}.Infinite) : p = 0 - Polynomial.finite_setOfPred_isRoot π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (hp : p β 0) : {x | p.IsRoot x}.Finite - Polynomial.finite_setOf_isRoot π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (hp : p β 0) : {x | p.IsRoot x}.Finite - Polynomial.eventually_cofinite_not_isRoot π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (hp : p β 0) : βαΆ (x : R) in Filter.cofinite, Β¬p.IsRoot x - Polynomial.mem_roots π Mathlib.Algebra.Polynomial.Roots
{R : Type u} {a : R} [CommRing R] [IsDomain R] {p : Polynomial R} (hp : p β 0) : a β p.roots β p.IsRoot a - Polynomial.mem_roots' π Mathlib.Algebra.Polynomial.Roots
{R : Type u} {a : R} [CommRing R] [IsDomain R] {p : Polynomial R} : a β p.roots β p β 0 β§ p.IsRoot a - Polynomial.exists_max_root π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] [LinearOrder R] (p : Polynomial R) (hp : p β 0) : β xβ, β (x : R), p.IsRoot x β x β€ xβ - Polynomial.exists_min_root π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] [LinearOrder R] (p : Polynomial R) (hp : p β 0) : β xβ, β (x : R), p.IsRoot x β xβ β€ x - Polynomial.roots_eq_zero_iff_isRoot_eq_bot π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (hp0 : p β 0) : p.roots = 0 β p.IsRoot = β₯ - Polynomial.roots_eq_zero_iff_eq_zero_or_isRoot_eq_bot π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} : p.roots = 0 β p = 0 β¨ p.IsRoot = β₯ - Polynomial.exists_root_of_degree_eq_one π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {p : Polynomial R} (h : p.degree = 1) : β x, p.IsRoot x - Polynomial.isRoot_gcd_iff_isRoot_left_right π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] [DecidableEq R] {f g : Polynomial R} {Ξ± : R} : (EuclideanDomain.gcd f g).IsRoot Ξ± β f.IsRoot Ξ± β§ g.IsRoot Ξ± - Polynomial.isRoot_iterate_derivative_of_lt_rootMultiplicity π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} {n : β} (hn : n < Polynomial.rootMultiplicity t p) : ((βPolynomial.derivative)^[n] p).IsRoot t - Polynomial.derivative_rootMultiplicity_of_root π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [CharZero R] {p : Polynomial R} {t : R} (hpt : p.IsRoot t) : Polynomial.rootMultiplicity t (Polynomial.derivative p) = Polynomial.rootMultiplicity t p - 1 - Polynomial.one_lt_rootMultiplicity_iff_isRoot π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} (h : p β 0) : 1 < Polynomial.rootMultiplicity t p β p.IsRoot t β§ (Polynomial.derivative p).IsRoot t - Polynomial.one_lt_rootMultiplicity_iff_isRoot_iterate_derivative π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} (h : p β 0) : 1 < Polynomial.rootMultiplicity t p β β m β€ 1, ((βPolynomial.derivative)^[m] p).IsRoot t - Polynomial.lt_rootMultiplicity_of_isRoot_iterate_derivative π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [CharZero R] {p : Polynomial R} {t : R} {n : β} (h : p β 0) (hroot : β m β€ n, ((βPolynomial.derivative)^[m] p).IsRoot t) : n < Polynomial.rootMultiplicity t p - Polynomial.lt_rootMultiplicity_iff_isRoot_iterate_derivative π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [CharZero R] {p : Polynomial R} {t : R} {n : β} (h : p β 0) : n < Polynomial.rootMultiplicity t p β β m β€ n, ((βPolynomial.derivative)^[m] p).IsRoot t - Polynomial.one_lt_rootMultiplicity_iff_isRoot_gcd π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [GCDMonoid (Polynomial R)] {p : Polynomial R} {t : R} (h : p β 0) : 1 < Polynomial.rootMultiplicity t p β (gcd p (Polynomial.derivative p)).IsRoot t - Polynomial.derivative_rootMultiplicity_of_root_of_mem_nonZeroDivisors π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} (hpt : p.IsRoot t) (hnzd : β(Polynomial.rootMultiplicity t p) β nonZeroDivisors R) : Polynomial.rootMultiplicity t (Polynomial.derivative p) = Polynomial.rootMultiplicity t p - 1 - Polynomial.lt_rootMultiplicity_of_isRoot_iterate_derivative_of_mem_nonZeroDivisors π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} {n : β} (h : p β 0) (hroot : β m β€ n, ((βPolynomial.derivative)^[m] p).IsRoot t) (hnzd : βn.factorial β nonZeroDivisors R) : n < Polynomial.rootMultiplicity t p - Polynomial.lt_rootMultiplicity_iff_isRoot_iterate_derivative_of_mem_nonZeroDivisors π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} {n : β} (h : p β 0) (hnzd : βn.factorial β nonZeroDivisors R) : n < Polynomial.rootMultiplicity t p β β m β€ n, ((βPolynomial.derivative)^[m] p).IsRoot t - Polynomial.lt_rootMultiplicity_of_isRoot_iterate_derivative_of_mem_nonZeroDivisors' π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} {n : β} (h : p β 0) (hroot : β m β€ n, ((βPolynomial.derivative)^[m] p).IsRoot t) (hnzd : β m β€ n, m β 0 β βm β nonZeroDivisors R) : n < Polynomial.rootMultiplicity t p - Polynomial.lt_rootMultiplicity_iff_isRoot_iterate_derivative_of_mem_nonZeroDivisors' π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} {n : β} (h : p β 0) (hnzd : β m β€ n, m β 0 β βm β nonZeroDivisors R) : n < Polynomial.rootMultiplicity t p β β m β€ n, ((βPolynomial.derivative)^[m] p).IsRoot t - Polynomial.IsRoot.mul_div_eq π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {a : R} [Field R] {p : Polynomial R} : p.IsRoot a β (Polynomial.X - Polynomial.C a) * (p / (Polynomial.X - Polynomial.C a)) = p - Polynomial.mul_div_eq_iff_isRoot π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {a : R} [Field R] {p : Polynomial R} : (Polynomial.X - Polynomial.C a) * (p / (Polynomial.X - Polynomial.C a)) = p β p.IsRoot a - Polynomial.isRoot_of_isRoot_of_dvd_derivative_mul π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [CharZero R] {f g : Polynomial R} (hf0 : f β 0) (hfd : f β£ Polynomial.derivative f * g) {a : R} (haf : f.IsRoot a) : g.IsRoot a - Polynomial.Splits.mem_range_of_isRoot π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} {S : Type u_2} [Field R] [CommRing S] [IsDomain S] {f : Polynomial R} (hf : f.Splits) (hf0 : f β 0) {i : R β+* S} {x : S} (hx : (Polynomial.map i f).IsRoot x) : x β i.range - Polynomial.Splits.mem_subfield_of_isRoot π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Field R] (F : Subfield R) {f : Polynomial β₯F} (hf : f.Splits) (hf0 : f β 0) {x : R} (hx : (Polynomial.map F.subtype f).IsRoot x) : x β F - mem_rootsOfUnity_iff_isRoot π Mathlib.RingTheory.RootsOfUnity.Basic
{R : Type u_4} [CommRing R] (k : β) (ΞΆ : RΛ£) : ΞΆ β rootsOfUnity k R β (Polynomial.X ^ k - 1).IsRoot βΞΆ - Polynomial.IsWeaklyEisensteinAt.pow_natDegree_le_of_root_of_monic_mem π Mathlib.RingTheory.Polynomial.Eisenstein.Basic
{R : Type u} [CommRing R] {π : Ideal R} {f : Polynomial R} (hf : f.IsWeaklyEisensteinAt π) {x : R} (hroot : f.IsRoot x) (hmo : f.Monic) (i : β) : f.natDegree β€ i β x ^ i β π - minpoly.root π Mathlib.FieldTheory.Minpoly.Field
{A : Type u_1} {B : Type u_2} [Field A] [Ring B] [IsDomain B] [Algebra A B] {x : B} (hx : IsIntegral A x) {y : A} (h : (minpoly A x).IsRoot y) : (algebraMap A B) y = x - AdjoinRoot.isRoot_root π Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (f : Polynomial R) : (Polynomial.map (AdjoinRoot.of f) f).IsRoot (AdjoinRoot.root f) - IsAlgClosed.exists_root π Mathlib.FieldTheory.IsAlgClosed.Basic
{k : Type u} [Field k] [IsAlgClosed k] (p : Polynomial k) (hp : p.degree β 0) : β x, p.IsRoot x - Polynomial.isRoot_of_isRoot_iff_dvd_derivative_mul π Mathlib.FieldTheory.IsAlgClosed.Basic
{K : Type u_1} [Field K] [IsAlgClosed K] [CharZero K] {f g : Polynomial K} (hf0 : f β 0) : (β (x : K), f.IsRoot x β g.IsRoot x) β f β£ Polynomial.derivative f * g - Module.End.hasEigenvalue_of_isRoot π Mathlib.LinearAlgebra.Eigenspace.Minpoly
{R : Type v} {M : Type w} [CommRing R] [AddCommGroup M] [Module R M] {f : Module.End R M} {ΞΌ : R} [IsDomain R] [Module.Finite R M] (h : (minpoly R f).IsRoot ΞΌ) : f.HasEigenvalue ΞΌ - Module.End.isRoot_of_hasEigenvalue π Mathlib.LinearAlgebra.Eigenspace.Minpoly
{R : Type v} {M : Type w} [CommRing R] [AddCommGroup M] [Module R M] [IsDomain R] [Module.IsTorsionFree R M] {f : Module.End R M} {ΞΌ : R} (h : f.HasEigenvalue ΞΌ) : (minpoly R f).IsRoot ΞΌ - Module.End.hasEigenvalue_iff_isRoot π Mathlib.LinearAlgebra.Eigenspace.Minpoly
{R : Type v} {M : Type w} [CommRing R] [AddCommGroup M] [Module R M] {f : Module.End R M} {ΞΌ : R} [IsDomain R] [Module.Finite R M] [Module.IsTorsionFree R M] : f.HasEigenvalue ΞΌ β (minpoly R f).IsRoot ΞΌ - num_isRoot_scaleRoots_of_aeval_eq_zero π Mathlib.RingTheory.Polynomial.RationalRoot
{A : Type u_1} {K : Type u_2} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDomain A] [UniqueFactorizationMonoid A] {p : Polynomial A} {x : K} (hr : (Polynomial.aeval x) p = 0) : (p.scaleRoots β(IsFractionRing.den A x)).IsRoot (IsFractionRing.num A x) - LinearMap.not_hasEigenvalue_zero_tfae π Mathlib.LinearAlgebra.Eigenspace.Zero
{K : Type u_2} {M : Type u_3} [Field K] [AddCommGroup M] [Module K M] [Module.Finite K M] (Ο : Module.End K M) : [Β¬Ο.HasEigenvalue 0, Β¬(minpoly K Ο).IsRoot 0, Polynomial.constantCoeff (LinearMap.charpoly Ο) β 0, LinearMap.det Ο β 0, LinearMap.ker Ο = β₯, β (m : M), Ο m = 0 β m = 0].TFAE - LinearMap.hasEigenvalue_zero_tfae π Mathlib.LinearAlgebra.Eigenspace.Zero
{K : Type u_2} {M : Type u_3} [Field K] [AddCommGroup M] [Module K M] [Module.Finite K M] (Ο : Module.End K M) : [Ο.HasEigenvalue 0, (minpoly K Ο).IsRoot 0, Polynomial.constantCoeff (LinearMap.charpoly Ο) = 0, LinearMap.det Ο = 0, β₯ < LinearMap.ker Ο, β m, m β 0 β§ Ο m = 0].TFAE - LinearRecurrence.geom_sol_iff_root_charPoly π Mathlib.Algebra.LinearRecurrence
{R : Type u_1} [CommRing R] (E : LinearRecurrence R) (q : R) : (E.IsSolution fun n => q ^ n) β E.charPoly.IsRoot q - IsSepClosed.exists_root π Mathlib.FieldTheory.IsSepClosed
{k : Type u} [Field k] [IsSepClosed k] (p : Polynomial k) (hp : p.degree β 0) (hsep : p.Separable) : β x, p.IsRoot x - Real.Polynomial.isRoot_cos_pi_div_five π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
: (4 β’ Polynomial.X ^ 2 - 2 β’ Polynomial.X - Polynomial.C 1).IsRoot (Real.cos (Real.pi / 5)) - Polynomial.irreducible_of_degree_le_three_of_not_isRoot π Mathlib.Algebra.Polynomial.SpecificDegree
{K : Type u_1} [Field K] {p : Polynomial K} (hdeg : p.natDegree β Finset.Icc 1 3) (hnot : β (x : K), Β¬p.IsRoot x) : Irreducible p - WeierstrassCurve.Affine.Point.isRoot_twoTorsionPolynomial_of_add_self π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] {x y : F} (h : W.Nonsingular x y) (hP : WeierstrassCurve.Affine.Point.some x y h + WeierstrassCurve.Affine.Point.some x y h = 0) : (WeierstrassCurve.twoTorsionPolynomial W).toPoly.IsRoot x - WeierstrassCurve.Affine.Point.isRoot_twoTorsionPolynomial_iff π Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Affine F} [DecidableEq F] (h2 : NeZero 2) (hΞ : WeierstrassCurve.Ξ W β 0) (x : F) : (WeierstrassCurve.twoTorsionPolynomial W).toPoly.IsRoot x β β y, β (h : W.Nonsingular x y), WeierstrassCurve.Affine.Point.some x y h + WeierstrassCurve.Affine.Point.some x y h = 0 - Complex.exists_root π Mathlib.Analysis.Complex.Polynomial.Basic
{f : Polynomial β} (hf : 0 < f.degree) : β z, f.IsRoot z - Polynomial.isIntegral_coeff_of_factors π Mathlib.RingTheory.Polynomial.IsIntegral
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (p : Polynomial S) (hpmon : IsIntegral R p.leadingCoeff) (hp : p.Splits) (hpr : β (x : S), p.IsRoot x β IsIntegral R x) (i : β) : IsIntegral R (p.coeff i) - Matrix.mem_spectrum_of_isRoot_charpoly π Mathlib.LinearAlgebra.Matrix.Charpoly.Eigs
{n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [CommRing R] {B : Matrix n n R} [Nontrivial R] {r : R} (hr : B.charpoly.IsRoot r) : r β spectrum R B - Matrix.mem_spectrum_iff_isRoot_charpoly π Mathlib.LinearAlgebra.Matrix.Charpoly.Eigs
{n : Type u_1} [Fintype n] [DecidableEq n] {K : Type u_3} [Field K] {A : Matrix n n K} {r : K} : r β spectrum K A β A.charpoly.IsRoot r - Module.End.hasEigenvalue_iff_isRoot_charpoly π Mathlib.LinearAlgebra.Eigenspace.Charpoly
{R : Type u_1} {M : Type u_2} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M] [Module.Free R M] [Module.Finite R M] (f : Module.End R M) (ΞΌ : R) : f.HasEigenvalue ΞΌ β (LinearMap.charpoly f).IsRoot ΞΌ - Module.End.mem_spectrum_iff_isRoot_charpoly π Mathlib.LinearAlgebra.Eigenspace.Charpoly
{K : Type u_3} {V : Type u_4} [Field K] [AddCommGroup V] [Module K V] [Module.Finite K V] (f : Module.End K V) (ΞΌ : K) : ΞΌ β spectrum K f β (LinearMap.charpoly f).IsRoot ΞΌ - IsPrimitiveRoot.isRoot_geom_sum π Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots
{R : Type u_4} {k : β} [CommRing R] [IsDomain R] {ΞΆ : R} (hΞΆ : IsPrimitiveRoot ΞΆ k) (hk : 1 < k) : (β i β Finset.range k, Polynomial.X ^ i).IsRoot ΞΆ - IsPrimitiveRoot.isRoot π Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots
{R : Type u_4} [CommRing R] {n : β} {ΞΆ : R} (hΞΆ : IsPrimitiveRoot ΞΆ n) : (Polynomial.X ^ n - 1).IsRoot ΞΆ - IsPrimitiveRoot.isRoot_of_dvd π Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots
{R : Type u_4} [CommRing R] {n n' : β} {ΞΆ : R} (hΞΆ : IsPrimitiveRoot ΞΆ n) : n β£ n' β (Polynomial.X ^ n' - 1).IsRoot ΞΆ - Polynomial.coprime_of_root_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} (hpos : 0 < n) {p : β} [hprime : Fact (Nat.Prime p)] {a : β} (hroot : (Polynomial.cyclotomic n (ZMod p)).IsRoot ((Nat.castRingHom (ZMod p)) a)) : a.Coprime p - Polynomial.orderOf_root_cyclotomic_dvd π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} (hpos : 0 < n) {p : β} [Fact (Nat.Prime p)] {a : β} (hroot : (Polynomial.cyclotomic n (ZMod p)).IsRoot ((Nat.castRingHom (ZMod p)) a)) : orderOf (ZMod.unitOfCoprime a β―) β£ n - IsPrimitiveRoot.pow_isRoot_minpoly π Mathlib.RingTheory.RootsOfUnity.Minpoly
{n : β} {K : Type u_1} [CommRing K] {ΞΌ : K} (h : IsPrimitiveRoot ΞΌ n) [IsDomain K] [CharZero K] {m : β} (hcop : m.Coprime n) : (Polynomial.map (Int.castRingHom K) (minpoly β€ ΞΌ)).IsRoot (ΞΌ ^ m) - IsPrimitiveRoot.isRoot_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} [IsDomain R] (hpos : 0 < n) {ΞΌ : R} (h : IsPrimitiveRoot ΞΌ n) : (Polynomial.cyclotomic n R).IsRoot ΞΌ - Polynomial.isRoot_cyclotomic_iff_charZero π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} {R : Type u_2} [CommRing R] [IsDomain R] [CharZero R] {ΞΌ : R} (hn : 0 < n) : (Polynomial.cyclotomic n R).IsRoot ΞΌ β IsPrimitiveRoot ΞΌ n - Polynomial.isRoot_cyclotomic_iff π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} [IsDomain R] [NeZero βn] {ΞΌ : R} : (Polynomial.cyclotomic n R).IsRoot ΞΌ β IsPrimitiveRoot ΞΌ n - Polynomial.isRoot_of_unity_of_root_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} {ΞΆ : R} {i : β} (hi : i β n.divisors) (h : (Polynomial.cyclotomic i R).IsRoot ΞΆ) : ΞΆ ^ n = 1 - isRoot_of_unity_iff π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} (h : 0 < n) (R : Type u_2) [CommRing R] [IsDomain R] {ΞΆ : R} : ΞΆ ^ n = 1 β β i β n.divisors, (Polynomial.cyclotomic i R).IsRoot ΞΆ - Polynomial.isRoot_cyclotomic_prime_pow_mul_iff_of_charP π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
{m k p : β} {R : Type u_1} [CommRing R] [IsDomain R] [hp : Fact (Nat.Prime p)] [hchar : CharP R p] {ΞΌ : R} [NeZero βm] : (Polynomial.cyclotomic (p ^ k * m) R).IsRoot ΞΌ β IsPrimitiveRoot ΞΌ m - IsCyclotomicExtension.zeta_isRoot π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
(n : β) [NeZero n] (A : Type w) (B : Type z) [CommRing A] [CommRing B] [Algebra A B] [IsCyclotomicExtension {n} A B] [IsDomain B] [NeZero βn] : (Polynomial.cyclotomic n B).IsRoot (IsCyclotomicExtension.zeta n A B) - Polynomial.eventually_atBot_not_isRoot π Mathlib.Analysis.Polynomial.Basic
{π : Type u_1} [NormedField π] [LinearOrder π] [IsStrictOrderedRing π] (P : Polynomial π) (hP : P β 0) : βαΆ (x : π) in Filter.atBot, Β¬P.IsRoot x - Polynomial.eventually_atTop_not_isRoot π Mathlib.Analysis.Polynomial.Basic
{π : Type u_1} [NormedField π] [LinearOrder π] [IsStrictOrderedRing π] (P : Polynomial π) (hP : P β 0) : βαΆ (x : π) in Filter.atTop, Β¬P.IsRoot x - Polynomial.IsRoot.norm_lt_cauchyBound π Mathlib.Analysis.Polynomial.CauchyBound
{K : Type u_1} [NormedDivisionRing K] {p : Polynomial K} (hp : p β 0) {a : K} (h : p.IsRoot a) : βaββ < p.cauchyBound - Polynomial.eval_le_zero_of_roots_le_of_leadingCoeff_nonpos π Mathlib.Analysis.Polynomial.Order
{P : Polynomial β} {x : β} (hroots : β (y : β), P.IsRoot y β y β€ x) (hlc : P.leadingCoeff β€ 0) : Polynomial.eval x P β€ 0 - Polynomial.eval_lt_zero_of_roots_lt_of_leadingCoeff_nonpos π Mathlib.Analysis.Polynomial.Order
{P : Polynomial β} {x : β} (hroots : β (y : β), P.IsRoot y β y < x) (hlc : P.leadingCoeff β€ 0) : Polynomial.eval x P < 0 - Polynomial.zero_le_eval_of_roots_le_of_leadingCoeff_nonneg π Mathlib.Analysis.Polynomial.Order
{P : Polynomial β} {x : β} (hroots : β (y : β), P.IsRoot y β y β€ x) (hlc : 0 β€ P.leadingCoeff) : 0 β€ Polynomial.eval x P - Polynomial.zero_lt_eval_of_roots_lt_of_leadingCoeff_nonneg π Mathlib.Analysis.Polynomial.Order
{P : Polynomial β} {x : β} (hroots : β (y : β), P.IsRoot y β y < x) (hlc : 0 β€ P.leadingCoeff) : 0 < Polynomial.eval x P - Polynomial.negOnePow_mul_eval_le_zero_of_le_roots_of_leadingCoeff_nonpos π Mathlib.Analysis.Polynomial.Order
{P : Polynomial β} {x : β} (hroots : β (y : β), P.IsRoot y β x β€ y) (hlc : P.leadingCoeff β€ 0) : ββ(βP.natDegree).negOnePow * Polynomial.eval x P β€ 0 - Polynomial.negOnePow_mul_eval_lt_zero_of_lt_roots_of_leadingCoeff_nonpos π Mathlib.Analysis.Polynomial.Order
{P : Polynomial β} {x : β} (hroots : β (y : β), P.IsRoot y β x < y) (hlc : P.leadingCoeff β€ 0) : ββ(βP.natDegree).negOnePow * Polynomial.eval x P < 0 - Polynomial.zero_le_negOnePow_mul_eval_of_le_roots_of_leadingCoeff_nonneg π Mathlib.Analysis.Polynomial.Order
{P : Polynomial β} {x : β} (hroots : β (y : β), P.IsRoot y β x β€ y) (hlc : 0 β€ P.leadingCoeff) : 0 β€ ββ(βP.natDegree).negOnePow * Polynomial.eval x P - Polynomial.zero_lt_negOnePow_mul_eval_of_lt_roots_of_leadingCoeff_nonneg π Mathlib.Analysis.Polynomial.Order
{P : Polynomial β} {x : β} (hroots : β (y : β), P.IsRoot y β x < y) (hlc : 0 β€ P.leadingCoeff) : 0 < ββ(βP.natDegree).negOnePow * Polynomial.eval x P - Polynomial.Chebyshev.irrational_of_isRoot_T_real π Mathlib.Analysis.SpecialFunctions.Trigonometric.Chebyshev.RootsExtrema
{n : β} {x : β} (hroot : (Polynomial.Chebyshev.T β βn).IsRoot x) (hnz : x β 0) : Irrational x - IsRealClosed.exists_isRoot_of_odd_natDegree π Mathlib.FieldTheory.IsRealClosed.Basic
{R : Type u_1} {instβ : Field R} [self : IsRealClosed R] {f : Polynomial R} (hf : Odd f.natDegree) : β x, f.IsRoot x - IsRealClosed.of_linearOrderedField π Mathlib.FieldTheory.IsRealClosed.Basic
{R : Type u} [Field R] [LinearOrder R] [IsStrictOrderedRing R] (isSquare_of_nonneg : β {x : R}, 0 β€ x β IsSquare x) (exists_isRoot_of_odd_natDegree : β {f : Polynomial R}, Odd f.natDegree β β x, f.IsRoot x) : IsRealClosed R - IsRealClosed.mk π Mathlib.FieldTheory.IsRealClosed.Basic
{R : Type u_1} [Field R] [toIsSemireal : IsSemireal R] (isSquare_or_isSquare_neg : β (x : R), IsSquare x β¨ IsSquare (-x)) (exists_isRoot_of_odd_natDegree : β {f : Polynomial R}, Odd f.natDegree β β x, f.IsRoot x) : IsRealClosed R - HenselianLocalRing.is_henselian π Mathlib.RingTheory.Henselian
{R : Type u_1} {instβ : CommRing R} [self : HenselianLocalRing R] (f : Polynomial R) : f.Monic β β (aβ : R), Polynomial.eval aβ f β IsLocalRing.maximalIdeal R β IsUnit (Polynomial.eval aβ (Polynomial.derivative f)) β β a, f.IsRoot a β§ a - aβ β IsLocalRing.maximalIdeal R - HenselianLocalRing.mk π Mathlib.RingTheory.Henselian
{R : Type u_1} [CommRing R] [toIsLocalRing : IsLocalRing R] (is_henselian : β (f : Polynomial R), f.Monic β β (aβ : R), Polynomial.eval aβ f β IsLocalRing.maximalIdeal R β IsUnit (Polynomial.eval aβ (Polynomial.derivative f)) β β a, f.IsRoot a β§ a - aβ β IsLocalRing.maximalIdeal R) : HenselianLocalRing R - HenselianRing.is_henselian π Mathlib.RingTheory.Henselian
{R : Type u_1} {instβ : CommRing R} {I : Ideal R} [self : HenselianRing R I] (f : Polynomial R) : f.Monic β β (aβ : R), Polynomial.eval aβ f β I β IsUnit ((Ideal.Quotient.mk I) (Polynomial.eval aβ (Polynomial.derivative f))) β β a, f.IsRoot a β§ a - aβ β I - HenselianRing.mk π Mathlib.RingTheory.Henselian
{R : Type u_1} [CommRing R] {I : Ideal R} (jac : I β€ β₯.jacobson) (is_henselian : β (f : Polynomial R), f.Monic β β (aβ : R), Polynomial.eval aβ f β I β IsUnit ((Ideal.Quotient.mk I) (Polynomial.eval aβ (Polynomial.derivative f))) β β a, f.IsRoot a β§ a - aβ β I) : HenselianRing R I - HenselianLocalRing.TFAE π Mathlib.RingTheory.Henselian
(R : Type u) [CommRing R] [IsLocalRing R] : [HenselianLocalRing R, β (f : Polynomial R), f.Monic β β (aβ : IsLocalRing.ResidueField R), (Polynomial.aeval aβ) f = 0 β (Polynomial.aeval aβ) (Polynomial.derivative f) β 0 β β a, f.IsRoot a β§ (IsLocalRing.residue R) a = aβ, β {K : Type u} [inst : Field K] (Ο : R β+* K), Function.Surjective βΟ β β (f : Polynomial R), f.Monic β β (aβ : K), Polynomial.evalβ Ο aβ f = 0 β Polynomial.evalβ Ο aβ (Polynomial.derivative f) β 0 β β a, f.IsRoot a β§ Ο a = aβ].TFAE - WittVector.RecursionMain.root_exists π Mathlib.RingTheory.WittVector.FrobeniusFractionField
(p : β) [hp : Fact (Nat.Prime p)] {k : Type u_1} [Field k] [CharP k p] [IsAlgClosed k] (n : β) (aβ aβ : WittVector p k) (bs : Fin (n + 1) β k) (haβ : aβ.coeff 0 β 0) (haβ : aβ.coeff 0 β 0) : β b, (WittVector.RecursionMain.succNthDefiningPoly p n aβ aβ bs).IsRoot b - WittVector.RecursionMain.succNthVal_spec π Mathlib.RingTheory.WittVector.FrobeniusFractionField
(p : β) [hp : Fact (Nat.Prime p)] {k : Type u_1} [Field k] [CharP k p] [IsAlgClosed k] (n : β) (aβ aβ : WittVector p k) (bs : Fin (n + 1) β k) (haβ : aβ.coeff 0 β 0) (haβ : aβ.coeff 0 β 0) : (WittVector.RecursionMain.succNthDefiningPoly p n aβ aβ bs).IsRoot (WittVector.RecursionMain.succNthVal p n aβ aβ bs haβ haβ)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. 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.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
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. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59