Loogle!
Result
Found 91 declarations mentioning MvPolynomial.map.
- MvPolynomial.map π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) : MvPolynomial Ο R β+* MvPolynomial Ο Sβ - MvPolynomial.algebraMap_def π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u_2} {S : Type u_3} {Ο : Type u_4} [CommSemiring R] [CommSemiring S] [Algebra R S] : algebraMap (MvPolynomial Ο R) (MvPolynomial Ο S) = MvPolynomial.map (algebraMap R S) - MvPolynomial.map_id π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Ο : Type u_1} [CommSemiring R] (p : MvPolynomial Ο R) : (MvPolynomial.map (RingHom.id R)) p = p - MvPolynomial.map.eq_1 π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) : MvPolynomial.map f = MvPolynomial.evalβHom (MvPolynomial.C.comp f) MvPolynomial.X - MvPolynomial.map_X π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (n : Ο) : (MvPolynomial.map f) (MvPolynomial.X n) = MvPolynomial.X n - MvPolynomial.constantCoeff_comp_map π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) : MvPolynomial.constantCoeff.comp (MvPolynomial.map f) = f.comp MvPolynomial.constantCoeff - MvPolynomial.support_map_subset π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (p : MvPolynomial Ο R) : ((MvPolynomial.map f) p).support β p.support - MvPolynomial.map_injective π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (hf : Function.Injective βf) : Function.Injective β(MvPolynomial.map f) - MvPolynomial.map_surjective π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (hf : Function.Surjective βf) : Function.Surjective β(MvPolynomial.map f) - MvPolynomial.map_injective_iff π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) : Function.Injective β(MvPolynomial.map f) β Function.Injective βf - MvPolynomial.map_surjective_iff π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) : Function.Surjective β(MvPolynomial.map f) β Function.Surjective βf - MvPolynomial.coeff_map π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (p : MvPolynomial Ο R) (m : Ο ββ β) : MvPolynomial.coeff m ((MvPolynomial.map f) p) = f (MvPolynomial.coeff m p) - MvPolynomial.support_map_of_injective π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (p : MvPolynomial Ο R) {f : R β+* Sβ} (hf : Function.Injective βf) : ((MvPolynomial.map f) p).support = p.support - MvPolynomial.evalβ_map π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Sβ : Type w} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] [CommSemiring Sβ] (f : R β+* Sβ) (g : Ο β Sβ) (Ο : Sβ β+* Sβ) (p : MvPolynomial Ο R) : MvPolynomial.evalβ Ο g ((MvPolynomial.map f) p) = MvPolynomial.evalβ (Ο.comp f) g p - MvPolynomial.eval_map π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (g : Ο β Sβ) (p : MvPolynomial Ο R) : (MvPolynomial.eval g) ((MvPolynomial.map f) p) = MvPolynomial.evalβ f g p - MvPolynomial.evalβ_eq_eval_map π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (g : Ο β Sβ) (p : MvPolynomial Ο R) : MvPolynomial.evalβ f g p = (MvPolynomial.eval g) ((MvPolynomial.map f) p) - MvPolynomial.map_ofNat π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (n : β) [n.AtLeastTwo] : (MvPolynomial.map f) (OfNat.ofNat n) = OfNat.ofNat n - MvPolynomial.evalβ_comp_right π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] {Sβ : Type u_2} [CommSemiring Sβ] (k : Sβ β+* Sβ) (f : R β+* Sβ) (g : Ο β Sβ) (p : MvPolynomial Ο R) : k (MvPolynomial.evalβ f g p) = MvPolynomial.evalβ k (βk β g) ((MvPolynomial.map f) p) - MvPolynomial.map_mapRange_eq_iff π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (g : Sβ β R) (hg : g 0 = 0) (Ο : MvPolynomial Ο Sβ) : (MvPolynomial.map f) (Finsupp.mapRange g hg Ο) = Ο β β (d : Ο ββ β), f (g (MvPolynomial.coeff d Ο)) = MvPolynomial.coeff d Ο - MvPolynomial.map_C π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (a : R) : (MvPolynomial.map f) (MvPolynomial.C a) = MvPolynomial.C (f a) - MvPolynomial.constantCoeff_map π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (Ο : MvPolynomial Ο R) : MvPolynomial.constantCoeff ((MvPolynomial.map f) Ο) = f (MvPolynomial.constantCoeff Ο) - MvPolynomial.map_leftInverse π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] {f : R β+* Sβ} {g : Sβ β+* R} (hf : Function.LeftInverse βf βg) : Function.LeftInverse β(MvPolynomial.map f) β(MvPolynomial.map g) - MvPolynomial.map_rightInverse π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] {f : R β+* Sβ} {g : Sβ β+* R} (hf : Function.RightInverse βf βg) : Function.RightInverse β(MvPolynomial.map f) β(MvPolynomial.map g) - MvPolynomial.evalβHom_map_hom π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Sβ : Type w} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] [CommSemiring Sβ] (f : R β+* Sβ) (g : Ο β Sβ) (Ο : Sβ β+* Sβ) (p : MvPolynomial Ο R) : (MvPolynomial.evalβHom Ο g) ((MvPolynomial.map f) p) = (MvPolynomial.evalβHom (Ο.comp f) g) p - MvPolynomial.C_dvd_iff_map_hom_eq_zero π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (q : R β+* Sβ) (r : R) (hr : β (r' : R), q r' = 0 β r β£ r') (Ο : MvPolynomial Ο R) : MvPolynomial.C r β£ Ο β (MvPolynomial.map q) Ο = 0 - MvPolynomial.map_map π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Sβ : Type w} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) [CommSemiring Sβ] (g : Sβ β+* Sβ) (p : MvPolynomial Ο R) : (MvPolynomial.map g) ((MvPolynomial.map f) p) = (MvPolynomial.map (g.comp f)) p - MvPolynomial.map_evalβ π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Sβ : Type w} {Sβ : Type x} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (g : Sβ β MvPolynomial Sβ R) (p : MvPolynomial Sβ R) : (MvPolynomial.map f) (MvPolynomial.evalβ MvPolynomial.C g p) = MvPolynomial.evalβ MvPolynomial.C (β(MvPolynomial.map f) β g) ((MvPolynomial.map f) p) - MvPolynomial.map_monomial π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (s : Ο ββ β) (a : R) : (MvPolynomial.map f) ((MvPolynomial.monomial s) a) = (MvPolynomial.monomial s) (f a) - MvPolynomial.mapAlgHom_coe_ringHom π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Sβ : Type w} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] [CommSemiring Sβ] [Algebra R Sβ] [Algebra R Sβ] (f : Sβ ββ[R] Sβ) : β(MvPolynomial.mapAlgHom f) = MvPolynomial.map βf - MvPolynomial.map_comp_rename π Mathlib.Algebra.MvPolynomial.Rename
{Ο : Type u_1} {Ο : Type u_2} {R : Type u_4} {S : Type u_5} [CommSemiring R] [CommSemiring S] (f : R β+* S) (g : Ο β Ο) : (MvPolynomial.map f).comp (MvPolynomial.rename g).toRingHom = (MvPolynomial.rename g).comp (MvPolynomial.map f) - MvPolynomial.map_rename π Mathlib.Algebra.MvPolynomial.Rename
{Ο : Type u_1} {Ο : Type u_2} {R : Type u_4} {S : Type u_5} [CommSemiring R] [CommSemiring S] (f : R β+* S) (g : Ο β Ο) (p : MvPolynomial Ο R) : (MvPolynomial.map f) ((MvPolynomial.rename g) p) = (MvPolynomial.rename g) ((MvPolynomial.map f) p) - MvPolynomial.degrees_map π Mathlib.Algebra.MvPolynomial.Degrees
{R : Type u} {S : Type v} {Ο : Type u_1} [CommSemiring R] {p : MvPolynomial Ο R} [CommSemiring S] {f : R β+* S} : ((MvPolynomial.map f) p).degrees β€ p.degrees - MvPolynomial.degrees_map_le π Mathlib.Algebra.MvPolynomial.Degrees
{R : Type u} {S : Type v} {Ο : Type u_1} [CommSemiring R] {p : MvPolynomial Ο R} [CommSemiring S] {f : R β+* S} : ((MvPolynomial.map f) p).degrees β€ p.degrees - MvPolynomial.degrees_map_of_injective π Mathlib.Algebra.MvPolynomial.Degrees
{R : Type u} {S : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring S] (p : MvPolynomial Ο R) {f : R β+* S} (hf : Function.Injective βf) : ((MvPolynomial.map f) p).degrees = p.degrees - MvPolynomial.vars_map π Mathlib.Algebra.MvPolynomial.Variables
{R : Type u} {S : Type v} {Ο : Type u_1} [CommSemiring R] (p : MvPolynomial Ο R) [CommSemiring S] (f : R β+* S) : ((MvPolynomial.map f) p).vars β p.vars - MvPolynomial.vars_map_of_injective π Mathlib.Algebra.MvPolynomial.Variables
{R : Type u} {S : Type v} {Ο : Type u_1} [CommSemiring R] (p : MvPolynomial Ο R) [CommSemiring S] {f : R β+* S} (hf : Function.Injective βf) : ((MvPolynomial.map f) p).vars = p.vars - MvPolynomial.mapAlgEquiv_apply π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u} (Ο : Type u_1) [CommSemiring R] {Aβ : Type u_2} {Aβ : Type u_3} [CommSemiring Aβ] [CommSemiring Aβ] [Algebra R Aβ] [Algebra R Aβ] (e : Aβ ββ[R] Aβ) (a : MvPolynomial Ο Aβ) : (MvPolynomial.mapAlgEquiv Ο e) a = (MvPolynomial.map βe) a - MvPolynomial.commAlgEquiv_C π Mathlib.Algebra.MvPolynomial.Equiv
{R : Type u_2} {Sβ : Type u_3} {Sβ : Type u_4} [CommSemiring R] (p : MvPolynomial Sβ R) : (MvPolynomial.commAlgEquiv R Sβ Sβ) (MvPolynomial.C p) = (MvPolynomial.map MvPolynomial.C) p - MvPolynomial.mapEquiv_apply π Mathlib.Algebra.MvPolynomial.Equiv
{Sβ : Type v} {Sβ : Type w} (Ο : Type u_1) [CommSemiring Sβ] [CommSemiring Sβ] (e : Sβ β+* Sβ) (a : MvPolynomial Ο Sβ) : (MvPolynomial.mapEquiv Ο e) a = (MvPolynomial.map βe) a - MvPolynomial.ker_map π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} {S : Type u_1} {Ο : Type v} [CommRing R] [CommRing S] (f : R β+* S) : RingHom.ker (MvPolynomial.map f) = Ideal.map MvPolynomial.C (RingHom.ker f) - MvPolynomial.aeval_map_algebraMap π Mathlib.RingTheory.MvPolynomial.Tower
{R : Type u_1} (A : Type u_2) {B : Type u_3} {Ο : Type u_4} [CommSemiring R] [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B] (x : Ο β B) (p : MvPolynomial Ο R) : (MvPolynomial.aeval x) ((MvPolynomial.map (algebraMap R A)) p) = (MvPolynomial.aeval x) p - MvPolynomial.mapRange_eq_map π Mathlib.RingTheory.MvPolynomial.Basic
(Ο : Type u) {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] (p : MvPolynomial Ο R) (f : R β+* S) : Finsupp.mapRange βf β― p = (MvPolynomial.map f) p - MvPolynomial.map_comp_C π Mathlib.Algebra.MvPolynomial.Monad
{Ο : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R β+* S) : (MvPolynomial.map f).comp MvPolynomial.C = MvPolynomial.C.comp f - MvPolynomial.joinβ_comp_map π Mathlib.Algebra.MvPolynomial.Monad
{Ο : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R β+* MvPolynomial Ο S) : MvPolynomial.joinβ.comp (MvPolynomial.map f) = MvPolynomial.bindβ f - MvPolynomial.bindβ_map π Mathlib.Algebra.MvPolynomial.Monad
{Ο : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] (f : S β+* MvPolynomial Ο T) (g : R β+* S) (Ο : MvPolynomial Ο R) : (MvPolynomial.bindβ f) ((MvPolynomial.map g) Ο) = (MvPolynomial.bindβ (f.comp g)) Ο - MvPolynomial.map_bindβ π Mathlib.Algebra.MvPolynomial.Monad
{Ο : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] (f : R β+* MvPolynomial Ο S) (g : S β+* T) (Ο : MvPolynomial Ο R) : (MvPolynomial.map g) ((MvPolynomial.bindβ f) Ο) = (MvPolynomial.bindβ ((MvPolynomial.map g).comp f)) Ο - MvPolynomial.joinβ_map π Mathlib.Algebra.MvPolynomial.Monad
{Ο : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R β+* MvPolynomial Ο S) (Ο : MvPolynomial Ο R) : MvPolynomial.joinβ ((MvPolynomial.map f) Ο) = (MvPolynomial.bindβ f) Ο - MvPolynomial.map_bindβ π Mathlib.Algebra.MvPolynomial.Monad
{Ο : Type u_1} {Ο : Type u_2} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R β+* S) (g : Ο β MvPolynomial Ο R) (Ο : MvPolynomial Ο R) : (MvPolynomial.map f) ((MvPolynomial.bindβ g) Ο) = (MvPolynomial.bindβ fun i => (MvPolynomial.map f) (g i)) ((MvPolynomial.map f) Ο) - MvPolynomial.IsHomogeneous.map π Mathlib.RingTheory.MvPolynomial.Homogeneous
{Ο : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] {Ο : MvPolynomial Ο R} {n : β} (hΟ : Ο.IsHomogeneous n) (f : R β+* S) : ((MvPolynomial.map f) Ο).IsHomogeneous n - Matrix.charpoly.univ_map_map π Mathlib.LinearAlgebra.Matrix.Charpoly.Univ
{R : Type u_1} {S : Type u_2} (n : Type u_3) [CommRing R] [CommRing S] [Fintype n] [DecidableEq n] (f : R β+* S) : Polynomial.map (MvPolynomial.map f) (Matrix.charpoly.univ R n) = Matrix.charpoly.univ S n - Matrix.toMvPolynomial_map π Mathlib.Algebra.Module.LinearMap.Polynomial
{m : Type u_1} {n : Type u_2} {R : Type u_4} {S : Type u_5} [Fintype n] [CommSemiring R] [CommSemiring S] (f : R β+* S) (M : Matrix m n R) (i : m) : (M.map βf).toMvPolynomial i = (MvPolynomial.map f) (M.toMvPolynomial i) - LinearMap.toMvPolynomial_baseChange π Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {Mβ : Type u_2} {Mβ : Type u_3} {ΞΉβ : Type u_4} {ΞΉβ : Type u_5} [CommRing R] [AddCommGroup Mβ] [AddCommGroup Mβ] [Module R Mβ] [Module R Mβ] [Fintype ΞΉβ] [Finite ΞΉβ] [DecidableEq ΞΉβ] (bβ : Basis ΞΉβ R Mβ) (bβ : Basis ΞΉβ R Mβ) (f : Mβ ββ[R] Mβ) (i : ΞΉβ) (A : Type u_6) [CommRing A] [Algebra R A] : LinearMap.toMvPolynomial (Algebra.TensorProduct.basis A bβ) (Algebra.TensorProduct.basis A bβ) (LinearMap.baseChange A f) i = (MvPolynomial.map (algebraMap R A)) (LinearMap.toMvPolynomial bβ bβ f i) - LinearMap.polyCharpolyAux_baseChange π Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ΞΉ : Type u_5} {ΞΉM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (Ο : L ββ[R] Module.End R M) [Fintype ΞΉ] [Fintype ΞΉM] [DecidableEq ΞΉ] [DecidableEq ΞΉM] (b : Basis ΞΉ R L) (bβ : Basis ΞΉM R M) (A : Type u_8) [CommRing A] [Algebra R A] : (LinearMap.tensorProduct R A M M ββ LinearMap.baseChange A Ο).polyCharpolyAux (Algebra.TensorProduct.basis A b) (Algebra.TensorProduct.basis A bβ) = Polynomial.map (MvPolynomial.map (algebraMap R A)) (Ο.polyCharpolyAux b bβ) - LinearMap.polyCharpoly_baseChange π Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ΞΉ : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (Ο : L ββ[R] Module.End R M) [Fintype ΞΉ] [DecidableEq ΞΉ] [Module.Free R M] [Module.Finite R M] (b : Basis ΞΉ R L) (A : Type u_8) [CommRing A] [Algebra R A] : (LinearMap.tensorProduct R A M M ββ LinearMap.baseChange A Ο).polyCharpoly (Algebra.TensorProduct.basis A b) = Polynomial.map (MvPolynomial.map (algebraMap R A)) (Ο.polyCharpoly b) - MvPolynomial.pderiv_map π Mathlib.Algebra.MvPolynomial.PDeriv
{R : Type u} {Ο : Type v} [CommSemiring R] {S : Type u_1} [CommSemiring S] {Ο : R β+* S} {f : MvPolynomial Ο R} {i : Ο} : (MvPolynomial.pderiv i) ((MvPolynomial.map Ο) f) = (MvPolynomial.map Ο) ((MvPolynomial.pderiv i) f) - MvPolynomial.mapAlgHom.eq_1 π Mathlib.RingTheory.TensorProduct.MvPolynomial
{R : Type u} {Sβ : Type v} {Sβ : Type w} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] [CommSemiring Sβ] [Algebra R Sβ] [Algebra R Sβ] (f : Sβ ββ[R] Sβ) : MvPolynomial.mapAlgHom f = { toRingHom := MvPolynomial.map βf, commutes' := β― } - MvPolynomial.algebraTensorAlgEquiv_tmul π Mathlib.RingTheory.TensorProduct.MvPolynomial
(R : Type u) [CommSemiring R] {Ο : Type u_1} (A : Type u_3) [CommSemiring A] [Algebra R A] (a : A) (p : MvPolynomial Ο R) : (MvPolynomial.algebraTensorAlgEquiv R A) (a ββ[R] p) = a β’ (MvPolynomial.map (algebraMap R A)) p - Algebra.Presentation.baseChange_relation π Mathlib.RingTheory.Presentation
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (T : Type u_1) [CommRing T] [Algebra R T] (P : Algebra.Presentation R S) (i : P.rels) : (Algebra.Presentation.baseChange T P).relation i = (MvPolynomial.map (algebraMap R T)) (P.relation i) - MvPolynomial.map_expand π Mathlib.Algebra.MvPolynomial.Expand
{Ο : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R β+* S) (p : β) (Ο : MvPolynomial Ο R) : (MvPolynomial.map f) ((MvPolynomial.expand p) Ο) = (MvPolynomial.expand p) ((MvPolynomial.map f) Ο) - AlgebraicGeometry.AffineSpace.mapSpecMap π Mathlib.AlgebraicGeometry.AffineSpace
{n : Type v} {R S : CommRingCat} (Ο : R βΆ S) : CategoryTheory.Arrow.mk (AlgebraicGeometry.AffineSpace.map n (AlgebraicGeometry.Spec.map Ο)) β CategoryTheory.Arrow.mk (AlgebraicGeometry.Spec.map (CommRingCat.ofHom (MvPolynomial.map (CommRingCat.Hom.hom Ο)))) - AlgebraicGeometry.AffineSpace.map_Spec_map π Mathlib.AlgebraicGeometry.AffineSpace
{n : Type v} {R S : CommRingCat} (Ο : R βΆ S) : AlgebraicGeometry.AffineSpace.map n (AlgebraicGeometry.Spec.map Ο) = CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.AffineSpace.SpecIso n S).hom (CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Spec.map (CommRingCat.ofHom (MvPolynomial.map (CommRingCat.Hom.hom Ο)))) (AlgebraicGeometry.AffineSpace.SpecIso n R).inv) - WeierstrassCurve.Jacobian.map_polynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) : (WeierstrassCurve.map W' f).toJacobian.polynomial = (MvPolynomial.map f) W'.polynomial - WeierstrassCurve.Jacobian.map_polynomialX π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) : (WeierstrassCurve.map W' f).toJacobian.polynomialX = (MvPolynomial.map f) W'.polynomialX - WeierstrassCurve.Jacobian.map_polynomialY π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) : (WeierstrassCurve.map W' f).toJacobian.polynomialY = (MvPolynomial.map f) W'.polynomialY - WeierstrassCurve.Jacobian.map_polynomialZ π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Jacobian R} (f : R β+* S) : (WeierstrassCurve.map W' f).toJacobian.polynomialZ = (MvPolynomial.map f) W'.polynomialZ - WeierstrassCurve.Jacobian.baseChange_polynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} {A : Type u} {B : Type v} [CommRing R] [CommRing S] [CommRing A] [CommRing B] {W' : WeierstrassCurve.Jacobian R} [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (f : A ββ[S] B) : (WeierstrassCurve.baseChange W' B).toJacobian.polynomial = (MvPolynomial.map βf) (WeierstrassCurve.baseChange W' A).toJacobian.polynomial - WeierstrassCurve.Jacobian.baseChange_polynomialX π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} {A : Type u} {B : Type v} [CommRing R] [CommRing S] [CommRing A] [CommRing B] {W' : WeierstrassCurve.Jacobian R} [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (f : A ββ[S] B) : (WeierstrassCurve.baseChange W' B).toJacobian.polynomialX = (MvPolynomial.map βf) (WeierstrassCurve.baseChange W' A).toJacobian.polynomialX - WeierstrassCurve.Jacobian.baseChange_polynomialY π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} {A : Type u} {B : Type v} [CommRing R] [CommRing S] [CommRing A] [CommRing B] {W' : WeierstrassCurve.Jacobian R} [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (f : A ββ[S] B) : (WeierstrassCurve.baseChange W' B).toJacobian.polynomialY = (MvPolynomial.map βf) (WeierstrassCurve.baseChange W' A).toJacobian.polynomialY - WeierstrassCurve.Jacobian.baseChange_polynomialZ π Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} {S : Type s} {A : Type u} {B : Type v} [CommRing R] [CommRing S] [CommRing A] [CommRing B] {W' : WeierstrassCurve.Jacobian R} [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (f : A ββ[S] B) : (WeierstrassCurve.baseChange W' B).toJacobian.polynomialZ = (MvPolynomial.map βf) (WeierstrassCurve.baseChange W' A).toJacobian.polynomialZ - WeierstrassCurve.Projective.map_polynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) : (WeierstrassCurve.map W' f).toProjective.polynomial = (MvPolynomial.map f) W'.polynomial - WeierstrassCurve.Projective.map_polynomialX π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) : (WeierstrassCurve.map W' f).toProjective.polynomialX = (MvPolynomial.map f) W'.polynomialX - WeierstrassCurve.Projective.map_polynomialY π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) : (WeierstrassCurve.map W' f).toProjective.polynomialY = (MvPolynomial.map f) W'.polynomialY - WeierstrassCurve.Projective.map_polynomialZ π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} [CommRing R] [CommRing S] {W' : WeierstrassCurve.Projective R} (f : R β+* S) : (WeierstrassCurve.map W' f).toProjective.polynomialZ = (MvPolynomial.map f) W'.polynomialZ - WeierstrassCurve.Projective.baseChange_polynomial π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} {A : Type u} {B : Type v} [CommRing R] [CommRing S] [CommRing A] [CommRing B] {W' : WeierstrassCurve.Projective R} [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (f : A ββ[S] B) : (WeierstrassCurve.baseChange W' B).toProjective.polynomial = (MvPolynomial.map βf) (WeierstrassCurve.baseChange W' A).toProjective.polynomial - WeierstrassCurve.Projective.baseChange_polynomialX π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} {A : Type u} {B : Type v} [CommRing R] [CommRing S] [CommRing A] [CommRing B] {W' : WeierstrassCurve.Projective R} [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (f : A ββ[S] B) : (WeierstrassCurve.baseChange W' B).toProjective.polynomialX = (MvPolynomial.map βf) (WeierstrassCurve.baseChange W' A).toProjective.polynomialX - WeierstrassCurve.Projective.baseChange_polynomialY π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} {A : Type u} {B : Type v} [CommRing R] [CommRing S] [CommRing A] [CommRing B] {W' : WeierstrassCurve.Projective R} [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (f : A ββ[S] B) : (WeierstrassCurve.baseChange W' B).toProjective.polynomialY = (MvPolynomial.map βf) (WeierstrassCurve.baseChange W' A).toProjective.polynomialY - WeierstrassCurve.Projective.baseChange_polynomialZ π Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} {S : Type s} {A : Type u} {B : Type v} [CommRing R] [CommRing S] [CommRing A] [CommRing B] {W' : WeierstrassCurve.Projective R} [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (f : A ββ[S] B) : (WeierstrassCurve.baseChange W' B).toProjective.polynomialZ = (MvPolynomial.map βf) (WeierstrassCurve.baseChange W' A).toProjective.polynomialZ - MvPolynomial.IsSymmetric.map π Mathlib.RingTheory.MvPolynomial.Symmetric.Defs
{Ο : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] {Ο : MvPolynomial Ο R} (hΟ : Ο.IsSymmetric) (f : R β+* S) : ((MvPolynomial.map f) Ο).IsSymmetric - MvPolynomial.map_esymm π Mathlib.RingTheory.MvPolynomial.Symmetric.Defs
{S : Type u_4} (Ο : Type u_5) (R : Type u_6) [CommSemiring R] [CommSemiring S] [Fintype Ο] (n : β) (f : R β+* S) : (MvPolynomial.map f) (MvPolynomial.esymm Ο R n) = MvPolynomial.esymm Ο S n - MvPolynomial.map_hsymm π Mathlib.RingTheory.MvPolynomial.Symmetric.Defs
{S : Type u_4} (Ο : Type u_5) (R : Type u_6) [CommSemiring R] [CommSemiring S] [Fintype Ο] [DecidableEq Ο] (n : β) (f : R β+* S) : (MvPolynomial.map f) (MvPolynomial.hsymm Ο R n) = MvPolynomial.hsymm Ο S n - MvPolynomial.C_dvd_iff_zmod π Mathlib.FieldTheory.Finite.Polynomial
{Ο : Type u_1} (n : β) (Ο : MvPolynomial Ο β€) : MvPolynomial.C βn β£ Ο β (MvPolynomial.map (Int.castRingHom (ZMod n))) Ο = 0 - MvPowerSeries.trunc'_map π Mathlib.RingTheory.MvPowerSeries.Trunc
{Ο : Type u_1} {R : Type u_2} {S : Type u_3} [DecidableEq Ο] [CommSemiring R] [CommSemiring S] (n : Ο ββ β) (f : R β+* S) (p : MvPowerSeries Ο R) : (MvPowerSeries.trunc' S n) ((MvPowerSeries.map Ο f) p) = (MvPolynomial.map f) ((MvPowerSeries.trunc' R n) p) - MvPowerSeries.trunc_map π Mathlib.RingTheory.MvPowerSeries.Trunc
{Ο : Type u_1} {R : Type u_2} {S : Type u_3} [DecidableEq Ο] [CommSemiring R] [CommSemiring S] (n : Ο ββ β) (f : R β+* S) (p : MvPowerSeries Ο R) : (MvPowerSeries.trunc S n) ((MvPowerSeries.map Ο f) p) = (MvPolynomial.map f) ((MvPowerSeries.trunc R n) p) - map_wittPolynomial π Mathlib.RingTheory.WittVector.WittPolynomial
(p : β) {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] (f : R β+* S) (n : β) : (MvPolynomial.map f) (wittPolynomial p R n) = wittPolynomial p S n - wittStructureInt.eq_1 π Mathlib.RingTheory.WittVector.StructurePolynomial
(p : β) {idx : Type u_2} [hp : Fact (Nat.Prime p)] (Ξ¦ : MvPolynomial idx β€) (n : β) : wittStructureInt p Ξ¦ n = Finsupp.mapRange Rat.num wittStructureInt._proof_2 (wittStructureRat p ((MvPolynomial.map (Int.castRingHom β)) Ξ¦) n) - map_wittStructureInt π Mathlib.RingTheory.WittVector.StructurePolynomial
(p : β) {idx : Type u_2} [hp : Fact (Nat.Prime p)] (Ξ¦ : MvPolynomial idx β€) (n : β) : (MvPolynomial.map (Int.castRingHom β)) (wittStructureInt p Ξ¦ n) = wittStructureRat p ((MvPolynomial.map (Int.castRingHom β)) Ξ¦) n - witt_structure_prop π Mathlib.RingTheory.WittVector.StructurePolynomial
(p : β) {R : Type u_1} {idx : Type u_2} [CommRing R] [hp : Fact (Nat.Prime p)] (Ξ¦ : MvPolynomial idx β€) (n : β) : (MvPolynomial.aeval fun i => (MvPolynomial.map (Int.castRingHom R)) (wittStructureInt p Ξ¦ i)) (wittPolynomial p β€ n) = (MvPolynomial.aeval fun i => (MvPolynomial.rename (Prod.mk i)) (wittPolynomial p R n)) Ξ¦ - bindβ_rename_expand_wittPolynomial π Mathlib.RingTheory.WittVector.StructurePolynomial
{p : β} {idx : Type u_2} [hp : Fact (Nat.Prime p)] (Ξ¦ : MvPolynomial idx β€) (n : β) (IH : β m < n + 1, (MvPolynomial.map (Int.castRingHom β)) (wittStructureInt p Ξ¦ m) = wittStructureRat p ((MvPolynomial.map (Int.castRingHom β)) Ξ¦) m) : (MvPolynomial.bindβ fun b => (MvPolynomial.rename fun i => (b, i)) ((MvPolynomial.expand p) (wittPolynomial p β€ n))) Ξ¦ = (MvPolynomial.bindβ fun i => (MvPolynomial.expand p) (wittStructureInt p Ξ¦ i)) (wittPolynomial p β€ n) - C_p_pow_dvd_bindβ_rename_wittPolynomial_sub_sum π Mathlib.RingTheory.WittVector.StructurePolynomial
{p : β} {idx : Type u_2} [hp : Fact (Nat.Prime p)] (Ξ¦ : MvPolynomial idx β€) (n : β) (IH : β m < n, (MvPolynomial.map (Int.castRingHom β)) (wittStructureInt p Ξ¦ m) = wittStructureRat p ((MvPolynomial.map (Int.castRingHom β)) Ξ¦) m) : MvPolynomial.C β(p ^ n) β£ (MvPolynomial.bindβ fun b => (MvPolynomial.rename fun i => (b, i)) (wittPolynomial p β€ n)) Ξ¦ - β i β Finset.range n, MvPolynomial.C (βp ^ i) * wittStructureInt p Ξ¦ i ^ p ^ (n - i) - WittVector.map_frobeniusPoly π Mathlib.RingTheory.WittVector.Frobenius
(p : β) [hp : Fact (Nat.Prime p)] (n : β) : (MvPolynomial.map (Int.castRingHom β)) (WittVector.frobeniusPoly p n) = WittVector.frobeniusPolyRat p n - WittVector.frobeniusPoly_zmod π Mathlib.RingTheory.WittVector.Frobenius
(p : β) [hp : Fact (Nat.Prime p)] (n : β) : (MvPolynomial.map (Int.castRingHom (ZMod p))) (WittVector.frobeniusPoly p n) = MvPolynomial.X n ^ p
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 ?a
If 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 ?b
By 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_tsum
even though the hypothesisf i < g i
is 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 19971e9
serving mathlib revision bce1d65