Loogle!
Result
Found 373 declarations mentioning Polynomial.Monic. Of these, only the first 200 are shown.
- Polynomial.Monic π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (p : Polynomial R) : Prop - Polynomial.monic_X π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.X.Monic - Polynomial.Monic.decidable π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} [DecidableEq R] : Decidable p.Monic - Polynomial.monic_one π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.Monic 1 - Polynomial.Monic.ne_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] [Nontrivial R] {p : Polynomial R} (hp : p.Monic) : p β 0 - Polynomial.Monic.leadingCoeff π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) : p.leadingCoeff = 1 - Polynomial.Monic.def π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.Monic β p.leadingCoeff = 1 - Polynomial.monic_X_pow π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (n : β) : (Polynomial.X ^ n).Monic - Polynomial.Monic.ne_zero_of_polynomial_ne π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p q r : Polynomial R} (hp : p.Monic) (hne : q β r) : p β 0 - Polynomial.Monic.ne_zero_of_ne π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (h : 0 β 1) {p : Polynomial R} (hp : p.Monic) : p β 0 - Polynomial.Monic.coeff_natDegree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) : p.coeff p.natDegree = 1 - Polynomial.Monic.ne_zero_of_C π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] [Nontrivial R] {c : R} (hc : (Polynomial.C c).Monic) : c β 0 - Polynomial.monic_of_subsingleton π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [Subsingleton R] (p : Polynomial R) : p.Monic - Polynomial.eq_one_of_monic_natDegree_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (hf : p.Monic) (hfd : p.natDegree = 0) : p = 1 - Polynomial.Monic.natDegree_eq_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (hf : p.Monic) : p.natDegree = 0 β p = 1 - Polynomial.leadingCoeff_monic_mul π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) : (p * q).leadingCoeff = q.leadingCoeff - Polynomial.leadingCoeff_mul_monic π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (hq : q.Monic) : (p * q).leadingCoeff = p.leadingCoeff - Polynomial.Monic.natDegree_pos π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [CommSemiring R] {p : Polynomial R} (hp : p.Monic) : 0 < p.natDegree β p β 1 - Polynomial.Monic.degree_mul π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (hq : q.Monic) : (p * q).degree = p.degree + q.degree - Polynomial.monic_of_natDegree_le_of_coeff_eq_one π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (n : β) (pn : p.natDegree β€ n) (p1 : p.coeff n = 1) : p.Monic - Polynomial.Monic.degree_pos π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [CommSemiring R] {p : Polynomial R} (hp : p.Monic) : 0 < p.degree β p β 1 - Polynomial.monic_of_degree_le π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (n : β) (pn : p.degree β€ βn) (p1 : p.coeff n = 1) : p.Monic - Polynomial.Monic.leadingCoeff_C_mul π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) (r : R) : (Polynomial.C r * p).leadingCoeff = r - Polynomial.Monic.eq_X_add_C π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} [Semiring R] {p : Polynomial R} (hm : p.Monic) (hnd : p.natDegree = 1) : p = Polynomial.X + Polynomial.C (p.coeff 0) - Polynomial.Monic.natDegree_pos_of_not_isUnit π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [CommSemiring R] {p : Polynomial R} (hp : p.Monic) (hu : Β¬IsUnit p) : 0 < p.natDegree - Polynomial.Monic.degree_pos_of_not_isUnit π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [CommSemiring R] {p : Polynomial R} (hp : p.Monic) (hu : Β¬IsUnit p) : 0 < p.degree - Polynomial.natDegree_pos_of_not_isUnit_of_dvd_monic π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [CommSemiring R] {a p : Polynomial R} (hp : p.Monic) (ha : Β¬IsUnit a) (hap : a β£ p) : 0 < a.natDegree - Polynomial.degree_pos_of_not_isUnit_of_dvd_monic π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [CommSemiring R] {a p : Polynomial R} (hp : p.Monic) (ha : Β¬IsUnit a) (hap : a β£ p) : 0 < a.degree - Polynomial.Monic.C_dvd_iff_isUnit π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [CommSemiring R] {p : Polynomial R} (hp : p.Monic) {a : R} : Polynomial.C a β£ p β IsUnit a - Polynomial.map_monic_ne_zero π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} (hp : p.Monic) [Nontrivial S] : Polynomial.map f p β 0 - Polynomial.map_monic_eq_zero_iff π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} (hp : p.Monic) : Polynomial.map f p = 0 β β (x : R), f x = 0 - Polynomial.Monic.eq_X_pow_iff_natTrailingDegree_eq_natDegree π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} (hβ : p.Monic) : p = Polynomial.X ^ p.natDegree β p.natTrailingDegree = p.natDegree - Polynomial.Monic.eq_X_pow_iff_natDegree_le_natTrailingDegree π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} (hβ : p.Monic) : p = Polynomial.X ^ p.natDegree β p.natDegree β€ p.natTrailingDegree - Polynomial.monic_mul_leadingCoeff_inv π Mathlib.Algebra.Polynomial.Degree.Lemmas
{K : Type u_1} [DivisionRing K] {p : Polynomial K} (h : p β 0) : (p * Polynomial.C p.leadingCoeffβ»ΒΉ).Monic - Polynomial.monic_zero_iff_subsingleton π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] : Polynomial.Monic 0 β Subsingleton R - Polynomial.not_monic_zero π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] [Nontrivial R] : Β¬Polynomial.Monic 0 - Polynomial.MonicDegreeEq.mk π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {n : β} [Semiring R] (p : Polynomial R) (hp : p.Monic) (hp' : p.natDegree = n) : Polynomial.MonicDegreeEq R n - Polynomial.Monic.isRegular π Mathlib.Algebra.Polynomial.Monic
{R : Type u_1} [Ring R] {p : Polynomial R} (hp : p.Monic) : IsRegular p - Polynomial.Monic.map π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) (hp : p.Monic) : (Polynomial.map f p).Monic - Polynomial.eq_of_monic_of_associated π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q.Monic) (hpq : Associated p q) : p = q - Polynomial.Monic.comp π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q.Monic) (h : q.natDegree β 0) : (p.comp q).Monic - Polynomial.monic_zero_iff_subsingleton' π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] : Polynomial.Monic 0 β (β (f g : Polynomial R), f = g) β§ β (a b : R), a = b - Polynomial.Monic.eq_one_of_isUnit π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hm : p.Monic) (hpu : IsUnit p) : p = 1 - Polynomial.Monic.mul π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q.Monic) : (p * q).Monic - Polynomial.Monic.of_mul_monic_left π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hpq : (p * q).Monic) : q.Monic - Polynomial.Monic.of_mul_monic_right π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hq : q.Monic) (hpq : (p * q).Monic) : p.Monic - Polynomial.Monic.isUnit_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hm : p.Monic) : IsUnit p β p = 1 - Polynomial.Monic.natDegree_map π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] [Nontrivial S] {P : Polynomial R} (hmo : P.Monic) (f : R β+* S) : (Polynomial.map f P).natDegree = P.natDegree - Polynomial.Monic.degree_map π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] [Nontrivial S] {P : Polynomial R} (hmo : P.Monic) (f : R β+* S) : (Polynomial.map f P).degree = P.degree - Polynomial.Monic.pow π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) (n : β) : (p ^ n).Monic - Polynomial.not_monic_zero_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] : Β¬Polynomial.Monic 0 β 0 β 1 - Polynomial.Monic.add_of_left π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hpq : q.degree < p.degree) : (p + q).Monic - Polynomial.Monic.add_of_right π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hq : q.Monic) (hpq : p.degree < q.degree) : (p + q).Monic - Polynomial.Monic.degree_le_zero_iff_eq_one π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) : p.degree β€ 0 β p = 1 - Polynomial.Monic.natDegree_mul π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q.Monic) : (p * q).natDegree = p.natDegree + q.natDegree - Polynomial.monic_multiset_prod_of_monic π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {ΞΉ : Type y} [CommSemiring R] (t : Multiset ΞΉ) (f : ΞΉ β Polynomial R) (ht : β i β t, (f i).Monic) : (Multiset.map f t).prod.Monic - Polynomial.monic_prod_of_monic π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {ΞΉ : Type y} [CommSemiring R] (s : Finset ΞΉ) (f : ΞΉ β Polynomial R) (hs : β i β s, (f i).Monic) : (β i β s, f i).Monic - Polynomial.monic_of_injective π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} (hf : Function.Injective βf) {p : Polynomial R} (hp : (Polynomial.map f p).Monic) : p.Monic - Polynomial.Monic.natDegree_pow π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) (n : β) : (p ^ n).natDegree = n * p.natDegree - Function.Injective.monic_map_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} (hf : Function.Injective βf) {p : Polynomial R} : p.Monic β (Polynomial.map f p).Monic - Polynomial.Monic.natDegree_mul_comm π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) (q : Polynomial R) : (p * q).natDegree = (q * p).natDegree - Polynomial.monic_finprod_of_monic π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [CommSemiring R] (Ξ± : Type u_1) (f : Ξ± β Polynomial R) (hf : β i β Function.mulSupport f, (f i).Monic) : (finprod f).Monic - Polynomial.Monic.degree_mul_comm π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) (q : Polynomial R) : (p * q).degree = (q * p).degree - Polynomial.Monic.nextCoeff_mul π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q.Monic) : (p * q).nextCoeff = p.nextCoeff + q.nextCoeff - Polynomial.Monic.eq_one_of_map_eq_one π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} {S : Type u_1} [Semiring S] [Nontrivial S] (f : R β+* S) (hp : p.Monic) (map_eq : Polynomial.map f p = 1) : p = 1 - Polynomial.Monic.mul_left_ne_zero π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) {q : Polynomial R} (hq : q β 0) : q * p β 0 - Polynomial.Monic.mul_right_ne_zero π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) {q : Polynomial R} (hq : q β 0) : p * q β 0 - Polynomial.Monic.mul_left_eq_zero_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.Monic) {q : Polynomial R} : q * p = 0 β q = 0 - Polynomial.Monic.mul_right_eq_zero_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.Monic) {q : Polynomial R} : p * q = 0 β q = 0 - Polynomial.Monic.natDegree_le_of_dvd π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q β 0) (hdvd : p β£ q) : p.natDegree β€ q.natDegree - Polynomial.monic_X_add_C π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] (x : R) : (Polynomial.X + Polynomial.C x).Monic - Polynomial.Monic.not_dvd_of_natDegree_lt π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (h0 : q β 0) (hl : q.natDegree < p.natDegree) : Β¬p β£ q - Polynomial.Monic.natDegree_mul' π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q β 0) : (p * q).natDegree = p.natDegree + q.natDegree - Polynomial.Monic.nextCoeff_pow π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) (n : β) : (p ^ n).nextCoeff = n β’ p.nextCoeff - Polynomial.Monic.sub_of_left π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Ring R] {p q : Polynomial R} (hp : p.Monic) (hpq : q.degree < p.degree) : (p - q).Monic - Polynomial.Monic.not_dvd_of_degree_lt π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (h0 : q β 0) (hl : q.degree < p.degree) : Β¬p β£ q - Polynomial.Monic.nextCoeff_prod π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {ΞΉ : Type y} [CommSemiring R] (s : Finset ΞΉ) (f : ΞΉ β Polynomial R) (h : β i β s, (f i).Monic) : (β i β s, f i).nextCoeff = β i β s, (f i).nextCoeff - Polynomial.Monic.comp_X_add_C π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) (r : R) : (p.comp (Polynomial.X + Polynomial.C r)).Monic - Polynomial.Monic.mul_natDegree_lt_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.Monic) {q : Polynomial R} : (p * q).natDegree < p.natDegree β p β 1 β§ q = 0 - Polynomial.Monic.nextCoeff_multiset_prod π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {ΞΉ : Type y} [CommSemiring R] (t : Multiset ΞΉ) (f : ΞΉ β Polynomial R) (h : β i β t, (f i).Monic) : (Multiset.map f t).prod.nextCoeff = (Multiset.map (fun i => (f i).nextCoeff) t).sum - Polynomial.monic_X_pow_add π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (H : p.degree < βn) : (Polynomial.X ^ n + p).Monic - Polynomial.monic_X_sub_C π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Ring R] (x : R) : (Polynomial.X - Polynomial.C x).Monic - Polynomial.monic_C_mul_of_mul_leadingCoeff_eq_one π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} {b : R} (hp : b * p.leadingCoeff = 1) : (Polynomial.C b * p).Monic - Polynomial.monic_mul_C_of_leadingCoeff_mul_eq_one π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} {b : R} (hp : p.leadingCoeff * b = 1) : (p * Polynomial.C b).Monic - Polynomial.Monic.sub_of_right π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Ring R] {p q : Polynomial R} (hq : q.leadingCoeff = -1) (hpq : p.degree < q.degree) : (p - q).Monic - Polynomial.monic_of_isUnit_leadingCoeff_inv_smul π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (h : IsUnit p.leadingCoeff) : (h.unitβ»ΒΉ β’ p).Monic - Polynomial.MonicDegreeEq.monic π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {n : β} [Semiring R] (p : Polynomial.MonicDegreeEq R n) : (βp).Monic - Polynomial.monic_X_pow_add_C π Mathlib.Algebra.Polynomial.Monic
{R : Type u} (a : R) [Semiring R] {n : β} (h : n β 0) : (Polynomial.X ^ n + Polynomial.C a).Monic - Polynomial.monic_X_pow_sub π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Ring R] {p : Polynomial R} {n : β} (H : p.degree < βn) : (Polynomial.X ^ n - p).Monic - Polynomial.Monic.comp_X_sub_C π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Ring R] {p : Polynomial R} (hp : p.Monic) (r : R) : (p.comp (Polynomial.X - Polynomial.C r)).Monic - Polynomial.MonicDegreeEq.mk_coe π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {n : β} [Semiring R] (p : Polynomial R) (hp : p.Monic) (hp' : p.natDegree = n) : β(Polynomial.MonicDegreeEq.mk p hp hp') = p - Polynomial.monic_X_pow_sub_C π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Ring R] (a : R) {n : β} (h : n β 0) : (Polynomial.X ^ n - Polynomial.C a).Monic - Polynomial.Monic.irreducible_iff_natDegree π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [CommSemiring R] [NoZeroDivisors R] {p : Polynomial R} (hp : p.Monic) : Irreducible p β p β 1 β§ β (f g : Polynomial R), f.Monic β g.Monic β f * g = p β f.natDegree = 0 β¨ g.natDegree = 0 - Polynomial.Monic.irreducible_iff_lt_natDegree_lt π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [CommSemiring R] [NoZeroDivisors R] {p : Polynomial R} (hp : p.Monic) (hp1 : p β 1) : Irreducible p β β (q : Polynomial R), q.Monic β q.natDegree β Finset.Ioc 0 (p.natDegree / 2) β Β¬q β£ p - Polynomial.Monic.not_irreducible_iff_exists_add_mul_eq_coeff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [CommSemiring R] [NoZeroDivisors R] {p : Polynomial R} (hm : p.Monic) (hnd : p.natDegree = 2) : Β¬Irreducible p β β cβ cβ, p.coeff 0 = cβ * cβ β§ p.coeff 1 = cβ + cβ - Polynomial.Monic.irreducible_iff_natDegree' π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [CommSemiring R] [NoZeroDivisors R] {p : Polynomial R} (hp : p.Monic) : Irreducible p β p β 1 β§ β (f g : Polynomial R), f.Monic β g.Monic β f * g = p β g.natDegree β Finset.Ioc 0 (p.natDegree / 2) - Polynomial.irreducible_of_monic π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [CommSemiring R] [NoZeroDivisors R] {p : Polynomial R} (hp : p.Monic) (hp1 : p β 1) : Irreducible p β β (f g : Polynomial R), f.Monic β g.Monic β f * g = p β f = 1 β¨ g = 1 - Polynomial.Monic.as_sum π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) : p = Polynomial.X ^ p.natDegree + β i β Finset.range p.natDegree, Polynomial.C (p.coeff i) * Polynomial.X ^ i - Polynomial.natDegree_prod_of_monic π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} {ΞΉ : Type w} (s : Finset ΞΉ) [CommSemiring R] (f : ΞΉ β Polynomial R) (h : β i β s, (f i).Monic) : (β i β s, f i).natDegree = β i β s, (f i).natDegree - Polynomial.degree_prod_of_monic π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} {ΞΉ : Type w} (s : Finset ΞΉ) [CommSemiring R] (f : ΞΉ β Polynomial R) [Nontrivial R] (h : β i β s, (f i).Monic) : (β i β s, f i).degree = β i β s, (f i).degree - Polynomial.natDegree_multiset_prod_of_monic π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [CommSemiring R] (t : Multiset (Polynomial R)) (h : β f β t, f.Monic) : t.prod.natDegree = (Multiset.map Polynomial.natDegree t).sum - Polynomial.degree_multiset_prod_of_monic π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [CommSemiring R] (t : Multiset (Polynomial R)) [Nontrivial R] (h : β f β t, f.Monic) : t.prod.degree = (Multiset.map Polynomial.degree t).sum - Polynomial.monic_geom_sum_X π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] {n : β} (hn : n β 0) : (β i β Finset.range n, Polynomial.X ^ i).Monic - Polynomial.Monic.geom_sum π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] {P : Polynomial R} (hP : P.Monic) (hdeg : 0 < P.natDegree) {n : β} (hn : n β 0) : (β i β Finset.range n, P ^ i).Monic - Polynomial.Monic.geom_sum' π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] {P : Polynomial R} (hP : P.Monic) (hdeg : 0 < P.degree) {n : β} (hn : n β 0) : (β i β Finset.range n, P ^ i).Monic - Polynomial.monicEquivDegreeLT π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] [Nontrivial R] (n : β) : { p // p.Monic β§ p.natDegree = n } β β₯(Polynomial.degreeLT R n) - Polynomial.monic_restriction π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Ring R] {p : Polynomial R} : p.restriction.Monic β p.Monic - Polynomial.divModByMonicAux π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] (_p : Polynomial R) {q : Polynomial R} : q.Monic β Polynomial R Γ Polynomial R - Polynomial.modByMonic_eq_of_not_monic π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {q : Polynomial R} (p : Polynomial R) (hq : Β¬q.Monic) : p %β q = p - Polynomial.natDegree_modByMonic_le π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] (p : Polynomial R) {g : Polynomial R} (hg : g.Monic) : (p %β g).natDegree β€ g.natDegree - Polynomial.modByMonic_self π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {p : Polynomial R} (hp : p.Monic) : p %β p = 0 - Polynomial.degree_modByMonic_le π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] (p : Polynomial R) {q : Polynomial R} (hq : q.Monic) : (p %β q).degree β€ q.degree - Polynomial.degree_modByMonic_lt π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] [Nontrivial R] (p : Polynomial R) {q : Polynomial R} (_hq : q.Monic) : (p %β q).degree < q.degree - Polynomial.divByMonic_eq_of_not_monic π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {q : Polynomial R} (p : Polynomial R) (hq : Β¬q.Monic) : p /β q = 0 - Polynomial.natDegree_divByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] (f : Polynomial R) {g : Polynomial R} (hg : g.Monic) : (f /β g).natDegree = f.natDegree - g.natDegree - Polynomial.modByMonic_eq_self_iff π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {p q : Polynomial R} [Nontrivial R] (hq : q.Monic) : p %β q = p β p.degree < q.degree - Polynomial.eq_of_monic_of_dvd_of_natDegree_le π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q.Monic) (hdvd : p β£ q) (hdeg : q.natDegree β€ p.natDegree) : q = p - Polynomial.mul_divByMonic_cancel_left π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] (p : Polynomial R) {q : Polynomial R} (hmo : q.Monic) : q * p /β q = p - Polynomial.natDegree_modByMonic_lt π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] (p : Polynomial R) {q : Polynomial R} (hmq : q.Monic) (hq : q β 1) : (p %β q).natDegree < q.natDegree - Polynomial.finiteMultiplicity_of_degree_pos_of_monic π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : 0 < p.degree) (hmp : p.Monic) (hq : q β 0) : FiniteMultiplicity p q - Polynomial.divByMonic_eq_zero_iff π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {p q : Polynomial R} [Nontrivial R] (hq : q.Monic) : p /β q = 0 β p.degree < q.degree - Polynomial.leadingCoeff_divByMonic_of_monic π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p q : Polynomial R} (hmonic : q.Monic) (hdegree : q.degree β€ p.degree) : (p /β q).leadingCoeff = p.leadingCoeff - Polynomial.self_mul_modByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {p q : Polynomial R} (hq : q.Monic) : q * p %β q = 0 - Polynomial.degree_add_divByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {p q : Polynomial R} (hq : q.Monic) (h : q.degree β€ p.degree) : q.degree + (p /β q).degree = p.degree - Polynomial.map_divByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} {S : Type v} [Ring R] {p q : Polynomial R} [Ring S] (f : R β+* S) (hq : q.Monic) : Polynomial.map f (p /β q) = Polynomial.map f p /β Polynomial.map f q - Polynomial.map_modByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} {S : Type v} [Ring R] {p q : Polynomial R} [Ring S] (f : R β+* S) (hq : q.Monic) : Polynomial.map f (p %β q) = Polynomial.map f p %β Polynomial.map f q - Polynomial.modByMonic_eq_zero_iff_dvd π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {p q : Polynomial R} (hq : q.Monic) : p %β q = 0 β q β£ p - Polynomial.mul_self_modByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p q : Polynomial R} (hq : q.Monic) : p * q %β q = 0 - Polynomial.eq_mul_leadingCoeff_of_monic_of_dvd_of_natDegree_le π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hdvd : p β£ q) (hdeg : q.natDegree β€ p.natDegree) : q = p * Polynomial.C q.leadingCoeff - Polynomial.map_mod_divByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} {S : Type v} [Ring R] {p q : Polynomial R} [Ring S] (f : R β+* S) (hq : q.Monic) : Polynomial.map f (p /β q) = Polynomial.map f p /β Polynomial.map f q β§ Polynomial.map f (p %β q) = Polynomial.map f p %β Polynomial.map f q - Polynomial.div_modByMonic_unique π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {f g : Polynomial R} (q r : Polynomial R) (hg : g.Monic) (h : r + g * q = f β§ r.degree < g.degree) : f /β g = q β§ f %β g = r - Polynomial.modByMonic_eq_of_dvd_sub π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {pβ pβ q : Polynomial R} (hq : q.Monic) (h : q β£ pβ - pβ) : pβ %β q = pβ %β q - Polynomial.map_dvd_map π Mathlib.Algebra.Polynomial.Div
{R : Type u} {S : Type v} [Ring R] [Ring S] (f : R β+* S) (hf : Function.Injective βf) {x y : Polynomial R} (hx : x.Monic) : Polynomial.map f x β£ Polynomial.map f y β x β£ y - Polynomial.eq_leadingCoeff_mul_of_monic_of_dvd_of_natDegree_le π Mathlib.Algebra.Polynomial.Div
{R : Type u_1} [CommSemiring R] {p q : Polynomial R} (hp : p.Monic) (hdvd : p β£ q) (hdeg : q.natDegree β€ p.natDegree) : q = Polynomial.C q.leadingCoeff * p - Polynomial.sum_modByMonic_coeff π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {p q : Polynomial R} (hq : q.Monic) {n : β} (hn : q.degree β€ βn) : β i, (Polynomial.monomial βi) ((p %β q).coeff βi) = p %β q - Polynomial.div_wf_lemma π Mathlib.Algebra.Polynomial.Div
{R : Type u} [Ring R] {p q : Polynomial R} (h : q.degree β€ p.degree β§ p β 0) (hq : q.Monic) : (p - q * (Polynomial.C p.leadingCoeff * Polynomial.X ^ (p.natDegree - q.natDegree))).degree < p.degree - Polynomial.Monic.prime_of_degree_eq_one π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (hp1 : p.degree = 1) (hm : p.Monic) : Prime p - Polynomial.Monic.irreducible_of_degree_eq_one π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (hp1 : p.degree = 1) (hm : p.Monic) : Irreducible p - Polynomial.natDegree_pos_of_monic_of_aeval_eq_zero π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} {S : Type v} [CommRing R] [Nontrivial R] [Semiring S] [Algebra R S] [FaithfulSMul R S] {p : Polynomial R} (hp : p.Monic) {x : S} (hx : (Polynomial.aeval x) p = 0) : 0 < p.natDegree - Polynomial.Monic.mem_nonZeroDivisors π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] {p : Polynomial R} (h : p.Monic) : p β nonZeroDivisors (Polynomial R) - Polynomial.Monic.neg_one_pow_natDegree_mul_comp_neg_X π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] {p : Polynomial R} (hp : p.Monic) : ((-1) ^ p.natDegree * p.comp (-Polynomial.X)).Monic - Polynomial.mem_ker_divByMonic π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] {q : Polynomial R} [Nontrivial R] (hq : q.Monic) {p : Polynomial R} : p β q.divByMonicHom.ker β p.degree < q.degree - Polynomial.mem_ker_modByMonic π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] {q : Polynomial R} (hq : q.Monic) {p : Polynomial R} : p β q.modByMonicHom.ker β q β£ p - Polynomial.Monic.expand π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] {p : β} {f : Polynomial R} (hp : 0 < p) : f.Monic β ((Polynomial.expand R p) f).Monic - Polynomial.monic_expand_iff π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] {p : β} {f : Polynomial R} (hp : 0 < p) : ((Polynomial.expand R p) f).Monic β f.Monic - Polynomial.Monic.isUnit_leadingCoeff_of_dvd π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {a p : Polynomial R} (hp : p.Monic) (hap : a β£ p) : IsUnit a.leadingCoeff - Polynomial.Monic.roots_map_of_card_eq_natDegree π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] {p : Polynomial A} (hm : p.Monic) (f : A β+* B) (hroots : p.roots.card = p.natDegree) : Multiset.map (βf) p.roots = (Polynomial.map f p).roots - Polynomial.monic_finprod_X_sub_C π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] {Ξ± : Type u_1} (b : Ξ± β R) : (βαΆ (k : Ξ±), (Polynomial.X - Polynomial.C (b k))).Monic - Polynomial.monic_prod_X_sub_C π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] {Ξ± : Type u_1} (b : Ξ± β R) (s : Finset Ξ±) : (β a β s, (Polynomial.X - Polynomial.C (b a))).Monic - Polynomial.monic_multisetProd_X_sub_C π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] (s : Multiset R) : (Multiset.map (fun a => Polynomial.X - Polynomial.C a) s).prod.Monic - Polynomial.Monic.mem_rootSet π Mathlib.Algebra.Polynomial.Roots
{T : Type w} [CommRing T] {p : Polynomial T} (hp : p.Monic) {S : Type u_1} [CommRing S] [IsDomain S] [Algebra T S] {a : S} : a β p.rootSet S β (Polynomial.aeval a) p = 0 - Polynomial.prod_multiset_X_sub_C_of_monic_of_roots_card_eq π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (hp : p.Monic) (hroots : p.roots.card = p.natDegree) : (Multiset.map (fun a => Polynomial.X - Polynomial.C a) p.roots).prod = p - Polynomial.Monic.irreducible_iff_degree_lt π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (p_monic : p.Monic) (p_1 : p β 1) : Irreducible p β β (q : Polynomial R), q.degree β€ β(p.natDegree / 2) β q β£ p β IsUnit q - Polynomial.monic_map_iff π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {S : Type v} [Ring R] [IsSimpleRing R] [Semiring S] [Nontrivial S] {f : R β+* S} {p : Polynomial R} : (Polynomial.map f p).Monic β p.Monic - Polynomial.Monic.normalize_eq_self π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] {p : Polynomial R} (hp : p.Monic) : normalize p = p - Polynomial.divByMonic_eq_div π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {q : Polynomial R} (p : Polynomial R) (hq : q.Monic) : p /β q = p / q - Polynomial.modByMonic_eq_mod π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {q : Polynomial R} (p : Polynomial R) (hq : q.Monic) : p %β q = p % q - Polynomial.monic_normalize π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {p : Polynomial R} [DecidableEq R] (hp0 : p β 0) : (normalize p).Monic - Polynomial.normalize_eq_self_iff_monic π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] [DecidableEq R] {p : Polynomial R} (hp : p β 0) : normalize p = p β p.Monic - Polynomial.monic_mapAlg_iff π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {S : Type v} [Field R] [Semiring S] [Nontrivial S] [Algebra R S] {p : Polynomial R} : ((Polynomial.mapAlg R S) p).Monic β p.Monic - Polynomial.irreducible_iff_lt_natDegree_lt π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {p : Polynomial R} (hp0 : p β 0) (hpu : Β¬IsUnit p) : Irreducible p β β (q : Polynomial R), q.Monic β q.natDegree β Finset.Ioc 0 (p.natDegree / 2) β Β¬q β£ p - Polynomial.mem_normalizedFactors_iff π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {p q : Polynomial R} [DecidableEq R] (hq : q β 0) : p β UniqueFactorizationMonoid.normalizedFactors q β Irreducible p β§ p.Monic β§ p β£ q - Polynomial.Monic.isPrimitive π Mathlib.RingTheory.Polynomial.Content
{R : Type u_1} [CommSemiring R] {p : Polynomial R} (hp : p.Monic) : p.IsPrimitive - Polynomial.fintypeSubtypeMonicDvd π Mathlib.RingTheory.Polynomial.UniqueFactorization
{D : Type u} [CommRing D] [UniqueFactorizationMonoid D] (f : Polynomial D) (hf : f β 0) : Fintype { g // g.Monic β§ g β£ f } - Polynomial.exists_monic_irreducible_factor π Mathlib.RingTheory.Polynomial.UniqueFactorization
{F : Type u_1} [Field F] (f : Polynomial F) (hu : Β¬IsUnit f) : β g, g.Monic β§ Irreducible g β§ g β£ f - Matrix.det_matrixOfPolynomials π Mathlib.LinearAlgebra.Matrix.Block
{R : Type v} [CommRing R] {n : β} (p : Fin n β Polynomial R) (h_deg : β (i : Fin n), (p i).natDegree = βi) (h_monic : β (i : Fin n), (p i).Monic) : (Matrix.of fun i j => (p j).coeff βi).det = 1 - Matrix.charpoly_monic π Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff
{R : Type u} [CommRing R] {n : Type v} [DecidableEq n] [Fintype n] (M : Matrix n n R) : M.charpoly.Monic - LinearMap.exists_monic_and_aeval_eq_zero π Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] [Module.Finite R M] (f : Module.End R M) : β p, p.Monic β§ (Polynomial.aeval f) p = 0 - LinearMap.exists_monic_and_natDegree_eq_and_aeval_eq_zero π Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] [Module.Finite R M] (f : Module.End R M) : β p, p.Monic β§ p.natDegree = β€.spanFinrank β§ (Polynomial.aeval f) p = 0 - LinearMap.exists_monic_and_coeff_mem_pow_and_aeval_eq_zero_of_range_le_smul π Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] [Module.Finite R M] (f : Module.End R M) (I : Ideal R) (hI : LinearMap.range f β€ I β’ β€) : β p, p.Monic β§ p.natDegree = β€.spanFinrank β§ (β (k : β), p.coeff k β I ^ (p.natDegree - k)) β§ (Polynomial.aeval f) p = 0 - LinearMap.exists_monic_and_natDegree_eq_and_coeff_mem_pow_and_aeval_eq_zero π Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] [Module.Finite R M] (f : Module.End R M) (I : Ideal R) (hI : LinearMap.range f β€ I β’ β€) : β p, p.Monic β§ p.natDegree = β€.spanFinrank β§ (β (k : β), p.coeff k β I ^ (p.natDegree - k)) β§ (Polynomial.aeval f) p = 0 - IsIntegral.of_aeval_monic π Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic
{R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {x : A} {p : Polynomial R} (monic : p.Monic) (deg : p.natDegree β 0) (hx : IsIntegral R ((Polynomial.aeval x) p)) : IsIntegral R x - Submodule.span_range_natDegree_eq_adjoin π Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic
{R : Type u_6} {A : Type u_7} [CommRing R] [Semiring A] [Algebra R A] {x : A} {f : Polynomial R} (hf : f.Monic) (hfx : (Polynomial.aeval x) f = 0) : Submodule.span R β(Finset.image (fun x_1 => x ^ x_1) (Finset.range f.natDegree)) = Subalgebra.toSubmodule R[x] - Polynomial.lifts_and_natDegree_eq_and_monic π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [Semiring R] {S : Type v} [Semiring S] {f : R β+* S} {p : Polynomial S} (hlifts : p β Polynomial.lifts f) (hp : p.Monic) : β q, Polynomial.map f q = p β§ q.natDegree = p.natDegree β§ q.Monic - Polynomial.lifts_and_degree_eq_and_monic π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [Semiring R] {S : Type v} [Semiring S] {f : R β+* S} [Nontrivial S] {p : Polynomial S} (hlifts : p β Polynomial.lifts f) (hp : p.Monic) : β q, Polynomial.map f q = p β§ q.degree = p.degree β§ q.Monic - Polynomial.monic_of_monic_mapAlg π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [CommSemiring R] {S : Type v} [Semiring S] [Algebra R S] [FaithfulSMul R S] {p : Polynomial R} (hp : ((Polynomial.mapAlg R S) p).Monic) : p.Monic - Polynomial.splits_of_natDegree_le_one_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.natDegree β€ 1) (h : f.Monic) : f.Splits - Polynomial.Splits.of_natDegree_le_one_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.natDegree β€ 1) (h : f.Monic) : f.Splits - Polynomial.splits_of_degree_le_one_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.degree β€ 1) (h : f.Monic) : f.Splits - Polynomial.Splits.of_degree_le_one_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.degree β€ 1) (h : f.Monic) : f.Splits - Polynomial.Splits.comp_of_natDegree_le_one_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f g : Polynomial R} (hf : f.Splits) (hg : g.natDegree β€ 1) (h : g.Monic) : (f.comp g).Splits - Polynomial.Splits.comp_of_degree_le_one_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f g : Polynomial R} (hf : f.Splits) (hg : g.degree β€ 1) (h : g.Monic) : (f.comp g).Splits - Polynomial.Splits.nextCoeff_eq_neg_sum_roots_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) (hm : f.Monic) : f.nextCoeff = -f.roots.sum - Polynomial.Splits.eval_eq_prod_roots_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) (hm : f.Monic) (x : R) : Polynomial.eval x f = (Multiset.map (fun x_1 => x - x_1) f.roots).prod - Polynomial.map_sub_sprod_roots_eq_prod_map_eval π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] [IsDomain R] (s : Multiset R) (g : Polynomial R) (hg : g.Monic) (hg' : g.Splits) : (Multiset.map (fun ij => ij.1 - ij.2) (s ΓΛ’ g.roots)).prod = (Multiset.map (fun x => Polynomial.eval x g) s).prod - Polynomial.Splits.coeff_zero_eq_prod_roots_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) (hm : f.Monic) : f.coeff 0 = (-1) ^ f.natDegree * f.roots.prod - Polynomial.map_sub_roots_sprod_eq_prod_map_eval π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] [IsDomain R] (s : Multiset R) (g : Polynomial R) (hg : g.Monic) (hg' : g.Splits) : (Multiset.map (fun ij => ij.1 - ij.2) (g.roots ΓΛ’ s)).prod = (-1) ^ (s.card * g.roots.card) * (Multiset.map (fun x => Polynomial.eval x g) s).prod - Polynomial.Splits.eq_prod_roots_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) (hm : f.Monic) : f = (Multiset.map (fun x => Polynomial.X - Polynomial.C x) f.roots).prod - Polynomial.Splits.mem_lift_of_roots_mem_range π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) (hm : f.Monic) {S : Type u_4} [Ring S] (i : S β+* R) (hr : β a β f.roots, a β i.range) : f β Polynomial.lifts i - Polynomial.Splits.aeval_eq_prod_aroots_of_monic π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} [CommRing A] [IsDomain A] [Algebra R A] (hf : (Polynomial.map (algebraMap R A) f).Splits) (hm : f.Monic) (x : A) : (Polynomial.aeval x) f = (Multiset.map (fun x_1 => x - x_1) (f.aroots A)).prod - Polynomial.Splits.eval_root_derivative π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] [DecidableEq R] (hf : f.Splits) (hm : f.Monic) {x : R} (hx : x β f.roots) : Polynomial.eval x (Polynomial.derivative f) = (Multiset.map (fun x_1 => x - x_1) (f.roots.erase x)).prod - Polynomial.monic_scaleRoots_iff π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} [Semiring R] {p : Polynomial R} (s : R) : (p.scaleRoots s).Monic β p.Monic - Polynomial.monic_integralNormalization π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p β 0) : p.integralNormalization.Monic - Polynomial.monic_toSubring π Mathlib.RingTheory.Polynomial.Subring
{R : Type u_1} [Ring R] (p : Polynomial R) (T : Subring R) (hp : βp.coeffs β βT) : (p.toSubring T hp).Monic β p.Monic - roots_mem_integralClosure π Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [IsDomain S] [Algebra R S] {f : Polynomial R} (hf : f.Monic) {a : S} (ha : a β f.aroots S) : a β integralClosure R S - Polynomial.Monic.quotient_isIntegral π Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic
{S : Type u_4} [CommRing S] {g : Polynomial S} (mon : g.Monic) {I : Ideal (Polynomial S)} (h : g β I) : ((Ideal.Quotient.mkβ S I).comp (Algebra.ofId S (Polynomial S))).IsIntegral - Polynomial.Monic.quotient_isIntegralElem π Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic
{S : Type u_4} [CommRing S] {g : Polynomial S} (mon : g.Monic) {I : Ideal (Polynomial S)} (h : g β I) : ((Ideal.Quotient.mk I).comp (algebraMap S (Polynomial S))).IsIntegralElem ((Ideal.Quotient.mk I) Polynomial.X) - Polynomial.div_eq_quo_add_rem_div π Mathlib.RingTheory.IntegralDomain
{R : Type u_1} [CommRing R] [IsDomain R] (K : Type u_3) [Field K] [Algebra (Polynomial R) K] [IsFractionRing (Polynomial R) K] (f : Polynomial R) {g : Polynomial R} (hg : g.Monic) : β q r, r.degree < g.degree β§ (algebraMap (Polynomial R) K) f / (algebraMap (Polynomial R) K) g = (algebraMap (Polynomial R) K) q + (algebraMap (Polynomial R) K) r / (algebraMap (Polynomial R) K) g - Cubic.monic_of_d_eq_one' π Mathlib.Algebra.CubicDiscriminant
: { a := 0, b := 0, c := 0, d := 1 }.toPoly.Monic - Cubic.monic_of_a_eq_one π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 1) : P.toPoly.Monic
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 ce5dd8c