Documentation

Mathlib.Analysis.Complex.Exponential

Exponential Function #

This file contains the definitions of the real and complex exponential function.

Main definitions #

theorem Complex.isCauSeq_norm_exp (z : โ„‚) :
IsCauSeq abs fun (n : โ„•) => โˆ‘ m โˆˆ Finset.range n, โ€–z ^ m / โ†‘m.factorialโ€–
theorem Complex.isCauSeq_exp (z : โ„‚) :
IsCauSeq (fun (x : โ„‚) => โ€–xโ€–) fun (n : โ„•) => โˆ‘ m โˆˆ Finset.range n, z ^ m / โ†‘m.factorial
noncomputable def Complex.exp' (z : โ„‚) :

The Cauchy sequence consisting of partial sums of the Taylor series of the complex exponential function

Instances For
    @[irreducible]
    noncomputable def Complex.exp (z : โ„‚) :

    The complex exponential function, defined via its Taylor series

    Instances For
      def Complex.termCexp :
      Lean.ParserDescr

      scoped notation for the complex exponential function

      Instances For
        noncomputable def Real.exp (x : โ„) :

        The real exponential function, defined as the real part of the complex exponential

        Instances For
          def Real.termRexp :
          Lean.ParserDescr

          scoped notation for the real exponential function

          Instances For
            theorem Complex.exp_add (x y : โ„‚) :
            exp (x + y) = exp x * exp y

            the exponential function as a monoid hom from Multiplicative โ„‚ to โ„‚

            Instances For
              theorem Complex.exp_list_sum (l : List โ„‚) :
              exp l.sum = (List.map exp l).prod
              theorem Complex.exp_sum {ฮฑ : Type u_1} (s : Finset ฮฑ) (f : ฮฑ โ†’ โ„‚) :
              exp (โˆ‘ x โˆˆ s, f x) = โˆ x โˆˆ s, exp (f x)
              theorem Complex.exp_nsmul (x : โ„‚) (n : โ„•) :
              exp (n โ€ข x) = exp x ^ n
              theorem Complex.exp_nsmul' (x a p : โ„‚) (n : โ„•) :
              exp (a * โ†‘n * x / p) = exp (a * x / p) ^ n

              This is a useful version of exp_nsmul for q-expansions of modular forms.

              theorem Complex.exp_nat_mul (x : โ„‚) (n : โ„•) :
              exp (โ†‘n * x) = exp x ^ n
              @[simp]
              theorem Complex.exp_ne_zero (x : โ„‚) :
              exp x โ‰  0
              theorem Complex.exp_sub (x y : โ„‚) :
              exp (x - y) = exp x / exp y
              theorem Complex.exp_int_mul (z : โ„‚) (n : โ„ค) :
              exp (โ†‘n * z) = exp z ^ n
              @[simp]
              theorem Complex.ofReal_exp_ofReal_re (x : โ„) :
              โ†‘(exp โ†‘x).re = exp โ†‘x
              @[simp]
              theorem Complex.ofReal_exp (x : โ„) :
              โ†‘(Real.exp x) = exp โ†‘x
              @[simp]
              theorem Complex.exp_ofReal_im (x : โ„) :
              (exp โ†‘x).im = 0
              theorem Real.exp_add (x y : โ„) :
              exp (x + y) = exp x * exp y

              the exponential function as a monoid hom from Multiplicative โ„ to โ„

              Instances For
                theorem Real.exp_list_sum (l : List โ„) :
                exp l.sum = (List.map exp l).prod
                theorem Real.exp_sum {ฮฑ : Type u_1} (s : Finset ฮฑ) (f : ฮฑ โ†’ โ„) :
                exp (โˆ‘ x โˆˆ s, f x) = โˆ x โˆˆ s, exp (f x)
                theorem Real.exp_nsmul (x : โ„) (n : โ„•) :
                exp (n โ€ข x) = exp x ^ n
                theorem Real.exp_nat_mul (x : โ„) (n : โ„•) :
                exp (โ†‘n * x) = exp x ^ n
                @[simp]
                theorem Real.exp_ne_zero (x : โ„) :
                exp x โ‰  0
                theorem Real.exp_sub (x y : โ„) :
                exp (x - y) = exp x / exp y
                theorem Real.sum_le_exp_of_nonneg {x : โ„} (hx : 0 โ‰ค x) (n : โ„•) :
                โˆ‘ i โˆˆ Finset.range n, x ^ i / โ†‘i.factorial โ‰ค exp x
                theorem Real.pow_div_factorial_le_exp (x : โ„) (hx : 0 โ‰ค x) (n : โ„•) :
                x ^ n / โ†‘n.factorial โ‰ค exp x
                @[simp]
                theorem Real.abs_exp (x : โ„) :
                |exp x| = exp x
                @[deprecated Real.exp_strictMono (since := "2025-10-20")]
                theorem Real.exp_lt_exp_of_lt {x y : โ„} (h : x < y) :
                exp x < exp y
                @[simp]
                theorem Real.exp_lt_exp {x y : โ„} :
                exp x < exp y โ†” x < y
                @[simp]
                theorem Real.exp_le_exp {x y : โ„} :
                exp x โ‰ค exp y โ†” x โ‰ค y
                theorem Real.exp_injective :
                Function.Injective exp
                @[simp]
                theorem Real.exp_eq_exp {x y : โ„} :
                exp x = exp y โ†” x = y
                @[simp]
                theorem Real.exp_eq_one_iff (x : โ„) :
                exp x = 1 โ†” x = 0
                @[simp]
                theorem Real.one_lt_exp_iff {x : โ„} :
                1 < exp x โ†” 0 < x
                @[simp]
                theorem Real.exp_lt_one_iff {x : โ„} :
                exp x < 1 โ†” x < 0
                theorem Complex.sum_div_factorial_le {ฮฑ : Type u_1} [Field ฮฑ] [LinearOrder ฮฑ] [IsStrictOrderedRing ฮฑ] (n j : โ„•) (hn : 0 < n) :
                โˆ‘ m โˆˆ Finset.range j with n โ‰ค m, 1 / โ†‘m.factorial โ‰ค โ†‘n.succ / (โ†‘n.factorial * โ†‘n)
                theorem Complex.exp_bound {x : โ„‚} (hx : โ€–xโ€– โ‰ค 1) {n : โ„•} (hn : 0 < n) :
                โ€–exp x - โˆ‘ m โˆˆ Finset.range n, x ^ m / โ†‘m.factorialโ€– โ‰ค โ€–xโ€– ^ n * (โ†‘n.succ * (โ†‘n.factorial * โ†‘n)โปยน)
                theorem Complex.exp_bound' {x : โ„‚} {n : โ„•} (hx : โ€–xโ€– / โ†‘n.succ โ‰ค 1 / 2) :
                โ€–exp x - โˆ‘ m โˆˆ Finset.range n, x ^ m / โ†‘m.factorialโ€– โ‰ค โ€–xโ€– ^ n / โ†‘n.factorial * 2
                theorem Complex.norm_exp_sub_sum_le_exp_norm_sub_sum (x : โ„‚) (n : โ„•) :
                โ€–exp x - โˆ‘ m โˆˆ Finset.range n, x ^ m / โ†‘m.factorialโ€– โ‰ค Real.exp โ€–xโ€– - โˆ‘ m โˆˆ Finset.range n, โ€–xโ€– ^ m / โ†‘m.factorial
                theorem Real.exp_bound {x : โ„} (hx : |x| โ‰ค 1) {n : โ„•} (hn : 0 < n) :
                |exp x - โˆ‘ m โˆˆ Finset.range n, x ^ m / โ†‘m.factorial| โ‰ค |x| ^ n * (โ†‘n.succ / (โ†‘n.factorial * โ†‘n))
                theorem Real.exp_bound' {x : โ„} (h1 : 0 โ‰ค x) (h2 : x โ‰ค 1) {n : โ„•} (hn : 0 < n) :
                exp x โ‰ค โˆ‘ m โˆˆ Finset.range n, x ^ m / โ†‘m.factorial + x ^ n * (โ†‘n + 1) / (โ†‘n.factorial * โ†‘n)
                noncomputable def Real.expNear (n : โ„•) (x r : โ„) :

                A finite initial segment of the exponential series, followed by an arbitrary tail. For fixed n this is just a linear map w.r.t. r, and each map is a simple linear function of the previous (see expNear_succ), with expNear n x r โŸถ exp x as n โŸถ โˆž, for any r.

                Instances For
                  @[simp]
                  theorem Real.expNear_zero (x r : โ„) :
                  expNear 0 x r = r
                  @[simp]
                  theorem Real.expNear_succ (n : โ„•) (x r : โ„) :
                  expNear (n + 1) x r = expNear n x (1 + x / (โ†‘n + 1) * r)
                  theorem Real.expNear_sub (n : โ„•) (x rโ‚ rโ‚‚ : โ„) :
                  expNear n x rโ‚ - expNear n x rโ‚‚ = x ^ n / โ†‘n.factorial * (rโ‚ - rโ‚‚)
                  theorem Real.exp_approx_end (n m : โ„•) (x : โ„) (eโ‚ : n + 1 = m) (h : |x| โ‰ค 1) :
                  |exp x - expNear m x 0| โ‰ค |x| ^ m / โ†‘m.factorial * ((โ†‘m + 1) / โ†‘m)
                  theorem Real.exp_approx_succ {n : โ„•} {x aโ‚ bโ‚ : โ„} (m : โ„•) (eโ‚ : n + 1 = m) (aโ‚‚ bโ‚‚ : โ„) (e : |1 + x / โ†‘m * aโ‚‚ - aโ‚| โ‰ค bโ‚ - |x| / โ†‘m * bโ‚‚) (h : |exp x - expNear m x aโ‚‚| โ‰ค |x| ^ m / โ†‘m.factorial * bโ‚‚) :
                  |exp x - expNear n x aโ‚| โ‰ค |x| ^ n / โ†‘n.factorial * bโ‚
                  theorem Real.exp_approx_end' {n : โ„•} {x a b : โ„} (m : โ„•) (eโ‚ : n + 1 = m) (rm : โ„) (er : โ†‘m = rm) (h : |x| โ‰ค 1) (e : |1 - a| โ‰ค b - |x| / rm * ((rm + 1) / rm)) :
                  |exp x - expNear n x a| โ‰ค |x| ^ n / โ†‘n.factorial * b
                  theorem Real.exp_1_approx_succ_eq {n : โ„•} {aโ‚ bโ‚ : โ„} {m : โ„•} (en : n + 1 = m) {rm : โ„} (er : โ†‘m = rm) (h : |exp 1 - expNear m 1 ((aโ‚ - 1) * rm)| โ‰ค |1| ^ m / โ†‘m.factorial * (bโ‚ * rm)) :
                  |exp 1 - expNear n 1 aโ‚| โ‰ค |1| ^ n / โ†‘n.factorial * bโ‚
                  theorem Real.exp_approx_start (x a b : โ„) (h : |exp x - expNear 0 x a| โ‰ค |x| ^ 0 / โ†‘(Nat.factorial 0) * b) :
                  |exp x - a| โ‰ค b
                  theorem Real.exp_bound_div_one_sub_of_interval' {x : โ„} (h1 : 0 < x) (h2 : x < 1) :
                  exp x < 1 / (1 - x)
                  theorem Real.add_one_lt_exp {x : โ„} (hx : x โ‰  0) :
                  x + 1 < exp x
                  theorem Real.one_sub_lt_exp_neg {x : โ„} (hx : x โ‰  0) :
                  1 - x < exp (-x)
                  theorem Real.one_sub_div_pow_le_exp_neg {n : โ„•} {t : โ„} (ht' : t โ‰ค โ†‘n) :
                  (1 - t / โ†‘n) ^ n โ‰ค exp (-t)
                  theorem Real.prod_one_add_le_exp_sum {ฮน : Type u_1} (s : Finset ฮน) {f : ฮน โ†’ โ„} (hf : โˆ€ (i : ฮน), 0 โ‰ค f i) :
                  โˆ i โˆˆ s, (1 + f i) โ‰ค exp (โˆ‘ i โˆˆ s, f i)

                  Extension for the positivity tactic: Real.exp is always positive.

                  Instances For