Loogle!
Result
Found 498 declarations mentioning Polynomial.degree. Of these, only the first 200 are shown.
- Polynomial.degree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (p : Polynomial R) : WithBot β - Polynomial.degree_X π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] [Nontrivial R] : Polynomial.X.degree = 1 - Polynomial.degree_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.degree 0 = β₯ - Polynomial.degree_X_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.X.degree β€ 1 - Polynomial.degree_erase_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) : (Polynomial.erase n p).degree β€ p.degree - Polynomial.degree_ne_of_natDegree_ne π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : p.natDegree β n β p.degree β βn - Polynomial.natDegree_eq_of_degree_eq_some π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (h : p.degree = βn) : p.natDegree = n - Polynomial.degree_le_natDegree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.degree β€ βp.natDegree - Polynomial.degree_neg π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] (p : Polynomial R) : (-p).degree = p.degree - Polynomial.natDegree_eq_of_degree_eq π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] {q : Polynomial S} (h : p.degree = q.degree) : p.natDegree = q.natDegree - Polynomial.degree_eq_iff_natDegree_eq_of_neZero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} [NeZero n] : p.degree = βn β p.natDegree = n - Polynomial.degree_le_of_natDegree_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : p.natDegree β€ n β p.degree β€ βn - Polynomial.degree_one π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] [Nontrivial R] : Polynomial.degree 1 = 0 - Polynomial.leadingCoeff_eq_zero_iff_deg_eq_bot π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.leadingCoeff = 0 β p.degree = β₯ - Polynomial.natDegree_le_of_degree_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : p.degree β€ βn β p.natDegree β€ n - Polynomial.degree_eq_bot π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.degree = β₯ β p = 0 - Polynomial.degree_natCast_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (n : β) : (βn).degree β€ 0 - Polynomial.degree_ne_bot π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.degree β β₯ β p β 0 - Polynomial.natDegree_le_iff_degree_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : p.natDegree β€ n β p.degree β€ βn - Polynomial.coeff_ne_zero_of_eq_degree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (hn : p.degree = βn) : p.coeff n β 0 - Polynomial.degree_eq_iff_natDegree_eq_of_pos π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (hn : 0 < n) : p.degree = βn β p.natDegree = n - Polynomial.degree_one_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.degree 1 β€ 0 - Polynomial.degree_zero_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.degree 0 β€ 0 - Polynomial.degree_eq_natDegree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p β 0) : p.degree = βp.natDegree - Polynomial.degree_intCast_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] (n : β€) : (βn).degree β€ 0 - Polynomial.natDegree_le_natDegree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] {q : Polynomial S} (hpq : p.degree β€ q.degree) : p.natDegree β€ q.natDegree - Polynomial.natDegree_eq_zero_iff_degree_le_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.natDegree = 0 β p.degree β€ 0 - Polynomial.le_degree_of_ne_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (h : p.coeff n β 0) : βn β€ p.degree - Polynomial.natDegree_pos_iff_degree_pos π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : 0 < p.natDegree β 0 < p.degree - Polynomial.degree_eq_iff_natDegree_eq π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (hp : p β 0) : p.degree = βn β p.natDegree = n - Polynomial.degree_le_degree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p q : Polynomial R} (h : q.coeff p.natDegree β 0) : p.degree β€ q.degree - Polynomial.degree_erase_lt π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p β 0) : (Polynomial.erase p.natDegree p).degree < p.degree - Polynomial.degree_mono π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : Polynomial R} {g : Polynomial S} (h : f.support β g.support) : f.degree β€ g.degree - Polynomial.degree_update_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) (a : R) : (p.update n a).degree β€ max p.degree βn - Polynomial.withBotSucc_degree_eq_natDegree_add_one π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} (h : p β 0) : p.degree.succ = p.natDegree + 1 - Polynomial.degree_X_pow π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] [Nontrivial R] (n : β) : (Polynomial.X ^ n).degree = βn - Polynomial.degree_lt_iff_coeff_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (f : Polynomial R) (n : β) : f.degree < βn β β (m : β), n β€ m β f.coeff m = 0 - Polynomial.degree_neg_le_of_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] {a : WithBot β} {p : Polynomial R} (hp : p.degree β€ a) : (-p).degree β€ a - Polynomial.natDegree_lt_iff_degree_lt π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (hp : p β 0) : p.natDegree < n β p.degree < βn - Polynomial.degree_X_pow_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (n : β) : (Polynomial.X ^ n).degree β€ βn - Polynomial.degree_le_iff_coeff_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (f : Polynomial R) (n : WithBot β) : f.degree β€ n β β (m : β), n < βm β f.coeff m = 0 - Polynomial.degree_add_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (p q : Polynomial R) : (p + q).degree β€ max p.degree q.degree - Polynomial.degree_mul_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (p q : Polynomial R) : (p * q).degree β€ p.degree + q.degree - Polynomial.degree_C_lt π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {a : R} [Semiring R] : (Polynomial.C a).degree < 1 - Polynomial.degree_C_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {a : R} [Semiring R] : (Polynomial.C a).degree β€ 0 - Polynomial.degree_sum_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {ΞΉ : Type u_1} (s : Finset ΞΉ) (f : ΞΉ β Polynomial R) : (β i β s, f i).degree β€ s.sup fun b => (f b).degree - Polynomial.degree_pow_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) : (p ^ n).degree β€ n β’ p.degree - Polynomial.degree_C π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {a : R} [Semiring R] (ha : a β 0) : (Polynomial.C a).degree = 0 - Polynomial.degree_sub_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] (p q : Polynomial R) : (p - q).degree β€ max p.degree q.degree - Polynomial.degree_C_mul_X_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (a : R) : (Polynomial.C a * Polynomial.X).degree β€ 1 - Polynomial.degree_add_le_of_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p q : Polynomial R} {a b : WithBot β} (hp : p.degree β€ a) (hq : q.degree β€ b) : (p + q).degree β€ max a b - Polynomial.degree_mul_le_of_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p q : Polynomial R} {a b : WithBot β} (hp : p.degree β€ a) (hq : q.degree β€ b) : (p * q).degree β€ a + b - Polynomial.degree_add_le_of_degree_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p q : Polynomial R} {n : β} (hp : p.degree β€ βn) (hq : q.degree β€ βn) : (p + q).degree β€ βn - Polynomial.degree_C_mul_X π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {a : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X).degree = 1 - Polynomial.degree_monomial_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (n : β) (a : R) : ((Polynomial.monomial n) a).degree β€ βn - Polynomial.degree_sub_le_of_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] {p q : Polynomial R} {a b : WithBot β} (hp : p.degree β€ a) (hq : q.degree β€ b) : (p - q).degree β€ max a b - Polynomial.degree_pow_le_of_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {a : WithBot β} (b : β) (hp : p.degree β€ a) : (p ^ b).degree β€ βb * a - Polynomial.degree_monomial π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {a : R} [Semiring R] (n : β) (ha : a β 0) : ((Polynomial.monomial n) a).degree = βn - Polynomial.degree_C_mul_X_pow_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (n : β) (a : R) : (Polynomial.C a * Polynomial.X ^ n).degree β€ βn - Polynomial.degree_sub_lt π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] {p q : Polynomial R} (hd : p.degree = q.degree) (hp0 : p β 0) (hlc : p.leadingCoeff = q.leadingCoeff) : (p - q).degree < p.degree - Polynomial.degree_sub_lt_left π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] {p q : Polynomial R} (hd : p.degree = q.degree) (hp0 : p β 0) (hlc : p.leadingCoeff = q.leadingCoeff) : (p - q).degree < p.degree - Polynomial.degree_sub_lt_right π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] {p q : Polynomial R} (hd : p.degree = q.degree) (hq0 : q β 0) (hlc : p.leadingCoeff = q.leadingCoeff) : (p - q).degree < q.degree - Polynomial.degree_X_sub_C_le π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] (r : R) : (Polynomial.X - Polynomial.C r).degree β€ 1 - Polynomial.degree_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} {a : R} [Semiring R] (n : β) (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ n).degree = βn - Polynomial.degree_of_subsingleton π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} [Subsingleton R] : p.degree = β₯ - Polynomial.degree_lt_wf π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] : WellFounded fun p q => p.degree < q.degree - Polynomial.natDegree_eq_natDegree π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {p : Polynomial R} {q : Polynomial S} (hpq : p.degree = q.degree) : p.natDegree = q.natDegree - Polynomial.degree_lt_degree π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.natDegree < q.natDegree) : p.degree < q.degree - Polynomial.ne_zero_of_degree_gt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} {n : WithBot β} (h : n < p.degree) : p β 0 - Polynomial.coeff_eq_zero_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (h : p.degree < βn) : p.coeff n = 0 - Polynomial.supDegree_eq_degree π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] (p : Polynomial R) : AddMonoidAlgebra.supDegree WithBot.some p.toFinsupp = p.degree - Polynomial.coeff_natDegree_eq_zero_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.degree < q.degree) : p.coeff q.natDegree = 0 - 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.leadingCoeff_add_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.degree < q.degree) : (p + q).leadingCoeff = q.leadingCoeff - Polynomial.leadingCoeff_add_of_degree_lt' π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : q.degree < p.degree) : (p + q).leadingCoeff = p.leadingCoeff - Polynomial.natDegree_add_eq_left_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : q.degree < p.degree) : (p + q).natDegree = p.natDegree - Polynomial.natDegree_add_eq_right_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.degree < q.degree) : (p + q).natDegree = q.natDegree - Polynomial.degree_add_eq_left_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : q.degree < p.degree) : (p + q).degree = p.degree - Polynomial.degree_add_eq_right_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.degree < q.degree) : (p + q).degree = q.degree - Polynomial.natDegree_lt_natDegree_iff π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p β 0) : p.natDegree < q.natDegree β p.degree < q.degree - Polynomial.natDegree_lt_natDegree π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {p : Polynomial R} {q : Polynomial S} (hp : p β 0) (hpq : p.degree < q.degree) : p.natDegree < q.natDegree - Polynomial.degree_eq_of_le_of_coeff_ne_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (pn : p.degree β€ βn) (p1 : p.coeff n β 0) : p.degree = βn - 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.degree_lt_degree_mul_X π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p β 0) : p.degree < (p * Polynomial.X).degree - Polynomial.degree_smul_le π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {S : Type u_1} [SMulZeroClass S R] (a : S) (p : Polynomial R) : (a β’ p).degree β€ p.degree - Polynomial.ne_zero_of_degree_ge_degree π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (hpq : p.degree β€ q.degree) (hp : p β 0) : q β 0 - Polynomial.degree_mul_X π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [Nontrivial R] {p : Polynomial R} : (p * Polynomial.X).degree = p.degree + 1 - Polynomial.degree_mul π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [NoZeroDivisors R] {p q : Polynomial R} : (p * q).degree = p.degree + q.degree - 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.degree_le_mul_left π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [NoZeroDivisors R] {q : Polynomial R} (p : Polynomial R) (hq : q β 0) : p.degree β€ (p * q).degree - Polynomial.leadingCoeff_sub_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {p q : Polynomial R} (h : q.degree < p.degree) : (p - q).leadingCoeff = p.leadingCoeff - Polynomial.degree_sub_eq_left_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {p q : Polynomial R} (h : q.degree < p.degree) : (p - q).degree = p.degree - Polynomial.degree_sub_eq_right_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {p q : Polynomial R} (h : p.degree < q.degree) : (p - q).degree = q.degree - Polynomial.ext_iff_degree_le π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} {n : β} (hp : p.degree β€ βn) (hq : q.degree β€ βn) : p = q β β i β€ n, p.coeff i = q.coeff i - Polynomial.eq_C_of_degree_eq_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.degree = 0) : p = Polynomial.C (p.coeff 0) - Polynomial.degree_C_mul_of_isUnit π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {a : R} [Semiring R] (ha : IsUnit a) (p : Polynomial R) : (Polynomial.C a * p).degree = p.degree - Polynomial.degree_mul_C_of_isUnit π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {a : R} [Semiring R] (ha : IsUnit a) (p : Polynomial R) : (p * Polynomial.C a).degree = p.degree - Polynomial.degree_pow π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [NoZeroDivisors R] [Nontrivial R] (p : Polynomial R) (n : β) : (p ^ n).degree = n β’ p.degree - Polynomial.degree_X_add_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Nontrivial R] [Semiring R] (a : R) : (Polynomial.X + Polynomial.C a).degree = 1 - Polynomial.eq_C_of_degree_le_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.degree β€ 0) : p = Polynomial.C (p.coeff 0) - Polynomial.degree_le_zero_iff π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} : p.degree β€ 0 β p = Polynomial.C (p.coeff 0) - Polynomial.degree_add_eq_of_leadingCoeff_add_ne_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.leadingCoeff + q.leadingCoeff β 0) : (p + q).degree = max p.degree q.degree - Polynomial.degree_mul' π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.leadingCoeff * q.leadingCoeff β 0) : (p * q).degree = p.degree + q.degree - Polynomial.degree_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [Nontrivial R] {p : Polynomial R} (n : β) : (p * Polynomial.X ^ n).degree = p.degree + βn - Polynomial.degree_smul_of_isRightRegular_leadingCoeff π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} (ha : a β 0) (hp : IsRightRegular p.leadingCoeff) : (a β’ p).degree = p.degree - Polynomial.leadingCoeff_sub_of_degree_lt' π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {p q : Polynomial R} (h : p.degree < q.degree) : (p - q).leadingCoeff = -q.leadingCoeff - Polynomial.leadingCoeff_add_of_degree_eq π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.degree = q.degree) (hlc : p.leadingCoeff + q.leadingCoeff β 0) : (p + q).leadingCoeff = p.leadingCoeff + q.leadingCoeff - Polynomial.degree_pow' π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : p.leadingCoeff ^ n β 0 β (p ^ n).degree = n β’ p.degree - Polynomial.degree_add_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} (hp : 0 < p.degree) : (p + Polynomial.C a).degree = p.degree - Polynomial.leadingCoeff_sub_of_degree_eq π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {p q : Polynomial R} (h : p.degree = q.degree) (hlc : p.leadingCoeff β q.leadingCoeff) : (p - q).leadingCoeff = p.leadingCoeff - q.leadingCoeff - Polynomial.degree_X_sub_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] [Nontrivial R] (a : R) : (Polynomial.X - Polynomial.C a).degree = 1 - Polynomial.degree_X_pow_add_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Nontrivial R] [Semiring R] {n : β} (hn : 0 < n) (a : R) : (Polynomial.X ^ n + Polynomial.C a).degree = βn - Polynomial.degree_C_lt_degree_C_mul_X π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {a b : R} [Semiring R] (ha : a β 0) : (Polynomial.C b).degree < (Polynomial.C a * Polynomial.X).degree - Polynomial.degree_sub_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {a : R} [Ring R] {p : Polynomial R} (hp : 0 < p.degree) : (p - Polynomial.C a).degree = p.degree - Polynomial.degree_sum_fin_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {n : β} (f : Fin n β R) : (β i, Polynomial.C (f i) * Polynomial.X ^ βi).degree < βn - Polynomial.degree_X_pow_sub_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] [Nontrivial R] {n : β} (hn : 0 < n) (a : R) : (Polynomial.X ^ n - Polynomial.C a).degree = βn - Polynomial.le_degree_of_mem_supp π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] {p : Polynomial R} (a : β) : a β p.support β βa β€ p.degree - Polynomial.sum_fin π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} {S : Type v} [Semiring R] [AddCommMonoid S] (f : β β R β S) (hf : β (i : β), f i 0 = 0) {n : β} {p : Polynomial R} (hn : p.degree < βn) : β i, f (βi) (p.coeff βi) = p.sum f - Polynomial.degree_le_of_dvd π Mathlib.Algebra.Polynomial.Degree.Domain
{R : Type u} [Semiring R] [NoZeroDivisors R] {p q : Polynomial R} (h1 : p β£ q) (h2 : q β 0) : p.degree β€ q.degree - Polynomial.eq_zero_of_dvd_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Domain
{R : Type u} [Semiring R] [NoZeroDivisors R] {p q : Polynomial R} (hβ : p β£ q) (hβ : q.degree < p.degree) : q = 0 - Polynomial.not_dvd_of_degree_lt π Mathlib.Algebra.Polynomial.Degree.Domain
{R : Type u} [Semiring R] [NoZeroDivisors R] {p q : Polynomial R} (h0 : q β 0) (hl : q.degree < p.degree) : Β¬p β£ q - Polynomial.le_natDegree_of_coe_le_degree π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (hdeg : βn β€ p.degree) : n β€ p.natDegree - Polynomial.ne_zero_of_coe_le_degree π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (hdeg : βn β€ p.degree) : p β 0 - Polynomial.zero_le_degree_iff π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} [Semiring R] {p : Polynomial R} : 0 β€ p.degree β p β 0 - Polynomial.degree_linear_le π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b : R} [Semiring R] : (Polynomial.C a * Polynomial.X + Polynomial.C b).degree β€ 1 - Polynomial.degree_linear π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X + Polynomial.C b).degree = 1 - Polynomial.eq_X_add_C_of_degree_eq_one π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.degree = 1) : p = Polynomial.C p.leadingCoeff * Polynomial.X + Polynomial.C (p.coeff 0) - Polynomial.degree_linear_lt π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b : R} [Semiring R] : (Polynomial.C a * Polynomial.X + Polynomial.C b).degree < 2 - Polynomial.eq_X_add_C_of_degree_le_one π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.degree β€ 1) : p = Polynomial.C (p.coeff 1) * Polynomial.X + Polynomial.C (p.coeff 0) - Polynomial.degree_linear_lt_degree_C_mul_X_sq π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] (ha : a β 0) : (Polynomial.C b * Polynomial.X + Polynomial.C c).degree < (Polynomial.C a * Polynomial.X ^ 2).degree - Polynomial.degree_quadratic_le π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).degree β€ 2 - Polynomial.degree_quadratic_lt π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).degree < 3 - Polynomial.degree_quadratic π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).degree = 2 - Polynomial.degree_quadratic_lt_degree_C_mul_X_cb π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] (ha : a β 0) : (Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).degree < (Polynomial.C a * Polynomial.X ^ 3).degree - Polynomial.degree_cubic_le π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 3 + Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).degree β€ 3 - Polynomial.degree_cubic_lt π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 3 + Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).degree < 4 - Polynomial.degree_cubic π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ 3 + Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).degree = 3 - Polynomial.degree_eq_zero_of_isUnit π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [Semiring R] [NoZeroDivisors R] {p : Polynomial R} [Nontrivial R] (h : IsUnit p) : p.degree = 0 - Polynomial.not_isUnit_of_degree_pos π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [Semiring R] [NoZeroDivisors R] (p : Polynomial R) (hpl : 0 < p.degree) : Β¬IsUnit p - Polynomial.degree_coe_units π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [Semiring R] [NoZeroDivisors R] [Nontrivial R] (u : (Polynomial R)Λ£) : (βu).degree = 0 - 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.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.degree_map_le π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} : (Polynomial.map f p).degree β€ p.degree - Polynomial.degree_map_eq_of_leadingCoeff_ne_zero π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {p : Polynomial R} (f : R β+* S) (hf : f p.leadingCoeff β 0) : (Polynomial.map f p).degree = p.degree - Polynomial.degree_map_lt π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} (hp : f p.leadingCoeff = 0) (hpβ : p β 0) : (Polynomial.map f p).degree < p.degree - MvPolynomial.degree_optionEquivLeft π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) {Ο : Type u_1} [CommSemiring R] {f : MvPolynomial (Option Ο) R} (h : f β 0) : ((MvPolynomial.optionEquivLeft R Ο) f).degree = β(MvPolynomial.degreeOf none f) - MvPolynomial.degree_finSuccEquiv π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} [CommSemiring R] {n : β} {f : MvPolynomial (Fin (n + 1)) R} (h : f β 0) : ((MvPolynomial.finSuccEquiv R n) f).degree = β(MvPolynomial.degreeOf 0 f) - Polynomial.coe_lt_degree π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : βn < p.degree β n < p.natDegree - Polynomial.degree_comp_neg_X π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Ring R] {p : Polynomial R} : (p.comp (-Polynomial.X)).degree = p.degree - Polynomial.degree_map_eq_of_isUnit_leadingCoeff π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] [Nontrivial S] (f : R β+* S) (hp : IsUnit p.leadingCoeff) : (Polynomial.map f p).degree = p.degree - 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.degree_map_eq_of_injective π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} (hf : Function.Injective βf) (p : Polynomial R) : (Polynomial.map f p).degree = p.degree - Polynomial.degree_map_eq_iff π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} : (Polynomial.map f p).degree = p.degree β f p.leadingCoeff β 0 β¨ p = 0 - Polynomial.degree_C_mul π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p : Polynomial R} {a : R} [NoZeroDivisors R] (a0 : a β 0) : (Polynomial.C a * p).degree = p.degree - Polynomial.degree_mul_C π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p : Polynomial R} {a : R} [NoZeroDivisors R] (a0 : a β 0) : (p * Polynomial.C a).degree = p.degree - Polynomial.degree_C_mul_of_mul_ne_zero π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} (h : a * p.leadingCoeff β 0) : (Polynomial.C a * p).degree = p.degree - Polynomial.degree_sum_eq_of_disjoint π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {S : Type v} [Semiring R] (f : S β Polynomial R) (s : Finset S) (h : {i | i β s β§ f i β 0}.Pairwise (Function.onFun Ne (Polynomial.degree β f))) : (s.sum f).degree = s.sup fun i => (f i).degree - Polynomial.degree_comp π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] [NoZeroDivisors R] {p q : Polynomial R} (hq : 0 < q.degree) : (p.comp q).degree = p.degree * q.degree - Polynomial.degree_pos_of_evalβ_root π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {p : Polynomial R} (hp : p β 0) (f : R β+* S) {z : S} (hz : Polynomial.evalβ f z p = 0) (inj : β (x : R), f x = 0 β x = 0) : 0 < p.degree - Polynomial.degree_add_degree_leadingCoeff_inv π Mathlib.Algebra.Polynomial.Degree.Lemmas
{K : Type u_1} [DivisionRing K] (p : Polynomial K) : p.degree + (Polynomial.C p.leadingCoeffβ»ΒΉ).degree = p.degree - Polynomial.degree_leadingCoeff_inv π Mathlib.Algebra.Polynomial.Degree.Lemmas
{K : Type u_1} [DivisionRing K] {p : Polynomial K} (hp0 : p β 0) : (Polynomial.C p.leadingCoeffβ»ΒΉ).degree = 0 - Polynomial.degree_mul_leadingCoeff_self_inv π Mathlib.Algebra.Polynomial.Degree.Lemmas
{K : Type u_1} [DivisionRing K] (p : Polynomial K) : (p * Polynomial.C p.leadingCoeffβ»ΒΉ).degree = p.degree - Polynomial.degree_mul_leadingCoeff_inv π Mathlib.Algebra.Polynomial.Degree.Lemmas
{K : Type u_1} [DivisionRing K] (p : Polynomial K) {q : Polynomial K} (h : q β 0) : (p * Polynomial.C q.leadingCoeffβ»ΒΉ).degree = p.degree - Polynomial.eraseLead_degree_le π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_1} [Semiring R] {f : Polynomial R} : f.eraseLead.degree β€ f.degree - Polynomial.degree_eraseLead_lt π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f β 0) : f.eraseLead.degree < f.degree - Polynomial.eraseLead_add_of_degree_lt_left π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_1} [Semiring R] {p q : Polynomial R} (pq : q.degree < p.degree) : (p + q).eraseLead = p.eraseLead + q - Polynomial.eraseLead_add_of_degree_lt_right π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_1} [Semiring R] {p q : Polynomial R} (pq : p.degree < q.degree) : (p + q).eraseLead = p + q.eraseLead - 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.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.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.degree_smul_of_smul_regular π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {S : Type u_1} [SMulZeroClass S R] {k : S} (p : Polynomial R) (h : IsSMulRegular R k) : (k β’ p).degree = p.degree - 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.MonicDegreeEq.degree π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {n : β} [Semiring R] [Nontrivial R] (p : Polynomial.MonicDegreeEq R n) : (βp).degree = βn - 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.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_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.degree_list_sum_le π Mathlib.Algebra.Polynomial.BigOperators
{S : Type u_1} [Semiring S] (l : List (Polynomial S)) : l.sum.degree β€ (List.map Polynomial.natDegree l).maximum - Polynomial.degree_list_prod_le π Mathlib.Algebra.Polynomial.BigOperators
{S : Type u_1} [Semiring S] (l : List (Polynomial S)) : l.prod.degree β€ (List.map Polynomial.degree l).sum - Polynomial.degree_list_prod π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [Semiring R] [NoZeroDivisors R] [Nontrivial R] (l : List (Polynomial R)) : l.prod.degree = (List.map Polynomial.degree l).sum - Polynomial.degree_multiset_prod_le π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [CommSemiring R] (t : Multiset (Polynomial R)) : t.prod.degree β€ (Multiset.map Polynomial.degree t).sum - Polynomial.degree_prod_le π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} {ΞΉ : Type w} (s : Finset ΞΉ) [CommSemiring R] (f : ΞΉ β Polynomial R) : (β i β s, f i).degree β€ β i β s, (f i).degree - Polynomial.degree_list_sum_le_of_forall_degree_le π Mathlib.Algebra.Polynomial.BigOperators
{S : Type u_1} [Semiring S] (l : List (Polynomial S)) (n : WithBot β) (hl : β p β l, p.degree β€ n) : l.sum.degree β€ n - Polynomial.degree_prod π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} {ΞΉ : Type w} (s : Finset ΞΉ) [CommSemiring R] [NoZeroDivisors R] (f : ΞΉ β Polynomial R) [Nontrivial R] : (β i β s, f i).degree = β i β s, (f i).degree - Polynomial.degree_multiset_prod π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [CommSemiring R] [NoZeroDivisors R] (t : Multiset (Polynomial R)) [Nontrivial R] : t.prod.degree = (Multiset.map (fun f => f.degree) t).sum - 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.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.leadingCoeff_sum_of_degree_eq π Mathlib.Algebra.Polynomial.BigOperators
{ΞΉ : Type w} {S : Type u_1} [Semiring S] {f : ΞΉ β Polynomial S} {s : Finset ΞΉ} {d : WithBot β} (hd : β k β s, (f k).degree = d) (hf : β k β s, (f k).leadingCoeff β 0) : (β k β s, f k).leadingCoeff = β k β s, (f k).leadingCoeff - Polynomial.degree_sum_eq_of_linearIndepOn π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} {ΞΉ : Type w} (s : Finset ΞΉ) [CommRing R] {A : Type u_1} [CommRing A] [Algebra R A] {f : ΞΉ β Polynomial R} {v : ΞΉ β A} (h : LinearIndepOn R v βs) : (β i β s, v i β’ Polynomial.map (algebraMap R A) (f i)).degree = s.sup fun i => (f i).degree - 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.mem_degreeLE π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] {n : WithBot β} {f : Polynomial R} : f β Polynomial.degreeLE R n β f.degree β€ n - Polynomial.mem_degreeLT π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] {n : β} {f : Polynomial R} : f β Polynomial.degreeLT R n β f.degree < βn - Polynomial.degree_restriction π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Ring R] {p : Polynomial R} : p.restriction.degree = p.degree - Polynomial.exists_degree_le_of_mem_span π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] {s : Set (Polynomial R)} {p : Polynomial R} (hs : s.Nonempty) (hp : p β Submodule.span R s) : β p' β s, p.degree β€ p'.degree - Polynomial.exists_degree_le_of_mem_span_of_finite π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] {s : Set (Polynomial R)} (s_fin : s.Finite) (hs : s.Nonempty) : β p' β s, β p β Submodule.span R s, p.degree β€ p'.degree - Ideal.mem_leadingCoeffNth π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [CommSemiring R] (I : Ideal (Polynomial R)) (n : β) (x : R) : x β I.leadingCoeffNth n β β p β I, p.degree β€ βn β§ p.leadingCoeff = x - Polynomial.degree_derivative_le π Mathlib.Algebra.Polynomial.Derivative
{R : Type u} [Semiring R] {p : Polynomial R} : (Polynomial.derivative p).degree β€ p.degree - Polynomial.degree_derivative_lt π Mathlib.Algebra.Polynomial.Derivative
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p β 0) : (Polynomial.derivative p).degree < p.degree
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