Loogle!
Result
Found 545 declarations mentioning Polynomial.coeff. Of these, only the first 200 are shown.
- Polynomial.coeff π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] : Polynomial R β β ββ R - Polynomial.coeff_injective π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] : Function.Injective Polynomial.coeff - Polynomial.coeff_ofFinsupp π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : AddMonoidAlgebra R β) : { toFinsupp := p }.coeff = p.coeff - Polynomial.coeff_inj π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p q : Polynomial R} : p.coeff = q.coeff β p = q - Polynomial.finite_range_coeff π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (f : Polynomial R) : (Set.range βf.coeff).Finite - Polynomial.coeff_update_same π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) (a : R) : (p.update n a).coeff n = a - Polynomial.coeff_X_zero π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] : Polynomial.X.coeff 0 = 0 - Polynomial.erase_same π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) : (Polynomial.erase n p).coeff n = 0 - Polynomial.coeff_X_one π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] : Polynomial.X.coeff 1 = 1 - Polynomial.coeff_X_of_ne_one π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {n : β} (hn : n β 1) : Polynomial.X.coeff n = 0 - Polynomial.coeff_zero π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (n : β) : (Polynomial.coeff 0) n = 0 - Polynomial.sum_def π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {S : Type u_1} [AddCommMonoid S] (p : Polynomial R) (f : β β R β S) : p.sum f = β n β p.support, f n (p.coeff n) - Polynomial.coeff_one_zero π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] : (Polynomial.coeff 1) 0 = 1 - Polynomial.mem_support_iff π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} : n β p.support β p.coeff n β 0 - Polynomial.notMem_support_iff π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} : n β p.support β p.coeff n = 0 - Polynomial.toFinsupp_apply π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (f : Polynomial R) (i : β) : f.toFinsupp.coeff i = f.coeff i - Polynomial.coeff_ofNat_zero π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (a : β) [a.AtLeastTwo] : (OfNat.ofNat a).coeff 0 = OfNat.ofNat a - Polynomial.erase_ne π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) {n i : β} (h : i β n) : (Polynomial.erase n p).coeff i = p.coeff i - Polynomial.ext π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p q : Polynomial R} : (β (n : β), p.coeff n = q.coeff n) β p = q - Polynomial.ext_iff π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p q : Polynomial R} : p = q β β (n : β), p.coeff n = q.coeff n - Polynomial.coeff_ofNat_succ π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (a n : β) [h : a.AtLeastTwo] : (OfNat.ofNat a).coeff (n + 1) = 0 - Polynomial.coeff_update_ne π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) {n i : β} (a : R) (h : i β n) : (p.update n a).coeff i = p.coeff i - Polynomial.mem_coeffs_iff π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p : Polynomial R} {c : R} : c β p.coeffs β β n β p.support, c = p.coeff n - Polynomial.coeff_update π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) (a : R) : β(p.update n a).coeff = Function.update (βp.coeff) n a - Polynomial.coeff_natCast_ite π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {m n : β} [Semiring R] : (βm).coeff n = β(if n = 0 then m else 0) - Polynomial.coeff_X π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {n : β} [Semiring R] : Polynomial.X.coeff n = if 1 = n then 1 else 0 - Polynomial.coeff_C_zero π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {a : R} [Semiring R] : (Polynomial.C a).coeff 0 = a - Polynomial.coeff_update_apply π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) (a : R) (i : β) : (p.update n a).coeff i = if i = n then a else p.coeff i - Polynomial.coeff_erase π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) (n i : β) : (Polynomial.erase n p).coeff i = if i = n then 0 else p.coeff i - Polynomial.coeff_mem_coeffs π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (h : p.coeff n β 0) : p.coeff n β p.coeffs - Polynomial.coeff_one π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {n : β} : (Polynomial.coeff 1) n = if n = 0 then 1 else 0 - Polynomial.coeff_C_ne_zero π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {a : R} {n : β} [Semiring R] (h : n β 0) : (Polynomial.C a).coeff n = 0 - Polynomial.coeff_C_of_ne_zero π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {a : R} {n : β} [Semiring R] (h : n β 0) : (Polynomial.C a).coeff n = 0 - Polynomial.coeff_C_succ π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {r : R} {n : β} : (Polynomial.C r).coeff (n + 1) = 0 - Polynomial.coeff_neg π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Ring R] (p : Polynomial R) (n : β) : (-p).coeff n = -p.coeff n - Polynomial.coeff_C π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {a : R} {n : β} [Semiring R] : (Polynomial.C a).coeff n = if n = 0 then a else 0 - Polynomial.sum_eq_of_subset π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {S : Type u_1} [AddCommMonoid S] {p : Polynomial R} (f : β β R β S) (hf : β (i : β), f i 0 = 0) {s : Finset β} (hs : p.support β s) : p.sum f = β n β s, f n (p.coeff n) - Polynomial.coeff_monomial_same π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (n : β) (c : R) : ((Polynomial.monomial n) c).coeff n = c - Polynomial.coeff_monomial_of_ne π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {m n : β} (c : R) (h : m β n) : ((Polynomial.monomial n) c).coeff m = 0 - Polynomial.coeff_monomial π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {a : R} {m n : β} [Semiring R] : ((Polynomial.monomial n) a).coeff m = if n = m then a else 0 - Polynomial.coeff_monomial_succ π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {a : R} {n : β} [Semiring R] : ((Polynomial.monomial (n + 1)) a).coeff 0 = 0 - Polynomial.monomial_add_erase π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) : (Polynomial.monomial n) (p.coeff n) + Polynomial.erase n p = p - Polynomial.coeff_sub π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Ring R] (p q : Polynomial R) (n : β) : (p - q).coeff n = p.coeff n - q.coeff n - Polynomial.mul_eq_sum_sum π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p q : Polynomial R} : p * q = β i β p.support, q.sum fun j a => (Polynomial.monomial (i + j)) (p.coeff i * a) - Polynomial.evalβ_mul_noncomm π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] {p q : Polynomial R} [Semiring S] (f : R β+* S) (x : S) (hf : β (k : β), Commute (f (q.coeff k)) x) : Polynomial.evalβ f x (p * q) = Polynomial.evalβ f x p * Polynomial.evalβ f x q - Polynomial.evalβ_list_prod_noncomm π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (x : S) (ps : List (Polynomial R)) (hf : β p β ps, β (k : β), Commute (f (p.coeff k)) x) : Polynomial.evalβ f x ps.prod = (List.map (Polynomial.evalβ f x) ps).prod - Polynomial.natCast_coeff_zero π Mathlib.Algebra.Polynomial.Coeff
{n : β} {R : Type u_1} [Semiring R] : (βn).coeff 0 = βn - Polynomial.intCast_coeff_zero π Mathlib.Algebra.Polynomial.Coeff
{i : β€} {R : Type u_1} [Ring R] : (βi).coeff 0 = βi - Polynomial.coeff_X_mul_zero π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) : (Polynomial.X * p).coeff 0 = 0 - Polynomial.coeff_mul_X_zero π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) : (p * Polynomial.X).coeff 0 = 0 - Polynomial.coeff_X_pow_self π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (n : β) : (Polynomial.X ^ n).coeff n = 1 - Polynomial.constantCoeff_apply π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) : Polynomial.constantCoeff p = p.coeff 0 - Polynomial.finsetSum_coeff π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {ΞΉ : Type u_1} (s : Finset ΞΉ) (f : ΞΉ β Polynomial R) (n : β) : (β b β s, f b).coeff n = β b β s, (f b).coeff n - Polynomial.finset_sum_coeff π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {ΞΉ : Type u_1} (s : Finset ΞΉ) (f : ΞΉ β Polynomial R) (n : β) : (β b β s, f b).coeff n = β b β s, (f b).coeff n - Polynomial.coeff_X_mul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) : (Polynomial.X * p).coeff (n + 1) = p.coeff n - Polynomial.coeff_mul_X π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) : (p * Polynomial.X).coeff (n + 1) = p.coeff n - Polynomial.coeff_sum π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (n : β) (f : β β R β Polynomial S) : (p.sum f).coeff n = p.sum fun a b => (f a b).coeff n - Polynomial.coeff_X_pow π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (k n : β) : (Polynomial.X ^ k).coeff n = if n = k then 1 else 0 - Polynomial.coeff_list_sum_map π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {ΞΉ : Type u_1} (l : List ΞΉ) (f : ΞΉ β Polynomial R) (n : β) : (List.map f l).sum.coeff n = (List.map (fun a => (f a).coeff n) l).sum - Polynomial.coeff_X_add_one_pow π Mathlib.Algebra.Polynomial.Coeff
(R : Type u_1) [Semiring R] (n k : β) : ((Polynomial.X + 1) ^ n).coeff k = β(n.choose k) - Polynomial.coeff_one_add_X_pow π Mathlib.Algebra.Polynomial.Coeff
(R : Type u_1) [Semiring R] (n k : β) : ((1 + Polynomial.X) ^ n).coeff k = β(n.choose k) - Polynomial.coeff_mul_natCast π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} {a k : β} : (p * βa).coeff k = p.coeff k * βa - Polynomial.coeff_natCast_mul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} {a k : β} : (βa * p).coeff k = βa * p.coeff k - Polynomial.C_dvd_iff_dvd_coeff π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (r : R) (Ο : Polynomial R) : Polynomial.C r β£ Ο β β (i : β), r β£ Ο.coeff i - Polynomial.coeff_smul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} {S : Type v} [Semiring R] [SMulZeroClass S R] (r : S) (p : Polynomial R) (n : β) : (r β’ p).coeff n = r β’ p.coeff n - Polynomial.coeff_add π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p q : Polynomial R) (n : β) : (p + q).coeff n = p.coeff n + q.coeff n - Polynomial.coeff_X_pow_mul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n d : β) : (Polynomial.X ^ n * p).coeff (d + n) = p.coeff d - Polynomial.coeff_mul_X_pow π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n d : β) : (p * Polynomial.X ^ n).coeff (d + n) = p.coeff d - Polynomial.lcoeff_apply π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (n : β) (f : Polynomial R) : (Polynomial.lcoeff R n) f = f.coeff n - Polynomial.coeff_C_mul_X π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (x : R) (n : β) : (Polynomial.C x * Polynomial.X).coeff n = if n = 1 then x else 0 - Polynomial.coeff_mul_ofNat π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} {a k : β} [a.AtLeastTwo] : (p * OfNat.ofNat a).coeff k = p.coeff k * OfNat.ofNat a - Polynomial.coeff_ofNat_mul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} {a k : β} [a.AtLeastTwo] : (OfNat.ofNat a * p).coeff k = OfNat.ofNat a * p.coeff k - Polynomial.mul_coeff_zero π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p q : Polynomial R) : (p * q).coeff 0 = p.coeff 0 * q.coeff 0 - Polynomial.coeff_C_mul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} {a : R} {n : β} [Semiring R] (p : Polynomial R) : (Polynomial.C a * p).coeff n = a * p.coeff n - Polynomial.coeff_mul_C π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) (a : R) : (p * Polynomial.C a).coeff n = p.coeff n * a - Polynomial.coeff_intCast_mul π Mathlib.Algebra.Polynomial.Coeff
{S : Type v} [Ring S] {p : Polynomial S} {a : β€} {k : β} : (βa * p).coeff k = βa * p.coeff k - Polynomial.coeff_mul_intCast π Mathlib.Algebra.Polynomial.Coeff
{S : Type v} [Ring S] {p : Polynomial S} {a : β€} {k : β} : (p * βa).coeff k = p.coeff k * βa - Polynomial.coeff_X_pow_mul' π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n d : β) : (Polynomial.X ^ n * p).coeff d = if n β€ d then p.coeff (d - n) else 0 - Polynomial.coeff_mul_X_pow' π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n d : β) : (p * Polynomial.X ^ n).coeff d = if n β€ d then p.coeff (d - n) else 0 - Polynomial.coeff_mul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p q : Polynomial R) (n : β) : (p * q).coeff n = β x β Finset.HasAntidiagonal.antidiagonal n, p.coeff x.1 * q.coeff x.2 - Polynomial.coeff_C_mul_X_pow π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (x : R) (k n : β) : (Polynomial.C x * Polynomial.X ^ k).coeff n = if n = k then x else 0 - Polynomial.coeff_list_sum π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (l : List (Polynomial R)) (n : β) : l.sum.coeff n = (List.map (β(Polynomial.lcoeff R n)) l).sum - Polynomial.coeff_X_add_C_pow π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (r : R) (n k : β) : ((Polynomial.X + Polynomial.C r) ^ n).coeff k = r ^ (n - k) * β(n.choose k) - Polynomial.coeff_monomial_zero_mul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (d : β) (r : R) : ((Polynomial.monomial 0) r * p).coeff d = r * p.coeff d - Polynomial.coeff_mul_monomial_zero π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (d : β) (r : R) : (p * (Polynomial.monomial 0) r).coeff d = p.coeff d * r - Polynomial.coeff_monomial_mul π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n d : β) (r : R) : ((Polynomial.monomial n) r * p).coeff (d + n) = r * p.coeff d - Polynomial.coeff_mul_monomial π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n d : β) (r : R) : (p * (Polynomial.monomial n) r).coeff (d + n) = p.coeff d * r - Polynomial.mul_coeff_one π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p q : Polynomial R) : (p * q).coeff 1 = p.coeff 0 * q.coeff 1 + p.coeff 1 * q.coeff 0 - Polynomial.update_eq_add_sub_coeff π Mathlib.Algebra.Polynomial.Coeff
{R : Type u_1} [Ring R] (p : Polynomial R) (n : β) (a : R) : p.update n a = p + Polynomial.C (a - p.coeff n) * Polynomial.X ^ n - Polynomial.coeff_natDegree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.coeff p.natDegree = p.leadingCoeff - 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.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.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.nextCoeff_of_natDegree_pos π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} (hp : 0 < p.natDegree) : p.nextCoeff = p.coeff (p.natDegree - 1) - 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_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_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.nextCoeff_ne_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.nextCoeff β 0 β p.natDegree β 0 β§ p.coeff (p.natDegree - 1) β 0 - Polynomial.nextCoeff_eq_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.nextCoeff = 0 β p.natDegree = 0 β¨ 0 < p.natDegree β§ p.coeff (p.natDegree - 1) = 0 - Polynomial.coeff_eq_zero_of_natDegree_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (h : p.natDegree < n) : p.coeff n = 0 - Polynomial.le_natDegree_of_ne_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (h : p.coeff n β 0) : n β€ p.natDegree - Polynomial.coeff_natDegree_succ_eq_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} : p.coeff (p.natDegree + 1) = 0 - Polynomial.natDegree_eq_of_le_of_coeff_ne_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (pn : p.natDegree β€ n) (p1 : p.coeff n β 0) : p.natDegree = n - 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.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.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.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.coeff_mul_degree_add_degree π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] (p q : Polynomial R) : (p * q).coeff (p.natDegree + q.natDegree) = p.leadingCoeff * q.leadingCoeff - Polynomial.eq_C_of_natDegree_eq_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.natDegree = 0) : p = Polynomial.C (p.coeff 0) - Polynomial.eq_C_coeff_zero_iff_natDegree_eq_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} : p = Polynomial.C (p.coeff 0) β p.natDegree = 0 - Polynomial.eq_C_of_natDegree_le_zero π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.natDegree β€ 0) : p = Polynomial.C (p.coeff 0) - Polynomial.ext_iff_natDegree_le π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} {n : β} (hp : p.natDegree β€ n) (hq : q.natDegree β€ n) : p = q β β i β€ n, p.coeff i = q.coeff i - Polynomial.coeff_pow_mul_natDegree π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) : (p ^ n).coeff (n * p.natDegree) = p.leadingCoeff ^ n - 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.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.ite_le_natDegree_coeff π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) (I : Decidable (n < 1 + p.natDegree)) : (if n < 1 + p.natDegree then p.coeff n else 0) = p.coeff n - 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.coeff_mul_add_eq_of_natDegree_le π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {df dg : β} {f g : Polynomial R} (hdf : f.natDegree β€ df) (hdg : g.natDegree β€ dg) : (f * g).coeff (df + dg) = f.coeff df * g.coeff dg - Polynomial.coeff_X_sub_C_mul π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {p : Polynomial R} {r : R} {a : β} : ((Polynomial.X - Polynomial.C r) * p).coeff (a + 1) = p.coeff a - r * p.coeff (a + 1) - Polynomial.coeff_mul_X_sub_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {p : Polynomial R} {r : R} {a : β} : (p * (Polynomial.X - Polynomial.C r)).coeff (a + 1) = p.coeff a - p.coeff (a + 1) * r - Polynomial.sum_over_range' π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} {S : Type v} [Semiring R] [AddCommMonoid S] (p : Polynomial R) {f : β β R β S} (h : β (n : β), f n 0 = 0) (n : β) (hn : p.natDegree < n) : p.sum f = β a β Finset.range n, f a (p.coeff a) - Polynomial.sum_over_range π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} {S : Type v} [Semiring R] [AddCommMonoid S] (p : Polynomial R) {f : β β R β S} (h : β (n : β), f n 0 = 0) : p.sum f = β a β Finset.range (p.natDegree + 1), f a (p.coeff a) - 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.as_sum_support π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] (p : Polynomial R) : p = β i β p.support, (Polynomial.monomial i) (p.coeff i) - Polynomial.as_sum_range' π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] (p : Polynomial R) (n : β) (hn : p.natDegree < n) : p = β i β Finset.range n, (Polynomial.monomial i) (p.coeff i) - Polynomial.as_sum_support_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] (p : Polynomial R) : p = β i β p.support, Polynomial.C (p.coeff i) * Polynomial.X ^ i - Polynomial.as_sum_range π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] (p : Polynomial R) : p = β i β Finset.range (p.natDegree + 1), (Polynomial.monomial i) (p.coeff i) - Polynomial.as_sum_range_C_mul_X_pow' π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] (p : Polynomial R) {n : β} (hn : p.natDegree < n) : p = β i β Finset.range n, Polynomial.C (p.coeff i) * Polynomial.X ^ i - Polynomial.as_sum_range_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] (p : Polynomial R) : p = β i β Finset.range (p.natDegree + 1), Polynomial.C (p.coeff i) * Polynomial.X ^ i - 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.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.eq_X_add_C_of_natDegree_le_one π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.natDegree β€ 1) : p = Polynomial.C (p.coeff 1) * Polynomial.X + Polynomial.C (p.coeff 0) - 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.coeff_coe_units_zero_ne_zero π Mathlib.Algebra.Polynomial.Degree.Units
{R : Type u} [Semiring R] [NoZeroDivisors R] [Nontrivial R] (u : (Polynomial R)Λ£) : (βu).coeff 0 β 0 - Polynomial.coeff_zero_eq_eval_zero π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) : p.coeff 0 = Polynomial.eval 0 p - 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.evalβ_at_zero π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) : Polynomial.evalβ f 0 p = f (p.coeff 0) - Polynomial.coeff_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) (n : β) : (Polynomial.map f p).coeff n = f (p.coeff n) - Polynomial.coeff_map_eq_comp π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (p : Polynomial R) (f : R β+* S) : β(Polynomial.map f p).coeff = βf β βp.coeff - Polynomial.eval_eq_sum_range' π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (hn : p.natDegree < n) (x : R) : Polynomial.eval x p = β i β Finset.range n, p.coeff i * x ^ i - Polynomial.eval_eq_sum_range π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} [Semiring R] {p : Polynomial R} (x : R) : Polynomial.eval x p = β i β Finset.range (p.natDegree + 1), p.coeff i * x ^ i - Polynomial.coeff_comp_degree_mul_degree π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} [Semiring R] {p q : Polynomial R} (hqd0 : q.natDegree β 0) : (p.comp q).coeff (p.natDegree * q.natDegree) = p.leadingCoeff * q.leadingCoeff ^ p.natDegree - Polynomial.evalβ_eq_sum_range' π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) {p : Polynomial R} {n : β} (hn : p.natDegree < n) (x : S) : Polynomial.evalβ f x p = β i β Finset.range n, f (p.coeff i) * x ^ i - Polynomial.evalβ_eq_sum_range π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) (x : S) : Polynomial.evalβ f x p = β i β Finset.range (p.natDegree + 1), f (p.coeff i) * x ^ i - Polynomial.comp_C_mul_X_coeff π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} [Semiring R] {p : Polynomial R} {r : R} {n : β} : (p.comp (Polynomial.C r * Polynomial.X)).coeff n = p.coeff n * r ^ n - Polynomial.coeff_zero_eq_aeval_zero π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] (p : Polynomial R) : p.coeff 0 = (Polynomial.aeval 0) p - Polynomial.coeff_zero_eq_aeval_zero' π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {A : Type z} [CommSemiring R] [Semiring A] [Algebra R A] (p : Polynomial R) : (algebraMap R A) (p.coeff 0) = (Polynomial.aeval 0) p - Polynomial.aeval_eq_sum_range' π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {p : Polynomial R} {n : β} (hn : p.natDegree < n) (x : S) : (Polynomial.aeval x) p = β i β Finset.range n, p.coeff i β’ x ^ i - Polynomial.aeval_eq_sum_range π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {p : Polynomial R} (x : S) : (Polynomial.aeval x) p = β i β Finset.range (p.natDegree + 1), p.coeff i β’ x ^ i - Polynomial.coeff_mapAlgHom_apply π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {A : Type z} {B : Type u_2} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A ββ[R] B) (p : Polynomial A) (n : β) : ((Polynomial.mapAlgHom f) p).coeff n = f (p.coeff n) - Polynomial.mem_nonzeroDivisors_of_coeff_mem π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] {p : Polynomial R} (n : β) (hp : p.coeff n β nonZeroDivisors R) : p β nonZeroDivisors (Polynomial 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.dvd_term_of_dvd_eval_of_dvd_terms π Mathlib.Algebra.Polynomial.AlgebraMap
{S : Type v} [CommRing S] {z p : S} {f : Polynomial S} (i : β) (dvd_eval : p β£ Polynomial.eval z f) (dvd_terms : β (j : β), j β i β p β£ f.coeff j * z ^ j) : p β£ f.coeff i * z ^ i - Polynomial.units_coeff_zero_smul π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommRing R] [IsDomain R] (c : (Polynomial R)Λ£) (p : Polynomial R) : (βc).coeff 0 β’ p = βc * p - Polynomial.coeff_zero_of_isScalarTower π Mathlib.Algebra.Polynomial.AlgebraMap
{A : Type u_3} (B : Type u_4) (C : Type u_5) [CommSemiring A] [CommSemiring B] [Semiring C] [Algebra A B] [Algebra A C] [Algebra B C] [IsScalarTower A B C] (p : Polynomial A) : (algebraMap B C) ((algebraMap A B) (p.coeff 0)) = ((Polynomial.mapAlg A C) p).coeff 0 - MvPolynomial.coeff_eval_eq_eval_coeff π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} (Sβ : Type v) [CommSemiring R] (s' : Sβ β R) (f : Polynomial (MvPolynomial Sβ R)) (i : β) : (Polynomial.map (MvPolynomial.eval s') f).coeff i = (MvPolynomial.eval s') (f.coeff i) - MvPolynomial.coeff_uniqueAlgEquiv π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) {Ο : Type u_1} [CommSemiring R] [Unique Ο] (P : MvPolynomial Ο R) (n : β) : ((MvPolynomial.uniqueAlgEquiv R Ο) P).coeff n = P.coeff funβ | default => n - MvPolynomial.coeff_uniqueAlgEquiv_symm π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) {Ο : Type u_1} [CommSemiring R] [Unique Ο] (P : Polynomial R) (d : Ο ββ β) : ((MvPolynomial.uniqueAlgEquiv R Ο).symm P).coeff d = P.coeff (d default) - MvPolynomial.totalDegree_coeff_optionEquivLeft_le π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) (Sβ : Type v) [CommSemiring R] (p : MvPolynomial (Option Sβ) R) (i : β) : (((MvPolynomial.optionEquivLeft R Sβ) p).coeff i).totalDegree β€ p.totalDegree - MvPolynomial.totalDegree_coeff_optionEquivLeft_add_le π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) (Sβ : Type v) [CommSemiring R] (p : MvPolynomial (Option Sβ) R) (i : β) (hi : i β€ p.totalDegree) : (((MvPolynomial.optionEquivLeft R Sβ) p).coeff i).totalDegree + i β€ p.totalDegree - MvPolynomial.mem_support_coeff_optionEquivLeft π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) {Ο : Type u_1} [CommSemiring R] {f : MvPolynomial (Option Ο) R} {i : β} {m : Ο ββ β} : m β (((MvPolynomial.optionEquivLeft R Ο) f).coeff i).support β Finsupp.optionElim i m β f.support - MvPolynomial.optionEquivLeft_coeff_coeff π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) {Ο : Type u_1} [CommSemiring R] (p : MvPolynomial (Option Ο) R) (m : β) (d : Ο ββ β) : (((MvPolynomial.optionEquivLeft R Ο) p).coeff m).coeff d = p.coeff (Finsupp.optionElim m d) - MvPolynomial.optionEquivLeft_coeff_some_coeff_none π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) (Sβ : Type v) [CommSemiring R] (n : Option Sβ ββ β) (f : MvPolynomial (Option Sβ) R) : (((MvPolynomial.optionEquivLeft R Sβ) f).coeff (n none)).coeff n.some = f.coeff n - MvPolynomial.degreeOf_coeff_finSuccEquiv π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} [CommSemiring R] {n : β} (p : MvPolynomial (Fin (n + 1)) R) (j : Fin n) (i : β) : MvPolynomial.degreeOf j (((MvPolynomial.finSuccEquiv R n) p).coeff i) β€ MvPolynomial.degreeOf j.succ p - MvPolynomial.mem_support_coeff_finSuccEquiv π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} [CommSemiring R] {n : β} {f : MvPolynomial (Fin (n + 1)) R} {i : β} {m : Fin n ββ β} : m β (((MvPolynomial.finSuccEquiv R n) f).coeff i).support β Finsupp.cons i m β f.support - MvPolynomial.finSuccEquiv_coeff_coeff π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} [CommSemiring R] {n : β} (m : Fin n ββ β) (f : MvPolynomial (Fin (n + 1)) R) (i : β) : (((MvPolynomial.finSuccEquiv R n) f).coeff i).coeff m = f.coeff (Finsupp.cons i m) - MvPolynomial.mem_image_support_coeff_finSuccEquiv π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} [CommSemiring R] {n : β} {f : MvPolynomial (Fin (n + 1)) R} {i : β} {x : Fin (n + 1) ββ β} : x β Finsupp.cons i '' β(((MvPolynomial.finSuccEquiv R n) f).coeff i).support β x β f.support β§ x 0 = i - MvPolynomial.image_support_finSuccEquiv π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} [CommSemiring R] {n : β} {f : MvPolynomial (Fin (n + 1)) R} {i : β} : Finset.image (Finsupp.cons i) (((MvPolynomial.finSuccEquiv R n) f).coeff i).support = {m β f.support | m 0 = i} - MvPolynomial.totalDegree_coeff_finSuccEquiv_add_le π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} [CommSemiring R] {n : β} (f : MvPolynomial (Fin (n + 1)) R) (i : β) (hi : ((MvPolynomial.finSuccEquiv R n) f).coeff i β 0) : (((MvPolynomial.finSuccEquiv R n) f).coeff i).totalDegree + i β€ f.totalDegree - Polynomial.coeff_eq_zero_of_lt_natTrailingDegree π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (h : n < p.natTrailingDegree) : p.coeff n = 0 - Polynomial.natTrailingDegree_le_of_ne_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (h : p.coeff n β 0) : p.natTrailingDegree β€ n - Polynomial.coeff_eq_zero_of_lt_trailingDegree π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (h : βn < p.trailingDegree) : p.coeff n = 0 - Polynomial.trailingDegree_le_of_ne_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (h : p.coeff n β 0) : p.trailingDegree β€ βn - Polynomial.coeff_natTrailingDegree_eq_zero_of_trailingDegree_lt π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.trailingDegree < q.trailingDegree) : q.coeff p.natTrailingDegree = 0 - Polynomial.trailingDegree_eq_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} : p.trailingDegree = 0 β p.coeff 0 β 0 - Polynomial.trailingDegree_le_trailingDegree π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p q : Polynomial R} (h : q.coeff p.natTrailingDegree β 0) : q.trailingDegree β€ p.trailingDegree - Polynomial.trailingDegree_ne_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} : p.trailingDegree β 0 β p.coeff 0 = 0 - Polynomial.coeff_natTrailingDegree_eq_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} : p.coeff p.natTrailingDegree = 0 β p = 0 - Polynomial.coeff_natTrailingDegree_ne_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} : p.coeff p.natTrailingDegree β 0 β p β 0 - Polynomial.coeff_natTrailingDegree_pred_eq_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} {hp : 0 < βp.natTrailingDegree} : p.coeff (p.natTrailingDegree - 1) = 0 - Polynomial.le_natTrailingDegree π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} (hp : p β 0) (hn : β m < n, p.coeff m = 0) : n β€ p.natTrailingDegree - Polynomial.natTrailingDegree_eq_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} : p.natTrailingDegree = 0 β p = 0 β¨ p.coeff 0 β 0 - Polynomial.natTrailingDegree_ne_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} : p.natTrailingDegree β 0 β p β 0 β§ p.coeff 0 = 0 - Polynomial.trailingCoeff_eq_coeff_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.coeff 0 β 0) : p.trailingCoeff = p.coeff 0 - Polynomial.coeff_mul_natTrailingDegree_add_natTrailingDegree π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] {p q : Polynomial R} : (p * q).coeff (p.natTrailingDegree + q.natTrailingDegree) = p.trailingCoeff * q.trailingCoeff - Polynomial.nextCoeffUp_of_constantCoeff_eq_zero π Mathlib.Algebra.Polynomial.Degree.TrailingDegree
{R : Type u} [Semiring R] (p : Polynomial R) (hp : p.coeff 0 = 0) : p.nextCoeffUp = p.coeff (p.natTrailingDegree + 1) - Polynomial.natDegree_le_iff_coeff_eq_zero π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} : p.natDegree β€ n β β (N : β), n < N β p.coeff N = 0 - Polynomial.coeff_add_eq_left_of_lt π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {n : β} [Semiring R] {p q : Polynomial R} (qn : q.natDegree < n) : (p + q).coeff n = p.coeff n - Polynomial.coeff_add_eq_right_of_lt π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {n : β} [Semiring R] {p q : Polynomial R} (pn : p.natDegree < n) : (p + q).coeff n = q.coeff n - Polynomial.natDegree_lt_coeff_mul π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {m n : β} [Semiring R] {p q : Polynomial R} (h : p.natDegree + q.natDegree < m + n) : (p * q).coeff (m + n) = 0 - Polynomial.coeff_sub_eq_left_of_lt π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {n : β} [Ring R] {p q : Polynomial R} (dg : q.natDegree < n) : (p - q).coeff n = p.coeff n - Polynomial.coeff_pow_of_natDegree_le π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {m n : β} [Semiring R] {p : Polynomial R} (pn : p.natDegree β€ n) : (p ^ m).coeff (m * n) = p.coeff n ^ m - Polynomial.coeff_sub_eq_neg_right_of_lt π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {n : β} [Ring R] {p q : Polynomial R} (df : p.natDegree < n) : (p - q).coeff n = -q.coeff n - Polynomial.natDegree_add_coeff_mul π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] (f g : Polynomial R) : (f * g).coeff (f.natDegree + g.natDegree) = f.coeff f.natDegree * g.coeff g.natDegree - Polynomial.coeff_pow_eq_ite_of_natDegree_le_of_le π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {m n : β} [Semiring R] {p : Polynomial R} {o : β} (pn : p.natDegree β€ n) (mno : m * n β€ o) : (p ^ m).coeff o = if o = m * n then p.coeff n ^ m else 0 - Polynomial.comp_eq_zero_iff π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] [NoZeroDivisors R] {p q : Polynomial R} : p.comp q = 0 β p = 0 β¨ Polynomial.eval (q.coeff 0) p = 0 β§ q = Polynomial.C (q.coeff 0)
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