# Complex trigonometric functions #

Basic facts and derivatives for the complex trigonometric functions.

Several facts about the real trigonometric functions have the proofs deferred here, rather than Analysis.SpecialFunctions.Trigonometric.Basic, as they are most easily proved by appealing to the corresponding fact for complex trigonometric functions, or require additional imports which are not available in that file.

theorem Complex.cos_eq_zero_iff {θ : } :
= 0 ∃ (k : ), θ = (2 * k + 1) * / 2
theorem Complex.cos_ne_zero_iff {θ : } :
0 ∀ (k : ), θ (2 * k + 1) * / 2
theorem Complex.sin_eq_zero_iff {θ : } :
= 0 ∃ (k : ), θ = k *
theorem Complex.sin_ne_zero_iff {θ : } :
0 ∀ (k : ), θ k *
theorem Complex.tan_eq_zero_iff {θ : } :
= 0 ∃ (k : ), k * / 2 = θ

The tangent of a complex number is equal to zero iff this number is equal to k * π / 2 for an integer k.

Note that this lemma takes into account that we use zero as the junk value for division by zero. See also Complex.tan_eq_zero_iff'.

theorem Complex.tan_ne_zero_iff {θ : } :
0 ∀ (k : ), k * / 2 θ
theorem Complex.tan_eq_zero_iff' {θ : } (hθ : 0) :
= 0 ∃ (k : ), k * = θ

If the tangent of a complex number is well-defined, then it is equal to zero iff the number is equal to k * π for an integer k.

See also Complex.tan_eq_zero_iff for a version that takes into account junk values of θ.

theorem Complex.cos_eq_cos_iff {x : } {y : } :
∃ (k : ), y = 2 * k * + x y = 2 * k * - x
theorem Complex.sin_eq_sin_iff {x : } {y : } :
∃ (k : ), y = 2 * k * + x y = (2 * k + 1) * - x
theorem Complex.cos_eq_one_iff {x : } :
= 1 ∃ (k : ), k * (2 * ) = x
theorem Complex.cos_eq_neg_one_iff {x : } :
= -1 ∃ (k : ), + k * (2 * ) = x
theorem Complex.sin_eq_one_iff {x : } :
= 1 ∃ (k : ), / 2 + k * (2 * ) = x
theorem Complex.sin_eq_neg_one_iff {x : } :
= -1 ∃ (k : ), -( / 2) + k * (2 * ) = x
theorem Complex.tan_add {x : } {y : } (h : ((∀ (k : ), x (2 * k + 1) * / 2) ∀ (l : ), y (2 * l + 1) * / 2) (∃ (k : ), x = (2 * k + 1) * / 2) ∃ (l : ), y = (2 * l + 1) * / 2) :
Complex.tan (x + y) = () / (1 - )
theorem Complex.tan_add' {x : } {y : } (h : (∀ (k : ), x (2 * k + 1) * / 2) ∀ (l : ), y (2 * l + 1) * / 2) :
Complex.tan (x + y) = () / (1 - )
theorem Complex.tan_two_mul {z : } :
Complex.tan (2 * z) = 2 * / (1 - ^ 2)
theorem Complex.tan_add_mul_I {x : } {y : } (h : ((∀ (k : ), x (2 * k + 1) * / 2) ∀ (l : ), (2 * l + 1) * / 2) (∃ (k : ), x = (2 * k + 1) * / 2) ∃ (l : ), = (2 * l + 1) * / 2) :
Complex.tan (x + ) = () / (1 - )
theorem Complex.tan_eq {z : } (h : ((∀ (k : ), z.re (2 * k + 1) * / 2) ∀ (l : ), z.im * Complex.I (2 * l + 1) * / 2) (∃ (k : ), z.re = (2 * k + 1) * / 2) ∃ (l : ), z.im * Complex.I = (2 * l + 1) * / 2) :
= (Complex.tan z.re + Complex.tanh z.im * Complex.I) / (1 - Complex.tan z.re * Complex.tanh z.im * Complex.I)
theorem Complex.continuous_tan :
Continuous fun (x : {x : | 0}) =>
theorem Complex.cos_eq_iff_quadratic {z : } {w : } :
= w ^ 2 - 2 * w * + 1 = 0
@[simp]
theorem Complex.range_cos :
= Set.univ
@[simp]
theorem Complex.range_sin :
= Set.univ
theorem Real.cos_eq_zero_iff {θ : } :
= 0 ∃ (k : ), θ = (2 * k + 1) * Real.pi / 2
theorem Real.cos_ne_zero_iff {θ : } :
0 ∀ (k : ), θ (2 * k + 1) * Real.pi / 2
theorem Real.cos_eq_cos_iff {x : } {y : } :
∃ (k : ), y = 2 * k * Real.pi + x y = 2 * k * Real.pi - x
theorem Real.sin_eq_sin_iff {x : } {y : } :
∃ (k : ), y = 2 * k * Real.pi + x y = (2 * k + 1) * Real.pi - x
theorem Real.cos_eq_neg_one_iff {x : } :
= -1 ∃ (k : ), Real.pi + k * () = x
theorem Real.sin_eq_one_iff {x : } :
= 1 ∃ (k : ), + k * () = x
theorem Real.sin_eq_neg_one_iff {x : } :
= -1 ∃ (k : ), -() + k * () = x
theorem Real.tan_eq_zero_iff {θ : } :
= 0 ∃ (k : ), k * Real.pi / 2 = θ
theorem Real.tan_eq_zero_iff' {θ : } (hθ : 0) :
= 0 ∃ (k : ), k * Real.pi = θ
theorem Real.tan_ne_zero_iff {θ : } :
0 ∀ (k : ), k * Real.pi / 2 θ
theorem Real.lt_sin_mul {x : } (hx : 0 < x) (hx' : x < 1) :
x < Real.sin ( * x)
theorem Real.le_sin_mul {x : } (hx : 0 x) (hx' : x 1) :
x Real.sin ( * x)
theorem Real.mul_lt_sin {x : } (hx : 0 < x) (hx' : x < ) :
* x <
theorem Real.mul_le_sin {x : } (hx : 0 x) (hx' : x ) :
* x

In the range [0, π / 2], we have a linear lower bound on sin. This inequality forms one half of Jordan's inequality, the other half is Real.sin_lt