Loogle!
Result
Found 72 declarations mentioning PowerSeries.map.
- PowerSeries.map π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] (f : R β+* S) : PowerSeries R β+* PowerSeries S - PowerSeries.map_id π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} [Semiring R] : β(PowerSeries.map (RingHom.id R)) = id - PowerSeries.map_X π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] (f : R β+* S) : (PowerSeries.map f) PowerSeries.X = PowerSeries.X - PowerSeries.map_injective π Mathlib.RingTheory.PowerSeries.Basic
{S : Type u_2} {T : Type u_3} [Semiring S] [Semiring T] (f : S β+* T) (hf : Function.Injective βf) : Function.Injective β(PowerSeries.map f) - PowerSeries.map_surjective π Mathlib.RingTheory.PowerSeries.Basic
{S : Type u_2} {T : Type u_3} [Semiring S] [Semiring T] (f : S β+* T) (hf : Function.Surjective βf) : Function.Surjective β(PowerSeries.map f) - PowerSeries.map_comp π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} [Semiring R] {S : Type u_2} {T : Type u_3} [Semiring S] [Semiring T] (f : R β+* S) (g : S β+* T) : PowerSeries.map (g.comp f) = (PowerSeries.map g).comp (PowerSeries.map f) - Polynomial.polynomial_map_coe π Mathlib.RingTheory.PowerSeries.Basic
{U : Type u_2} {V : Type u_3} [CommSemiring U] [CommSemiring V] {Ο : U β+* V} {f : Polynomial U} : β(Polynomial.map Ο f) = (PowerSeries.map Ο) βf - PowerSeries.map_eq_zero π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_2} {S : Type u_3} [DivisionSemiring R] [Semiring S] [Nontrivial S] (Ο : PowerSeries R) (f : R β+* S) : (PowerSeries.map f) Ο = 0 β Ο = 0 - PowerSeries.algebraMap_apply'' π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} (A : Type u_2) [CommSemiring R] [CommSemiring A] [Algebra R A] (f : PowerSeries R) : (algebraMap (PowerSeries R) (PowerSeries A)) f = (PowerSeries.map (algebraMap R A)) f - PowerSeries.map_C π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] (f : R β+* S) (r : R) : (PowerSeries.map f) ((PowerSeries.C R) r) = (PowerSeries.C S) (f r) - Polynomial.coeToPowerSeries.algHom_apply π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} [CommSemiring R] (Ο : Polynomial R) (A : Type u_2) [Semiring A] [Algebra R A] : (Polynomial.coeToPowerSeries.algHom A) Ο = (PowerSeries.map (algebraMap R A)) βΟ - PowerSeries.algebraMap_apply' π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} (A : Type u_2) [CommSemiring R] [CommSemiring A] [Algebra R A] (p : Polynomial R) : (algebraMap (Polynomial R) (PowerSeries A)) p = (PowerSeries.map (algebraMap R A)) βp - PowerSeries.mapAlgHom_apply π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (Ο : A ββ[R] B) (f : PowerSeries A) : (PowerSeries.mapAlgHom Ο) f = (PowerSeries.map βΟ) f - PowerSeries.coeff_map π Mathlib.RingTheory.PowerSeries.Basic
{R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] (f : R β+* S) (n : β) (Ο : PowerSeries R) : (PowerSeries.coeff S n) ((PowerSeries.map f) Ο) = f ((PowerSeries.coeff R n) Ο) - PowerSeries.map.isLocalHom π Mathlib.RingTheory.PowerSeries.Inverse
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] (f : R β+* S) [IsLocalHom f] : IsLocalHom (PowerSeries.map f) - PowerSeries.map_cos π Mathlib.RingTheory.PowerSeries.WellKnown
{A : Type u_1} {A' : Type u_2} [Ring A] [Ring A'] [Algebra β A] [Algebra β A'] (f : A β+* A') : (PowerSeries.map f) (PowerSeries.cos A) = PowerSeries.cos A' - PowerSeries.map_exp π Mathlib.RingTheory.PowerSeries.WellKnown
{A : Type u_1} {A' : Type u_2} [Ring A] [Ring A'] [Algebra β A] [Algebra β A'] (f : A β+* A') : (PowerSeries.map f) (PowerSeries.exp A) = PowerSeries.exp A' - PowerSeries.map_sin π Mathlib.RingTheory.PowerSeries.WellKnown
{A : Type u_1} {A' : Type u_2} [Ring A] [Ring A'] [Algebra β A] [Algebra β A'] (f : A β+* A') : (PowerSeries.map f) (PowerSeries.sin A) = PowerSeries.sin A' - PowerSeries.map_invUnitsSub π Mathlib.RingTheory.PowerSeries.WellKnown
{R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R β+* S) (u : RΛ£) : (PowerSeries.map f) (PowerSeries.invUnitsSub u) = PowerSeries.invUnitsSub ((Units.map βf) u) - PowerSeries.trunc_map π Mathlib.RingTheory.PowerSeries.Trunc
{R : Type u_1} {S : Type u_2} [Semiring R] [Semiring S] (f : R β+* S) (p : PowerSeries R) (n : β) : PowerSeries.trunc n ((PowerSeries.map f) p) = Polynomial.map f (PowerSeries.trunc n p) - Polynomial.IsDistinguishedAt.coe_natDegree_eq_order_map π Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished
{R : Type u_1} [CommRing R] {I : Ideal R} (f h : PowerSeries R) {g : Polynomial R} (distinguish : g.IsDistinguishedAt I) (notMem : (PowerSeries.constantCoeff R) h β I) (eq : f = βg * h) : βg.natDegree = ((PowerSeries.map (Ideal.Quotient.mk I)) f).order - Polynomial.IsDistinguishedAt.map_ne_zero_of_eq_mul π Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished
{R : Type u_1} [CommRing R] {I : Ideal R} (f h : PowerSeries R) {g : Polynomial R} (distinguish : g.IsDistinguishedAt I) (notMem : (PowerSeries.constantCoeff R) h β I) (eq : f = βg * h) : (PowerSeries.map (Ideal.Quotient.mk I)) f β 0 - IsDistinguishedAt.degree_eq_order_map π Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished
{R : Type u_1} [CommRing R] {I : Ideal R} (f h : PowerSeries R) {g : Polynomial R} (distinguish : g.IsDistinguishedAt I) (notMem : (PowerSeries.constantCoeff R) h β I) (eq : f = βg * h) : g.degree = β(((PowerSeries.map (Ideal.Quotient.mk I)) f).order.lift β―) - Polynomial.IsDistinguishedAt.degree_eq_coe_lift_order_map π Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished
{R : Type u_1} [CommRing R] {I : Ideal R} (f h : PowerSeries R) {g : Polynomial R} (distinguish : g.IsDistinguishedAt I) (notMem : (PowerSeries.constantCoeff R) h β I) (eq : f = βg * h) : g.degree = β(((PowerSeries.map (Ideal.Quotient.mk I)) f).order.lift β―) - Polynomial.IsDistinguishedAt.degree_eq_order_map π Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished
{R : Type u_1} [CommRing R] {I : Ideal R} (f h : PowerSeries R) {g : Polynomial R} (distinguish : g.IsDistinguishedAt I) (notMem : (PowerSeries.constantCoeff R) h β I) (eq : f = βg * h) : g.degree = β(((PowerSeries.map (Ideal.Quotient.mk I)) f).order.lift β―) - PowerSeries.map_algebraMap_eq_subst_X π Mathlib.RingTheory.PowerSeries.Substitution
{R : Type u_2} [CommRing R] {S : Type u_4} [CommRing S] [Algebra R S] (f : PowerSeries R) : (PowerSeries.map (algebraMap R S)) f = PowerSeries.subst PowerSeries.X f - PowerSeries.IsWeierstrassFactorization.natDegree_eq_toNat_order_map π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {g : PowerSeries A} {f : Polynomial A} {h : PowerSeries A} (H : g.IsWeierstrassFactorization f h) : f.natDegree = ((PowerSeries.map (IsLocalRing.residue A)) g).order.toNat - PowerSeries.IsWeierstrassDivisor.of_map_ne_zero π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} [IsLocalRing A] (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : g.IsWeierstrassDivisor - PowerSeries.IsWeierstrassFactorization.map_ne_zero π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {g : PowerSeries A} {f : Polynomial A} {h : PowerSeries A} (H : g.IsWeierstrassFactorization f h) : (PowerSeries.map (IsLocalRing.residue A)) g β 0 - PowerSeries.degree_weierstrassMod_lt π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] (f g : PowerSeries A) [IsPrecomplete (IsLocalRing.maximalIdeal A) A] : (f %Κ· g).degree < β((PowerSeries.map (IsLocalRing.residue A)) g).order.toNat - PowerSeries.weierstrassUnit π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] (g : PowerSeries A) (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : PowerSeries A - PowerSeries.weierstrassDistinguished π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] (g : PowerSeries A) (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : Polynomial A - PowerSeries.isDistinguishedAt_weierstrassDistinguished π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : (g.weierstrassDistinguished hg).IsDistinguishedAt (IsLocalRing.maximalIdeal A) - PowerSeries.isWeierstrassFactorization_weierstrassDistinguished_weierstrassUnit π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : g.IsWeierstrassFactorization (g.weierstrassDistinguished hg) (g.weierstrassUnit hg) - PowerSeries.isUnit_weierstrassUnit π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : IsUnit (g.weierstrassUnit hg) - PowerSeries.exists_isWeierstrassFactorization π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : β f h, g.IsWeierstrassFactorization f h - PowerSeries.exists_isWeierstrassDivision π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] (f : PowerSeries A) {g : PowerSeries A} [IsAdicComplete (IsLocalRing.maximalIdeal A) A] (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : β q r, f.IsWeierstrassDivision g q r - PowerSeries.eq_weierstrassDistinguished_mul_weierstrassUnit π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : g = β(g.weierstrassDistinguished hg) * g.weierstrassUnit hg - PowerSeries.IsWeierstrassFactorization.unique π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g : PowerSeries A} {f : Polynomial A} {h : PowerSeries A} (H : g.IsWeierstrassFactorization f h) (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : f = g.weierstrassDistinguished hg β§ h = g.weierstrassUnit hg - PowerSeries.IsWeierstrassDivision.elim π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {f g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) [IsHausdorff (IsLocalRing.maximalIdeal A) A] {q q' : PowerSeries A} {r r' : Polynomial A} (H : f.IsWeierstrassDivision g q r) (H2 : f.IsWeierstrassDivision g q' r') : q = q' β§ r = r' - PowerSeries.isWeierstrassDivision_weierstrassDiv_weierstrassMod π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] (f : PowerSeries A) {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) [IsAdicComplete (IsLocalRing.maximalIdeal A) A] : f.IsWeierstrassDivision g (f /Κ· g) (f %Κ· g) - PowerSeries.IsWeierstrassDivision.unique π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {f g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {q : PowerSeries A} {r : Polynomial A} (H : f.IsWeierstrassDivision g q r) : q = f /Κ· g β§ r = f %Κ· g - PowerSeries.IsWeierstrassDivision.eq_zero π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) [IsHausdorff (IsLocalRing.maximalIdeal A) A] {q : PowerSeries A} {r : Polynomial A} (H : PowerSeries.IsWeierstrassDivision 0 g q r) : q = 0 β§ r = 0 - PowerSeries.IsWeierstrassDivisionAt.degree_lt π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {f g q : PowerSeries A} {r : Polynomial A} {I : Ideal A} (self : f.IsWeierstrassDivisionAt g q r I) : r.degree < β((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat - PowerSeries.eq_mul_weierstrassDiv_add_weierstrassMod π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] (f : PowerSeries A) {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) [IsAdicComplete (IsLocalRing.maximalIdeal A) A] : f = g * (f /Κ· g) + β(f %Κ· g) - PowerSeries.IsWeierstrassFactorizationAt.natDegree_eq_toNat_order_map_of_ne_top π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {f : Polynomial A} {h : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassFactorizationAt f h I) (hI : I β β€) : f.natDegree = ((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat - PowerSeries.IsWeierstrassDivisorAt.mod_coe_eq_self π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) [IsAdicComplete I A] {r : Polynomial A} (hr : r.degree < β((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) : H.mod βr = r - PowerSeries.IsWeierstrassDivisorAt.mod.eq_1 π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) (f : PowerSeries A) [IsPrecomplete I A] : H.mod f = PowerSeries.trunc ((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat (f - g * H.div f) - PowerSeries.IsWeierstrassDivisionAt.mk π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {f g q : PowerSeries A} {r : Polynomial A} {I : Ideal A} (degree_lt : r.degree < β((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) (eq_mul_add : f = g * q + βr) : f.IsWeierstrassDivisionAt g q r I - PowerSeries.isWeierstrassDivisionAt_iff π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] (f g q : PowerSeries A) (r : Polynomial A) (I : Ideal A) : f.IsWeierstrassDivisionAt g q r I β r.degree < β((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat β§ f = g * q + βr - PowerSeries.IsWeierstrassDivisorAt.div_coe_eq_zero π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) [IsAdicComplete I A] {r : Polynomial A} (hr : r.degree < β((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) : H.div βr = 0 - PowerSeries.IsWeierstrassFactorizationAt.map_ne_zero_of_ne_top π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {f : Polynomial A} {h : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassFactorizationAt f h I) (hI : I β β€) : (PowerSeries.map (Ideal.Quotient.mk I)) g β 0 - PowerSeries.IsWeierstrassDivisorAt.eq_zero_of_mul_eq π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) [IsHausdorff I A] {q : PowerSeries A} {r : Polynomial A} (hdeg : r.degree < β((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) (heq : g * q = βr) : q = 0 β§ r = 0 - PowerSeries.IsWeierstrassDivision.isUnit_of_map_ne_zero π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {g q : PowerSeries A} {r : Polynomial A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) (H : (PowerSeries.X ^ ((PowerSeries.map (IsLocalRing.residue A)) g).order.toNat).IsWeierstrassDivision g q r) : IsUnit q - PowerSeries.IsWeierstrassDivisorAt.eq_1 π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] (g : PowerSeries A) (I : Ideal A) : g.IsWeierstrassDivisorAt I = IsUnit ((PowerSeries.coeff A ((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) g) - PowerSeries.IsWeierstrassDivisorAt.isUnit_shift π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) : IsUnit (PowerSeries.mk fun i => (PowerSeries.coeff A (i + ((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat)) g) - PowerSeries.algEquivQuotientWeierstrassDistinguished π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) : (Polynomial A β§Έ Ideal.span {g.weierstrassDistinguished hg}) ββ[A] PowerSeries A β§Έ Ideal.span {g} - PowerSeries.IsWeierstrassDivisionAt.coeff_f_sub_r_mem π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {f g q : PowerSeries A} {r : Polynomial A} {I : Ideal A} (H : f.IsWeierstrassDivisionAt g q r I) {i : β} (hi : i < ((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) : (PowerSeries.coeff A i) (f - βr) β I - PowerSeries.IsWeierstrassFactorization.isWeierstrassDivision π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {g : PowerSeries A} {f : Polynomial A} {h : PowerSeries A} (H : g.IsWeierstrassFactorization f h) : (PowerSeries.X ^ ((PowerSeries.map (IsLocalRing.residue A)) g).order.toNat).IsWeierstrassDivision g (ββ―.unitβ»ΒΉ) (Polynomial.X ^ ((PowerSeries.map (IsLocalRing.residue A)) g).order.toNat - f) - PowerSeries.IsWeierstrassDivisorAt.coeff_seq_mem π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) (f : PowerSeries A) (k : β) {i : β} (hi : i β₯ ((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) : (PowerSeries.coeff A i) (f - g * H.seq f k) β I ^ k - PowerSeries.IsWeierstrassDivision.isWeierstrassFactorization π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {g q : PowerSeries A} {r : Polynomial A} (hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0) (H : (PowerSeries.X ^ ((PowerSeries.map (IsLocalRing.residue A)) g).order.toNat).IsWeierstrassDivision g q r) : g.IsWeierstrassFactorization (Polynomial.X ^ ((PowerSeries.map (IsLocalRing.residue A)) g).order.toNat - r) ββ―.unitβ»ΒΉ - PowerSeries.IsWeierstrassFactorization.degree_eq_coe_lift_order_map π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] {g : PowerSeries A} {f : Polynomial A} {h : PowerSeries A} (H : g.IsWeierstrassFactorization f h) : f.degree = β(((PowerSeries.map (IsLocalRing.residue A)) g).order.lift β―) - PowerSeries.IsWeierstrassDivisorAt.eq_of_mul_add_eq_mul_add π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) [IsHausdorff I A] {q q' : PowerSeries A} {r r' : Polynomial A} (hr : r.degree < β((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) (hr' : r'.degree < β((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat) (heq : g * q + βr = g * q' + βr') : q = q' β§ r = r' - PowerSeries.IsWeierstrassDivisorAt.seq_one π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) (f : PowerSeries A) : H.seq f 1 = (PowerSeries.mk fun i => (PowerSeries.coeff A (i + ((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat)) f) * ββ―.unitβ»ΒΉ - PowerSeries.weierstrassDiv.eq_1 π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] (f g : PowerSeries A) [IsPrecomplete (IsLocalRing.maximalIdeal A) A] : f /Κ· g = if hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0 then PowerSeries.IsWeierstrassDivisorAt.div β― f else 0 - PowerSeries.weierstrassMod.eq_1 π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] (f g : PowerSeries A) [IsPrecomplete (IsLocalRing.maximalIdeal A) A] : f %Κ· g = if hg : (PowerSeries.map (IsLocalRing.residue A)) g β 0 then PowerSeries.IsWeierstrassDivisorAt.mod β― f else 0 - PowerSeries.IsWeierstrassDivisorAt.seq.eq_2 π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassDivisorAt I) (f : PowerSeries A) (k : β) : H.seq f k.succ = H.seq f k + (PowerSeries.mk fun i => (PowerSeries.coeff A (i + ((PowerSeries.map (Ideal.Quotient.mk I)) g).order.toNat)) (f - g * H.seq f k)) * ββ―.unitβ»ΒΉ - PowerSeries.IsWeierstrassFactorizationAt.degree_eq_coe_lift_order_map_of_ne_top π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] {g : PowerSeries A} {f : Polynomial A} {h : PowerSeries A} {I : Ideal A} (H : g.IsWeierstrassFactorizationAt f h I) (hI : I β β€) : f.degree = β(((PowerSeries.map (Ideal.Quotient.mk I)) g).order.lift β―) - PowerSeries.weierstrassDistinguished_smul π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {a : A} {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) (a β’ g) β 0) : (a β’ g).weierstrassDistinguished hg = g.weierstrassDistinguished β― - PowerSeries.weierstrassUnit_smul π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {a : A} {g : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) (a β’ g) β 0) : (a β’ g).weierstrassUnit hg = a β’ g.weierstrassUnit β― - PowerSeries.weierstrassUnit_mul π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g g' : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) (g * g') β 0) : (g * g').weierstrassUnit hg = g.weierstrassUnit β― * g'.weierstrassUnit β― - PowerSeries.weierstrassDistinguished_mul π Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
{A : Type u_1} [CommRing A] [IsLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A] {g g' : PowerSeries A} (hg : (PowerSeries.map (IsLocalRing.residue A)) (g * g') β 0) : (g * g').weierstrassDistinguished hg = g.weierstrassDistinguished β― * g'.weierstrassDistinguished β―
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 ff04530
serving mathlib revision 8623f65