Loogle!
Result
Found 139 declarations mentioning Polynomial.comp.
- Polynomial.comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] (p q : Polynomial R) : Polynomial R - Polynomial.X_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : Polynomial.X.comp p = p - Polynomial.comp_X ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.comp Polynomial.X = p - Polynomial.natCast_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {n : โ} : (โn).comp p = โn - Polynomial.one_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : Polynomial.comp 1 p = 1 - Polynomial.zero_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : Polynomial.comp 0 p = 0 - Polynomial.ofNat_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} (n : โ) [n.AtLeastTwo] : (OfNat.ofNat n).comp p = โn - Polynomial.intCast_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Ring R] {p : Polynomial R} (i : โค) : (โi).comp p = โi - Polynomial.isRoot_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_1} [CommSemiring R] {p q : Polynomial R} {r : R} : (p.comp q).IsRoot r โ p.IsRoot (Polynomial.eval r q) - Polynomial.eval_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [CommSemiring R] {p q : Polynomial R} {x : R} : Polynomial.eval x (p.comp q) = Polynomial.eval (Polynomial.eval x q) p - Polynomial.comp_assoc ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_1} [CommSemiring R] (ฯ ฯ ฯ : Polynomial R) : (ฯ.comp ฯ).comp ฯ = ฯ.comp (ฯ.comp ฯ) - Polynomial.neg_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Ring R] {p q : Polynomial R} : (-p).comp q = -p.comp q - Polynomial.map_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R โ+* S) (p q : Polynomial R) : Polynomial.map f (p.comp q) = (Polynomial.map f p).comp (Polynomial.map f q) - Polynomial.sum_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {ฮน : Type y} [Semiring R] (s : Finset ฮน) (p : ฮน โ Polynomial R) (q : Polynomial R) : (โ i โ s, p i).comp q = โ i โ s, (p i).comp q - Polynomial.mul_X_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p r : Polynomial R} : (p * Polynomial.X).comp r = p.comp r * r - Polynomial.add_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p q r : Polynomial R} : (p + q).comp r = p.comp r + q.comp r - Polynomial.natCast_mul_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p r : Polynomial R} {n : โ} : (โn * p).comp r = โn * p.comp r - Polynomial.prod_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [CommSemiring R] {ฮน : Type u_1} (s : Finset ฮน) (p : ฮน โ Polynomial R) (q : Polynomial R) : (โ j โ s, p j).comp q = โ j โ s, (p j).comp q - Polynomial.X_pow_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {k : โ} : (Polynomial.X ^ k).comp p = p ^ k - Polynomial.comp_zero ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.comp 0 = Polynomial.C (Polynomial.eval 0 p) - Polynomial.multiset_prod_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [CommSemiring R] (s : Multiset (Polynomial R)) (q : Polynomial R) : s.prod.comp q = (Multiset.map (fun p => p.comp q) s).prod - Polynomial.comp_one ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} : p.comp 1 = Polynomial.C (Polynomial.eval 1 p) - Polynomial.list_prod_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [CommSemiring R] (l : List (Polynomial R)) (q : Polynomial R) : l.prod.comp q = (List.map (fun p => p.comp q) l).prod - Polynomial.C_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} : (Polynomial.C a).comp p = Polynomial.C a - Polynomial.sub_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Ring R] {p q r : Polynomial R} : (p - q).comp r = p.comp r - q.comp r - Polynomial.comp_C ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} : p.comp (Polynomial.C a) = Polynomial.C (Polynomial.eval a p) - Polynomial.mul_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_1} [CommSemiring R] (p q r : Polynomial R) : (p * q).comp r = p.comp r * q.comp r - Polynomial.mul_X_add_natCast_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p q : Polynomial R} {n : โ} : (p * (Polynomial.X + โn)).comp q = p.comp q * (q + โn) - Polynomial.coe_compRingHom_apply ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [CommSemiring R] (p q : Polynomial R) : q.compRingHom p = p.comp q - Polynomial.coe_compRingHom ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [CommSemiring R] (q : Polynomial R) : โq.compRingHom = fun p => p.comp q - Polynomial.mul_X_pow_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p r : Polynomial R} {k : โ} : (p * Polynomial.X ^ k).comp r = p.comp r * r ^ k - Polynomial.pow_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_1} [CommSemiring R] (p q : Polynomial R) (n : โ) : (p ^ n).comp q = p.comp q ^ n - Polynomial.comp_eq_sum_left ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p q : Polynomial R} : p.comp q = p.sum fun e a => Polynomial.C a * q ^ e - Polynomial.mul_comp_neg_X ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_1} [Ring R] (p q : Polynomial R) : (p * q).comp (-Polynomial.X) = p.comp (-Polynomial.X) * q.comp (-Polynomial.X) - Polynomial.C_mul_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [Semiring R] {p r : Polynomial R} : (Polynomial.C a * p).comp r = Polynomial.C a * p.comp r - Polynomial.mul_X_sub_intCast_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Ring R] {p q : Polynomial R} {n : โ} : (p * (Polynomial.X - โn)).comp q = p.comp q * (q - โn) - Polynomial.monomial_comp ๐ Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} (n : โ) : ((Polynomial.monomial n) a).comp p = Polynomial.C a * p ^ n - Polynomial.evalโ_comp' ๐ Mathlib.Algebra.Polynomial.Eval.Algebra
{R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (x : S) (p q : Polynomial R) : Polynomial.evalโ (algebraMap R S) x (p.comp q) = Polynomial.evalโ (algebraMap R S) (Polynomial.evalโ (algebraMap R S) x q) p - Polynomial.iterate_comp_eval ๐ Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} [CommSemiring R] {p q : Polynomial R} (k : โ) (t : R) : Polynomial.eval t (p.comp^[k] q) = (fun x => Polynomial.eval x p)^[k] (Polynomial.eval t q) - Polynomial.evalโ_comp ๐ Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] {p q : Polynomial R} [CommSemiring S] (f : R โ+* S) {x : S} : Polynomial.evalโ f x (p.comp q) = Polynomial.evalโ f (Polynomial.evalโ f x q) p - Polynomial.iterate_comp_evalโ ๐ Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] {p q : Polynomial R} [CommSemiring S] (f : R โ+* S) (k : โ) (t : S) : Polynomial.evalโ f t (p.comp^[k] q) = (fun x => Polynomial.evalโ f x p)^[k] (Polynomial.evalโ f t q) - 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.comp_C_mul_X_eq_zero_iff ๐ Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} [Semiring R] {p : Polynomial R} {r : R} (hr : r โ nonZeroDivisors R) : p.comp (Polynomial.C r * Polynomial.X) = 0 โ p = 0 - 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.comp_neg_X_comp_neg_X ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u_3} [CommRing R] (p : Polynomial R) : (p.comp (-Polynomial.X)).comp (-Polynomial.X) = p - Polynomial.algEquivOfCompEqX ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] (p q : Polynomial R) (hpq : p.comp q = Polynomial.X) (hqp : q.comp p = Polynomial.X) : Polynomial R โโ[R] Polynomial R - Polynomial.comp_X_add_C_eq_zero_iff ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{S : Type v} [Semiring S] {p : Polynomial S} {t : S} : p.comp (Polynomial.X + Polynomial.C t) = 0 โ p = 0 - Polynomial.comp_X_add_C_ne_zero_iff ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{S : Type v} [Semiring S] {p : Polynomial S} {t : S} : p.comp (Polynomial.X + Polynomial.C t) โ 0 โ p โ 0 - Polynomial.algEquivOfCompEqX_symm ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] (p q : Polynomial R) (hpq : p.comp q = Polynomial.X) (hqp : q.comp p = Polynomial.X) : (p.algEquivOfCompEqX q hpq hqp).symm = q.algEquivOfCompEqX p hqp hpq - Polynomial.comp_eq_aeval ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] {p q : Polynomial R} : p.comp q = (Polynomial.aeval q) p - Polynomial.algEquivOfCompEqX_eq_iff ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] (p q p' q' : Polynomial R) (hpq : p.comp q = Polynomial.X) (hqp : q.comp p = Polynomial.X) (hpq' : p'.comp q' = Polynomial.X) (hqp' : q'.comp p' = Polynomial.X) : p.algEquivOfCompEqX q hpq hqp = p'.algEquivOfCompEqX q' hpq' hqp' โ p = p' - Polynomial.dvd_comp_neg_X_iff ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommRing R] (p q : Polynomial R) : p โฃ q.comp (-Polynomial.X) โ p.comp (-Polynomial.X) โฃ q - Polynomial.aeval_comp ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] {p q : Polynomial R} {A : Type u_3} [Semiring A] [Algebra R A] (x : A) : (Polynomial.aeval x) (p.comp q) = (Polynomial.aeval ((Polynomial.aeval x) q)) p - Polynomial.algEquivOfCompEqX_apply ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] (p q : Polynomial R) (hpq : p.comp q = Polynomial.X) (hqp : q.comp p = Polynomial.X) (a : Polynomial R) : (p.algEquivOfCompEqX q hpq hqp) a = (Polynomial.aeval p) a - Polynomial.dvd_comp_X_add_C_iff ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommRing R] (p q : Polynomial R) (a : R) : p โฃ q.comp (Polynomial.X + Polynomial.C a) โ p.comp (Polynomial.X - Polynomial.C a) โฃ q - Polynomial.dvd_comp_X_sub_C_iff ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommRing R] (p q : Polynomial R) (a : R) : p โฃ q.comp (Polynomial.X - Polynomial.C a) โ p.comp (Polynomial.X + Polynomial.C a) โฃ q - Polynomial.X_sub_C_pow_dvd_iff ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} {n : โ} : (Polynomial.X - Polynomial.C t) ^ n โฃ p โ Polynomial.X ^ n โฃ p.comp (Polynomial.X + Polynomial.C t) - Polynomial.dvd_comp_C_mul_X_add_C_iff ๐ Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommRing R] (p q : Polynomial R) (a b : R) [Invertible a] : p โฃ q.comp (Polynomial.C a * Polynomial.X + Polynomial.C b) โ p.comp (Polynomial.C โ a * (Polynomial.X - Polynomial.C b)) โฃ q - Polynomial.natDegree_comp_le ๐ Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p q : Polynomial R} : (p.comp q).natDegree โค p.natDegree * q.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.natDegree_comp ๐ Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p q : Polynomial R} [NoZeroDivisors R] : (p.comp q).natDegree = p.natDegree * q.natDegree - Polynomial.natDegree_iterate_comp ๐ Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Semiring R] {p q : Polynomial R} [NoZeroDivisors R] (k : โ) : (p.comp^[k] q).natDegree = p.natDegree ^ k * q.natDegree - Polynomial.comp_neg_X_eq_zero_iff ๐ Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} [Ring R] {p : Polynomial R} : p.comp (-Polynomial.X) = 0 โ p = 0 - 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.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.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_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.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) - Polynomial.Monic.comp ๐ Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q.Monic) (h : q.natDegree โ 0) : (p.comp q).Monic - Polynomial.Monic.comp_X_add_C ๐ Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} (hp : p.Monic) (r : R) : (p.comp (Polynomial.X + Polynomial.C r)).Monic - Polynomial.Monic.comp_X_sub_C ๐ Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Ring R] {p : Polynomial R} (hp : p.Monic) (r : R) : (p.comp (Polynomial.X - Polynomial.C r)).Monic - Polynomial.geom_sum_X_comp_X_add_one_eq_sum ๐ Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] (n : โ) : (โ i โ Finset.range n, Polynomial.X ^ i).comp (Polynomial.X + 1) = โ i โ Finset.range n, โ(n.choose (i + 1)) * Polynomial.X ^ i - Polynomial.derivative_comp ๐ Mathlib.Algebra.Polynomial.Derivative
{R : Type u} [CommSemiring R] (p q : Polynomial R) : Polynomial.derivative (p.comp q) = Polynomial.derivative q * (Polynomial.derivative p).comp q - Polynomial.derivative_comp_one_sub_X ๐ Mathlib.Algebra.Polynomial.Derivative
{R : Type u} [CommRing R] (p : Polynomial R) : Polynomial.derivative (p.comp (1 - Polynomial.X)) = -(Polynomial.derivative p).comp (1 - Polynomial.X) - Polynomial.iterate_derivative_comp_one_sub_X ๐ Mathlib.Algebra.Polynomial.Derivative
{R : Type u} [CommRing R] (p : Polynomial R) (k : โ) : (โPolynomial.derivative)^[k] (p.comp (1 - Polynomial.X)) = (-1) ^ k * ((โPolynomial.derivative)^[k] p).comp (1 - Polynomial.X) - Polynomial.eval_divByMonic_eq_trailingCoeff_comp ๐ Mathlib.Algebra.Polynomial.Div
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} : Polynomial.eval t (p /โ (Polynomial.X - Polynomial.C t) ^ Polynomial.rootMultiplicity t p) = (p.comp (Polynomial.X + Polynomial.C t)).trailingCoeff - Polynomial.rootMultiplicity_eq_natTrailingDegree ๐ Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} : Polynomial.rootMultiplicity t p = (p.comp (Polynomial.X + Polynomial.C t)).natTrailingDegree - Polynomial.rootMultiplicity_eq_rootMultiplicity ๐ Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] {p : Polynomial R} {t : R} : Polynomial.rootMultiplicity t p = Polynomial.rootMultiplicity 0 (p.comp (Polynomial.X + Polynomial.C t)) - Polynomial.Monic.neg_one_pow_natDegree_mul_comp_neg_X ๐ Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] {p : Polynomial R} (hp : p.Monic) : ((-1) ^ p.natDegree * p.comp (-Polynomial.X)).Monic - Polynomial.rootMultiplicity_comp_C_mul_X_add_C ๐ Mathlib.Algebra.Polynomial.RingDivision
{R : Type u} [CommRing R] (p : Polynomial R) (a b c : R) (ha : IsUnit a) : Polynomial.rootMultiplicity c (p.comp (Polynomial.C a * Polynomial.X + Polynomial.C b)) = Polynomial.rootMultiplicity (a * c + b) p - Polynomial.expand_eq_comp_X_pow ๐ Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] (p : โ) {f : Polynomial R} : (Polynomial.expand R p) f = f.comp (Polynomial.X ^ p) - Polynomial.smul_comp ๐ Mathlib.Algebra.Polynomial.Eval.SMul
{R : Type u} {S : Type v} [Semiring R] [SMulZeroClass S R] [IsScalarTower S R R] (s : S) (p q : Polynomial R) : (s โข p).comp q = s โข p.comp q - Polynomial.roots_comp_neg_X ๐ Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] (p : Polynomial R) : (p.comp (-Polynomial.X)).roots = Multiset.map (fun x => -x) p.roots - Polynomial.map_roots_comp_C_mul_X_add_C ๐ Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] (p : Polynomial R) (a b : R) (ha : IsUnit a) : Multiset.map (fun x => a * x + b) (p.comp (Polynomial.C a * Polynomial.X + Polynomial.C b)).roots = p.roots - Polynomial.roots_comp_C_mul_X_add_C ๐ Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] (p : Polynomial R) (a b : R) (ha : IsUnit a) : (p.comp (Polynomial.C a * Polynomial.X + Polynomial.C b)).roots = Multiset.map (fun x => Ring.inverse a * (x - b)) p.roots - Matrix.charpoly_sub_scalar ๐ Mathlib.LinearAlgebra.Matrix.Charpoly.Basic
{R : Type u_1} [CommRing R] {n : Type u_4} [DecidableEq n] [Fintype n] (M : Matrix n n R) (ฮผ : R) : (M - (Matrix.scalar n) ฮผ).charpoly = M.charpoly.comp (Polynomial.X + Polynomial.C ฮผ) - Polynomial.taylor_apply ๐ Mathlib.Algebra.Polynomial.Taylor
{R : Type u_1} [Semiring R] (r : R) (f : Polynomial R) : (Polynomial.taylor r) f = f.comp (Polynomial.X + Polynomial.C r) - Polynomial.Splits.comp_neg_X ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Ring R] {f : Polynomial R} (hf : f.Splits) : (f.comp (-Polynomial.X)).Splits - Polynomial.Splits.comp_of_natDegree_le_one_of_monic ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f g : Polynomial R} (hf : f.Splits) (hg : g.natDegree โค 1) (h : g.Monic) : (f.comp g).Splits - Polynomial.Splits.comp_of_degree_le_one_of_monic ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f g : Polynomial R} (hf : f.Splits) (hg : g.degree โค 1) (h : g.Monic) : (f.comp g).Splits - Polynomial.splits_iff_comp_splits_of_natDegree_eq_one ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Field R] {f g : Polynomial R} (hg : g.natDegree = 1) : f.Splits โ (f.comp g).Splits - Polynomial.Splits.comp_of_natDegree_le_one ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Field R] {f g : Polynomial R} (hf : f.Splits) (hg : g.natDegree โค 1) : (f.comp g).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_iff_comp_splits_of_degree_eq_one ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Field R] {f g : Polynomial R} (hg : g.degree = 1) : f.Splits โ (f.comp g).Splits - Polynomial.Splits.comp_of_degree_le_one ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Field R] {f g : Polynomial R} (hf : f.Splits) (hg : g.degree โค 1) : (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.comp_X_add_C ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f : Polynomial R} (hf : f.Splits) (a : R) : (f.comp (Polynomial.X + Polynomial.C a)).Splits - Polynomial.Splits.comp_X_sub_C ๐ Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} (hf : f.Splits) (a : R) : (f.comp (Polynomial.X - Polynomial.C a)).Splits - PolynomialModule.comp_smul ๐ Mathlib.Algebra.Polynomial.Module.Basic
{R : Type u_2} {M : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] (p p' : Polynomial R) (q : PolynomialModule R M) : (PolynomialModule.comp p) (p' โข q) = p'.comp p โข (PolynomialModule.comp p) q - minpoly.neg ๐ Mathlib.FieldTheory.Minpoly.Field
{A : Type u_1} [Field A] {B : Type u_3} [Ring B] [Algebra A B] (x : B) : minpoly A (-x) = (-1) ^ (minpoly A x).natDegree * (minpoly A x).comp (-Polynomial.X) - minpoly.add_algebraMap ๐ Mathlib.FieldTheory.Minpoly.Field
{A : Type u_1} [Field A] {B : Type u_3} [CommRing B] [Algebra A B] (x : B) (a : A) : minpoly A (x + (algebraMap A B) a) = (minpoly A x).comp (Polynomial.X - Polynomial.C a) - minpoly.sub_algebraMap ๐ Mathlib.FieldTheory.Minpoly.Field
{A : Type u_1} [Field A] {B : Type u_3} [CommRing B] [Algebra A B] (x : B) (a : A) : minpoly A (x - (algebraMap A B) a) = (minpoly A x).comp (Polynomial.X + Polynomial.C a) - Polynomial.irreducible_comp ๐ Mathlib.FieldTheory.IntermediateField.Adjoin.Basic
{K : Type u} [Field K] {f g : Polynomial K} (hfm : f.Monic) (hgm : g.Monic) (hf : Irreducible f) (hg : โ (E : Type u) [inst : Field E] [inst_1 : Algebra K E] (x : E), minpoly K x = f โ Irreducible (Polynomial.map (algebraMap K โฅKโฎxโฏ) g - Polynomial.C (IntermediateField.AdjoinSimple.gen K x))) : Irreducible (f.comp g) - ascPochhammer_eval_comp ๐ Mathlib.RingTheory.Polynomial.Pochhammer
{S : Type u} [Semiring S] {R : Type u_1} [CommSemiring R] (n : โ) (p : Polynomial R) [Algebra R S] (x : S) : Polynomial.eval x ((ascPochhammer S n).comp (Polynomial.map (algebraMap R S) p)) = Polynomial.eval (Polynomial.evalโ (algebraMap R S) x p) (ascPochhammer S n) - descPochhammer_eq_ascPochhammer ๐ Mathlib.RingTheory.Polynomial.Pochhammer
(n : โ) : descPochhammer โค n = (ascPochhammer โค n).comp (Polynomial.X - โn + 1) - ascPochhammer_mul ๐ Mathlib.RingTheory.Polynomial.Pochhammer
(S : Type u) [Semiring S] (n m : โ) : ascPochhammer S n * (ascPochhammer S m).comp (Polynomial.X + โn) = ascPochhammer S (n + m) - ascPochhammer_succ_left ๐ Mathlib.RingTheory.Polynomial.Pochhammer
(S : Type u) [Semiring S] (n : โ) : ascPochhammer S (n + 1) = Polynomial.X * (ascPochhammer S n).comp (Polynomial.X + 1) - descPochhammer_mul ๐ Mathlib.RingTheory.Polynomial.Pochhammer
(R : Type u) [Ring R] (n m : โ) : descPochhammer R n * (descPochhammer R m).comp (Polynomial.X - โn) = descPochhammer R (n + m) - descPochhammer_succ_left ๐ Mathlib.RingTheory.Polynomial.Pochhammer
(R : Type u) [Ring R] (n : โ) : descPochhammer R (n + 1) = Polynomial.X * (descPochhammer R n).comp (Polynomial.X - 1) - ascPochhammer_succ_comp_X_add_one ๐ Mathlib.RingTheory.Polynomial.Pochhammer
(S : Type u) [Semiring S] (n : โ) : (ascPochhammer S (n + 1)).comp (Polynomial.X + 1) = ascPochhammer S (n + 1) + (n + 1) โข (ascPochhammer S n).comp (Polynomial.X + 1) - descPochhammer_succ_comp_X_sub_one ๐ Mathlib.RingTheory.Polynomial.Pochhammer
(R : Type u) [Ring R] (n : โ) : (descPochhammer R (n + 1)).comp (Polynomial.X - 1) = descPochhammer R (n + 1) - (โn + 1) โข (descPochhammer R n).comp (Polynomial.X - 1) - Polynomial.Chebyshev.C_mul ๐ Mathlib.RingTheory.Polynomial.Chebyshev
(R : Type u_1) [CommRing R] (m n : โค) : Polynomial.Chebyshev.C R (m * n) = (Polynomial.Chebyshev.C R m).comp (Polynomial.Chebyshev.C R n) - Polynomial.Chebyshev.T_mul ๐ Mathlib.RingTheory.Polynomial.Chebyshev
(R : Type u_1) [CommRing R] (m n : โค) : Polynomial.Chebyshev.T R (m * n) = (Polynomial.Chebyshev.T R m).comp (Polynomial.Chebyshev.T R n) - Polynomial.Chebyshev.S_comp_two_mul_X ๐ Mathlib.RingTheory.Polynomial.Chebyshev
(R : Type u_1) [CommRing R] (n : โค) : (Polynomial.Chebyshev.S R n).comp (2 * Polynomial.X) = Polynomial.Chebyshev.U R n - Polynomial.Chebyshev.C_comp_two_mul_X ๐ Mathlib.RingTheory.Polynomial.Chebyshev
(R : Type u_1) [CommRing R] (n : โค) : (Polynomial.Chebyshev.C R n).comp (2 * Polynomial.X) = 2 * Polynomial.Chebyshev.T R n - Polynomial.Chebyshev.S_eq_U_comp_half_mul_X ๐ Mathlib.RingTheory.Polynomial.Chebyshev
(R : Type u_1) [CommRing R] [Invertible 2] (n : โค) : Polynomial.Chebyshev.S R n = (Polynomial.Chebyshev.U R n).comp (Polynomial.C โ 2 * Polynomial.X) - Polynomial.Chebyshev.C_eq_two_mul_T_comp_half_mul_X ๐ Mathlib.RingTheory.Polynomial.Chebyshev
(R : Type u_1) [CommRing R] [Invertible 2] (n : โค) : Polynomial.Chebyshev.C R n = 2 * (Polynomial.Chebyshev.T R n).comp (Polynomial.C โ 2 * Polynomial.X) - Polynomial.Chebyshev.T_eq_half_mul_C_comp_two_mul_X ๐ Mathlib.RingTheory.Polynomial.Chebyshev
(R : Type u_1) [CommRing R] [Invertible 2] (n : โค) : Polynomial.Chebyshev.T R n = Polynomial.C โ 2 * (Polynomial.Chebyshev.C R n).comp (2 * Polynomial.X) - LinearMap.charpoly_sub_smul ๐ Mathlib.LinearAlgebra.Charpoly.Basic
{R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] [Module.Free R M] [Module.Finite R M] (f : Module.End R M) (ฮผ : R) : LinearMap.charpoly (f - ฮผ โข 1) = (LinearMap.charpoly f).comp (Polynomial.X + Polynomial.C ฮผ) - Polynomial.IsMonicOfDegree.comp ๐ Mathlib.Algebra.Polynomial.Degree.IsMonicOfDegree
{R : Type u_1} [Semiring R] {p q : Polynomial R} {m n : โ} (hn : n โ 0) (hp : p.IsMonicOfDegree m) (hq : q.IsMonicOfDegree n) : (p.comp q).IsMonicOfDegree (m * n) - Polynomial.smeval_comp ๐ Mathlib.Algebra.Polynomial.Smeval
(R : Type u_1) [Semiring R] (p q : Polynomial R) {S : Type u_2} [NonAssocSemiring S] [Module R S] [Pow S โ] (x : S) [NatPowAssoc S] [IsScalarTower R S S] [SMulCommClass R S S] : (p.comp q).smeval x = p.smeval (q.smeval x) - Polynomial.Gal.restrictComp ๐ Mathlib.FieldTheory.PolynomialGaloisGroup
{F : Type u_1} [Field F] (p q : Polynomial F) (hq : q.natDegree โ 0) : (p.comp q).Gal โ* p.Gal - Polynomial.Gal.splits_in_splittingField_of_comp ๐ Mathlib.FieldTheory.PolynomialGaloisGroup
{F : Type u_1} [Field F] (p q : Polynomial F) (hq : q.natDegree โ 0) : (Polynomial.map (algebraMap F (p.comp q).SplittingField) p).Splits - Polynomial.Gal.restrictComp_surjective ๐ Mathlib.FieldTheory.PolynomialGaloisGroup
{F : Type u_1} [Field F] (p q : Polynomial F) (hq : q.natDegree โ 0) : Function.Surjective โ(Polynomial.Gal.restrictComp p q hq) - bernsteinPolynomial.flip ๐ Mathlib.RingTheory.Polynomial.Bernstein
(R : Type u_1) [CommRing R] (n ฮฝ : โ) (h : ฮฝ โค n) : (bernsteinPolynomial R n ฮฝ).comp (1 - Polynomial.X) = bernsteinPolynomial R n (n - ฮฝ) - bernsteinPolynomial.flip' ๐ Mathlib.RingTheory.Polynomial.Bernstein
(R : Type u_1) [CommRing R] (n ฮฝ : โ) (h : ฮฝ โค n) : bernsteinPolynomial R n ฮฝ = (bernsteinPolynomial R n (n - ฮฝ)).comp (1 - Polynomial.X) - IsPrimitiveRoot.minpoly_sub_one_eq_cyclotomic_comp ๐ Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : โ} [NeZero n] {A : Type w} {K : Type u} [CommRing A] [Field K] [Algebra K A] [IsDomain A] {ฮถ : A} [IsCyclotomicExtension {n} K A] (hฮถ : IsPrimitiveRoot ฮถ n) (h : Irreducible (Polynomial.cyclotomic n K)) : minpoly K (ฮถ - 1) = (Polynomial.cyclotomic n K).comp (Polynomial.X + 1) - Polynomial.bernoulli_comp_one_sub_X ๐ Mathlib.NumberTheory.BernoulliPolynomials
(n : โ) : (Polynomial.bernoulli n).comp (1 - Polynomial.X) = (-1) ^ n * Polynomial.bernoulli n - Polynomial.bernoulli_comp_one_add_X ๐ Mathlib.NumberTheory.BernoulliPolynomials
(n : โ) : (Polynomial.bernoulli n).comp (1 + Polynomial.X) = Polynomial.bernoulli n + n โข Polynomial.X ^ (n - 1) - Polynomial.bernoulli_comp_neg_X ๐ Mathlib.NumberTheory.BernoulliPolynomials
(n : โ) : (Polynomial.bernoulli n).comp (-Polynomial.X) = (-1) ^ n โข (Polynomial.bernoulli n + n โข Polynomial.X ^ (n - 1)) - cyclotomic_comp_X_add_one_isEisensteinAt ๐ Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral
(p : โ) [hp : Fact (Nat.Prime p)] : ((Polynomial.cyclotomic p โค).comp (Polynomial.X + 1)).IsEisensteinAt (โค โ โp) - cyclotomic_prime_pow_comp_X_add_one_isEisensteinAt ๐ Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral
(p : โ) [hp : Fact (Nat.Prime p)] (n : โ) : ((Polynomial.cyclotomic (p ^ (n + 1)) โค).comp (Polynomial.X + 1)).IsEisensteinAt (โค โ โp) - Polynomial.dickson_one_one_mul ๐ Mathlib.RingTheory.Polynomial.Dickson
(R : Type u_1) [CommRing R] (m n : โ) : Polynomial.dickson 1 1 (m * n) = (Polynomial.dickson 1 1 m).comp (Polynomial.dickson 1 1 n) - Polynomial.dickson_one_one_comp_comm ๐ Mathlib.RingTheory.Polynomial.Dickson
(R : Type u_1) [CommRing R] (m n : โ) : (Polynomial.dickson 1 1 m).comp (Polynomial.dickson 1 1 n) = (Polynomial.dickson 1 1 n).comp (Polynomial.dickson 1 1 m) - Polynomial.chebyshev_U_eq_dickson_two_one ๐ Mathlib.RingTheory.Polynomial.Dickson
(R : Type u_1) [CommRing R] (n : โ) : Polynomial.Chebyshev.U R โn = (Polynomial.dickson 2 1 n).comp (2 * Polynomial.X) - Polynomial.dickson_two_one_eq_chebyshev_U ๐ Mathlib.RingTheory.Polynomial.Dickson
(R : Type u_1) [CommRing R] [Invertible 2] (n : โ) : Polynomial.dickson 2 1 n = (Polynomial.Chebyshev.U R โn).comp (Polynomial.C โ 2 * Polynomial.X) - Polynomial.chebyshev_T_eq_dickson_one_one ๐ Mathlib.RingTheory.Polynomial.Dickson
(R : Type u_1) [CommRing R] [Invertible 2] (n : โ) : Polynomial.Chebyshev.T R โn = Polynomial.C โ 2 * (Polynomial.dickson 1 1 n).comp (2 * Polynomial.X) - Polynomial.dickson_one_one_eq_chebyshev_T ๐ Mathlib.RingTheory.Polynomial.Dickson
(R : Type u_1) [CommRing R] [Invertible 2] (n : โ) : Polynomial.dickson 1 1 n = 2 * (Polynomial.Chebyshev.T R โn).comp (Polynomial.C โ 2 * Polynomial.X) - Polynomial.neg_one_pow_mul_shiftedLegendre_comp_one_sub_X_eq ๐ Mathlib.RingTheory.Polynomial.ShiftedLegendre
(n : โ) : (-1) ^ n * (Polynomial.shiftedLegendre n).comp (1 - Polynomial.X) = Polynomial.shiftedLegendre n
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