Loogle!
Result
Found 579 declarations mentioning Polynomial.map. Of these, only the first 200 are shown.
- Polynomial.map π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) : Polynomial R β Polynomial S - Polynomial.map_X π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) : Polynomial.map f Polynomial.X = Polynomial.X - Polynomial.eval_map π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) (x : S) : Polynomial.eval x (Polynomial.map f p) = Polynomial.evalβ f x p - Polynomial.evalβ_eq_eval_map π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) {x : S} : Polynomial.evalβ f x p = Polynomial.eval x (Polynomial.map f p) - Polynomial.map_natCast π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (n : β) : Polynomial.map f βn = βn - Polynomial.map_one π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) : Polynomial.map f 1 = 1 - Polynomial.map_zero π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) : Polynomial.map f 0 = 0 - 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.map_intCast π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Ring R] {S : Type u_1} [Ring S] (f : R β+* S) (n : β€) : Polynomial.map f βn = βn - Polynomial.map_ofNat π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (n : β) [n.AtLeastTwo] : Polynomial.map f (OfNat.ofNat n) = OfNat.ofNat n - Polynomial.map.eq_1 π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) : Polynomial.map f = Polynomial.evalβ (Polynomial.C.comp f) Polynomial.X - Polynomial.map_list_prod π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (L : List (Polynomial R)) : Polynomial.map f L.prod = (List.map (Polynomial.map f) L).prod - Polynomial.associated_map_map π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) {x y : Polynomial R} : Associated x y β Associated (Polynomial.map f x) (Polynomial.map f y) - Polynomial.map_neg π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Ring R] {p : Polynomial R} {S : Type u_1} [Ring S] (f : R β+* S) : Polynomial.map f (-p) = -Polynomial.map f p - Polynomial.map_add π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] {p q : Polynomial R} [Semiring S] (f : R β+* S) : Polynomial.map f (p + q) = Polynomial.map f p + Polynomial.map f q - Polynomial.map_mul π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] {p q : Polynomial R} [Semiring S] (f : R β+* S) : Polynomial.map f (p * q) = Polynomial.map f p * Polynomial.map f q - Polynomial.eval_map_apply π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) (x : R) : Polynomial.eval (f x) (Polynomial.map f p) = f (Polynomial.eval x p) - Polynomial.map_dvd π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) {x y : Polynomial R} : x β£ y β Polynomial.map f x β£ Polynomial.map f y - Polynomial.coe_mapRingHom π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) : β(Polynomial.mapRingHom f) = Polynomial.map f - Polynomial.map_sum π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) {ΞΉ : Type u_1} (g : ΞΉ β Polynomial R) (s : Finset ΞΉ) : Polynomial.map f (β i β s, g i) = β i β s, Polynomial.map f (g i) - Polynomial.map_multiset_prod π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] (f : R β+* S) (m : Multiset (Polynomial R)) : Polynomial.map f m.prod = (Multiset.map (Polynomial.map f) m).prod - Polynomial.map_prod π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] (f : R β+* S) {ΞΉ : Type u_1} (g : ΞΉ β Polynomial R) (s : Finset ΞΉ) : Polynomial.map f (β i β s, g i) = β i β s, Polynomial.map f (g i) - Polynomial.map_pow π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) (n : β) : Polynomial.map f (p ^ n) = Polynomial.map f p ^ n - Polynomial.map_sub π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Ring R] {p q : Polynomial R} {S : Type u_1} [Ring S] (f : R β+* S) : Polynomial.map f (p - q) = Polynomial.map f p - Polynomial.map f q - Polynomial.map_C π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} {a : R} [Semiring R] [Semiring S] (f : R β+* S) : Polynomial.map f (Polynomial.C a) = Polynomial.C (f a) - Polynomial.map_monomial π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) {n : β} {a : R} : Polynomial.map f ((Polynomial.monomial n) a) = (Polynomial.monomial n) (f a) - Polynomial.map_id π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} : Polynomial.map (RingHom.id R) p = p - Polynomial.support_map_subset π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (p : Polynomial R) : (Polynomial.map f p).support β p.support - Polynomial.map_injective π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (hf : Function.Injective βf) : Function.Injective (Polynomial.map f) - Polynomial.map_surjective π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (hf : Function.Surjective βf) : Function.Surjective (Polynomial.map f) - Polynomial.map_injective_iff π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) : Function.Injective (Polynomial.map f) β Function.Injective βf - Polynomial.map_surjective_iff π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) : Function.Surjective (Polynomial.map f) β Function.Surjective βf - 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.support_map_of_injective π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (p : Polynomial R) {f : R β+* S} (hf : Function.Injective βf) : (Polynomial.map f p).support = p.support - 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.map_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} {T : Type w} [Semiring R] [Semiring S] (f : R β+* S) [Semiring T] (g : S β+* T) (p : Polynomial R) : Polynomial.map g (Polynomial.map f p) = Polynomial.map (g.comp f) p - Polynomial.evalβ_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} {T : Type w} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) [Semiring T] (g : S β+* T) (x : T) : Polynomial.evalβ g x (Polynomial.map f p) = Polynomial.evalβ (g.comp f) x p - Polynomial.IsRoot.map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] {f : R β+* S} {x : R} {p : Polynomial R} (h : p.IsRoot x) : (Polynomial.map f p).IsRoot (f x) - Polynomial.eval_natCast_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (p : Polynomial R) (n : β) : Polynomial.eval (βn) (Polynomial.map f p) = f (Polynomial.eval (βn) p) - Polynomial.eval_one_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (p : Polynomial R) : Polynomial.eval 1 (Polynomial.map f p) = f (Polynomial.eval 1 p) - Polynomial.eval_zero_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (p : Polynomial R) : Polynomial.eval 0 (Polynomial.map f p) = f (Polynomial.eval 0 p) - Polynomial.map_eq_zero_iff π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] {f : R β+* S} (hf : Function.Injective βf) : Polynomial.map f p = 0 β p = 0 - Polynomial.map_ne_zero_iff π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] {f : R β+* S} (hf : Function.Injective βf) : Polynomial.map f p β 0 β p β 0 - Polynomial.eval_intCast_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R β+* S) (p : Polynomial R) (i : β€) : Polynomial.eval (βi) (Polynomial.map f p) = f (Polynomial.eval (βi) p) - Polynomial.IsRoot.of_map π Mathlib.Algebra.Polynomial.Eval.Coeff
{S : Type v} [CommSemiring S] {R : Type u_1} [Ring R] {f : R β+* S} {x : R} {p : Polynomial R} (h : (Polynomial.map f p).IsRoot (f x)) (hf : Function.Injective βf) : p.IsRoot x - Polynomial.isRoot_map_iff π Mathlib.Algebra.Polynomial.Eval.Coeff
{S : Type v} [CommSemiring S] {R : Type u_1} [CommRing R] {f : R β+* S} {x : R} {p : Polynomial R} (hf : Function.Injective βf) : (Polynomial.map f p).IsRoot (f x) β p.IsRoot x - Polynomial.natDegree_map_le π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} : (Polynomial.map f p).natDegree β€ p.natDegree - Polynomial.degree_map_le π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} : (Polynomial.map f p).degree β€ p.degree - Polynomial.map_monic_ne_zero π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} (hp : p.Monic) [Nontrivial S] : Polynomial.map f p β 0 - Polynomial.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.map_monic_eq_zero_iff π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} {p : Polynomial R} (hp : p.Monic) : Polynomial.map f p = 0 β β (x : R), f x = 0 - Polynomial.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.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.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.mapEquiv_apply π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (e : R β+* S) (a : Polynomial R) : (Polynomial.mapEquiv e) a = Polynomial.map (βe) a - Polynomial.mapEquiv_symm_apply π Mathlib.Algebra.Polynomial.Eval.Degree
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (e : R β+* S) (a : Polynomial S) : (Polynomial.mapEquiv e).symm a = Polynomial.map (βe.symm) a - Polynomial.eval_map_algebraMap π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {B : Type u_2} [CommSemiring R] [Semiring B] [Algebra R B] (P : Polynomial R) (b : B) : Polynomial.eval b (Polynomial.map (algebraMap R B) P) = (Polynomial.aeval b) P - Polynomial.mapAlg_eq_map π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] (S : Type v) [Semiring S] [Algebra R S] (p : Polynomial R) : (Polynomial.mapAlg R S) p = Polynomial.map (algebraMap R S) p - Polynomial.aeval_X_left_eq_map π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] [Algebra R S] (p : Polynomial R) : (Polynomial.aeval Polynomial.X) p = Polynomial.map (algebraMap R S) p - Polynomial.coe_mapAlgHom π 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) : β(Polynomial.mapAlgHom f) = Polynomial.map βf - Polynomial.coe_mapAlgEquiv π 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) : β(Polynomial.mapAlgEquiv f) = Polynomial.map βf - Polynomial.map_aeval_eq_aeval_map π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} [CommSemiring R] {S : Type u_3} {T : Type u_4} {U : Type u_5} [Semiring S] [CommSemiring T] [Semiring U] [Algebra R S] [Algebra T U] {Ο : R β+* T} {Ο : S β+* U} (h : (algebraMap T U).comp Ο = Ο.comp (algebraMap R S)) (p : Polynomial R) (a : S) : Ο ((Polynomial.aeval a) p) = (Polynomial.aeval (Ο a)) (Polynomial.map Ο p) - 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.natDegree_map_eq_of_injective π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} (hf : Function.Injective βf) (p : Polynomial R) : (Polynomial.map f p).natDegree = p.natDegree - Polynomial.degree_map_eq_of_injective π Mathlib.Algebra.Polynomial.Degree.Lemmas
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} (hf : Function.Injective βf) (p : Polynomial R) : (Polynomial.map f p).degree = p.degree - Polynomial.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_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.nextCoeff_map π 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).nextCoeff = f p.nextCoeff - 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 - 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.optionEquivLeft_elim_eval π Mathlib.Algebra.MvPolynomial.Equiv
(R : Type u) (Sβ : Type v) [CommSemiring R] (s : Sβ β R) (y : R) (f : MvPolynomial (Option Sβ) R) : (MvPolynomial.eval fun x => x.elim y s) f = Polynomial.eval y (Polynomial.map (MvPolynomial.eval s) ((MvPolynomial.optionEquivLeft R Sβ) f)) - MvPolynomial.eval_eq_eval_mv_eval' π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} [CommSemiring R] {n : β} (s : Fin n β R) (y : R) (f : MvPolynomial (Fin (n + 1)) R) : (MvPolynomial.eval (Fin.cons y s)) f = Polynomial.eval y (Polynomial.map (MvPolynomial.eval s) ((MvPolynomial.finSuccEquiv R n) f)) - MvPolynomial.finSuccEquiv_rename_finSuccEquiv π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} {Ο : Type u_1} [CommSemiring R] {n : β} (e : Ο β Fin n) (Ο : MvPolynomial (Option Ο) R) : (MvPolynomial.finSuccEquiv R n) ((MvPolynomial.rename β(e.optionCongr.trans (finSuccEquiv n).symm)) Ο) = Polynomial.map (MvPolynomial.rename βe).toRingHom ((MvPolynomial.optionEquivLeft R Ο) Ο) - Polynomial.reflect_map π Mathlib.Algebra.Polynomial.Reverse
{R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] (f : R β+* S) (p : Polynomial R) (n : β) : Polynomial.reflect n (Polynomial.map f p) = Polynomial.map f (Polynomial.reflect n p) - Polynomial.Monic.map π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) (hp : p.Monic) : (Polynomial.map f p).Monic - Polynomial.Monic.natDegree_map π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] [Nontrivial S] {P : Polynomial R} (hmo : P.Monic) (f : R β+* S) : (Polynomial.map f P).natDegree = P.natDegree - Polynomial.Monic.degree_map π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] [Nontrivial S] {P : Polynomial R} (hmo : P.Monic) (f : R β+* S) : (Polynomial.map f P).degree = P.degree - Polynomial.monic_of_injective π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} (hf : Function.Injective βf) {p : Polynomial R} (hp : (Polynomial.map f p).Monic) : p.Monic - Function.Injective.monic_map_iff π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} (hf : Function.Injective βf) {p : Polynomial R} : p.Monic β (Polynomial.map f p).Monic - Polynomial.Monic.eq_one_of_map_eq_one π Mathlib.Algebra.Polynomial.Monic
{R : Type u} [Semiring R] {p : Polynomial R} {S : Type u_1} [Semiring S] [Nontrivial S] (f : R β+* S) (hp : p.Monic) (map_eq : Polynomial.map f p = 1) : p = 1 - Polynomial.leadingCoeff_map' π Mathlib.Algebra.Polynomial.Monic
{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.leadingCoeff_of_injective π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} [Semiring R] [Semiring S] {f : R β+* S} (hf : Function.Injective βf) (p : Polynomial R) : (Polynomial.map f p).leadingCoeff = f p.leadingCoeff - Polynomial.MonicDegreeEq.map_coe π Mathlib.Algebra.Polynomial.Monic
{R : Type u} {S : Type v} {n : β} [Semiring R] [Semiring S] (p : Polynomial.MonicDegreeEq R n) (f : R β+* S) : β(p.map f) = Polynomial.map f βp - Polynomial.map_toSubring π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Ring R] (p : Polynomial R) (T : Subring R) (hp : βp.coeffs β βT) : Polynomial.map T.subtype (p.toSubring T hp) = p - Polynomial.map_restriction π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [CommRing R] (p : Polynomial R) : Polynomial.map (algebraMap (β₯(Subring.closure βp.coeffs)) R) p.restriction = p - Polynomial.derivative_map π Mathlib.Algebra.Polynomial.Derivative
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (p : Polynomial R) (f : R β+* S) : Polynomial.derivative (Polynomial.map f p) = Polynomial.map f (Polynomial.derivative p) - Polynomial.iterate_derivative_map π Mathlib.Algebra.Polynomial.Derivative
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (p : Polynomial R) (f : R β+* S) (k : β) : (βPolynomial.derivative)^[k] (Polynomial.map f p) = Polynomial.map f ((βPolynomial.derivative)^[k] p) - Polynomial.derivativeFinsupp_map π Mathlib.Algebra.Polynomial.Derivative
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (p : Polynomial R) (f : R β+* S) : Polynomial.derivativeFinsupp (Polynomial.map f p) = Finsupp.mapRange (fun x => Polynomial.map f x) β― (Polynomial.derivativeFinsupp p) - Polynomial.map_divByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} {S : Type v} [Ring R] {p q : Polynomial R} [Ring S] (f : R β+* S) (hq : q.Monic) : Polynomial.map f (p /β q) = Polynomial.map f p /β Polynomial.map f q - Polynomial.map_modByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} {S : Type v} [Ring R] {p q : Polynomial R} [Ring S] (f : R β+* S) (hq : q.Monic) : Polynomial.map f (p %β q) = Polynomial.map f p %β Polynomial.map f q - Polynomial.map_mod_divByMonic π Mathlib.Algebra.Polynomial.Div
{R : Type u} {S : Type v} [Ring R] {p q : Polynomial R} [Ring S] (f : R β+* S) (hq : q.Monic) : Polynomial.map f (p /β q) = Polynomial.map f p /β Polynomial.map f q β§ Polynomial.map f (p %β q) = Polynomial.map f p %β Polynomial.map f q - Polynomial.map_dvd_map π Mathlib.Algebra.Polynomial.Div
{R : Type u} {S : Type v} [Ring R] [Ring S] (f : R β+* S) (hf : Function.Injective βf) {x y : Polynomial R} (hx : x.Monic) : Polynomial.map f x β£ Polynomial.map f y β x β£ y - Polynomial.map_contract π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] {p : β} (hp : p β 0) {f : R β+* S} {q : Polynomial R} : Polynomial.map f (Polynomial.contract p q) = Polynomial.contract p (Polynomial.map f q) - Polynomial.expand_char π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] (p : β) [ExpChar R p] (f : Polynomial R) : Polynomial.map (frobenius R p) ((Polynomial.expand R p) f) = f ^ p - Polynomial.map_expand π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] {p : β} {f : R β+* S} {q : Polynomial R} : Polynomial.map f ((Polynomial.expand R p) q) = (Polynomial.expand S p) (Polynomial.map f q) - Polynomial.map_expand_pow_char π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] (p : β) [ExpChar R p] (f : Polynomial R) (n : β) : Polynomial.map (frobenius R p ^ n) ((Polynomial.expand R (p ^ n)) f) = f ^ p ^ n - Polynomial.card_roots_map_le_natDegree π Mathlib.Algebra.Polynomial.Roots
{A : Type u_3} {B : Type u_4} [Semiring A] [CommRing B] [IsDomain B] {f : A β+* B} (p : Polynomial A) : (Polynomial.map f p).roots.card β€ p.natDegree - Polynomial.aroots_def π Mathlib.Algebra.Polynomial.Roots
{T : Type w} [CommRing T] (p : Polynomial T) (S : Type u_1) [CommRing S] [IsDomain S] [Algebra T S] : p.aroots S = (Polynomial.map (algebraMap T S) p).roots - Polynomial.aroots.eq_1 π Mathlib.Algebra.Polynomial.Roots
{T : Type w} [CommRing T] (p : Polynomial T) (S : Type u_1) [CommRing S] [IsDomain S] [Algebra T S] : p.aroots S = (Polynomial.map (algebraMap T S) p).roots - Polynomial.card_roots_map_le_degree π Mathlib.Algebra.Polynomial.Roots
{A : Type u_3} {B : Type u_4} [Semiring A] [CommRing B] [IsDomain B] {f : A β+* B} (p : Polynomial A) (hp0 : p β 0) : β(Polynomial.map f p).roots.card β€ p.degree - Polynomial.bUnion_roots_finite π Mathlib.Algebra.Polynomial.Roots
{R : Type u_1} {S : Type u_2} [Semiring R] [CommRing S] [IsDomain S] [DecidableEq S] (m : R β+* S) (d : β) {U : Set R} (h : U.Finite) : (β f, β (_ : f.natDegree β€ d β§ β (i : β), f.coeff i β U), β(Polynomial.map m f).roots.toFinset).Finite - Polynomial.card_roots_le_map_of_injective π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] {p : Polynomial A} {f : A β+* B} (hf : Function.Injective βf) : p.roots.card β€ (Polynomial.map f p).roots.card - Polynomial.card_roots_le_map π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] {p : Polynomial A} {f : A β+* B} (h : Polynomial.map f p β 0) : p.roots.card β€ (Polynomial.map f p).roots.card - Polynomial.mem_roots_map_of_injective π Mathlib.Algebra.Polynomial.Roots
{R : Type u} {S : Type v} [CommRing R] [IsDomain R] [Semiring S] {p : Polynomial S} {f : S β+* R} (hf : Function.Injective βf) {x : R} (hp : p β 0) : x β (Polynomial.map f p).roots β Polynomial.evalβ f x p = 0 - Polynomial.Monic.roots_map_of_card_eq_natDegree π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] {p : Polynomial A} (hm : p.Monic) (f : A β+* B) (hroots : p.roots.card = p.natDegree) : Multiset.map (βf) p.roots = (Polynomial.map f p).roots - Polynomial.aroots_map π Mathlib.Algebra.Polynomial.Roots
(R : Type u) (S : Type v) {T : Type w} [CommRing R] [IsDomain R] [CommRing T] (p : Polynomial T) [CommRing S] [Algebra T S] [Algebra S R] [Algebra T R] [IsScalarTower T S R] : (Polynomial.map (algebraMap T S) p).aroots R = p.aroots R - Polynomial.eq_rootMultiplicity_map π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] {p : Polynomial A} {f : A β+* B} (hf : Function.Injective βf) (a : A) : Polynomial.rootMultiplicity a p = Polynomial.rootMultiplicity (f a) (Polynomial.map f p) - Polynomial.le_rootMultiplicity_map π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] {p : Polynomial A} {f : A β+* B} (hmap : Polynomial.map f p β 0) (a : A) : Polynomial.rootMultiplicity a p β€ Polynomial.rootMultiplicity (f a) (Polynomial.map f p) - Polynomial.count_map_roots_of_injective π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [DecidableEq B] (p : Polynomial A) {f : A β+* B} (hf : Function.Injective βf) (b : B) : Multiset.count b (Multiset.map (βf) p.roots) β€ Polynomial.rootMultiplicity b (Polynomial.map f p) - Polynomial.count_map_roots π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [DecidableEq B] {p : Polynomial A} {f : A β+* B} (hmap : Polynomial.map f p β 0) (b : B) : Multiset.count b (Multiset.map (βf) p.roots) β€ Polynomial.rootMultiplicity b (Polynomial.map f p) - Polynomial.map_roots_le_of_injective π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] (p : Polynomial A) {f : A β+* B} (hf : Function.Injective βf) : Multiset.map (βf) p.roots β€ (Polynomial.map f p).roots - Polynomial.map_roots_le π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] {p : Polynomial A} {f : A β+* B} (h : Polynomial.map f p β 0) : Multiset.map (βf) p.roots β€ (Polynomial.map f p).roots - Polynomial.roots_map_of_injective_of_card_eq_natDegree π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] {p : Polynomial A} {f : A β+* B} (hf : Function.Injective βf) (hroots : p.roots.card = p.natDegree) : Multiset.map (βf) p.roots = (Polynomial.map f p).roots - Polynomial.roots_map_of_map_ne_zero_of_card_eq_natDegree π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] {p : Polynomial A} (f : A β+* B) (h : Polynomial.map f p β 0) (hroots : p.roots.card = p.natDegree) : Multiset.map (βf) p.roots = (Polynomial.map f p).roots - Polynomial.filter_roots_map_range_eq_map_roots π Mathlib.Algebra.Polynomial.Roots
{A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] {f : A β+* B} [DecidablePred fun x => x β f.range] (hf : Function.Injective βf) (p : Polynomial A) : Multiset.filter (fun x => x β f.range) (Polynomial.map f p).roots = Multiset.map (βf) p.roots - Polynomial.mem_aroots' π Mathlib.Algebra.Polynomial.Roots
{S : Type v} {T : Type w} [CommRing T] [CommRing S] [IsDomain S] [Algebra T S] {p : Polynomial T} {a : S} : a β p.aroots S β Polynomial.map (algebraMap T S) p β 0 β§ (Polynomial.aeval a) p = 0 - Polynomial.mem_rootSet' π Mathlib.Algebra.Polynomial.Roots
{T : Type w} [CommRing T] {p : Polynomial T} {S : Type u_1} [CommRing S] [IsDomain S] [Algebra T S] {a : S} : a β p.rootSet S β Polynomial.map (algebraMap T S) p β 0 β§ (Polynomial.aeval a) p = 0 - Polynomial.rootSet_maps_to' π Mathlib.Algebra.Polynomial.Roots
{T : Type w} [CommRing T] {p : Polynomial T} {S : Type u_1} {S' : Type u_2} [CommRing S] [IsDomain S] [Algebra T S] [CommRing S'] [IsDomain S'] [Algebra T S'] (hp : Polynomial.map (algebraMap T S') p = 0 β Polynomial.map (algebraMap T S) p = 0) (f : S ββ[T] S') : Set.MapsTo (βf) (p.rootSet S) (p.rootSet S') - Polynomial.aeval_map_algebraMap π Mathlib.RingTheory.Polynomial.Tower
{R : Type u_1} (A : Type u_2) {B : Type u_3} [CommSemiring R] [CommSemiring A] [Semiring B] [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B] (x : B) (p : Polynomial R) : (Polynomial.aeval x) (Polynomial.map (algebraMap R A) p) = (Polynomial.aeval x) p - PolynomialModule.map_smul π Mathlib.Algebra.Polynomial.Module.Basic
{R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (R' : Type u_4) {M' : Type u_5} [CommRing R'] [AddCommGroup M'] [Module R' M'] [Module R M'] [Algebra R R'] [IsScalarTower R R' M'] (f : M ββ[R] M') (p : Polynomial R) (q : PolynomialModule R M) : (PolynomialModule.map R' f) (p β’ q) = Polynomial.map (algebraMap R R') p β’ (PolynomialModule.map R' f) q - PolyEquivTensor.toFunAlgHom_apply_tmul_eq_smul π Mathlib.RingTheory.PolynomialAlgebra
(R : Type u_1) (A : Type u_2) [CommSemiring R] [Semiring A] [Algebra R A] (a : A) (p : Polynomial R) : (PolyEquivTensor.toFunAlgHom R A) (a ββ[R] p) = a β’ Polynomial.map (algebraMap R A) p - polyEquivTensor_symm_apply_tmul_eq_smul π Mathlib.RingTheory.PolynomialAlgebra
(R : Type u_1) (A : Type u_2) [CommSemiring R] [Semiring A] [Algebra R A] (a : A) (p : Polynomial R) : (polyEquivTensor R A).symm (a ββ[R] p) = a β’ Polynomial.map (algebraMap R A) p - PolyEquivTensor.toFunBilinear_apply_eq_smul π Mathlib.RingTheory.PolynomialAlgebra
(R : Type u_1) (A : Type u_2) [CommSemiring R] [Semiring A] [Algebra R A] (a : A) (p : Polynomial R) : ((PolyEquivTensor.toFunBilinear R A) a) p = a β’ Polynomial.map (algebraMap R A) p - Polynomial.mem_lifts π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [Semiring R] {S : Type v} [Semiring S] {f : R β+* S} (p : Polynomial S) : p β Polynomial.lifts f β β q, Polynomial.map f q = p - Polynomial.lifts_iff_set_range π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [Semiring R] {S : Type v} [Semiring S] {f : R β+* S} (p : Polynomial S) : p β Polynomial.lifts f β p β Set.range (Polynomial.map f) - Polynomial.mem_lifts_and_degree_eq π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [Semiring R] {S : Type v} [Semiring S] {f : R β+* S} {p : Polynomial S} (hlifts : p β Polynomial.lifts f) : β q, Polynomial.map f q = p β§ q.degree = p.degree - Polynomial.lifts_and_natDegree_eq_and_monic π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [Semiring R] {S : Type v} [Semiring S] {f : R β+* S} {p : Polynomial S} (hlifts : p β Polynomial.lifts f) (hp : p.Monic) : β q, Polynomial.map f q = p β§ q.natDegree = p.natDegree β§ q.Monic - Polynomial.lifts_and_degree_eq_and_monic π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [Semiring R] {S : Type v} [Semiring S] {f : R β+* S} [Nontrivial S] {p : Polynomial S} (hlifts : p β Polynomial.lifts f) (hp : p.Monic) : β q, Polynomial.map f q = p β§ q.degree = p.degree β§ q.Monic - Polynomial.monomial_mem_lifts_and_degree_eq π Mathlib.Algebra.Polynomial.Lifts
{R : Type u} [Semiring R] {S : Type v} [Semiring S] {f : R β+* S} {s : S} {n : β} (hl : (Polynomial.monomial n) s β Polynomial.lifts f) : β q, Polynomial.map f q = (Polynomial.monomial n) s β§ q.degree = ((Polynomial.monomial n) s).degree - Polynomial.map_smul π Mathlib.Algebra.Polynomial.Eval.SMul
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] (f : R β+* S) (r : R) : Polynomial.map f (r β’ p) = f r β’ Polynomial.map f p - matPolyEquiv_smul_one π Mathlib.RingTheory.MatrixPolynomialAlgebra
{R : Type u_1} [CommSemiring R] {n : Type w} [DecidableEq n] [Fintype n] (p : Polynomial R) : matPolyEquiv (p β’ 1) = Polynomial.map (algebraMap R (Matrix n n R)) p - matPolyEquiv_map_smul π Mathlib.RingTheory.MatrixPolynomialAlgebra
{R : Type u_1} [CommSemiring R] {n : Type w} [DecidableEq n] [Fintype n] (p : Polynomial R) (M : Matrix n n (Polynomial R)) : matPolyEquiv (p β’ M) = Polynomial.map (algebraMap R (Matrix n n R)) p * matPolyEquiv M - Matrix.charpoly_map π Mathlib.LinearAlgebra.Matrix.Charpoly.Basic
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] {n : Type u_4} [DecidableEq n] [Fintype n] (M : Matrix n n R) (f : R β+* S) : (M.map βf).charpoly = Polynomial.map f M.charpoly - Matrix.charmatrix_map π Mathlib.LinearAlgebra.Matrix.Charpoly.Basic
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] {n : Type u_4} [DecidableEq n] [Fintype n] (M : Matrix n n R) (f : R β+* S) : (M.map βf).charmatrix = M.charmatrix.map (Polynomial.map f) - Polynomial.monic_map_iff π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {S : Type v} [Ring R] [IsSimpleRing R] [Semiring S] [Nontrivial S] {f : R β+* S} {p : Polynomial R} : (Polynomial.map f p).Monic β p.Monic - Polynomial.natDegree_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).natDegree = p.natDegree - Polynomial.degree_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).degree = p.degree - 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.nextCoeff_map_eq π 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).nextCoeff = f p.nextCoeff - Polynomial.map_ne_zero π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {S : Type v} [Ring R] [IsSimpleRing R] [Semiring S] [Nontrivial S] {p : Polynomial R} {f : R β+* S} (hp : p β 0) : Polynomial.map f p β 0 - Polynomial.map_eq_zero π 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 = 0 β p = 0 - Polynomial.isCoprime_map π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {k : Type y} [Field R] {p q : Polynomial R} [Field k] (f : R β+* k) : IsCoprime (Polynomial.map f p) (Polynomial.map f q) β IsCoprime p q - Polynomial.isUnit_map π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {k : Type y} [Field R] {p : Polynomial R} [Field k] (f : R β+* k) : IsUnit (Polynomial.map f p) β IsUnit p - Polynomial.mem_roots_map π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {k : Type y} [Field R] {p : Polynomial R} [CommRing k] [IsDomain k] {f : R β+* k} {x : k} (hp : p β 0) : x β (Polynomial.map f p).roots β Polynomial.evalβ f x p = 0 - Polynomial.map_div π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {k : Type y} [Field R] {p q : Polynomial R} [Field k] (f : R β+* k) : Polynomial.map f (p / q) = Polynomial.map f p / Polynomial.map f q - Polynomial.map_mod π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {k : Type y} [Field R] {p q : Polynomial R} [Field k] (f : R β+* k) : Polynomial.map f (p % q) = Polynomial.map f p % Polynomial.map f q - Polynomial.gcd_map π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {k : Type y} [Field R] {p q : Polynomial R} [Field k] [DecidableEq R] [DecidableEq k] (f : R β+* k) : EuclideanDomain.gcd (Polynomial.map f p) (Polynomial.map f q) = Polynomial.map f (EuclideanDomain.gcd p q) - Polynomial.map_dvd_map' π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {k : Type y} [Field R] [Field k] (f : R β+* k) {x y : Polynomial R} : Polynomial.map f x β£ Polynomial.map f y β x β£ y - Polynomial.map_normalize π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {S : Type v} [Field R] (p : Polynomial R) [DecidableEq R] [Field S] [DecidableEq S] (f : R β+* S) : Polynomial.map f (normalize p) = normalize (Polynomial.map f p) - Polynomial.map_taylor π Mathlib.Algebra.Polynomial.Taylor
{R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (p : Polynomial R) (r : R) (f : R β+* S) : Polynomial.map f ((Polynomial.taylor r) p) = (Polynomial.taylor (f r)) (Polynomial.map f p) - Polynomial.Splits.map π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.Splits) {S : Type u_2} [Semiring S] (i : R β+* S) : (Polynomial.map i f).Splits - Polynomial.Splits.of_algHom π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommSemiring R] {f : Polynomial R} {A : Type u_2} {B : Type u_3} [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (hf : (Polynomial.map (algebraMap R A) f).Splits) (e : A ββ[R] B) : (Polynomial.map (algebraMap R B) f).Splits - Polynomial.Splits.of_isScalarTower π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommSemiring R] {f : Polynomial R} {A : Type u_2} (B : Type u_3) [CommSemiring A] [Semiring B] [Algebra R A] [Algebra R B] [Algebra A B] [IsScalarTower R A B] (hf : (Polynomial.map (algebraMap R A) f).Splits) : (Polynomial.map (algebraMap R B) f).Splits - Polynomial.Splits.map_roots π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] {S : Type u_2} [CommRing S] [IsDomain S] [IsSimpleRing R] (hf : f.Splits) (i : R β+* S) : (Polynomial.map i f).roots = Multiset.map (βi) f.roots - Polynomial.Splits.of_splits_map π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommRing R] {f : Polynomial R} {S : Type u_2} [CommRing S] [IsDomain S] [IsSimpleRing R] (i : R β+* S) (hf : (Polynomial.map i f).Splits) (hi : β a β (Polynomial.map i f).roots, a β i.range) : f.Splits - Polynomial.Splits.mem_range_of_isRoot π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] {S : Type u_2} [CommRing S] [IsDomain S] [IsSimpleRing R] (hf : f.Splits) (hf0 : f β 0) {i : R β+* S} {x : S} (hx : (Polynomial.map i f).IsRoot x) : x β i.range - Polynomial.Splits.image_rootSet π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} {B : Type u_3} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] [IsSimpleRing A] [Algebra R A] [Algebra R B] (hf : (Polynomial.map (algebraMap R A) f).Splits) (g : A ββ[R] B) : βg '' f.rootSet A = f.rootSet B - Polynomial.Splits.aeval_eq_prod_aroots_of_monic π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} [CommRing A] [IsDomain A] [IsSimpleRing R] [Algebra R A] (hf : (Polynomial.map (algebraMap R A) f).Splits) (hm : f.Monic) (x : A) : (Polynomial.aeval x) f = (Multiset.map (fun x_1 => x - x_1) (f.aroots A)).prod - Polynomial.Splits.aeval_eq_prod_aroots π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} [CommRing A] [IsDomain A] [IsSimpleRing R] [Algebra R A] (hf : (Polynomial.map (algebraMap R A) f).Splits) (x : A) : (Polynomial.aeval x) f = (algebraMap R A) f.leadingCoeff * (Multiset.map (fun x_1 => x - x_1) (f.aroots A)).prod - Polynomial.Splits.adjoin_rootSet_eq_range π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} {B : Type u_3} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] [IsSimpleRing A] [Algebra R A] [Algebra R B] (hf : (Polynomial.map (algebraMap R A) f).Splits) (g : A ββ[R] B) : Algebra.adjoin R (f.rootSet B) = g.range β Algebra.adjoin R (f.rootSet A) = β€ - Polynomial.Splits.mem_subfield_of_isRoot π Mathlib.Algebra.Polynomial.Factors
{R : Type u_1} [Field R] (F : Subfield R) {f : Polynomial β₯F} (hf : f.Splits) (hf0 : f β 0) {x : R} (hx : (Polynomial.map F.subtype f).IsRoot x) : x β F - 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.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.exists_dvd_map_of_isAlgebraic π Mathlib.RingTheory.Algebraic.Integral
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [alg : Algebra.IsAlgebraic R S] [NoZeroDivisors S] {f : Polynomial S} (hf : f β 0) : β g, g β 0 β§ f β£ Polynomial.map (algebraMap R S) g - IsLocalization.integerNormalization_map_to_map π Mathlib.RingTheory.Localization.Integral
{R : Type u_1} [CommRing R] (M : Submonoid R) {S : Type u_2} [CommRing S] [Algebra R S] [IsLocalization M S] (p : Polynomial S) : β b, Polynomial.map (algebraMap R S) (IsLocalization.integerNormalization M p) = βb β’ p - Ideal.comap_lt_comap_of_root_mem_sdiff π Mathlib.RingTheory.Ideal.GoingUp
{R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R β+* S} {I J : Ideal S} [I.IsPrime] (hIJ : I β€ J) {r : S} (hr : r β βJ \ βI) {p : Polynomial R} (p_ne_zero : Polynomial.map (Ideal.Quotient.mk (Ideal.comap f I)) p β 0) (hp : Polynomial.evalβ f r p β I) : Ideal.comap f I < Ideal.comap f J - Ideal.exists_coeff_mem_comap_sdiff_comap_of_root_mem_sdiff π Mathlib.RingTheory.Ideal.GoingUp
{R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R β+* S} {I J : Ideal S} [I.IsPrime] (hIJ : I β€ J) {r : S} (hr : r β βJ \ βI) {p : Polynomial R} (p_ne_zero : Polynomial.map (Ideal.Quotient.mk (Ideal.comap f I)) p β 0) (hpI : Polynomial.evalβ f r p β I) : β i, p.coeff i β β(Ideal.comap f J) \ β(Ideal.comap f I) - Ideal.exists_nonzero_mem_of_ne_bot π Mathlib.RingTheory.Ideal.GoingUp
{R : Type u_1} [CommRing R] {P : Ideal (Polynomial R)} (Pb : P β β₯) (hP : β (x : R), Polynomial.C x β P β x = 0) : β p β P, Polynomial.map (Ideal.Quotient.mk (Ideal.comap Polynomial.C P)) p β 0 - Ring.DirectLimit.Polynomial.exists_of π Mathlib.Algebra.Colimit.Ring
{ΞΉ : Type u_1} [Preorder ΞΉ] {G : ΞΉ β Type u_2} [(i : ΞΉ) β CommRing (G i)] {f' : (i j : ΞΉ) β i β€ j β G i β+* G j} [Nonempty ΞΉ] [IsDirectedOrder ΞΉ] (q : Polynomial (Ring.DirectLimit G fun i j h => β(f' i j h))) : β i p, Polynomial.map (Ring.DirectLimit.of G (fun i j h => β(f' i j h)) i) p = q - Polynomial.splits_comp_of_splits π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.Splits) {S : Type u_2} [Semiring S] (i : R β+* S) : (Polynomial.map i f).Splits - Polynomial.splits_of_splits_id π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [Semiring R] {f : Polynomial R} (hf : f.Splits) {S : Type u_2} [Semiring S] (i : R β+* S) : (Polynomial.map i f).Splits - Polynomial.splits_of_algHom π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f : Polynomial R} {A : Type u_2} {B : Type u_3} [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (hf : (Polynomial.map (algebraMap R A) f).Splits) (e : A ββ[R] B) : (Polynomial.map (algebraMap R B) f).Splits - Polynomial.splits_of_isScalarTower π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommSemiring R] {f : Polynomial R} {A : Type u_2} (B : Type u_3) [CommSemiring A] [Semiring B] [Algebra R A] [Algebra R B] [Algebra A B] [IsScalarTower R A B] (hf : (Polynomial.map (algebraMap R A) f).Splits) : (Polynomial.map (algebraMap R B) f).Splits - Polynomial.splits_id_iff_splits π Mathlib.Algebra.Polynomial.Splits
{K : Type v} {L : Type w} [CommRing K] [Field L] (i : K β+* L) {f : Polynomial K} : (Polynomial.map (RingHom.id L) (Polynomial.map i f)).Splits β (Polynomial.map i f).Splits - Polynomial.roots_map π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} [IsDomain R] {S : Type u_2} [CommRing S] [IsDomain S] [IsSimpleRing R] (hf : f.Splits) (i : R β+* S) : (Polynomial.map i f).roots = Multiset.map (βi) f.roots - Polynomial.splits_id_of_splits π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} {S : Type u_2} [CommRing S] [IsDomain S] [IsSimpleRing R] (i : R β+* S) (hf : (Polynomial.map i f).Splits) (hi : β a β (Polynomial.map i f).roots, a β i.range) : f.Splits - Polynomial.splits_of_comp π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} {S : Type u_2} [CommRing S] [IsDomain S] [IsSimpleRing R] (i : R β+* S) (hf : (Polynomial.map i f).Splits) (hi : β a β (Polynomial.map i f).roots, a β i.range) : f.Splits - Polynomial.splits_map_iff π Mathlib.Algebra.Polynomial.Splits
{F : Type u} {K : Type v} [CommRing K] [Field F] {L : Type u_2} [CommRing L] (i : K β+* L) (j : L β+* F) {f : Polynomial K} : (Polynomial.map j (Polynomial.map i f)).Splits β (Polynomial.map (j.comp i) f).Splits - Polynomial.image_rootSet π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} {B : Type u_3} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] [IsSimpleRing A] [Algebra R A] [Algebra R B] (hf : (Polynomial.map (algebraMap R A) f).Splits) (g : A ββ[R] B) : βg '' f.rootSet A = f.rootSet B - Polynomial.splits_of_map_eq_C π Mathlib.Algebra.Polynomial.Splits
{K : Type v} {L : Type w} [CommRing K] [Field L] (i : K β+* L) {f : Polynomial K} {a : L} (h : Polynomial.map i f = Polynomial.C a) : (Polynomial.map i f).Splits - Polynomial.aeval_eq_prod_aroots_sub_of_monic_of_splits π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} [CommRing A] [IsDomain A] [IsSimpleRing R] [Algebra R A] (hf : (Polynomial.map (algebraMap R A) f).Splits) (hm : f.Monic) (x : A) : (Polynomial.aeval x) f = (Multiset.map (fun x_1 => x - x_1) (f.aroots A)).prod - Polynomial.aeval_eq_prod_aroots_sub_of_splits π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} [CommRing A] [IsDomain A] [IsSimpleRing R] [Algebra R A] (hf : (Polynomial.map (algebraMap R A) f).Splits) (x : A) : (Polynomial.aeval x) f = (algebraMap R A) f.leadingCoeff * (Multiset.map (fun x_1 => x - x_1) (f.aroots A)).prod - Polynomial.adjoin_rootSet_eq_range π Mathlib.Algebra.Polynomial.Splits
{R : Type u_1} [CommRing R] {f : Polynomial R} {A : Type u_2} {B : Type u_3} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B] [IsSimpleRing A] [Algebra R A] [Algebra R B] (hf : (Polynomial.map (algebraMap R A) f).Splits) (g : A ββ[R] B) : Algebra.adjoin R (f.rootSet B) = g.range β Algebra.adjoin R (f.rootSet A) = β€ - Polynomial.rootOfSplits'_eq_rootOfSplits π Mathlib.Algebra.Polynomial.Splits
{K : Type v} {L : Type w} [Field K] [Field L] (i : K β+* L) {f : Polynomial K} (hf : (Polynomial.map i f).Splits) (hfd : (Polynomial.map i f).degree β 0) : Polynomial.rootOfSplits hf hfd = Polynomial.rootOfSplits hf β― - Cubic.map_toPoly π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {S : Type u_2} {P : Cubic R} [Semiring R] [Semiring S] {Ο : R β+* S} : (Cubic.map Ο P).toPoly = Polynomial.map Ο P.toPoly - Cubic.map_roots π Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {S : Type u_2} {P : Cubic R} [CommRing R] [CommRing S] {Ο : R β+* S} [IsDomain S] : (Cubic.map Ο P).roots = (Polynomial.map Ο P.toPoly).roots - Cubic.splits_iff_card_roots π Mathlib.Algebra.CubicDiscriminant
{F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {Ο : F β+* K} (ha : P.a β 0) : (Polynomial.map Ο P.toPoly).Splits β (Cubic.map Ο P).roots.card = 3 - Cubic.splits_iff_roots_eq_three π Mathlib.Algebra.CubicDiscriminant
{F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {Ο : F β+* K} (ha : P.a β 0) : (Polynomial.map Ο P.toPoly).Splits β β x y z, (Cubic.map Ο P).roots = {x, y, z} - Cubic.disc_ne_zero_iff_roots_nodup π Mathlib.Algebra.CubicDiscriminant
{F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {Ο : F β+* K} (ha : P.a β 0) (hP : (Polynomial.map Ο P.toPoly).Splits) : P.discr β 0 β (Cubic.map Ο P).roots.Nodup - Cubic.discr_ne_zero_iff_roots_nodup π Mathlib.Algebra.CubicDiscriminant
{F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {Ο : F β+* K} (ha : P.a β 0) (hP : (Polynomial.map Ο P.toPoly).Splits) : P.discr β 0 β (Cubic.map Ο P).roots.Nodup - Cubic.card_roots_of_disc_ne_zero π Mathlib.Algebra.CubicDiscriminant
{F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {Ο : F β+* K} [DecidableEq K] (ha : P.a β 0) (h3 : (Polynomial.map Ο P.toPoly).Splits) (hd : P.discr β 0) : (Cubic.map Ο P).roots.toFinset.card = 3 - Cubic.card_roots_of_discr_ne_zero π Mathlib.Algebra.CubicDiscriminant
{F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {Ο : F β+* K} [DecidableEq K] (ha : P.a β 0) (h3 : (Polynomial.map Ο P.toPoly).Splits) (hd : P.discr β 0) : (Cubic.map Ο P).roots.toFinset.card = 3 - 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
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. 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.
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.
This is Loogle revision 6ff4759 serving mathlib revision edaf32c