File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean

full_name: Complex.cos_eq_zero_iff
code: theorem cos_eq_zero_iff {θ : ℂ} : cos θ = 0 ↔ ∃ k : ℤ, θ = (2 * k + 1) * π / 2 
goal: Complex.cos θ = 0 ↔ ∃ k, θ = (2 * ↑k + 1) * ↑Real.pi / 2

full_name: Complex.cos_ne_zero_iff
code: theorem cos_ne_zero_iff {θ : ℂ} : cos θ ≠ 0 ↔ ∀ k : ℤ, θ ≠ (2 * k + 1) * π / 2 
goal: Complex.cos θ ≠ 0 ↔ ∀ (k : ℤ), θ ≠ (2 * ↑k + 1) * ↑Real.pi / 2

full_name: Complex.sin_eq_zero_iff
code: theorem sin_eq_zero_iff {θ : ℂ} : sin θ = 0 ↔ ∃ k : ℤ, θ = k * π 
goal: Complex.sin θ = 0 ↔ ∃ k, θ = ↑k * ↑Real.pi

full_name: Complex.sin_ne_zero_iff
code: theorem sin_ne_zero_iff {θ : ℂ} : sin θ ≠ 0 ↔ ∀ k : ℤ, θ ≠ k * π 
goal: Complex.sin θ ≠ 0 ↔ ∀ (k : ℤ), θ ≠ ↑k * ↑Real.pi

full_name: Complex.tan_eq_zero_iff
code: /-- 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 tan_eq_zero_iff {θ : ℂ} : tan θ = 0 ↔ ∃ k : ℤ, k * π / 2 = θ 
goal: Complex.tan θ = 0 ↔ ∃ k, ↑k * ↑Real.pi / 2 = θ

full_name: Complex.tan_ne_zero_iff
code: theorem tan_ne_zero_iff {θ : ℂ} : tan θ ≠ 0 ↔ ∀ k : ℤ, (k * π / 2 : ℂ) ≠ θ 
goal: Complex.tan θ ≠ 0 ↔ ∀ (k : ℤ), ↑k * ↑Real.pi / 2 ≠ θ

full_name: Complex.tan_int_mul_pi_div_two
code: theorem tan_int_mul_pi_div_two (n : ℤ) : tan (n * π / 2) = 0 
goal: Complex.tan (↑n * ↑Real.pi / 2) = 0

full_name: Complex.tan_eq_zero_iff'
code: /-- 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 tan_eq_zero_iff' {θ : ℂ} (hθ : cos θ ≠ 0) : tan θ = 0 ↔ ∃ k : ℤ, k * π = θ 
goal: Complex.tan θ = 0 ↔ ∃ k, ↑k * ↑Real.pi = θ

full_name: Complex.cos_eq_cos_iff
code: theorem cos_eq_cos_iff {x y : ℂ} : cos x = cos y ↔ ∃ k : ℤ, y = 2 * k * π + x ∨ y = 2 * k * π - x 
goal: Complex.cos x = Complex.cos y ↔ ∃ k, y = 2 * ↑k * ↑Real.pi + x ∨ y = 2 * ↑k * ↑Real.pi - x

full_name: Complex.sin_eq_sin_iff
code: theorem sin_eq_sin_iff {x y : ℂ} :
    sin x = sin y ↔ ∃ k : ℤ, y = 2 * k * π + x ∨ y = (2 * k + 1) * π - x 
goal: Complex.sin x = Complex.sin y ↔ ∃ k, y = 2 * ↑k * ↑Real.pi + x ∨ y = (2 * ↑k + 1) * ↑Real.pi - x

full_name: Complex.cos_eq_one_iff
code: theorem cos_eq_one_iff {x : ℂ} : cos x = 1 ↔ ∃ k : ℤ, k * (2 * π) = x 
goal: Complex.cos x = 1 ↔ ∃ k, ↑k * (2 * ↑Real.pi) = x

full_name: Complex.cos_eq_neg_one_iff
code: theorem cos_eq_neg_one_iff {x : ℂ} : cos x = -1 ↔ ∃ k : ℤ, π + k * (2 * π) = x 
goal: Complex.cos x = -1 ↔ ∃ k, ↑Real.pi + ↑k * (2 * ↑Real.pi) = x

full_name: Complex.sin_eq_one_iff
code: theorem sin_eq_one_iff {x : ℂ} : sin x = 1 ↔ ∃ k : ℤ, π / 2 + k * (2 * π) = x 
goal: Complex.sin x = 1 ↔ ∃ k, ↑Real.pi / 2 + ↑k * (2 * ↑Real.pi) = x

