Documentation

Mathlib.Analysis.Analytic.Order

Vanishing Order of Analytic Functions #

This file defines the order of vanishing of an analytic function f at a point zโ‚€, as an element of โ„•โˆž.

TODO #

Uniformize API between analytic and meromorphic functions

Vanishing Order at a Point: Definition and Characterization #

noncomputable def analyticOrderAt {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] (f : ๐•œ โ†’ E) (zโ‚€ : ๐•œ) :

The order of vanishing of f at zโ‚€, as an element of โ„•โˆž.

The order is defined to be โˆž if f is identically 0 on a neighbourhood of zโ‚€, and otherwise the unique n such that f can locally be written as f z = (z - zโ‚€) ^ n โ€ข g z, where g is analytic and does not vanish at zโ‚€. See AnalyticAt.analyticOrderAt_eq_top and AnalyticAt.analyticOrderAt_eq_natCast for these equivalences.

If f isn't analytic at zโ‚€, then analyticOrderAt f zโ‚€ returns a junk value of 0.

Equations
    Instances For
      noncomputable def analyticOrderNatAt {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] (f : ๐•œ โ†’ E) (zโ‚€ : ๐•œ) :

      The order of vanishing of f at zโ‚€, as an element of โ„•.

      The order is defined to be 0 if f is identically zero on a neighbourhood of zโ‚€, and is otherwise the unique n such that f can locally be written as f z = (z - zโ‚€) ^ n โ€ข g z, where g is analytic and does not vanish at zโ‚€. See AnalyticAt.analyticOrderAt_eq_top and AnalyticAt.analyticOrderAt_eq_natCast for these equivalences.

      If f isn't analytic at zโ‚€, then analyticOrderNatAt f zโ‚€ returns a junk value of 0.

      Equations
        Instances For
          @[simp]
          theorem analyticOrderAt_of_not_analyticAt {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : ยฌAnalyticAt ๐•œ f zโ‚€) :
          analyticOrderAt f zโ‚€ = 0
          @[simp]
          theorem analyticOrderNatAt_of_not_analyticAt {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : ยฌAnalyticAt ๐•œ f zโ‚€) :
          analyticOrderNatAt f zโ‚€ = 0
          @[simp]
          theorem Nat.cast_analyticOrderNatAt {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : analyticOrderAt f zโ‚€ โ‰  โŠค) :
          โ†‘(analyticOrderNatAt f zโ‚€) = analyticOrderAt f zโ‚€
          theorem analyticOrderAt_eq_top {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} :
          analyticOrderAt f zโ‚€ = โŠค โ†” โˆ€แถ  (z : ๐•œ) in nhds zโ‚€, f z = 0

          The order of a function f at a zโ‚€ is infinity iff f vanishes locally around zโ‚€.

          theorem eventuallyConst_iff_analyticOrderAt_sub_eq_top {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} :
          Filter.EventuallyConst f (nhds zโ‚€) โ†” analyticOrderAt (fun (x : ๐•œ) => f x - f zโ‚€) zโ‚€ = โŠค
          theorem AnalyticAt.analyticOrderAt_eq_natCast {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {n : โ„•} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
          analyticOrderAt f zโ‚€ = โ†‘n โ†” โˆƒ (g : ๐•œ โ†’ E), AnalyticAt ๐•œ g zโ‚€ โˆง g zโ‚€ โ‰  0 โˆง โˆ€แถ  (z : ๐•œ) in nhds zโ‚€, f z = (z - zโ‚€) ^ n โ€ข g z

          The order of an analytic function f at zโ‚€ equals a natural number n iff f can locally be written as f z = (z - zโ‚€) ^ n โ€ข g z, where g is analytic and does not vanish at zโ‚€.

          theorem AnalyticAt.analyticOrderNatAt_eq_iff {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) (hf' : analyticOrderAt f zโ‚€ โ‰  โŠค) {n : โ„•} :
          analyticOrderNatAt f zโ‚€ = n โ†” โˆƒ (g : ๐•œ โ†’ E), AnalyticAt ๐•œ g zโ‚€ โˆง g zโ‚€ โ‰  0 โˆง โˆ€แถ  (z : ๐•œ) in nhds zโ‚€, f z = (z - zโ‚€) ^ n โ€ข g z

          The order of an analytic function f at zโ‚€ equals a natural number n iff f can locally be written as f z = (z - zโ‚€) ^ n โ€ข g z, where g is analytic and does not vanish at zโ‚€.

          theorem AnalyticAt.analyticOrderAt_ne_top {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
          analyticOrderAt f zโ‚€ โ‰  โŠค โ†” โˆƒ (g : ๐•œ โ†’ E), AnalyticAt ๐•œ g zโ‚€ โˆง g zโ‚€ โ‰  0 โˆง f =แถ [nhds zโ‚€] fun (z : ๐•œ) => (z - zโ‚€) ^ analyticOrderNatAt f zโ‚€ โ€ข g z

          The order of an analytic function f at zโ‚€ is finite iff f can locally be written as f z = (z - zโ‚€) ^ analyticOrderNatAt f zโ‚€ โ€ข g z, where g is analytic and does not vanish at zโ‚€.

          See MeromorphicNFAt.order_eq_zero_iff for an analogous statement about meromorphic functions in normal form.

          theorem analyticOrderAt_eq_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} :
          analyticOrderAt f zโ‚€ = 0 โ†” ยฌAnalyticAt ๐•œ f zโ‚€ โˆจ f zโ‚€ โ‰  0
          theorem analyticOrderAt_ne_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} :
          analyticOrderAt f zโ‚€ โ‰  0 โ†” AnalyticAt ๐•œ f zโ‚€ โˆง f zโ‚€ = 0
          theorem AnalyticAt.analyticOrderAt_eq_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
          analyticOrderAt f zโ‚€ = 0 โ†” f zโ‚€ โ‰  0

          The order of an analytic function f at zโ‚€ is zero iff f does not vanish at zโ‚€.

          theorem AnalyticAt.analyticOrderAt_ne_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
          analyticOrderAt f zโ‚€ โ‰  0 โ†” f zโ‚€ = 0

          The order of an analytic function f at zโ‚€ is zero iff f does not vanish at zโ‚€.

          theorem apply_eq_zero_of_analyticOrderAt_ne_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : analyticOrderAt f zโ‚€ โ‰  0) :
          f zโ‚€ = 0

          A function vanishes at a point if its analytic order is nonzero in โ„•โˆž.

          theorem apply_eq_zero_of_analyticOrderNatAt_ne_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : analyticOrderNatAt f zโ‚€ โ‰  0) :
          f zโ‚€ = 0

          A function vanishes at a point if its analytic order is nonzero when converted to โ„•.

          theorem natCast_le_analyticOrderAt {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) {n : โ„•} :
          โ†‘n โ‰ค analyticOrderAt f zโ‚€ โ†” โˆƒ (g : ๐•œ โ†’ E), AnalyticAt ๐•œ g zโ‚€ โˆง โˆ€แถ  (z : ๐•œ) in nhds zโ‚€, f z = (z - zโ‚€) ^ n โ€ข g z

          Characterization of which natural numbers are โ‰ค hf.order. Useful for avoiding case splits, since it applies whether or not the order is โˆž.

          theorem analyticOrderAt_congr {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hfg : f =แถ [nhds zโ‚€] g) :
          analyticOrderAt f zโ‚€ = analyticOrderAt g zโ‚€

          If two functions agree in a neighborhood of zโ‚€, then their orders at zโ‚€ agree.

          @[simp]
          theorem analyticOrderAt_id {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] :
          @[simp]
          theorem analyticOrderAt_neg {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} :
          analyticOrderAt (-f) zโ‚€ = analyticOrderAt f zโ‚€
          theorem le_analyticOrderAt_add {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} :
          min (analyticOrderAt f zโ‚€) (analyticOrderAt g zโ‚€) โ‰ค analyticOrderAt (f + g) zโ‚€

          The order of a sum is at least the minimum of the orders of the summands.

          theorem le_analyticOrderAt_sub {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} :
          min (analyticOrderAt f zโ‚€) (analyticOrderAt g zโ‚€) โ‰ค analyticOrderAt (f - g) zโ‚€
          theorem analyticOrderAt_add_eq_left_of_lt {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hfg : analyticOrderAt f zโ‚€ < analyticOrderAt g zโ‚€) :
          analyticOrderAt (f + g) zโ‚€ = analyticOrderAt f zโ‚€
          theorem analyticOrderAt_add_eq_right_of_lt {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hgf : analyticOrderAt g zโ‚€ < analyticOrderAt f zโ‚€) :
          analyticOrderAt (f + g) zโ‚€ = analyticOrderAt g zโ‚€
          theorem analyticOrderAt_add_of_ne {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hfg : analyticOrderAt f zโ‚€ โ‰  analyticOrderAt g zโ‚€) :
          analyticOrderAt (f + g) zโ‚€ = min (analyticOrderAt f zโ‚€) (analyticOrderAt g zโ‚€)

          If two functions have unequal orders, then the order of their sum is exactly the minimum of the orders of the summands.

          theorem analyticOrderAt_smul_eq_top_of_left {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} {f : ๐•œ โ†’ ๐•œ} (hf : analyticOrderAt f zโ‚€ = โŠค) :
          theorem analyticOrderAt_smul_eq_top_of_right {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} {f : ๐•œ โ†’ ๐•œ} (hg : analyticOrderAt g zโ‚€ = โŠค) :
          theorem analyticOrderAt_smul {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {g : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} {f : ๐•œ โ†’ ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) (hg : AnalyticAt ๐•œ g zโ‚€) :
          analyticOrderAt (f โ€ข g) zโ‚€ = analyticOrderAt f zโ‚€ + analyticOrderAt g zโ‚€

          The order is additive when scalar multiplying analytic functions.

          theorem AnalyticAt.analyticOrderAt_deriv_add_one {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : AnalyticAt ๐•œ f x) [CompleteSpace E] [CharZero ๐•œ] :
          analyticOrderAt (deriv f) x + 1 = analyticOrderAt (fun (x_1 : ๐•œ) => f x_1 - f x) x
          theorem AnalyticAt.analyticOrderAt_sub_eq_one_of_deriv_ne_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : AnalyticAt ๐•œ f x) (hf' : deriv f x โ‰  0) :
          analyticOrderAt (fun (x_1 : ๐•œ) => f x_1 - f x) x = 1
          theorem natCast_le_analyticOrderAt_iff_iteratedDeriv_eq_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {n : โ„•} {zโ‚€ : ๐•œ} [CharZero ๐•œ] [CompleteSpace E] (hf : AnalyticAt ๐•œ f zโ‚€) :
          โ†‘n โ‰ค analyticOrderAt f zโ‚€ โ†” โˆ€ i < n, iteratedDeriv i f zโ‚€ = 0
          theorem AnalyticAt.exists_eventuallyEq_sum_add_pow_mul {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] [CharZero ๐•œ] [CompleteSpace E] {f : ๐•œ โ†’ E} (hf : AnalyticAt ๐•œ f 0) (n : โ„•) :
          โˆƒ (F : ๐•œ โ†’ E), AnalyticAt ๐•œ F 0 โˆง โˆ€แถ  (z : ๐•œ) in nhds 0, f z = โˆ‘ i โˆˆ Finset.range n, (z ^ i / โ†‘i.factorial) โ€ข iteratedDeriv i f 0 + z ^ n โ€ข F z

          A version of Taylor's theorem for analytic functions in one variable, with the error term of the form z ^ n times a function analytic at 0.

          (See AnalyticAt.exists_eq_sum_add_pow_mul for a version asserting global equality rather than just on a neighbourhood of 0.)

          theorem AnalyticAt.exists_eq_sum_add_pow_mul {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] [CharZero ๐•œ] [CompleteSpace E] {f : ๐•œ โ†’ E} (hf : AnalyticAt ๐•œ f 0) (n : โ„•) :
          โˆƒ (F : ๐•œ โ†’ E), AnalyticAt ๐•œ F 0 โˆง โˆ€ (z : ๐•œ), f z = โˆ‘ i โˆˆ Finset.range n, (z ^ i / โ†‘i.factorial) โ€ข iteratedDeriv i f 0 + z ^ n โ€ข F z

          A version of Taylor's theorem for analytic functions in one variable, with the error term of the form z ^ n times a function analytic at 0.

          (See AnalyticAt.exists_eventuallyEq_sum_add_pow_mul for a version asserting equality on a neighbourhood of 0 rather than globally.)

          Vanishing Order at a Point: Elementary Computations #

          @[simp]
          theorem analyticOrderAt_centeredMonomial {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {zโ‚€ : ๐•œ} {n : โ„•} :
          analyticOrderAt ((fun (x : ๐•œ) => x - zโ‚€) ^ n) zโ‚€ = โ†‘n

          Simplifier lemma for the order of a centered monomial

          theorem analyticOrderAt_mul_eq_top_of_left {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {f g : ๐•œ โ†’ ๐•œ} {zโ‚€ : ๐•œ} (hf : analyticOrderAt f zโ‚€ = โŠค) :
          analyticOrderAt (f * g) zโ‚€ = โŠค
          theorem analyticOrderAt_mul_eq_top_of_right {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {f g : ๐•œ โ†’ ๐•œ} {zโ‚€ : ๐•œ} (hg : analyticOrderAt g zโ‚€ = โŠค) :
          analyticOrderAt (f * g) zโ‚€ = โŠค
          theorem analyticOrderAt_mul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {f g : ๐•œ โ†’ ๐•œ} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) (hg : AnalyticAt ๐•œ g zโ‚€) :
          analyticOrderAt (f * g) zโ‚€ = analyticOrderAt f zโ‚€ + analyticOrderAt g zโ‚€

          The order is additive when multiplying analytic functions.

          theorem analyticOrderNatAt_mul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {f g : ๐•œ โ†’ ๐•œ} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) (hg : AnalyticAt ๐•œ g zโ‚€) (hf' : analyticOrderAt f zโ‚€ โ‰  โŠค) (hg' : analyticOrderAt g zโ‚€ โ‰  โŠค) :
          analyticOrderNatAt (f * g) zโ‚€ = analyticOrderNatAt f zโ‚€ + analyticOrderNatAt g zโ‚€

          The order is additive when multiplying analytic functions.

          theorem analyticOrderAt_pow {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {f : ๐•œ โ†’ ๐•œ} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) (n : โ„•) :
          analyticOrderAt (f ^ n) zโ‚€ = n โ€ข analyticOrderAt f zโ‚€

          The order multiplies by n when taking an analytic function to its nth power.

          theorem analyticOrderNatAt_pow {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {f : ๐•œ โ†’ ๐•œ} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) (n : โ„•) :
          analyticOrderNatAt (f ^ n) zโ‚€ = n โ€ข analyticOrderNatAt f zโ‚€

          The order multiplies by n when taking an analytic function to its nth power.

          Vanishing Order at a Point: Composition #

          theorem AnalyticAt.analyticOrderAt_comp {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {g : ๐•œ โ†’ ๐•œ} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f (g zโ‚€)) (hg : AnalyticAt ๐•œ g zโ‚€) :
          analyticOrderAt (f โˆ˜ g) zโ‚€ = analyticOrderAt f (g zโ‚€) * analyticOrderAt (fun (x : ๐•œ) => g x - g zโ‚€) zโ‚€

          Analytic order of a composition of analytic functions.

          theorem analyticOrderAt_comp_of_deriv_ne_zero {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {g : ๐•œ โ†’ ๐•œ} {zโ‚€ : ๐•œ} (hg : AnalyticAt ๐•œ g zโ‚€) (hg' : deriv g zโ‚€ โ‰  0) [CompleteSpace ๐•œ] [CharZero ๐•œ] :
          analyticOrderAt (f โˆ˜ g) zโ‚€ = analyticOrderAt f (g zโ‚€)

          If g is analytic at x, and g' x โ‰  0, then the analytic order of f โˆ˜ g at x is the analytic order of f at g x (even if f is not analytic).

          Level Sets of the Order Function #

          theorem AnalyticOnNhd.isClopen_setOf_analyticOrderAt_eq_top {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {U : Set ๐•œ} {f : ๐•œ โ†’ E} (hf : AnalyticOnNhd ๐•œ f U) :
          IsClopen {u : โ†‘U | analyticOrderAt f โ†‘u = โŠค}

          The set where an analytic function has infinite order is clopen in its domain of analyticity.

          theorem AnalyticOnNhd.exists_analyticOrderAt_ne_top_iff_forall {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {U : Set ๐•œ} {f : ๐•œ โ†’ E} (hf : AnalyticOnNhd ๐•œ f U) (hU : IsConnected U) :
          (โˆƒ (u : โ†‘U), analyticOrderAt f โ†‘u โ‰  โŠค) โ†” โˆ€ (u : โ†‘U), analyticOrderAt f โ†‘u โ‰  โŠค

          On a connected set, there exists a point where a meromorphic function f has finite order iff f has finite order at every point.

          theorem AnalyticOnNhd.analyticOrderAt_ne_top_of_isPreconnected {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {U : Set ๐•œ} {f : ๐•œ โ†’ E} {x y : ๐•œ} (hf : AnalyticOnNhd ๐•œ f U) (hU : IsPreconnected U) (hโ‚x : x โˆˆ U) (hy : y โˆˆ U) (hโ‚‚x : analyticOrderAt f x โ‰  โŠค) :

          On a preconnected set, a meromorphic function has finite order at one point if it has finite order at another point.

          theorem AnalyticOnNhd.codiscrete_setOf_analyticOrderAt_eq_zero_or_top {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {U : Set ๐•œ} {f : ๐•œ โ†’ E} (hf : AnalyticOnNhd ๐•œ f U) :
          {u : โ†‘U | analyticOrderAt f โ†‘u = 0 โˆจ analyticOrderAt f โ†‘u = โŠค} โˆˆ Filter.codiscrete โ†‘U

          The set where an analytic function has zero or infinite order is discrete within its domain of analyticity.

          theorem AnalyticOnNhd.codiscreteWithin_setOf_analyticOrderAt_eq_zero_or_top {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {U : Set ๐•œ} {f : ๐•œ โ†’ E} (hf : AnalyticOnNhd ๐•œ f U) :

          The set where an analytic function has zero or infinite order is discrete within its domain of analyticity.

          theorem AnalyticOnNhd.preimage_zero_mem_codiscreteWithin {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {U : Set ๐•œ} {f : ๐•œ โ†’ E} {x : ๐•œ} (hโ‚f : AnalyticOnNhd ๐•œ f U) (hโ‚‚f : f x โ‰  0) (hx : x โˆˆ U) (hU : IsConnected U) :

          If an analytic function f is not constantly zero on a connected set U, then its set of zeros is codiscrete within U.

          See AnalyticOnNhd.preimage_mem_codiscreteWithin for a more general statement in preimages of codiscrete sets.

          theorem AnalyticOnNhd.preimage_zero_mem_codiscrete {๐•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} [ConnectedSpace ๐•œ] {x : ๐•œ} (hf : AnalyticOnNhd ๐•œ f Set.univ) (hx : f x โ‰  0) :

          If an analytic function f is not constantly zero on ๐•œ, then its set of zeros is codiscrete.

          See AnalyticOnNhd.preimage_mem_codiscreteWithin for a more general statement in preimages of codiscrete sets.