Documentation

Mathlib.Data.Complex.Exponential

Exponential, trigonometric and hyperbolic trigonometric functions #

This file contains the definitions of the real and complex exponential, sine, cosine, tangent, hyperbolic sine, hyperbolic cosine, and hyperbolic tangent functions.

theorem Complex.isCauSeq_abs_exp (z : ) :
IsCauSeq _root_.abs fun (n : ) => mFinset.range n, abs (z ^ m / m.factorial)
theorem Complex.isCauSeq_exp (z : ) :
IsCauSeq abs fun (n : ) => mFinset.range n, z ^ m / m.factorial
def Complex.exp' (z : ) :

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

Equations
Instances For
    def Complex.exp (z : ) :

    The complex exponential function, defined via its Taylor series

    Equations
    Instances For
      def Complex.sin (z : ) :

      The complex sine function, defined via exp

      Equations
      Instances For
        def Complex.cos (z : ) :

        The complex cosine function, defined via exp

        Equations
        Instances For
          def Complex.tan (z : ) :

          The complex tangent function, defined as sin z / cos z

          Equations
          Instances For
            def Complex.cot (z : ) :

            The complex cotangent function, defined as cos z / sin z

            Equations
            Instances For
              def Complex.sinh (z : ) :

              The complex hyperbolic sine function, defined via exp

              Equations
              Instances For
                def Complex.cosh (z : ) :

                The complex hyperbolic cosine function, defined via exp

                Equations
                Instances For
                  def Complex.tanh (z : ) :

                  The complex hyperbolic tangent function, defined as sinh z / cosh z

                  Equations
                  Instances For

                    scoped notation for the complex exponential function

                    Equations
                    Instances For
                      def Real.exp (x : ) :

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

                      Equations
                      Instances For
                        def Real.sin (x : ) :

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

                        Equations
                        Instances For
                          def Real.cos (x : ) :

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

                          Equations
                          Instances For
                            def Real.tan (x : ) :

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

                            Equations
                            Instances For
                              def Real.cot (x : ) :

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

                              Equations
                              • x.cot = (↑x).cot.re
                              Instances For
                                def Real.sinh (x : ) :

                                The real hypebolic sine function, defined as the real part of the complex hyperbolic sine

                                Equations
                                Instances For
                                  def Real.cosh (x : ) :

                                  The real hypebolic cosine function, defined as the real part of the complex hyperbolic cosine

                                  Equations
                                  Instances For
                                    def Real.tanh (x : ) :

                                    The real hypebolic tangent function, defined as the real part of the complex hyperbolic tangent

                                    Equations
                                    Instances For

                                      scoped notation for the real exponential function

                                      Equations
                                      Instances For
                                        @[simp]
                                        theorem Complex.exp_zero :
                                        exp 0 = 1
                                        theorem Complex.exp_add (x y : ) :
                                        exp (x + y) = exp x * exp y

                                        the exponential function as a monoid hom from Multiplicative to

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem Complex.expMonoidHom_apply (z : Multiplicative ) :
                                          expMonoidHom z = exp (Multiplicative.toAdd z)
                                          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 (∑ xs, f x) = xs, exp (f x)
                                          theorem Complex.exp_nsmul (x : ) (n : ) :
                                          exp (n x) = exp x ^ n
                                          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_neg (x : ) :
                                          exp (-x) = (exp x)⁻¹
                                          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]
                                          @[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 Complex.exp_ofReal_re (x : ) :
                                          (exp x).re = Real.exp x
                                          theorem Complex.two_sinh (x : ) :
                                          2 * sinh x = exp x - exp (-x)
                                          theorem Complex.two_cosh (x : ) :
                                          2 * cosh x = exp x + exp (-x)
                                          @[simp]
                                          theorem Complex.sinh_zero :
                                          sinh 0 = 0
                                          @[simp]
                                          theorem Complex.sinh_neg (x : ) :
                                          sinh (-x) = -sinh x
                                          theorem Complex.sinh_add (x y : ) :
                                          sinh (x + y) = sinh x * cosh y + cosh x * sinh y
                                          @[simp]
                                          theorem Complex.cosh_zero :
                                          cosh 0 = 1
                                          @[simp]
                                          theorem Complex.cosh_neg (x : ) :
                                          cosh (-x) = cosh x
                                          theorem Complex.cosh_add (x y : ) :
                                          cosh (x + y) = cosh x * cosh y + sinh x * sinh y
                                          theorem Complex.sinh_sub (x y : ) :
                                          sinh (x - y) = sinh x * cosh y - cosh x * sinh y
                                          theorem Complex.cosh_sub (x y : ) :
                                          cosh (x - y) = cosh x * cosh y - sinh x * sinh y
                                          @[simp]
                                          theorem Complex.ofReal_sinh_ofReal_re (x : ) :
                                          (sinh x).re = sinh x
                                          @[simp]
                                          theorem Complex.ofReal_sinh (x : ) :
                                          (Real.sinh x) = sinh x
                                          @[simp]
                                          theorem Complex.sinh_ofReal_im (x : ) :
                                          (sinh x).im = 0
                                          theorem Complex.sinh_ofReal_re (x : ) :
                                          (sinh x).re = Real.sinh x
                                          theorem Complex.ofReal_cosh_ofReal_re (x : ) :
                                          (cosh x).re = cosh x
                                          @[simp]
                                          theorem Complex.ofReal_cosh (x : ) :
                                          (Real.cosh x) = cosh x
                                          @[simp]
                                          theorem Complex.cosh_ofReal_im (x : ) :
                                          (cosh x).im = 0
                                          @[simp]
                                          theorem Complex.cosh_ofReal_re (x : ) :
                                          (cosh x).re = Real.cosh x
                                          @[simp]
                                          theorem Complex.tanh_zero :
                                          tanh 0 = 0
                                          @[simp]
                                          theorem Complex.tanh_neg (x : ) :
                                          tanh (-x) = -tanh x
                                          @[simp]
                                          theorem Complex.ofReal_tanh_ofReal_re (x : ) :
                                          (tanh x).re = tanh x
                                          @[simp]
                                          theorem Complex.ofReal_tanh (x : ) :
                                          (Real.tanh x) = tanh x
                                          @[simp]
                                          theorem Complex.tanh_ofReal_im (x : ) :
                                          (tanh x).im = 0
                                          theorem Complex.tanh_ofReal_re (x : ) :
                                          (tanh x).re = Real.tanh x
                                          @[simp]
                                          theorem Complex.cosh_add_sinh (x : ) :
                                          cosh x + sinh x = exp x
                                          @[simp]
                                          theorem Complex.sinh_add_cosh (x : ) :
                                          sinh x + cosh x = exp x
                                          @[simp]
                                          theorem Complex.exp_sub_cosh (x : ) :
                                          exp x - cosh x = sinh x
                                          @[simp]
                                          theorem Complex.exp_sub_sinh (x : ) :
                                          exp x - sinh x = cosh x
                                          @[simp]
                                          theorem Complex.cosh_sub_sinh (x : ) :
                                          cosh x - sinh x = exp (-x)
                                          @[simp]
                                          theorem Complex.sinh_sub_cosh (x : ) :
                                          sinh x - cosh x = -exp (-x)
                                          @[simp]
                                          theorem Complex.cosh_sq_sub_sinh_sq (x : ) :
                                          cosh x ^ 2 - sinh x ^ 2 = 1
                                          theorem Complex.cosh_sq (x : ) :
                                          cosh x ^ 2 = sinh x ^ 2 + 1
                                          theorem Complex.sinh_sq (x : ) :
                                          sinh x ^ 2 = cosh x ^ 2 - 1
                                          theorem Complex.cosh_two_mul (x : ) :
                                          cosh (2 * x) = cosh x ^ 2 + sinh x ^ 2
                                          theorem Complex.sinh_two_mul (x : ) :
                                          sinh (2 * x) = 2 * sinh x * cosh x
                                          theorem Complex.cosh_three_mul (x : ) :
                                          cosh (3 * x) = 4 * cosh x ^ 3 - 3 * cosh x
                                          theorem Complex.sinh_three_mul (x : ) :
                                          sinh (3 * x) = 4 * sinh x ^ 3 + 3 * sinh x
                                          @[simp]
                                          theorem Complex.sin_zero :
                                          sin 0 = 0
                                          @[simp]
                                          theorem Complex.sin_neg (x : ) :
                                          sin (-x) = -sin x
                                          theorem Complex.two_sin (x : ) :
                                          2 * sin x = (exp (-x * I) - exp (x * I)) * I
                                          theorem Complex.two_cos (x : ) :
                                          2 * cos x = exp (x * I) + exp (-x * I)
                                          theorem Complex.sinh_mul_I (x : ) :
                                          sinh (x * I) = sin x * I
                                          theorem Complex.cosh_mul_I (x : ) :
                                          cosh (x * I) = cos x
                                          theorem Complex.tanh_mul_I (x : ) :
                                          tanh (x * I) = tan x * I
                                          theorem Complex.cos_mul_I (x : ) :
                                          cos (x * I) = cosh x
                                          theorem Complex.sin_mul_I (x : ) :
                                          sin (x * I) = sinh x * I
                                          theorem Complex.tan_mul_I (x : ) :
                                          tan (x * I) = tanh x * I
                                          theorem Complex.sin_add (x y : ) :
                                          sin (x + y) = sin x * cos y + cos x * sin y
                                          @[simp]
                                          theorem Complex.cos_zero :
                                          cos 0 = 1
                                          @[simp]
                                          theorem Complex.cos_neg (x : ) :
                                          cos (-x) = cos x
                                          theorem Complex.cos_add (x y : ) :
                                          cos (x + y) = cos x * cos y - sin x * sin y
                                          theorem Complex.sin_sub (x y : ) :
                                          sin (x - y) = sin x * cos y - cos x * sin y
                                          theorem Complex.cos_sub (x y : ) :
                                          cos (x - y) = cos x * cos y + sin x * sin y
                                          theorem Complex.sin_add_mul_I (x y : ) :
                                          sin (x + y * I) = sin x * cosh y + cos x * sinh y * I
                                          theorem Complex.sin_eq (z : ) :
                                          sin z = sin z.re * cosh z.im + cos z.re * sinh z.im * I
                                          theorem Complex.cos_add_mul_I (x y : ) :
                                          cos (x + y * I) = cos x * cosh y - sin x * sinh y * I
                                          theorem Complex.cos_eq (z : ) :
                                          cos z = cos z.re * cosh z.im - sin z.re * sinh z.im * I
                                          theorem Complex.sin_sub_sin (x y : ) :
                                          sin x - sin y = 2 * sin ((x - y) / 2) * cos ((x + y) / 2)
                                          theorem Complex.cos_sub_cos (x y : ) :
                                          cos x - cos y = -2 * sin ((x + y) / 2) * sin ((x - y) / 2)
                                          theorem Complex.sin_add_sin (x y : ) :
                                          sin x + sin y = 2 * sin ((x + y) / 2) * cos ((x - y) / 2)
                                          theorem Complex.cos_add_cos (x y : ) :
                                          cos x + cos y = 2 * cos ((x + y) / 2) * cos ((x - y) / 2)
                                          @[simp]
                                          theorem Complex.ofReal_sin_ofReal_re (x : ) :
                                          (sin x).re = sin x
                                          @[simp]
                                          theorem Complex.ofReal_sin (x : ) :
                                          (Real.sin x) = sin x
                                          @[simp]
                                          theorem Complex.sin_ofReal_im (x : ) :
                                          (sin x).im = 0
                                          theorem Complex.sin_ofReal_re (x : ) :
                                          (sin x).re = Real.sin x
                                          @[simp]
                                          theorem Complex.ofReal_cos_ofReal_re (x : ) :
                                          (cos x).re = cos x
                                          @[simp]
                                          theorem Complex.ofReal_cos (x : ) :
                                          (Real.cos x) = cos x
                                          @[simp]
                                          theorem Complex.cos_ofReal_im (x : ) :
                                          (cos x).im = 0
                                          theorem Complex.cos_ofReal_re (x : ) :
                                          (cos x).re = Real.cos x
                                          @[simp]
                                          theorem Complex.tan_zero :
                                          tan 0 = 0
                                          theorem Complex.cot_eq_cos_div_sin (x : ) :
                                          x.cot = cos x / sin x
                                          theorem Complex.tan_mul_cos {x : } (hx : cos x 0) :
                                          tan x * cos x = sin x
                                          @[simp]
                                          theorem Complex.tan_neg (x : ) :
                                          tan (-x) = -tan x
                                          theorem Complex.cot_conj (x : ) :
                                          ((starRingEnd ) x).cot = (starRingEnd ) x.cot
                                          @[simp]
                                          theorem Complex.ofReal_tan_ofReal_re (x : ) :
                                          (tan x).re = tan x
                                          @[simp]
                                          theorem Complex.ofReal_cot_ofReal_re (x : ) :
                                          (↑x).cot.re = (↑x).cot
                                          @[simp]
                                          theorem Complex.ofReal_tan (x : ) :
                                          (Real.tan x) = tan x
                                          @[simp]
                                          theorem Complex.ofReal_cot (x : ) :
                                          x.cot = (↑x).cot
                                          @[simp]
                                          theorem Complex.tan_ofReal_im (x : ) :
                                          (tan x).im = 0
                                          theorem Complex.tan_ofReal_re (x : ) :
                                          (tan x).re = Real.tan x
                                          theorem Complex.cos_add_sin_I (x : ) :
                                          cos x + sin x * I = exp (x * I)
                                          theorem Complex.cos_sub_sin_I (x : ) :
                                          cos x - sin x * I = exp (-x * I)
                                          @[simp]
                                          theorem Complex.sin_sq_add_cos_sq (x : ) :
                                          sin x ^ 2 + cos x ^ 2 = 1
                                          @[simp]
                                          theorem Complex.cos_sq_add_sin_sq (x : ) :
                                          cos x ^ 2 + sin x ^ 2 = 1
                                          theorem Complex.cos_two_mul' (x : ) :
                                          cos (2 * x) = cos x ^ 2 - sin x ^ 2
                                          theorem Complex.cos_two_mul (x : ) :
                                          cos (2 * x) = 2 * cos x ^ 2 - 1
                                          theorem Complex.sin_two_mul (x : ) :
                                          sin (2 * x) = 2 * sin x * cos x
                                          theorem Complex.cos_sq (x : ) :
                                          cos x ^ 2 = 1 / 2 + cos (2 * x) / 2
                                          theorem Complex.cos_sq' (x : ) :
                                          cos x ^ 2 = 1 - sin x ^ 2
                                          theorem Complex.sin_sq (x : ) :
                                          sin x ^ 2 = 1 - cos x ^ 2
                                          theorem Complex.inv_one_add_tan_sq {x : } (hx : cos x 0) :
                                          (1 + tan x ^ 2)⁻¹ = cos x ^ 2
                                          theorem Complex.tan_sq_div_one_add_tan_sq {x : } (hx : cos x 0) :
                                          tan x ^ 2 / (1 + tan x ^ 2) = sin x ^ 2
                                          theorem Complex.cos_three_mul (x : ) :
                                          cos (3 * x) = 4 * cos x ^ 3 - 3 * cos x
                                          theorem Complex.sin_three_mul (x : ) :
                                          sin (3 * x) = 3 * sin x - 4 * sin x ^ 3
                                          theorem Complex.exp_mul_I (x : ) :
                                          exp (x * I) = cos x + sin x * I
                                          theorem Complex.exp_add_mul_I (x y : ) :
                                          exp (x + y * I) = exp x * (cos y + sin y * I)
                                          theorem Complex.exp_eq_exp_re_mul_sin_add_cos (x : ) :
                                          exp x = exp x.re * (cos x.im + sin x.im * I)
                                          theorem Complex.exp_re (x : ) :
                                          (exp x).re = Real.exp x.re * Real.cos x.im
                                          theorem Complex.exp_im (x : ) :
                                          (exp x).im = Real.exp x.re * Real.sin x.im
                                          @[simp]
                                          theorem Complex.exp_ofReal_mul_I_re (x : ) :
                                          (exp (x * I)).re = Real.cos x
                                          @[simp]
                                          theorem Complex.exp_ofReal_mul_I_im (x : ) :
                                          (exp (x * I)).im = Real.sin x
                                          theorem Complex.cos_add_sin_mul_I_pow (n : ) (z : ) :
                                          (cos z + sin z * I) ^ n = cos (n * z) + sin (n * z) * I

                                          De Moivre's formula

                                          @[simp]
                                          theorem Real.exp_zero :
                                          exp 0 = 1
                                          theorem Real.exp_add (x y : ) :
                                          exp (x + y) = exp x * exp y

                                          the exponential function as a monoid hom from Multiplicative to

                                          Equations
                                          Instances For
                                            @[simp]
                                            theorem Real.expMonoidHom_apply (x : Multiplicative ) :
                                            expMonoidHom x = exp (Multiplicative.toAdd x)
                                            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 (∑ xs, f x) = xs, 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_neg (x : ) :
                                            exp (-x) = (exp x)⁻¹
                                            theorem Real.exp_sub (x y : ) :
                                            exp (x - y) = exp x / exp y
                                            @[simp]
                                            theorem Real.sin_zero :
                                            sin 0 = 0
                                            @[simp]
                                            theorem Real.sin_neg (x : ) :
                                            sin (-x) = -sin x
                                            theorem Real.sin_add (x y : ) :
                                            sin (x + y) = sin x * cos y + cos x * sin y
                                            @[simp]
                                            theorem Real.cos_zero :
                                            cos 0 = 1
                                            @[simp]
                                            theorem Real.cos_neg (x : ) :
                                            cos (-x) = cos x
                                            @[simp]
                                            theorem Real.cos_abs (x : ) :
                                            cos |x| = cos x
                                            theorem Real.cos_add (x y : ) :
                                            cos (x + y) = cos x * cos y - sin x * sin y
                                            theorem Real.sin_sub (x y : ) :
                                            sin (x - y) = sin x * cos y - cos x * sin y
                                            theorem Real.cos_sub (x y : ) :
                                            cos (x - y) = cos x * cos y + sin x * sin y
                                            theorem Real.sin_sub_sin (x y : ) :
                                            sin x - sin y = 2 * sin ((x - y) / 2) * cos ((x + y) / 2)
                                            theorem Real.cos_sub_cos (x y : ) :
                                            cos x - cos y = -2 * sin ((x + y) / 2) * sin ((x - y) / 2)
                                            theorem Real.cos_add_cos (x y : ) :
                                            cos x + cos y = 2 * cos ((x + y) / 2) * cos ((x - y) / 2)
                                            theorem Real.two_mul_sin_mul_sin (x y : ) :
                                            2 * sin x * sin y = cos (x - y) - cos (x + y)
                                            theorem Real.two_mul_cos_mul_cos (x y : ) :
                                            2 * cos x * cos y = cos (x - y) + cos (x + y)
                                            theorem Real.two_mul_sin_mul_cos (x y : ) :
                                            2 * sin x * cos y = sin (x - y) + sin (x + y)
                                            theorem Real.cot_eq_cos_div_sin (x : ) :
                                            x.cot = cos x / sin x
                                            theorem Real.tan_mul_cos {x : } (hx : cos x 0) :
                                            tan x * cos x = sin x
                                            @[simp]
                                            theorem Real.tan_zero :
                                            tan 0 = 0
                                            @[simp]
                                            theorem Real.tan_neg (x : ) :
                                            tan (-x) = -tan x
                                            @[simp]
                                            theorem Real.sin_sq_add_cos_sq (x : ) :
                                            sin x ^ 2 + cos x ^ 2 = 1
                                            @[simp]
                                            theorem Real.cos_sq_add_sin_sq (x : ) :
                                            cos x ^ 2 + sin x ^ 2 = 1
                                            theorem Real.sin_sq_le_one (x : ) :
                                            sin x ^ 2 1
                                            theorem Real.cos_sq_le_one (x : ) :
                                            cos x ^ 2 1
                                            theorem Real.abs_sin_le_one (x : ) :
                                            |sin x| 1
                                            theorem Real.abs_cos_le_one (x : ) :
                                            |cos x| 1
                                            theorem Real.sin_le_one (x : ) :
                                            sin x 1
                                            theorem Real.cos_le_one (x : ) :
                                            cos x 1
                                            theorem Real.neg_one_le_sin (x : ) :
                                            -1 sin x
                                            theorem Real.neg_one_le_cos (x : ) :
                                            -1 cos x
                                            theorem Real.cos_two_mul (x : ) :
                                            cos (2 * x) = 2 * cos x ^ 2 - 1
                                            theorem Real.cos_two_mul' (x : ) :
                                            cos (2 * x) = cos x ^ 2 - sin x ^ 2
                                            theorem Real.sin_two_mul (x : ) :
                                            sin (2 * x) = 2 * sin x * cos x
                                            theorem Real.cos_sq (x : ) :
                                            cos x ^ 2 = 1 / 2 + cos (2 * x) / 2
                                            theorem Real.cos_sq' (x : ) :
                                            cos x ^ 2 = 1 - sin x ^ 2
                                            theorem Real.sin_sq (x : ) :
                                            sin x ^ 2 = 1 - cos x ^ 2
                                            theorem Real.sin_sq_eq_half_sub (x : ) :
                                            sin x ^ 2 = 1 / 2 - cos (2 * x) / 2
                                            theorem Real.inv_one_add_tan_sq {x : } (hx : cos x 0) :
                                            (1 + tan x ^ 2)⁻¹ = cos x ^ 2
                                            theorem Real.tan_sq_div_one_add_tan_sq {x : } (hx : cos x 0) :
                                            tan x ^ 2 / (1 + tan x ^ 2) = sin x ^ 2
                                            theorem Real.inv_sqrt_one_add_tan_sq {x : } (hx : 0 < cos x) :
                                            ((1 + tan x ^ 2))⁻¹ = cos x
                                            theorem Real.tan_div_sqrt_one_add_tan_sq {x : } (hx : 0 < cos x) :
                                            tan x / (1 + tan x ^ 2) = sin x
                                            theorem Real.cos_three_mul (x : ) :
                                            cos (3 * x) = 4 * cos x ^ 3 - 3 * cos x
                                            theorem Real.sin_three_mul (x : ) :
                                            sin (3 * x) = 3 * sin x - 4 * sin x ^ 3
                                            theorem Real.sinh_eq (x : ) :
                                            sinh x = (exp x - exp (-x)) / 2

                                            The definition of sinh in terms of exp.

                                            @[simp]
                                            theorem Real.sinh_zero :
                                            sinh 0 = 0
                                            @[simp]
                                            theorem Real.sinh_neg (x : ) :
                                            sinh (-x) = -sinh x
                                            theorem Real.sinh_add (x y : ) :
                                            sinh (x + y) = sinh x * cosh y + cosh x * sinh y
                                            theorem Real.cosh_eq (x : ) :
                                            cosh x = (exp x + exp (-x)) / 2

                                            The definition of cosh in terms of exp.

                                            @[simp]
                                            theorem Real.cosh_zero :
                                            cosh 0 = 1
                                            @[simp]
                                            theorem Real.cosh_neg (x : ) :
                                            cosh (-x) = cosh x
                                            @[simp]
                                            theorem Real.cosh_abs (x : ) :
                                            cosh |x| = cosh x
                                            theorem Real.cosh_add (x y : ) :
                                            cosh (x + y) = cosh x * cosh y + sinh x * sinh y
                                            theorem Real.sinh_sub (x y : ) :
                                            sinh (x - y) = sinh x * cosh y - cosh x * sinh y
                                            theorem Real.cosh_sub (x y : ) :
                                            cosh (x - y) = cosh x * cosh y - sinh x * sinh y
                                            @[simp]
                                            theorem Real.tanh_zero :
                                            tanh 0 = 0
                                            @[simp]
                                            theorem Real.tanh_neg (x : ) :
                                            tanh (-x) = -tanh x
                                            @[simp]
                                            theorem Real.cosh_add_sinh (x : ) :
                                            cosh x + sinh x = exp x
                                            @[simp]
                                            theorem Real.sinh_add_cosh (x : ) :
                                            sinh x + cosh x = exp x
                                            @[simp]
                                            theorem Real.exp_sub_cosh (x : ) :
                                            exp x - cosh x = sinh x
                                            @[simp]
                                            theorem Real.exp_sub_sinh (x : ) :
                                            exp x - sinh x = cosh x
                                            @[simp]
                                            theorem Real.cosh_sub_sinh (x : ) :
                                            cosh x - sinh x = exp (-x)
                                            @[simp]
                                            theorem Real.sinh_sub_cosh (x : ) :
                                            sinh x - cosh x = -exp (-x)
                                            @[simp]
                                            theorem Real.cosh_sq_sub_sinh_sq (x : ) :
                                            cosh x ^ 2 - sinh x ^ 2 = 1
                                            theorem Real.cosh_sq (x : ) :
                                            cosh x ^ 2 = sinh x ^ 2 + 1
                                            theorem Real.cosh_sq' (x : ) :
                                            cosh x ^ 2 = 1 + sinh x ^ 2
                                            theorem Real.sinh_sq (x : ) :
                                            sinh x ^ 2 = cosh x ^ 2 - 1
                                            theorem Real.cosh_two_mul (x : ) :
                                            cosh (2 * x) = cosh x ^ 2 + sinh x ^ 2
                                            theorem Real.sinh_two_mul (x : ) :
                                            sinh (2 * x) = 2 * sinh x * cosh x
                                            theorem Real.cosh_three_mul (x : ) :
                                            cosh (3 * x) = 4 * cosh x ^ 3 - 3 * cosh x
                                            theorem Real.sinh_three_mul (x : ) :
                                            sinh (3 * x) = 4 * sinh x ^ 3 + 3 * sinh x
                                            theorem Real.sum_le_exp_of_nonneg {x : } (hx : 0 x) (n : ) :
                                            iFinset.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
                                            theorem Real.quadratic_le_exp_of_nonneg {x : } (hx : 0 x) :
                                            1 + x + x ^ 2 / 2 exp x
                                            theorem Real.one_le_exp {x : } (hx : 0 x) :
                                            1 exp x
                                            theorem Real.exp_pos (x : ) :
                                            0 < exp x
                                            theorem Real.exp_nonneg (x : ) :
                                            0 exp x
                                            @[simp]
                                            theorem Real.abs_exp (x : ) :
                                            |exp x| = exp x
                                            theorem Real.exp_abs_le (x : ) :
                                            exp |x| exp x + exp (-x)
                                            theorem Real.exp_lt_exp_of_lt {x y : } (h : x < y) :
                                            exp x < exp y
                                            theorem Real.exp_le_exp_of_le {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
                                            @[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
                                            @[simp]
                                            theorem Real.exp_le_one_iff {x : } :
                                            exp x 1 x 0
                                            @[simp]
                                            theorem Real.one_le_exp_iff {x : } :
                                            1 exp x 0 x
                                            theorem Real.cosh_pos (x : ) :
                                            0 < cosh x

                                            Real.cosh is always positive

                                            theorem Complex.sum_div_factorial_le {α : Type u_1} [LinearOrderedField α] (n j : ) (hn : 0 < n) :
                                            mFinset.filter (fun (m : ) => n m) (Finset.range j), 1 / m.factorial n.succ / (n.factorial * n)
                                            theorem Complex.exp_bound {x : } (hx : abs x 1) {n : } (hn : 0 < n) :
                                            abs (exp x - mFinset.range n, x ^ m / m.factorial) abs x ^ n * (n.succ * (n.factorial * n)⁻¹)
                                            theorem Complex.exp_bound' {x : } {n : } (hx : abs x / n.succ 1 / 2) :
                                            abs (exp x - mFinset.range n, x ^ m / m.factorial) abs x ^ n / n.factorial * 2
                                            theorem Complex.abs_exp_sub_one_le {x : } (hx : abs x 1) :
                                            abs (exp x - 1) 2 * abs x
                                            theorem Complex.abs_exp_sub_one_sub_id_le {x : } (hx : abs x 1) :
                                            abs (exp x - 1 - x) abs x ^ 2
                                            theorem Complex.abs_exp_sub_sum_le_exp_abs_sub_sum (x : ) (n : ) :
                                            abs (exp x - mFinset.range n, x ^ m / m.factorial) Real.exp (abs x) - mFinset.range n, abs x ^ m / m.factorial
                                            theorem Complex.abs_exp_sub_sum_le_abs_mul_exp (x : ) (n : ) :
                                            abs (exp x - mFinset.range n, x ^ m / m.factorial) abs x ^ n * Real.exp (abs x)
                                            theorem Real.exp_bound {x : } (hx : |x| 1) {n : } (hn : 0 < n) :
                                            |exp x - mFinset.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 mFinset.range n, x ^ m / m.factorial + x ^ n * (n + 1) / (n.factorial * n)
                                            theorem Real.abs_exp_sub_one_le {x : } (hx : |x| 1) :
                                            |exp x - 1| 2 * |x|
                                            theorem Real.abs_exp_sub_one_sub_id_le {x : } (hx : |x| 1) :
                                            |exp x - 1 - x| x ^ 2
                                            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 wrt 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.

                                            Equations
                                            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.cos_bound {x : } (hx : |x| 1) :
                                              |cos x - (1 - x ^ 2 / 2)| |x| ^ 4 * (5 / 96)
                                              theorem Real.sin_bound {x : } (hx : |x| 1) :
                                              |sin x - (x - x ^ 3 / 6)| |x| ^ 4 * (5 / 96)
                                              theorem Real.cos_pos_of_le_one {x : } (hx : |x| 1) :
                                              0 < cos x
                                              theorem Real.sin_pos_of_pos_of_le_one {x : } (hx0 : 0 < x) (hx : x 1) :
                                              0 < sin x
                                              theorem Real.sin_pos_of_pos_of_le_two {x : } (hx0 : 0 < x) (hx : x 2) :
                                              0 < sin x
                                              theorem Real.cos_one_le :
                                              cos 1 2 / 3
                                              theorem Real.exp_bound_div_one_sub_of_interval' {x : } (h1 : 0 < x) (h2 : x < 1) :
                                              exp x < 1 / (1 - x)
                                              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.add_one_le_exp (x : ) :
                                              x + 1 exp x
                                              theorem Real.one_sub_lt_exp_neg {x : } (hx : x 0) :
                                              1 - x < exp (-x)
                                              theorem Real.one_sub_le_exp_neg (x : ) :
                                              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.le_inv_mul_exp (x : ) {c : } (hc : 0 < c) :
                                              x c⁻¹ * exp (c * x)

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

                                              Instances For

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

                                                Instances For
                                                  @[simp]
                                                  theorem Complex.abs_cos_add_sin_mul_I (x : ) :
                                                  abs (cos x + sin x * I) = 1
                                                  @[simp]
                                                  theorem Complex.abs_exp_ofReal (x : ) :
                                                  abs (exp x) = Real.exp x
                                                  @[simp]
                                                  theorem Complex.abs_exp_ofReal_mul_I (x : ) :
                                                  abs (exp (x * I)) = 1
                                                  theorem Complex.abs_exp (z : ) :
                                                  abs (exp z) = Real.exp z.re
                                                  theorem Complex.abs_exp_eq_iff_re_eq {x y : } :
                                                  abs (exp x) = abs (exp y) x.re = y.re