Documentation

Mathlib.Analysis.Analytic.CPolynomialDef

We specialize the theory of analytic functions to the case of functions that admit a development given by a finite formal multilinear series. We call them "continuously polynomial", which is abbreviated to CPolynomial. One reason to do that is that we no longer need a completeness assumption on the target space F to make the series converge, so some of the results are more general. The class of continuously polynomial functions includes functions defined by polynomials on a normed π•œ-algebra and continuous multilinear maps.

Main definitions #

Let p be a formal multilinear series from E to F, i.e., p n is a multilinear map on E^n for n : β„•, and let f be a function from E to F.

In this file, we develop the basic properties of these notions, notably:

More API is available in the file Mathlib/Analysis/Analytic/CPolynomial.lean, with heavier imports.

structure HasFiniteFPowerSeriesOnBall {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (f : E β†’ F) (p : FormalMultilinearSeries π•œ E F) (x : E) (n : β„•) (r : ENNReal) extends HasFPowerSeriesOnBall f p x r :

Given a function f : E β†’ F, a formal multilinear series p and n : β„•, we say that f has p as a finite power series on the ball of radius r > 0 around x if f (x + y) = βˆ‘' pβ‚˜ yᡐ for all β€–yβ€– < r and pβ‚™ = 0 for n ≀ m.

Instances For
    theorem HasFiniteFPowerSeriesOnBall.mk' {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {n : β„•} {r : ENNReal} (finite : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) (pos : 0 < r) (sum_eq : βˆ€ y ∈ Metric.eball 0 r, (βˆ‘ i ∈ Finset.range n, (p i) fun (x : Fin i) => y) = f (x + y)) :
    def HasFiniteFPowerSeriesAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (f : E β†’ F) (p : FormalMultilinearSeries π•œ E F) (x : E) (n : β„•) :

    Given a function f : E β†’ F, a formal multilinear series p and n : β„•, we say that f has p as a finite power series around x if f (x + y) = βˆ‘' pβ‚™ yⁿ for all y in a neighborhood of 0 and pβ‚™ = 0 for n ≀ m.

    Equations
    Instances For
      theorem HasFiniteFPowerSeriesAt.hasFPowerSeriesAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {n : β„•} (hf : HasFiniteFPowerSeriesAt f p x n) :
      theorem HasFiniteFPowerSeriesAt.finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {n : β„•} (hf : HasFiniteFPowerSeriesAt f p x n) (m : β„•) :
      n ≀ m β†’ p m = 0
      def CPolynomialAt (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (f : E β†’ F) (x : E) :

      Given a function f : E β†’ F, we say that f is continuously polynomial (cpolynomial) at x if it admits a finite power series expansion around x.

      Equations
      Instances For
        def CPolynomialOn (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (f : E β†’ F) (s : Set E) :

        Given a function f : E β†’ F, we say that f is continuously polynomial on a set s if it is continuously polynomial around every point of s.

        Equations
        Instances For
          theorem HasFiniteFPowerSeriesOnBall.hasFiniteFPowerSeriesAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (hf : HasFiniteFPowerSeriesOnBall f p x n r) :
          theorem HasFiniteFPowerSeriesAt.cpolynomialAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {n : β„•} (hf : HasFiniteFPowerSeriesAt f p x n) :
          CPolynomialAt π•œ f x
          theorem HasFiniteFPowerSeriesOnBall.cpolynomialAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (hf : HasFiniteFPowerSeriesOnBall f p x n r) :
          CPolynomialAt π•œ f x
          theorem CPolynomialAt.analyticAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {x : E} (hf : CPolynomialAt π•œ f x) :
          AnalyticAt π•œ f x
          theorem CPolynomialAt.analyticWithinAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {x : E} {s : Set E} (hf : CPolynomialAt π•œ f x) :
          AnalyticWithinAt π•œ f s x
          theorem CPolynomialOn.analyticOnNhd {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {s : Set E} (hf : CPolynomialOn π•œ f s) :
          AnalyticOnNhd π•œ f s
          theorem CPolynomialOn.analyticOn {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {s : Set E} (hf : CPolynomialOn π•œ f s) :
          AnalyticOn π•œ f s
          theorem HasFiniteFPowerSeriesOnBall.congr {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f g : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (hf : HasFiniteFPowerSeriesOnBall f p x n r) (hg : Set.EqOn f g (Metric.eball x r)) :
          theorem HasFiniteFPowerSeriesOnBall.of_le {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {m n : β„•} (h : HasFiniteFPowerSeriesOnBall f p x n r) (hmn : n ≀ m) :
          theorem HasFiniteFPowerSeriesAt.of_le {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {m n : β„•} (h : HasFiniteFPowerSeriesAt f p x n) (hmn : n ≀ m) :
          theorem HasFiniteFPowerSeriesOnBall.comp_sub {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (hf : HasFiniteFPowerSeriesOnBall f p x n r) (y : E) :
          HasFiniteFPowerSeriesOnBall (fun (z : E) => f (z - y)) p (x + y) n r

          If a function f has a finite power series p around x, then the function z ↦ f (z - y) has the same finite power series around x + y.

          theorem HasFiniteFPowerSeriesOnBall.mono {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r r' : ENNReal} {n : β„•} (hf : HasFiniteFPowerSeriesOnBall f p x n r) (r'_pos : 0 < r') (hr : r' ≀ r) :
          theorem HasFiniteFPowerSeriesAt.congr {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f g : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {n : β„•} (hf : HasFiniteFPowerSeriesAt f p x n) (hg : f =αΆ [nhds x] g) :
          theorem HasFiniteFPowerSeriesAt.eventually {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {n : β„•} (hf : HasFiniteFPowerSeriesAt f p x n) :
          theorem CPolynomialAt.congr {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f g : E β†’ F} {x : E} (hf : CPolynomialAt π•œ f x) (hg : f =αΆ [nhds x] g) :
          CPolynomialAt π•œ g x
          theorem CPolynomialAt_congr {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f g : E β†’ F} {x : E} (h : f =αΆ [nhds x] g) :
          CPolynomialAt π•œ f x ↔ CPolynomialAt π•œ g x
          theorem CPolynomialOn.mono {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {s t : Set E} (hf : CPolynomialOn π•œ f t) (hst : s βŠ† t) :
          CPolynomialOn π•œ f s
          theorem CPolynomialOn.congr' {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f g : E β†’ F} {s : Set E} (hf : CPolynomialOn π•œ f s) (hg : f =αΆ [nhdsSet s] g) :
          CPolynomialOn π•œ g s
          theorem CPolynomialOn_congr' {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f g : E β†’ F} {s : Set E} (h : f =αΆ [nhdsSet s] g) :
          CPolynomialOn π•œ f s ↔ CPolynomialOn π•œ g s
          theorem CPolynomialOn.congr {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f g : E β†’ F} {s : Set E} (hs : IsOpen s) (hf : CPolynomialOn π•œ f s) (hg : Set.EqOn f g s) :
          CPolynomialOn π•œ g s
          theorem CPolynomialOn_congr {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f g : E β†’ F} {s : Set E} (hs : IsOpen s) (h : Set.EqOn f g s) :
          CPolynomialOn π•œ f s ↔ CPolynomialOn π•œ g s
          theorem ContinuousLinearMap.comp_hasFiniteFPowerSeriesOnBall {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] [NormedAddCommGroup G] [NormedSpace π•œ G] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (g : F β†’L[π•œ] G) (h : HasFiniteFPowerSeriesOnBall f p x n r) :

          If a function f has a finite power series p on a ball and g is a continuous linear map, then g ∘ f has the finite power series g ∘ p on the same ball.

          theorem ContinuousLinearMap.comp_cpolynomialOn {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] [NormedAddCommGroup G] [NormedSpace π•œ G] {f : E β†’ F} {s : Set E} (g : F β†’L[π•œ] G) (h : CPolynomialOn π•œ f s) :
          CPolynomialOn π•œ (⇑g ∘ f) s

          If a function f is continuously polynomial on a set s and g is a continuous linear map, then g ∘ f is continuously polynomial on s.

          theorem HasFiniteFPowerSeriesOnBall.eq_partialSum {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (hf : HasFiniteFPowerSeriesOnBall f p x n r) (y : E) :
          y ∈ Metric.eball 0 r β†’ βˆ€ (m : β„•), n ≀ m β†’ f (x + y) = p.partialSum m y

          If a function admits a finite power series expansion bounded by n, then it is equal to the mth partial sums of this power series at every point of the disk for n ≀ m.

          theorem HasFiniteFPowerSeriesOnBall.eq_partialSum' {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (hf : HasFiniteFPowerSeriesOnBall f p x n r) (y : E) :
          y ∈ Metric.eball x r β†’ βˆ€ (m : β„•), n ≀ m β†’ f y = p.partialSum m (y - x)

          Variant of the previous result with the variable expressed as y instead of x + y.

          The particular cases where f has a finite power series bounded by 0 or 1.

          theorem HasFiniteFPowerSeriesOnBall.eq_zero_of_bound_zero {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {pf : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} (hf : HasFiniteFPowerSeriesOnBall f pf x 0 r) (y : E) :
          y ∈ Metric.eball x r β†’ f y = 0

          If f has a formal power series on a ball bounded by 0, then f is equal to 0 on the ball.

          theorem HasFiniteFPowerSeriesOnBall.bound_zero_of_eq_zero {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} (hf : βˆ€ y ∈ Metric.eball x r, f y = 0) (r_pos : 0 < r) (hp : βˆ€ (n : β„•), p n = 0) :
          theorem HasFiniteFPowerSeriesAt.eventually_zero_of_bound_zero {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {pf : FormalMultilinearSeries π•œ E F} {x : E} (hf : HasFiniteFPowerSeriesAt f pf x 0) :

          If f has a formal power series at x bounded by 0, then f is equal to 0 in a neighborhood of x.

          theorem HasFiniteFPowerSeriesOnBall.eq_const_of_bound_one {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {pf : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} (hf : HasFiniteFPowerSeriesOnBall f pf x 1 r) (y : E) :
          y ∈ Metric.eball x r β†’ f y = f x

          If f has a formal power series on a ball bounded by 1, then f is constant equal to f x on the ball.

          theorem HasFiniteFPowerSeriesAt.eventually_const_of_bound_one {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {pf : FormalMultilinearSeries π•œ E F} {x : E} (hf : HasFiniteFPowerSeriesAt f pf x 1) :
          f =αΆ [nhds x] fun (x_1 : E) => f x

          If f has a formal power series at x bounded by 1, then f is constant equal to f x in a neighborhood of x.

          theorem HasFiniteFPowerSeriesOnBall.continuousOn {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (hf : HasFiniteFPowerSeriesOnBall f p x n r) :

          If a function admits a finite power series expansion on a disk, then it is continuous there.

          theorem HasFiniteFPowerSeriesAt.continuousAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {n : β„•} (hf : HasFiniteFPowerSeriesAt f p x n) :
          theorem CPolynomialAt.continuousAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {x : E} (hf : CPolynomialAt π•œ f x) :
          theorem CPolynomialOn.continuousOn {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {s : Set E} (hf : CPolynomialOn π•œ f s) :
          theorem CPolynomialOn.continuous {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} (fa : CPolynomialOn π•œ f Set.univ) :

          Continuously polynomial everywhere implies continuous

          theorem FormalMultilinearSeries.sum_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) (x : E) :
          p.sum x = p.partialSum n x
          theorem FormalMultilinearSeries.hasSum_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) (x : E) :
          HasSum (fun (n : β„•) => (p n) fun (x_1 : Fin n) => x) (p.sum x)

          A finite formal multilinear series sums to its sum at every point.

          theorem FormalMultilinearSeries.hasFiniteFPowerSeriesOnBall_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) :

          The sum of a finite power series p admits p as a power series.

          theorem HasFiniteFPowerSeriesOnBall.sum {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {x : E} {r : ENNReal} {n : β„•} (h : HasFiniteFPowerSeriesOnBall f p x n r) {y : E} (hy : y ∈ Metric.eball 0 r) :
          f (x + y) = p.sum y
          theorem FormalMultilinearSeries.continuousOn_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) :

          The sum of a finite power series is continuous.

          We study what happens when we change the origin of a finite formal multilinear series p. The main point is that the new series p.changeOrigin x is still finite, with the same bound.

          theorem FormalMultilinearSeries.changeOriginSeriesTerm_bound {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) (k l : β„•) {s : Finset (Fin (k + l))} (hs : s.card = l) (hkl : n ≀ k + l) :

          If p is a formal multilinear series such that p m = 0 for n ≀ m, then p.changeOriginSeriesTerm k l = 0 for n ≀ k + l.

          theorem FormalMultilinearSeries.changeOriginSeries_finite_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) (k : β„•) {m : β„•} :
          n ≀ k + m β†’ p.changeOriginSeries k m = 0

          If p is a finite formal multilinear series, then so is p.changeOriginSeries k for every k in β„•. More precisely, if p m = 0 for n ≀ m, then p.changeOriginSeries k m = 0 for n ≀ k + m.

          theorem FormalMultilinearSeries.changeOriginSeries_sum_eq_partialSum_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) (k : β„•) :
          theorem FormalMultilinearSeries.changeOrigin_finite_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {x : E} (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) {k : β„•} (hk : n ≀ k) :
          p.changeOrigin x k = 0

          If p is a formal multilinear series such that p m = 0 for n ≀ m, then p.changeOrigin x k = 0 for n ≀ k.

          theorem FormalMultilinearSeries.hasFiniteFPowerSeriesOnBall_changeOrigin {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (k : β„•) (hn : βˆ€ (m : β„•), n + k ≀ m β†’ p m = 0) :
          theorem FormalMultilinearSeries.changeOrigin_eval_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) (x y : E) :
          (p.changeOrigin x).sum y = p.sum (x + y)
          theorem FormalMultilinearSeries.cpolynomialAt_changeOrigin_of_finite {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (p : FormalMultilinearSeries π•œ E F) {n : β„•} (hn : βˆ€ (m : β„•), n ≀ m β†’ p m = 0) (k : β„•) :
          CPolynomialAt π•œ (fun (x : E) => p.changeOrigin x k) 0

          The terms of the formal multilinear series p.changeOrigin are continuously polynomial as we vary the origin

          theorem HasFiniteFPowerSeriesOnBall.changeOrigin {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {r : ENNReal} {n : β„•} {x y : E} (hf : HasFiniteFPowerSeriesOnBall f p x n r) (h : ↑‖yβ€–β‚Š < r) :
          theorem HasFiniteFPowerSeriesOnBall.cpolynomialAt_of_mem {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {r : ENNReal} {n : β„•} {x y : E} (hf : HasFiniteFPowerSeriesOnBall f p x n r) (h : y ∈ Metric.eball x r) :
          CPolynomialAt π•œ f y

          If a function admits a finite power series expansion p on an open ball B (x, r), then it is continuously polynomial at every point of this ball.

          theorem HasFiniteFPowerSeriesOnBall.cpolynomialOn {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {p : FormalMultilinearSeries π•œ E F} {r : ENNReal} {n : β„•} {x : E} (hf : HasFiniteFPowerSeriesOnBall f p x n r) :
          CPolynomialOn π•œ f (Metric.eball x r)
          theorem isOpen_cpolynomialAt (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] (f : E β†’ F) :
          IsOpen {x : E | CPolynomialAt π•œ f x}

          For any function f from a normed vector space to a normed vector space, the set of points x such that f is continuously polynomial at x is open.

          theorem CPolynomialAt.eventually_cpolynomialAt {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {x : E} (h : CPolynomialAt π•œ f x) :
          βˆ€αΆ  (y : E) in nhds x, CPolynomialAt π•œ f y
          theorem CPolynomialAt.exists_mem_nhds_cpolynomialOn {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {x : E} (h : CPolynomialAt π•œ f x) :
          βˆƒ s ∈ nhds x, CPolynomialOn π•œ f s
          theorem CPolynomialAt.exists_ball_cpolynomialOn {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup F] [NormedSpace π•œ F] {f : E β†’ F} {x : E} (h : CPolynomialAt π•œ f x) :
          βˆƒ (r : ℝ), 0 < r ∧ CPolynomialOn π•œ f (Metric.ball x r)

          If f is continuously polynomial at a point, then it is continuously polynomial in a nonempty ball around that point.