full_name: Complex.sin_eq_neg_one_iff
code: theorem sin_eq_neg_one_iff {x : ℂ} : sin x = -1 ↔ ∃ k : ℤ, -(π / 2) + k * (2 * π) = x 
goal: Complex.sin x = -1 ↔ ∃ k, -(↑Real.pi / 2) + ↑k * (2 * ↑Real.pi) = x

full_name: Complex.tan_add
code: theorem 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) :
    tan (x + y) = (tan x + tan y) / (1 - tan x * tan y) 
goal: Complex.tan (x + y) = (Complex.tan x + Complex.tan y) / (1 - Complex.tan x * Complex.tan y)

full_name: Complex.tan_add'
code: theorem tan_add' {x y : ℂ}
    (h : (∀ k : ℤ, x ≠ (2 * k + 1) * π / 2) ∧ ∀ l : ℤ, y ≠ (2 * l + 1) * π / 2) :
    tan (x + y) = (tan x + tan y) / (1 - tan x * tan y) 
goal: Complex.tan (x + y) = (Complex.tan x + Complex.tan y) / (1 - Complex.tan x * Complex.tan y)

full_name: Complex.tan_two_mul
code: theorem tan_two_mul {z : ℂ} : tan (2 * z) = (2 : ℂ) * tan z / ((1 : ℂ) - tan z ^ 2) 
goal: Complex.tan (2 * z) = 2 * Complex.tan z / (1 - Complex.tan z ^ 2)

full_name: Complex.tan_add_mul_I
code: theorem tan_add_mul_I {x y : ℂ}
    (h :
      ((∀ k : ℤ, x ≠ (2 * k + 1) * π / 2) ∧ ∀ l : ℤ, y * I ≠ (2 * l + 1) * π / 2) ∨
        (∃ k : ℤ, x = (2 * k + 1) * π / 2) ∧ ∃ l : ℤ, y * I = (2 * l + 1) * π / 2) :
    tan (x + y * I) = (tan x + tanh y * I) / (1 - tan x * tanh y * I) 
goal: Complex.tan (x + y * Complex.I) =
  (Complex.tan x + Complex.tanh y * Complex.I) / (1 - Complex.tan x * Complex.tanh y * Complex.I)

full_name: Complex.tan_eq
code: theorem tan_eq {z : ℂ}
    (h :
      ((∀ k : ℤ, (z.re : ℂ) ≠ (2 * k + 1) * π / 2) ∧
          ∀ l : ℤ, (z.im : ℂ) * I ≠ (2 * l + 1) * π / 2) ∨
        (∃ k : ℤ, (z.re : ℂ) = (2 * k + 1) * π / 2) ∧
          ∃ l : ℤ, (z.im : ℂ) * I = (2 * l + 1) * π / 2) :
    tan z = (tan z.re + tanh z.im * I) / (1 - tan z.re * tanh z.im * I) 
goal: Complex.tan z =
  (Complex.tan ↑z.re + Complex.tanh ↑z.im * Complex.I) / (1 - Complex.tan ↑z.re * Complex.tanh ↑z.im * Complex.I)

full_name: Complex.continuousOn_tan
code: theorem continuousOn_tan : ContinuousOn tan {x | cos x ≠ 0} 
goal: ContinuousOn Complex.tan {x | Complex.cos x ≠ 0}

full_name: Complex.continuous_tan
code: @[continuity]
theorem continuous_tan : Continuous fun x : {x | cos x ≠ 0} => tan x 
goal: Continuous fun x => Complex.tan ↑x

full_name: Complex.cos_eq_iff_quadratic
code: theorem cos_eq_iff_quadratic {z w : ℂ} :
    cos z = w ↔ exp (z * I) ^ 2 - 2 * w * exp (z * I) + 1 = 0 
goal: Complex.cos z = w ↔ Complex.exp (z * Complex.I) ^ 2 - 2 * w * Complex.exp (z * Complex.I) + 1 = 0

full_name: Complex.cos_surjective
code: theorem cos_surjective : Function.Surjective cos 
goal: Function.Surjective Complex.cos

full_name: Complex.range_cos
code: @[simp]
theorem range_cos : Set.range cos = Set.univ 
goal: Set.range Complex.cos = Set.univ

full_name: Complex.sin_surjective
code: theorem sin_surjective : Function.Surjective sin 
goal: Function.Surjective Complex.sin

full_name: Complex.range_sin
code: @[simp]
theorem range_sin : Set.range sin = Set.univ 
goal: Set.range Complex.sin = Set.univ

