Loogle!
Result
Found 308 declarations mentioning Polynomial.leadingCoeff. Of these, only the first 200 are shown.
- Polynomial.leadingCoeff π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (p : Polynomial R) : R - Polynomial.leadingCoeff_X π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.X.leadingCoeff = 1 - Polynomial.leadingCoeff_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.leadingCoeff 0 = 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.leadingCoeff_one π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] : Polynomial.leadingCoeff 1 = 1 - 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.coeff_natDegree π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.coeff p.natDegree = p.leadingCoeff - Polynomial.leadingCoeff_eq_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.leadingCoeff = 0 β p = 0 - Polynomial.leadingCoeff_ne_zero π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.leadingCoeff β 0 β p β 0 - Polynomial.leadingCoeff_neg π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Ring R] (p : Polynomial R) : (-p).leadingCoeff = -p.leadingCoeff - Polynomial.leadingCoeff_C π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (a : R) : (Polynomial.C a).leadingCoeff = a - Polynomial.leadingCoeff_X_pow π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (n : β) : (Polynomial.X ^ n).leadingCoeff = 1 - Polynomial.leadingCoeff_C_mul_X π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (a : R) : (Polynomial.C a * Polynomial.X).leadingCoeff = a - Polynomial.leadingCoeff_monomial π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (a : R) (n : β) : ((Polynomial.monomial n) a).leadingCoeff = a - Polynomial.leadingCoeff_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Defs
{R : Type u} [Semiring R] (a : R) (n : β) : (Polynomial.C a * Polynomial.X ^ n).leadingCoeff = a - 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.leadingCoeff_mul_X π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} : (p * Polynomial.X).leadingCoeff = p.leadingCoeff - 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.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.leadingCoeff_mul π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [NoZeroDivisors R] (p q : Polynomial R) : (p * q).leadingCoeff = p.leadingCoeff * q.leadingCoeff - Polynomial.leadingCoeff_dvd_leadingCoeff π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [NoZeroDivisors R] {a p : Polynomial R} (hap : a β£ p) : a.leadingCoeff β£ p.leadingCoeff - Polynomial.leadingCoeff_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : (p * Polynomial.X ^ n).leadingCoeff = p.leadingCoeff - Polynomial.leadingCoeff_pow π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [NoZeroDivisors R] (p : Polynomial R) (n : β) : (p ^ n).leadingCoeff = p.leadingCoeff ^ n - 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.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.natDegree_mul' π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.leadingCoeff * q.leadingCoeff β 0) : (p * q).natDegree = p.natDegree + q.natDegree - Polynomial.leadingCoeff_X_add_C π Mathlib.Algebra.Polynomial.Degree.Operations
{S : Type v} [Semiring S] (r : S) : (Polynomial.X + Polynomial.C r).leadingCoeff = 1 - Polynomial.leadingCoeff_mul' π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.leadingCoeff * q.leadingCoeff β 0) : (p * q).leadingCoeff = p.leadingCoeff * q.leadingCoeff - Polynomial.natDegree_pow' π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (h : p.leadingCoeff ^ n β 0) : (p ^ n).natDegree = n * p.natDegree - 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.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.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.leadingCoeffHom_apply π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [NoZeroDivisors R] (p : Polynomial R) : Polynomial.leadingCoeffHom p = p.leadingCoeff - Polynomial.leadingCoeff_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).leadingCoeff = a * p.leadingCoeff - Polynomial.leadingCoeff_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).leadingCoeff = p.leadingCoeff * a - Polynomial.leadingCoeff_pow' π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} {n : β} [Semiring R] {p : Polynomial R} : p.leadingCoeff ^ n β 0 β (p ^ n).leadingCoeff = p.leadingCoeff ^ n - 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.leadingCoeff_X_pow_add_one π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {n : β} (hn : 0 < n) : (Polynomial.X ^ n + 1).leadingCoeff = 1 - 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.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.leadingCoeff_X_sub_C π Mathlib.Algebra.Polynomial.Degree.Operations
{S : Type v} [Ring S] (r : S) : (Polynomial.X - Polynomial.C r).leadingCoeff = 1 - Polynomial.leadingCoeff_pow_X_add_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] (r : R) (i : β) : ((Polynomial.X + Polynomial.C r) ^ i).leadingCoeff = 1 - Polynomial.leadingCoeff_X_pow_add_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {n : β} (hn : 0 < n) {r : R} : (Polynomial.X ^ n + Polynomial.C r).leadingCoeff = 1 - Polynomial.leadingCoeff_X_pow_sub_one π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {n : β} (hn : 0 < n) : (Polynomial.X ^ n - 1).leadingCoeff = 1 - Polynomial.leadingCoeff_X_pow_sub_C π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Ring R] {n : β} (hn : 0 < n) {r : R} : (Polynomial.X ^ n - Polynomial.C r).leadingCoeff = 1 - Polynomial.leadingCoeff_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).leadingCoeff = a - 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.leadingCoeff_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).leadingCoeff = a - Polynomial.leadingCoeff_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).leadingCoeff = a - Polynomial.natDegree_map_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).natDegree = p.natDegree - 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.isUnit_of_isUnit_leadingCoeff_of_isUnit_map π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [CommRing S] [IsDomain S] (Ο : R β+* S) {f : Polynomial R} (hf : IsUnit f.leadingCoeff) (H : IsUnit (Polynomial.map Ο f)) : IsUnit f - Polynomial.natDegree_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β : 0 < p.natDegree) : (Polynomial.map f p).natDegree < p.natDegree - Polynomial.leadingCoeff_map_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).leadingCoeff = f p.leadingCoeff - Polynomial.nextCoeff_map_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).nextCoeff = f p.nextCoeff - 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 - Polynomial.natDegree_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β : Polynomial.map f p β 0) : (Polynomial.map f p).natDegree < p.natDegree - 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.natDegree_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).natDegree = p.natDegree - 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.leadingCoeff_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).leadingCoeff = f p.leadingCoeff - Polynomial.nextCoeff_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).nextCoeff = f p.nextCoeff - Polynomial.leadingCoeff_comp π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p q : Polynomial R} [NoZeroDivisors R] (hq : q.natDegree β 0) : (p.comp q).leadingCoeff = p.leadingCoeff * q.leadingCoeff ^ p.natDegree - Polynomial.leadingCoeff_map_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).leadingCoeff = f p.leadingCoeff - Polynomial.natDegree_comp_eq_of_mul_ne_zero π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p q : Polynomial R} (h : p.leadingCoeff * q.leadingCoeff ^ p.natDegree β 0) : (p.comp q).natDegree = p.natDegree * q.natDegree - Polynomial.natDegree_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).natDegree = p.natDegree β f p.leadingCoeff β 0 β¨ p.natDegree = 0 - 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.natDegree_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).natDegree = p.natDegree - Polynomial.natDegree_mul_C_eq_of_mul_ne_zero π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} (h : p.leadingCoeff * a β 0) : (p * Polynomial.C a).natDegree = p.natDegree - Polynomial.comp_neg_X_leadingCoeff_eq π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Ring R] (p : Polynomial R) : (p.comp (-Polynomial.X)).leadingCoeff = (-1) ^ p.natDegree * p.leadingCoeff - 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_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.natDegree_mul_leadingCoeff_self_inv π Mathlib.Algebra.Polynomial.Degree.Lemmas
{K : Type u_1} [DivisionRing K] (p : Polynomial K) : (p * Polynomial.C p.leadingCoeffβ»ΒΉ).natDegree = p.natDegree - 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.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.irreducible_mul_leadingCoeff_inv π Mathlib.Algebra.Polynomial.Degree.Lemmas
{K : Type u_1} [DivisionRing K] {p : Polynomial K} : Irreducible (p * Polynomial.C p.leadingCoeffβ»ΒΉ) β Irreducible p - Polynomial.natDegree_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β»ΒΉ).natDegree = p.natDegree - 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.dvd_mul_leadingCoeff_inv π Mathlib.Algebra.Polynomial.Degree.Lemmas
{K : Type u_1} [DivisionRing K] {p q : Polynomial K} (hp0 : p β 0) : q β£ p * Polynomial.C p.leadingCoeffβ»ΒΉ β q β£ p - Polynomial.monomial_natDegree_leadingCoeff_eq_self π Mathlib.Algebra.Polynomial.Degree.Monomial
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.support.card β€ 1) : (Polynomial.monomial p.natDegree) p.leadingCoeff = p - Polynomial.C_mul_X_pow_eq_self π Mathlib.Algebra.Polynomial.Degree.Monomial
{R : Type u} [Semiring R] {p : Polynomial R} (h : p.support.card β€ 1) : Polynomial.C p.leadingCoeff * Polynomial.X ^ p.natDegree = p - Polynomial.leadingCoeff_eraseLead_eq_nextCoeff π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_1} [Semiring R] {f : Polynomial R} (h : f.nextCoeff β 0) : f.eraseLead.leadingCoeff = f.nextCoeff - Polynomial.eraseLead_add_monomial_natDegree_leadingCoeff π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_1} [Semiring R] (f : Polynomial R) : f.eraseLead + (Polynomial.monomial f.natDegree) f.leadingCoeff = f - Polynomial.eraseLead_add_C_mul_X_pow π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_1} [Semiring R] (f : Polynomial R) : f.eraseLead + Polynomial.C f.leadingCoeff * Polynomial.X ^ f.natDegree = f - Polynomial.self_sub_monomial_natDegree_leadingCoeff π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_2} [Ring R] (f : Polynomial R) : f - (Polynomial.monomial f.natDegree) f.leadingCoeff = f.eraseLead - Polynomial.self_sub_C_mul_X_pow π Mathlib.Algebra.Polynomial.EraseLead
{R : Type u_2} [Ring R] (f : Polynomial R) : f - Polynomial.C f.leadingCoeff * Polynomial.X ^ f.natDegree = f.eraseLead - Polynomial.reverse_leadingCoeff π Mathlib.Algebra.Polynomial.Reverse
{R : Type u_1} [Semiring R] (f : Polynomial R) : f.reverse.leadingCoeff = f.trailingCoeff - Polynomial.reverse_trailingCoeff π Mathlib.Algebra.Polynomial.Reverse
{R : Type u_1} [Semiring R] (f : Polynomial R) : f.reverse.trailingCoeff = f.leadingCoeff - Polynomial.coeff_zero_reverse π Mathlib.Algebra.Polynomial.Reverse
{R : Type u_1} [Semiring R] (f : Polynomial R) : f.reverse.coeff 0 = f.leadingCoeff - Polynomial.reverse_mul π Mathlib.Algebra.Polynomial.Reverse
{R : Type u_1} [Semiring R] {f g : Polynomial R} (fg : f.leadingCoeff * g.leadingCoeff β 0) : (f * g).reverse = f.reverse * g.reverse - Polynomial.isUnit_leadingCoeff_mul_left_eq_zero_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (h : IsUnit p.leadingCoeff) {q : Polynomial R} : q * p = 0 β q = 0 - Polynomial.isUnit_leadingCoeff_mul_right_eq_zero_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (h : IsUnit p.leadingCoeff) {q : Polynomial R} : p * q = 0 β q = 0 - Polynomial.leadingCoeff_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).leadingCoeff = k β’ p.leadingCoeff - 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.leadingCoeff_prod π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} {ΞΉ : Type w} (s : Finset ΞΉ) [CommSemiring R] [NoZeroDivisors R] (f : ΞΉ β Polynomial R) : (β i β s, f i).leadingCoeff = β i β s, (f i).leadingCoeff - Polynomial.leadingCoeff_multiset_prod π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [CommSemiring R] [NoZeroDivisors R] (t : Multiset (Polynomial R)) : t.prod.leadingCoeff = (Multiset.map (fun f => f.leadingCoeff) t).prod - Polynomial.natDegree_prod' π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} {ΞΉ : Type w} (s : Finset ΞΉ) [CommSemiring R] (f : ΞΉ β Polynomial R) (h : β i β s, (f i).leadingCoeff β 0) : (β i β s, f i).natDegree = β i β s, (f i).natDegree - Polynomial.leadingCoeff_multiset_prod' π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [CommSemiring R] (t : Multiset (Polynomial R)) (h : (Multiset.map Polynomial.leadingCoeff t).prod β 0) : t.prod.leadingCoeff = (Multiset.map Polynomial.leadingCoeff t).prod - Polynomial.leadingCoeff_prod' π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} {ΞΉ : Type w} (s : Finset ΞΉ) [CommSemiring R] (f : ΞΉ β Polynomial R) (h : β i β s, (f i).leadingCoeff β 0) : (β i β s, f i).leadingCoeff = β i β s, (f i).leadingCoeff - Polynomial.natDegree_multiset_prod' π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [CommSemiring R] (t : Multiset (Polynomial R)) (h : (Multiset.map (fun f => f.leadingCoeff) t).prod β 0) : t.prod.natDegree = (Multiset.map (fun f => f.natDegree) 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 - Ideal.mem_leadingCoeff π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [CommSemiring R] (I : Ideal (Polynomial R)) (x : R) : x β I.leadingCoeff β β p β I, p.leadingCoeff = x - 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.leadingCoeff_derivative π Mathlib.Algebra.Polynomial.Derivative
{R : Type u} [Semiring R] [IsAddTorsionFree R] (p : Polynomial R) : (Polynomial.derivative p).leadingCoeff = p.leadingCoeff * βp.natDegree - 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.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.eq_of_dvd_of_natDegree_le_of_leadingCoeff π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] [IsDomain R] {p q : Polynomial R} (hpq : p β£ q) (hβ : q.natDegree β€ p.natDegree) (hβ : p.leadingCoeff = q.leadingCoeff) : p = q - Polynomial.associated_of_dvd_of_natDegree_le_of_leadingCoeff π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] [IsDomain R] {p q : Polynomial R} (hpq : p β£ q) (hβ : q.natDegree β€ p.natDegree) (hβ : q.leadingCoeff β£ p.leadingCoeff) : Associated p q - 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.leadingCoeff_divByMonic_X_sub_C π Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] [IsDomain R] (p : Polynomial R) (hp : p.degree β 0) (a : R) : (p /β (Polynomial.X - Polynomial.C a)).leadingCoeff = p.leadingCoeff - 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.mem_nonZeroDivisors_of_leadingCoeff π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] {p : Polynomial R} (h : p.leadingCoeff β nonZeroDivisors R) : p β nonZeroDivisors (Polynomial R) - Polynomial.leadingCoeff_expand π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] {p : β} {f : Polynomial R} (hp : 0 < p) : ((Polynomial.expand R p) f).leadingCoeff = f.leadingCoeff - Polynomial.natDegree_cancelLeads_lt_of_natDegree_le_natDegree_of_comm π Mathlib.Algebra.Polynomial.CancelLeads
{R : Type u_1} [Ring R] {p q : Polynomial R} (comm : p.leadingCoeff * q.leadingCoeff = q.leadingCoeff * p.leadingCoeff) (h : p.natDegree β€ q.natDegree) (hq : 0 < q.natDegree) : (p.cancelLeads q).natDegree < q.natDegree - 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.C_leadingCoeff_mul_prod_multiset_X_sub_C π Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} (hroots : p.roots.card = p.natDegree) : Polynomial.C p.leadingCoeff * (Multiset.map (fun a => Polynomial.X - Polynomial.C a) p.roots).prod = p - Polynomial.leadingCoeff_map π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {S : Type v} [Ring R] [IsSimpleRing R] [Semiring S] [Nontrivial S] {p : Polynomial R} (f : R β+* S) : (Polynomial.map f p).leadingCoeff = f p.leadingCoeff - Polynomial.leadingCoeff_normalize π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] (p : Polynomial R) : (normalize p).leadingCoeff = normalize p.leadingCoeff - Polynomial.leadingCoeff_div π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {p q : Polynomial R} (hpq : q.degree β€ p.degree) : (p / q).leadingCoeff = p.leadingCoeff / q.leadingCoeff - Polynomial.coe_normUnit π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] {p : Polynomial R} : β(normUnit p) = Polynomial.C β(normUnit p.leadingCoeff) - Polynomial.mod_def π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {p q : Polynomial R} : p % q = p %β (q * Polynomial.C q.leadingCoeffβ»ΒΉ) - Polynomial.coe_normUnit_of_ne_zero π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {p : Polynomial R} [DecidableEq R] (hp : p β 0) : β(normUnit p) = Polynomial.C p.leadingCoeffβ»ΒΉ - Polynomial.leadingCoeff_mul_prod_normalizedFactors π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] [DecidableEq R] (a : Polynomial R) : Polynomial.C a.leadingCoeff * (UniqueFactorizationMonoid.normalizedFactors a).prod = a - Polynomial.div_def π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [Field R] {p q : Polynomial R} : p / q = Polynomial.C q.leadingCoeffβ»ΒΉ * (p /β (q * Polynomial.C q.leadingCoeffβ»ΒΉ)) - Polynomial.content_eq_gcd_leadingCoeff_content_eraseLead π Mathlib.RingTheory.Polynomial.Content
{R : Type u_1} [CommRing R] [NormalizedGCDMonoid R] (p : Polynomial R) : p.content = gcd p.leadingCoeff p.eraseLead.content - Polynomial.content_mul_aux π Mathlib.RingTheory.Polynomial.Content
{R : Type u_1} [CommRing R] [NormalizedGCDMonoid R] {p q : Polynomial R} : gcd (p * q).eraseLead.content p.leadingCoeff = gcd (p.eraseLead * q).content p.leadingCoeff - Polynomial.transcendental π Mathlib.RingTheory.Algebraic.Basic
{R : Type u} [CommRing R] (f : Polynomial R) (hf : f.natDegree β 0) (hf' : f.leadingCoeff β nonZeroDivisors R) : Transcendental R f - IsAlgebraic.of_aeval π Mathlib.RingTheory.Algebraic.Basic
{R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] {r : A} (f : Polynomial R) (hf : f.natDegree β 0) (hf' : f.leadingCoeff β nonZeroDivisors R) (H : IsAlgebraic R ((Polynomial.aeval r) f)) : IsAlgebraic R r - Transcendental.aeval π Mathlib.RingTheory.Algebraic.Basic
{R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] {r : A} (H : Transcendental R r) (f : Polynomial R) (hf : f.natDegree β 0) (hf' : f.leadingCoeff β nonZeroDivisors R) : Transcendental R ((Polynomial.aeval r) f) - Polynomial.leadingCoeff_det_X_one_add_C π Mathlib.LinearAlgebra.Matrix.Polynomial
{n : Type u_1} {Ξ± : Type u_2} [DecidableEq n] [Fintype n] [CommRing Ξ±] (A : Matrix n n Ξ±) : (Polynomial.X β’ 1 + A.map βPolynomial.C).det.leadingCoeff = 1 - Polynomial.hasseDeriv_natDegree_eq_C π Mathlib.Algebra.Polynomial.HasseDeriv
{R : Type u_1} [Semiring R] (f : Polynomial R) : (Polynomial.hasseDeriv f.natDegree) f = Polynomial.C f.leadingCoeff - Polynomial.leadingCoeff_taylor π Mathlib.Algebra.Polynomial.Taylor
{R : Type u_1} [Semiring R] (r : R) (f : Polynomial R) : ((Polynomial.taylor r) f).leadingCoeff = f.leadingCoeff - Polynomial.coeff_taylor_natDegree π Mathlib.Algebra.Polynomial.Taylor
{R : Type u_1} [Semiring R] (r : R) (f : Polynomial R) : ((Polynomial.taylor r) f).coeff f.natDegree = f.leadingCoeff - Polynomial.splits_of_natDegree_le_one_of_invertible π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.natDegree β€ 1) (h : Invertible f.leadingCoeff) : f.Splits - Polynomial.Splits.of_natDegree_le_one_of_invertible π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.natDegree β€ 1) (h : Invertible f.leadingCoeff) : f.Splits - Polynomial.splits_of_degree_le_one_of_invertible π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.degree β€ 1) (h : Invertible f.leadingCoeff) : f.Splits - Polynomial.Splits.of_degree_le_one_of_invertible π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.degree β€ 1) (h : Invertible f.leadingCoeff) : f.Splits - Polynomial.Splits.comp_of_natDegree_le_one_of_invertible π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f g : Polynomial R} (hf : f.Splits) (hg : g.natDegree β€ 1) (h : Invertible g.leadingCoeff) : (f.comp g).Splits - Polynomial.Splits.comp_of_degree_le_one_of_invertible π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f g : Polynomial R} (hf : f.Splits) (hg : g.degree β€ 1) (h : Invertible g.leadingCoeff) : (f.comp g).Splits - Polynomial.Splits.nextCoeff_eq_neg_sum_roots_mul_leadingCoeff π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) : f.nextCoeff = -f.leadingCoeff * f.roots.sum - Polynomial.Splits.eval_eq_prod_roots π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) (x : R) : Polynomial.eval x f = f.leadingCoeff * (Multiset.map (fun x_1 => x - x_1) f.roots).prod - Polynomial.Splits.coeff_zero_eq_leadingCoeff_mul_prod_roots π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) : f.coeff 0 = (-1) ^ f.natDegree * f.leadingCoeff * f.roots.prod - Polynomial.splits_iff_exists_multiset' π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f : Polynomial R} : f.Splits β β m, f = Polynomial.C f.leadingCoeff * (Multiset.map (fun x => Polynomial.X + Polynomial.C x) m).prod - Polynomial.Splits.eq_X_sub_C_of_single_root π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) {x : R} (hr : f.roots = {x}) : f = Polynomial.C f.leadingCoeff * (Polynomial.X - Polynomial.C x) - Polynomial.splits_iff_exists_multiset π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} : f.Splits β β m, f = Polynomial.C f.leadingCoeff * (Multiset.map (fun x => Polynomial.X - Polynomial.C x) m).prod - Polynomial.Splits.eq_prod_roots π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] (hf : f.Splits) : f = Polynomial.C f.leadingCoeff * (Multiset.map (fun x => Polynomial.X - Polynomial.C x) f.roots).prod - Polynomial.Splits.aeval_eq_prod_aroots π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} {S : Type u_2} [Field R] [CommRing S] [IsDomain S] [Algebra R S] {f : Polynomial R} (hf : (Polynomial.map (algebraMap R S) f).Splits) (x : S) : (Polynomial.aeval x) f = (algebraMap R S) f.leadingCoeff * (Multiset.map (fun x_1 => x - x_1) (f.aroots S)).prod - Polynomial.Splits.eval_derivative π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] [DecidableEq R] (hf : f.Splits) (x : R) : Polynomial.eval x (Polynomial.derivative f) = f.leadingCoeff * (Multiset.map (fun a => (Multiset.map (fun x_1 => x - x_1) (f.roots.erase a)).prod) f.roots).sum - Polynomial.leadingCoeff_scaleRoots π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} [Semiring R] (p : Polynomial R) (r : R) : (p.scaleRoots r).leadingCoeff = p.leadingCoeff - Polynomial.coeff_scaleRoots_natDegree π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} [Semiring R] (p : Polynomial R) (s : R) : (p.scaleRoots s).coeff p.natDegree = p.leadingCoeff - Polynomial.map_scaleRoots π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} {S : Type u_2} [Semiring R] [Semiring S] (p : Polynomial R) (x : R) (f : R β+* S) (h : f p.leadingCoeff β 0) : Polynomial.map f (p.scaleRoots x) = (Polynomial.map f p).scaleRoots (f x) - Polynomial.scaleRoots_zero π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} [Semiring R] (p : Polynomial R) : p.scaleRoots 0 = p.leadingCoeff β’ Polynomial.X ^ p.natDegree - Polynomial.mul_scaleRoots' π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} [CommSemiring R] (p q : Polynomial R) (r : R) (h : p.leadingCoeff * q.leadingCoeff β 0) : (p * q).scaleRoots r = p.scaleRoots r * q.scaleRoots r - Polynomial.pow_scaleRoots' π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} [CommSemiring R] (p : Polynomial R) (r : R) (n : β) (hp : p.leadingCoeff ^ n β 0) : (p ^ n).scaleRoots r = p.scaleRoots r ^ n - Polynomial.leadingCoeff_smul_integralNormalization π Mathlib.RingTheory.Polynomial.IntegralNormalization
{S : Type v} [CommSemiring S] (p : Polynomial S) : p.leadingCoeff β’ p.integralNormalization = p.scaleRoots p.leadingCoeff - Polynomial.integralNormalization_map π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] {A : Type u_1} [Semiring A] (f : R β+* A) (p : Polynomial R) (H : f p.leadingCoeff β 0) : (Polynomial.map f p).integralNormalization = Polynomial.map f p.integralNormalization - Polynomial.integralNormalization_mul_C_leadingCoeff π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] (p : Polynomial R) : p.integralNormalization * Polynomial.C p.leadingCoeff = p.scaleRoots p.leadingCoeff - Polynomial.integralNormalization_coeff_ne_natDegree π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] {p : Polynomial R} {i : β} (hi : i β p.natDegree) : p.integralNormalization.coeff i = p.coeff i * p.leadingCoeff ^ (p.natDegree - 1 - i) - Polynomial.integralNormalization_coeff_degree_ne π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] {p : Polynomial R} {i : β} (hi : p.degree β βi) : p.integralNormalization.coeff i = p.coeff i * p.leadingCoeff ^ (p.natDegree - 1 - i) - Polynomial.integralNormalization_coeff_mul_leadingCoeff_pow π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] {p : Polynomial R} (i : β) (hp : 1 β€ p.natDegree) : p.integralNormalization.coeff i * p.leadingCoeff ^ i = p.coeff i * p.leadingCoeff ^ (p.natDegree - 1) - Polynomial.integralNormalization_coeff π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] {p : Polynomial R} {i : β} : p.integralNormalization.coeff i = if p.degree = βi then 1 else p.coeff i * p.leadingCoeff ^ (p.natDegree - 1 - i) - Polynomial.integralNormalization_evalβ_eq_zero π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} {S : Type v} [Semiring R] [CommSemiring S] {p : Polynomial R} (f : R β+* S) {z : S} (hz : Polynomial.evalβ f z p = 0) (inj : β (x : R), f x = 0 β x = 0) : Polynomial.evalβ f (f p.leadingCoeff * z) p.integralNormalization = 0 - Polynomial.integralNormalization_evalβ_leadingCoeff_mul π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [CommSemiring S] (h : 1 β€ p.natDegree) (f : R β+* S) (x : S) : Polynomial.evalβ f (f p.leadingCoeff * x) p.integralNormalization = f p.leadingCoeff ^ (p.natDegree - 1) * Polynomial.evalβ f x p - Polynomial.integralNormalization_evalβ_eq_zero_of_commute π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] {A : Type u_1} [Semiring A] {p : Polynomial R} (f : R β+* A) {z : A} (hz : Polynomial.evalβ f z p = 0) (hβ : Commute (f p.leadingCoeff) z) (hβ : β {r r' : R}, Commute (f r) (f r')) (inj : β (x : R), f x = 0 β x = 0) : Polynomial.evalβ f (f p.leadingCoeff * z) p.integralNormalization = 0 - Polynomial.integralNormalization_evalβ_leadingCoeff_mul_of_commute π Mathlib.RingTheory.Polynomial.IntegralNormalization
{R : Type u} [Semiring R] {p : Polynomial R} {A : Type u_1} [Semiring A] (h : 1 β€ p.natDegree) (f : R β+* A) (x : A) (hβ : Commute (f p.leadingCoeff) x) (hβ : β {r r' : R}, Commute (f r) (f r')) : Polynomial.evalβ f (f p.leadingCoeff * x) p.integralNormalization = f p.leadingCoeff ^ (p.natDegree - 1) * Polynomial.evalβ f x p - Polynomial.integralNormalization_aeval_smul π Mathlib.RingTheory.Polynomial.IntegralNormalization
{S : Type v} [CommSemiring S] {R : Type u_2} [CommSemiring R] [Algebra R S] {p : Polynomial R} (h : 1 β€ p.natDegree) (x : S) : (Polynomial.aeval (p.leadingCoeff β’ x)) p.integralNormalization = p.leadingCoeff ^ (p.natDegree - 1) β’ (Polynomial.aeval x) p - Polynomial.integralNormalization_aeval_eq_zero π Mathlib.RingTheory.Polynomial.IntegralNormalization
{S : Type v} {A : Type u_1} [CommSemiring S] [Semiring A] [Algebra S A] {f : Polynomial S} {z : A} (hz : (Polynomial.aeval z) f = 0) (inj : β (x : S), (algebraMap S A) x = 0 β x = 0) : (Polynomial.aeval ((algebraMap S A) f.leadingCoeff * z)) f.integralNormalization = 0 - RingHom.isIntegralElem_leadingCoeff_mul π Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic
{R : Type u_1} {S : Type u_4} [CommRing R] [CommRing S] (f : R β+* S) (p : Polynomial R) (x : S) (h : Polynomial.evalβ f x p = 0) : f.IsIntegralElem (f p.leadingCoeff * x) - isIntegral_leadingCoeff_smul π Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic
{R : Type u_1} {S : Type u_4} [CommRing R] [CommRing S] (p : Polynomial R) (x : S) [Algebra R S] (h : (Polynomial.aeval x) p = 0) : IsIntegral R (p.leadingCoeff β’ x) - IsLocalization.scaleRoots_commonDenom_mem_lifts π Mathlib.RingTheory.Localization.Integral
{R : Type u_1} [CommRing R] (M : Submonoid R) {Rβ : Type u_3} [CommRing Rβ] [Algebra R Rβ] [IsLocalization M Rβ] (p : Polynomial Rβ) (hp : p.leadingCoeff β (algebraMap R Rβ).range) : p.scaleRoots ((algebraMap R Rβ) β(IsLocalization.commonDenom M p.support βp.coeff)) β Polynomial.lifts (algebraMap R Rβ) - RingHom.isIntegralElem_localization_at_leadingCoeff π Mathlib.RingTheory.Localization.Integral
{R : Type u_5} {S : Type u_6} [CommSemiring R] [CommSemiring S] (f : R β+* S) (x : S) (p : Polynomial R) (hf : Polynomial.evalβ f x p = 0) (M : Submonoid R) (hM : p.leadingCoeff β M) {Rβ : Type u_7} {Sβ : Type u_8} [CommRing Rβ] [CommRing Sβ] [Algebra R Rβ] [IsLocalization M Rβ] [Algebra S Sβ] [IsLocalization (Submonoid.map f M) Sβ] : (IsLocalization.map Sβ f β―).IsIntegralElem ((algebraMap S Sβ) x) - is_integral_localization_at_leadingCoeff π Mathlib.RingTheory.Localization.Integral
{R : Type u_1} [CommRing R] {M : Submonoid R} {S : Type u_2} [CommRing S] [Algebra R S] {Rβ : Type u_3} {Sβ : Type u_4} [CommRing Rβ] [CommRing Sβ] [Algebra R Rβ] [IsLocalization M Rβ] [Algebra S Sβ] [IsLocalization (Algebra.algebraMapSubmonoid S M) Sβ] {x : S} (p : Polynomial R) (hp : (Polynomial.aeval x) p = 0) (hM : p.leadingCoeff β M) : (IsLocalization.map Sβ (algebraMap R S) β―).IsIntegralElem ((algebraMap S Sβ) x) - Cubic.leadingCoeff_of_a_ne_zero π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a β 0) : P.toPoly.leadingCoeff = P.a - Cubic.leadingCoeff_of_a_ne_zero' π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {a b c d : R} [Semiring R] (ha : a β 0) : { a := a, b := b, c := c, d := d }.toPoly.leadingCoeff = a - Cubic.leadingCoeff_of_b_ne_zero' π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {b c d : R} [Semiring R] (hb : b β 0) : { a := 0, b := b, c := c, d := d }.toPoly.leadingCoeff = b - Cubic.leadingCoeff_of_c_eq_zero' π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {d : R} [Semiring R] : { a := 0, b := 0, c := 0, d := d }.toPoly.leadingCoeff = d - Cubic.leadingCoeff_of_b_ne_zero π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b β 0) : P.toPoly.leadingCoeff = P.b - Cubic.leadingCoeff_of_c_ne_zero' π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {c d : R} [Semiring R] (hc : c β 0) : { a := 0, b := 0, c := c, d := d }.toPoly.leadingCoeff = c - Cubic.leadingCoeff_of_c_eq_zero π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c = 0) : P.toPoly.leadingCoeff = P.d - Cubic.leadingCoeff_of_c_ne_zero π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {P : Cubic R} [Semiring R] (ha : P.a = 0) (hb : P.b = 0) (hc : P.c β 0) : P.toPoly.leadingCoeff = P.c - Polynomial.irreducible_of_eisenstein_criterion π Mathlib.RingTheory.Polynomial.Eisenstein.Criterion
{R : Type u_1} [CommRing R] [IsDomain R] {f : Polynomial R} {P : Ideal R} (hP : P.IsPrime) (hfl : f.leadingCoeff β P) (hfP : β (n : β), βn < f.degree β f.coeff n β P) (hfd0 : 0 < f.degree) (h0 : f.coeff 0 β P ^ 2) (hu : f.IsPrimitive) : Irreducible f - Polynomial.generalizedEisenstein π Mathlib.RingTheory.Polynomial.Eisenstein.Criterion
{R : Type u_1} [CommRing R] [IsDomain R] {K : Type u_2} [Field K] [Algebra R K] {q f : Polynomial R} {p : β} (hq_irr : Irreducible (Polynomial.map (algebraMap R K) q)) (hq_monic : q.Monic) (hf_prim : f.IsPrimitive) (hfd0 : 0 < f.natDegree) (hfP : (algebraMap R K) f.leadingCoeff β 0) (hfmodP : Polynomial.map (algebraMap R K) f = Polynomial.C ((algebraMap R K) f.leadingCoeff) * Polynomial.map (algebraMap R K) q ^ p) (hfmodP2 : Polynomial.map (Ideal.Quotient.mk (RingHom.ker (algebraMap R K) ^ 2)) (f %β q) β 0) : Irreducible f - Polynomial.IsEisensteinAt.leading π Mathlib.RingTheory.Polynomial.Eisenstein.Basic
{R : Type u} [CommSemiring R] {f : Polynomial R} {π : Ideal R} (self : f.IsEisensteinAt π) : f.leadingCoeff β π - Polynomial.Monic.leadingCoeff_notMem π Mathlib.RingTheory.Polynomial.Eisenstein.Basic
{R : Type u} [CommSemiring R] {π : Ideal R} {f : Polynomial R} (hf : f.Monic) (h : π β β€) : f.leadingCoeff β π - Polynomial.IsEisensteinAt.mk π Mathlib.RingTheory.Polynomial.Eisenstein.Basic
{R : Type u} [CommSemiring R] {f : Polynomial R} {π : Ideal R} (leading : f.leadingCoeff β π) (mem : β {n : β}, n < f.natDegree β f.coeff n β π) (notMem : f.coeff 0 β π ^ 2) : f.IsEisensteinAt π - Polynomial.isEisensteinAt_iff π Mathlib.RingTheory.Polynomial.Eisenstein.Basic
{R : Type u} [CommSemiring R] (f : Polynomial R) (π : Ideal R) : f.IsEisensteinAt π β f.leadingCoeff β π β§ (β {n : β}, n < f.natDegree β f.coeff n β π) β§ f.coeff 0 β π ^ 2 - Polynomial.fwdDiff_iter_degree_eq_factorial π Mathlib.Algebra.Group.ForwardDiff
{R : Type u_3} [CommRing R] (P : Polynomial R) : ((fwdDiff 1)^[P.natDegree] fun x => Polynomial.eval x P) = P.leadingCoeff β’ βP.natDegree.factorial - minpoly.Irreducible.eq_minpoly π Mathlib.FieldTheory.Minpoly.Field
{A : Type u_1} {B : Type u_2} [Field A] [Ring B] [Algebra A B] {x : B} [Nontrivial B] {p : Polynomial A} (hi : Irreducible p) (hx : (Polynomial.aeval x) p = 0) : p = Polynomial.C p.leadingCoeff * minpoly A x
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