full_name: Real.cos_eq_zero_iff
code: theorem cos_eq_zero_iff {θ : ℝ} : cos θ = 0 ↔ ∃ k : ℤ, θ = (2 * k + 1) * π / 2 
goal: Real.cos θ = 0 ↔ ∃ k, θ = (2 * ↑k + 1) * Real.pi / 2

full_name: Real.cos_ne_zero_iff
code: theorem cos_ne_zero_iff {θ : ℝ} : cos θ ≠ 0 ↔ ∀ k : ℤ, θ ≠ (2 * k + 1) * π / 2 
goal: Real.cos θ ≠ 0 ↔ ∀ (k : ℤ), θ ≠ (2 * ↑k + 1) * Real.pi / 2

full_name: Real.cos_eq_cos_iff
code: theorem cos_eq_cos_iff {x y : ℝ} : cos x = cos y ↔ ∃ k : ℤ, y = 2 * k * π + x ∨ y = 2 * k * π - x 
goal: Real.cos x = Real.cos y ↔ ∃ k, y = 2 * ↑k * Real.pi + x ∨ y = 2 * ↑k * Real.pi - x

full_name: Real.sin_eq_sin_iff
code: theorem sin_eq_sin_iff {x y : ℝ} :
    sin x = sin y ↔ ∃ k : ℤ, y = 2 * k * π + x ∨ y = (2 * k + 1) * π - x 
goal: Real.sin x = Real.sin y ↔ ∃ k, y = 2 * ↑k * Real.pi + x ∨ y = (2 * ↑k + 1) * Real.pi - x

full_name: Real.cos_eq_neg_one_iff
code: theorem cos_eq_neg_one_iff {x : ℝ} : cos x = -1 ↔ ∃ k : ℤ, π + k * (2 * π) = x 
goal: Real.cos x = -1 ↔ ∃ k, Real.pi + ↑k * (2 * Real.pi) = x

full_name: Real.sin_eq_one_iff
code: theorem sin_eq_one_iff {x : ℝ} : sin x = 1 ↔ ∃ k : ℤ, π / 2 + k * (2 * π) = x 
goal: Real.sin x = 1 ↔ ∃ k, Real.pi / 2 + ↑k * (2 * Real.pi) = x

full_name: Real.sin_eq_neg_one_iff
code: theorem sin_eq_neg_one_iff {x : ℝ} : sin x = -1 ↔ ∃ k : ℤ, -(π / 2) + k * (2 * π) = x 
goal: Real.sin x = -1 ↔ ∃ k, -(Real.pi / 2) + ↑k * (2 * Real.pi) = x

full_name: Real.tan_eq_zero_iff
code: theorem tan_eq_zero_iff {θ : ℝ} : tan θ = 0 ↔ ∃ k : ℤ, k * π / 2 = θ 
goal: Real.tan θ = 0 ↔ ∃ k, ↑k * Real.pi / 2 = θ

full_name: Real.tan_eq_zero_iff'
code: theorem tan_eq_zero_iff' {θ : ℝ} (hθ : cos θ ≠ 0) : tan θ = 0 ↔ ∃ k : ℤ, k * π = θ 
goal: Real.tan θ = 0 ↔ ∃ k, ↑k * Real.pi = θ

full_name: Real.tan_ne_zero_iff
code: theorem tan_ne_zero_iff {θ : ℝ} : tan θ ≠ 0 ↔ ∀ k : ℤ, k * π / 2 ≠ θ 
goal: Real.tan θ ≠ 0 ↔ ∀ (k : ℤ), ↑k * Real.pi / 2 ≠ θ

full_name: Real.lt_sin_mul
code: theorem lt_sin_mul {x : ℝ} (hx : 0 < x) (hx' : x < 1) : x < sin (π / 2 * x) 
goal: x < Real.sin (Real.pi / 2 * x)

full_name: Real.le_sin_mul
code: theorem le_sin_mul {x : ℝ} (hx : 0 ≤ x) (hx' : x ≤ 1) : x ≤ sin (π / 2 * x) 
goal: x ≤ Real.sin (Real.pi / 2 * x)

full_name: Real.mul_lt_sin
code: theorem mul_lt_sin {x : ℝ} (hx : 0 < x) (hx' : x < π / 2) : 2 / π * x < sin x 
goal: 2 / Real.pi * x < Real.sin x

full_name: Real.mul_le_sin
code: /-- 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` -/
theorem mul_le_sin {x : ℝ} (hx : 0 ≤ x) (hx' : x ≤ π / 2) : 2 / π * x ≤ sin x 
goal: 2 / Real.pi * x ≤ Real.sin x