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

full_name: Complex.continuous_sin
code: @[continuity, fun_prop]
theorem continuous_sin : Continuous sin 
goal: Continuous Complex.sin

full_name: Complex.continuousOn_sin
code: @[fun_prop]
theorem continuousOn_sin {s : Set ℂ} : ContinuousOn sin s 
goal: ContinuousOn Complex.sin s

full_name: Complex.continuous_cos
code: @[continuity, fun_prop]
theorem continuous_cos : Continuous cos 
goal: Continuous Complex.cos

full_name: Complex.continuousOn_cos
code: @[fun_prop]
theorem continuousOn_cos {s : Set ℂ} : ContinuousOn cos s 
goal: ContinuousOn Complex.cos s

full_name: Complex.continuous_sinh
code: @[continuity, fun_prop]
theorem continuous_sinh : Continuous sinh 
goal: Continuous Complex.sinh

full_name: Complex.continuous_cosh
code: @[continuity, fun_prop]
theorem continuous_cosh : Continuous cosh 
goal: Continuous Complex.cosh

full_name: Real.continuous_sin
code: @[continuity, fun_prop]
theorem continuous_sin : Continuous sin 
goal: Continuous Real.sin

full_name: Real.continuousOn_sin
code: @[fun_prop]
theorem continuousOn_sin {s} : ContinuousOn sin s 
goal: ContinuousOn Real.sin s

full_name: Real.continuous_cos
code: @[continuity, fun_prop]
theorem continuous_cos : Continuous cos 
goal: Continuous Real.cos

full_name: Real.continuousOn_cos
code: @[fun_prop]
theorem continuousOn_cos {s} : ContinuousOn cos s 
goal: ContinuousOn Real.cos s

full_name: Real.continuous_sinh
code: @[continuity, fun_prop]
theorem continuous_sinh : Continuous sinh 
goal: Continuous Real.sinh

full_name: Real.continuous_cosh
code: @[continuity, fun_prop]
theorem continuous_cosh : Continuous cosh 
goal: Continuous Real.cosh

full_name: Real.exists_cos_eq_zero
code: theorem exists_cos_eq_zero : 0 ∈ cos '' Icc (1 : ℝ) 2 
goal: 0 ∈ Real.cos '' Set.Icc 1 2

full_name: Real.pi
code: /-- The number π = 3.14159265... Defined here using choice as twice a zero of cos in [1,2], from
which one can derive all its properties. For explicit bounds on π, see `Data.Real.Pi.Bounds`. -/
protected noncomputable def pi : ℝ 
goal: ℝ

full_name: Real._aux_Mathlib_Analysis_SpecialFunctions_Trigonometric_Basic___unexpand_Real_pi_1
code: @[inherit_doc]
scoped notation "π" => Real.pi
goal: Lean.PrettyPrinter.Unexpander

full_name: Real._aux_Mathlib_Analysis_SpecialFunctions_Trigonometric_Basic___macroRules_Real_termπ_1
code: @[inherit_doc]
scoped notation "π" => Real.pi
goal: Lean.Macro

full_name: Real.cos_pi_div_two
code: @[simp]
theorem cos_pi_div_two : cos (π / 2) = 0 
goal: Real.cos (Real.pi / 2) = 0

full_name: Real.one_le_pi_div_two
code: theorem one_le_pi_div_two : (1 : ℝ) ≤ π / 2 
goal: 1 ≤ Real.pi / 2

full_name: Real.pi_div_two_le_two
code: theorem pi_div_two_le_two : π / 2 ≤ 2 
goal: Real.pi / 2 ≤ 2

full_name: Real.two_le_pi
code: theorem two_le_pi : (2 : ℝ) ≤ π 
goal: 2 ≤ Real.pi

full_name: Real.pi_le_four
code: theorem pi_le_four : π ≤ 4 
goal: Real.pi ≤ 4

full_name: Real.pi_pos
code: theorem pi_pos : 0 < π 
goal: 0 < Real.pi

full_name: Real.pi_nonneg
code: theorem pi_nonneg : 0 ≤ π 
goal: 0 ≤ Real.pi

full_name: Real.pi_ne_zero
code: theorem pi_ne_zero : π ≠ 0 
goal: Real.pi ≠ 0

full_name: Real.pi_div_two_pos
code: theorem pi_div_two_pos : 0 < π / 2 
goal: 0 < Real.pi / 2

full_name: Real.two_pi_pos
code: theorem two_pi_pos : 0 < 2 * π 
goal: 0 < 2 * Real.pi

full_name: Mathlib.Meta.Positivity.evalRealPi
code: /-- Extension for the `positivity` tactic: `π` is always positive. -/
@[positivity Real.pi]
def evalRealPi : PositivityExt 
goal: Mathlib.Meta.Positivity.PositivityExt

full_name: NNReal.pi
code: /-- `π` considered as a nonnegative real. -/
noncomputable def pi : ℝ≥0 
goal: NNReal

full_name: NNReal.coe_real_pi
code: @[simp]
theorem coe_real_pi : (pi : ℝ) = π 
goal: ↑NNReal.pi = Real.pi

full_name: NNReal.pi_pos
code: theorem pi_pos : 0 < pi 
goal: 0 < NNReal.pi

full_name: NNReal.pi_ne_zero
code: theorem pi_ne_zero : pi ≠ 0 
goal: NNReal.pi ≠ 0

full_name: Real.sin_pi
code: @[simp]
theorem sin_pi : sin π = 0 
goal: Real.sin Real.pi = 0

full_name: Real.cos_pi
code: @[simp]
theorem cos_pi : cos π = -1 
goal: Real.cos Real.pi = -1

full_name: Real.sin_two_pi
code: @[simp]
theorem sin_two_pi : sin (2 * π) = 0 
goal: Real.sin (2 * Real.pi) = 0

full_name: Real.cos_two_pi
code: @[simp]
theorem cos_two_pi : cos (2 * π) = 1 
goal: Real.cos (2 * Real.pi) = 1

full_name: Real.sin_antiperiodic
code: theorem sin_antiperiodic : Function.Antiperiodic sin π 
goal: Function.Antiperiodic Real.sin Real.pi

full_name: Real.sin_periodic
code: theorem sin_periodic : Function.Periodic sin (2 * π) 
goal: Function.Periodic Real.sin (2 * Real.pi)

full_name: Real.sin_add_pi
code: @[simp]
theorem sin_add_pi (x : ℝ) : sin (x + π) = -sin x 
goal: Real.sin (x + Real.pi) = -Real.sin x

full_name: Real.sin_add_two_pi
code: @[simp]
theorem sin_add_two_pi (x : ℝ) : sin (x + 2 * π) = sin x 
goal: Real.sin (x + 2 * Real.pi) = Real.sin x

full_name: Real.sin_sub_pi
code: @[simp]
theorem sin_sub_pi (x : ℝ) : sin (x - π) = -sin x 
goal: Real.sin (x - Real.pi) = -Real.sin x

full_name: Real.sin_sub_two_pi
code: @[simp]
theorem sin_sub_two_pi (x : ℝ) : sin (x - 2 * π) = sin x 
goal: Real.sin (x - 2 * Real.pi) = Real.sin x

full_name: Real.sin_pi_sub
code: @[simp]
theorem sin_pi_sub (x : ℝ) : sin (π - x) = sin x 
goal: Real.sin (Real.pi - x) = Real.sin x

full_name: Real.sin_two_pi_sub
code: @[simp]
theorem sin_two_pi_sub (x : ℝ) : sin (2 * π - x) = -sin x 
goal: Real.sin (2 * Real.pi - x) = -Real.sin x

full_name: Real.sin_nat_mul_pi
code: @[simp]
theorem sin_nat_mul_pi (n : ℕ) : sin (n * π) = 0 
goal: Real.sin (↑n * Real.pi) = 0

full_name: Real.sin_int_mul_pi
code: @[simp]
theorem sin_int_mul_pi (n : ℤ) : sin (n * π) = 0 
goal: Real.sin (↑n * Real.pi) = 0

full_name: Real.sin_add_nat_mul_two_pi
code: @[simp]
theorem sin_add_nat_mul_two_pi (x : ℝ) (n : ℕ) : sin (x + n * (2 * π)) = sin x 
goal: Real.sin (x + ↑n * (2 * Real.pi)) = Real.sin x

full_name: Real.sin_add_int_mul_two_pi
code: @[simp]
theorem sin_add_int_mul_two_pi (x : ℝ) (n : ℤ) : sin (x + n * (2 * π)) = sin x 
goal: Real.sin (x + ↑n * (2 * Real.pi)) = Real.sin x

full_name: Real.sin_sub_nat_mul_two_pi
code: @[simp]
theorem sin_sub_nat_mul_two_pi (x : ℝ) (n : ℕ) : sin (x - n * (2 * π)) = sin x 
goal: Real.sin (x - ↑n * (2 * Real.pi)) = Real.sin x

full_name: Real.sin_sub_int_mul_two_pi
code: @[simp]
theorem sin_sub_int_mul_two_pi (x : ℝ) (n : ℤ) : sin (x - n * (2 * π)) = sin x 
goal: Real.sin (x - ↑n * (2 * Real.pi)) = Real.sin x

full_name: Real.sin_nat_mul_two_pi_sub
code: @[simp]
theorem sin_nat_mul_two_pi_sub (x : ℝ) (n : ℕ) : sin (n * (2 * π) - x) = -sin x 
goal: Real.sin (↑n * (2 * Real.pi) - x) = -Real.sin x

full_name: Real.sin_int_mul_two_pi_sub
code: @[simp]
theorem sin_int_mul_two_pi_sub (x : ℝ) (n : ℤ) : sin (n * (2 * π) - x) = -sin x 
goal: Real.sin (↑n * (2 * Real.pi) - x) = -Real.sin x

full_name: Real.sin_add_int_mul_pi
code: theorem sin_add_int_mul_pi (x : ℝ) (n : ℤ) : sin (x + n * π) = (-1) ^ n * sin x 
goal: Real.sin (x + ↑n * Real.pi) = (-1) ^ n * Real.sin x

full_name: Real.sin_add_nat_mul_pi
code: theorem sin_add_nat_mul_pi (x : ℝ) (n : ℕ) : sin (x + n * π) = (-1) ^ n * sin x 
goal: Real.sin (x + ↑n * Real.pi) = (-1) ^ n * Real.sin x

full_name: Real.sin_sub_int_mul_pi
code: theorem sin_sub_int_mul_pi (x : ℝ) (n : ℤ) : sin (x - n * π) = (-1) ^ n * sin x 
goal: Real.sin (x - ↑n * Real.pi) = (-1) ^ n * Real.sin x

full_name: Real.sin_sub_nat_mul_pi
code: theorem sin_sub_nat_mul_pi (x : ℝ) (n : ℕ) : sin (x - n * π) = (-1) ^ n * sin x 
goal: Real.sin (x - ↑n * Real.pi) = (-1) ^ n * Real.sin x

full_name: Real.sin_int_mul_pi_sub
code: theorem sin_int_mul_pi_sub (x : ℝ) (n : ℤ) : sin (n * π - x) = -((-1) ^ n * sin x) 
goal: Real.sin (↑n * Real.pi - x) = -((-1) ^ n * Real.sin x)

full_name: Real.sin_nat_mul_pi_sub
code: theorem sin_nat_mul_pi_sub (x : ℝ) (n : ℕ) : sin (n * π - x) = -((-1) ^ n * sin x) 
goal: Real.sin (↑n * Real.pi - x) = -((-1) ^ n * Real.sin x)

full_name: Real.cos_antiperiodic
code: theorem cos_antiperiodic : Function.Antiperiodic cos π 
goal: Function.Antiperiodic Real.cos Real.pi

full_name: Real.cos_periodic
code: theorem cos_periodic : Function.Periodic cos (2 * π) 
goal: Function.Periodic Real.cos (2 * Real.pi)

full_name: Real.cos_add_pi
code: @[simp]
theorem cos_add_pi (x : ℝ) : cos (x + π) = -cos x 
goal: Real.cos (x + Real.pi) = -Real.cos x

full_name: Real.cos_add_two_pi
code: @[simp]
theorem cos_add_two_pi (x : ℝ) : cos (x + 2 * π) = cos x 
goal: Real.cos (x + 2 * Real.pi) = Real.cos x

full_name: Real.cos_sub_pi
code: @[simp]
theorem cos_sub_pi (x : ℝ) : cos (x - π) = -cos x 
goal: Real.cos (x - Real.pi) = -Real.cos x

full_name: Real.cos_sub_two_pi
code: @[simp]
theorem cos_sub_two_pi (x : ℝ) : cos (x - 2 * π) = cos x 
goal: Real.cos (x - 2 * Real.pi) = Real.cos x

full_name: Real.cos_pi_sub
code: @[simp]
theorem cos_pi_sub (x : ℝ) : cos (π - x) = -cos x 
goal: Real.cos (Real.pi - x) = -Real.cos x

full_name: Real.cos_two_pi_sub
code: @[simp]
theorem cos_two_pi_sub (x : ℝ) : cos (2 * π - x) = cos x 
goal: Real.cos (2 * Real.pi - x) = Real.cos x

full_name: Real.cos_nat_mul_two_pi
code: @[simp]
theorem cos_nat_mul_two_pi (n : ℕ) : cos (n * (2 * π)) = 1 
goal: Real.cos (↑n * (2 * Real.pi)) = 1

full_name: Real.cos_int_mul_two_pi
code: @[simp]
theorem cos_int_mul_two_pi (n : ℤ) : cos (n * (2 * π)) = 1 
goal: Real.cos (↑n * (2 * Real.pi)) = 1

full_name: Real.cos_add_nat_mul_two_pi
code: @[simp]
theorem cos_add_nat_mul_two_pi (x : ℝ) (n : ℕ) : cos (x + n * (2 * π)) = cos x 
goal: Real.cos (x + ↑n * (2 * Real.pi)) = Real.cos x

full_name: Real.cos_add_int_mul_two_pi
code: @[simp]
theorem cos_add_int_mul_two_pi (x : ℝ) (n : ℤ) : cos (x + n * (2 * π)) = cos x 
goal: Real.cos (x + ↑n * (2 * Real.pi)) = Real.cos x

full_name: Real.cos_sub_nat_mul_two_pi
code: @[simp]
theorem cos_sub_nat_mul_two_pi (x : ℝ) (n : ℕ) : cos (x - n * (2 * π)) = cos x 
goal: Real.cos (x - ↑n * (2 * Real.pi)) = Real.cos x

full_name: Real.cos_sub_int_mul_two_pi
code: @[simp]
theorem cos_sub_int_mul_two_pi (x : ℝ) (n : ℤ) : cos (x - n * (2 * π)) = cos x 
goal: Real.cos (x - ↑n * (2 * Real.pi)) = Real.cos x

full_name: Real.cos_nat_mul_two_pi_sub
code: @[simp]
theorem cos_nat_mul_two_pi_sub (x : ℝ) (n : ℕ) : cos (n * (2 * π) - x) = cos x 
goal: Real.cos (↑n * (2 * Real.pi) - x) = Real.cos x

full_name: Real.cos_int_mul_two_pi_sub
code: @[simp]
theorem cos_int_mul_two_pi_sub (x : ℝ) (n : ℤ) : cos (n * (2 * π) - x) = cos x 
goal: Real.cos (↑n * (2 * Real.pi) - x) = Real.cos x

full_name: Real.cos_add_int_mul_pi
code: theorem cos_add_int_mul_pi (x : ℝ) (n : ℤ) : cos (x + n * π) = (-1) ^ n * cos x 
goal: Real.cos (x + ↑n * Real.pi) = (-1) ^ n * Real.cos x

full_name: Real.cos_add_nat_mul_pi
code: theorem cos_add_nat_mul_pi (x : ℝ) (n : ℕ) : cos (x + n * π) = (-1) ^ n * cos x 
goal: Real.cos (x + ↑n * Real.pi) = (-1) ^ n * Real.cos x

full_name: Real.cos_sub_int_mul_pi
code: theorem cos_sub_int_mul_pi (x : ℝ) (n : ℤ) : cos (x - n * π) = (-1) ^ n * cos x 
goal: Real.cos (x - ↑n * Real.pi) = (-1) ^ n * Real.cos x

full_name: Real.cos_sub_nat_mul_pi
code: theorem cos_sub_nat_mul_pi (x : ℝ) (n : ℕ) : cos (x - n * π) = (-1) ^ n * cos x 
goal: Real.cos (x - ↑n * Real.pi) = (-1) ^ n * Real.cos x

full_name: Real.cos_int_mul_pi_sub
code: theorem cos_int_mul_pi_sub (x : ℝ) (n : ℤ) : cos (n * π - x) = (-1) ^ n * cos x 
goal: Real.cos (↑n * Real.pi - x) = (-1) ^ n * Real.cos x

full_name: Real.cos_nat_mul_pi_sub
code: theorem cos_nat_mul_pi_sub (x : ℝ) (n : ℕ) : cos (n * π - x) = (-1) ^ n * cos x 
goal: Real.cos (↑n * Real.pi - x) = (-1) ^ n * Real.cos x

full_name: Real.cos_nat_mul_two_pi_add_pi
code: theorem cos_nat_mul_two_pi_add_pi (n : ℕ) : cos (n * (2 * π) + π) = -1 
goal: Real.cos (↑n * (2 * Real.pi) + Real.pi) = -1

full_name: Real.cos_int_mul_two_pi_add_pi
code: theorem cos_int_mul_two_pi_add_pi (n : ℤ) : cos (n * (2 * π) + π) = -1 
goal: Real.cos (↑n * (2 * Real.pi) + Real.pi) = -1

full_name: Real.cos_nat_mul_two_pi_sub_pi
code: theorem cos_nat_mul_two_pi_sub_pi (n : ℕ) : cos (n * (2 * π) - π) = -1 
goal: Real.cos (↑n * (2 * Real.pi) - Real.pi) = -1

full_name: Real.cos_int_mul_two_pi_sub_pi
code: theorem cos_int_mul_two_pi_sub_pi (n : ℤ) : cos (n * (2 * π) - π) = -1 
goal: Real.cos (↑n * (2 * Real.pi) - Real.pi) = -1

full_name: Real.sin_pos_of_pos_of_lt_pi
code: theorem sin_pos_of_pos_of_lt_pi {x : ℝ} (h0x : 0 < x) (hxp : x < π) : 0 < sin x 
goal: 0 < Real.sin x

full_name: Real.sin_pos_of_mem_Ioo
code: theorem sin_pos_of_mem_Ioo {x : ℝ} (hx : x ∈ Ioo 0 π) : 0 < sin x 
goal: 0 < Real.sin x

full_name: Real.sin_nonneg_of_mem_Icc
code: theorem sin_nonneg_of_mem_Icc {x : ℝ} (hx : x ∈ Icc 0 π) : 0 ≤ sin x 
goal: 0 ≤ Real.sin x

full_name: Real.sin_nonneg_of_nonneg_of_le_pi
code: theorem sin_nonneg_of_nonneg_of_le_pi {x : ℝ} (h0x : 0 ≤ x) (hxp : x ≤ π) : 0 ≤ sin x 
goal: 0 ≤ Real.sin x

full_name: Real.sin_neg_of_neg_of_neg_pi_lt
code: theorem sin_neg_of_neg_of_neg_pi_lt {x : ℝ} (hx0 : x < 0) (hpx : -π < x) : sin x < 0 
goal: Real.sin x < 0

full_name: Real.sin_nonpos_of_nonnpos_of_neg_pi_le
code: theorem sin_nonpos_of_nonnpos_of_neg_pi_le {x : ℝ} (hx0 : x ≤ 0) (hpx : -π ≤ x) : sin x ≤ 0 
goal: Real.sin x ≤ 0

full_name: Real.sin_pi_div_two
code: @[simp]
theorem sin_pi_div_two : sin (π / 2) = 1 
goal: Real.sin (Real.pi / 2) = 1

full_name: Real.sin_add_pi_div_two
code: theorem sin_add_pi_div_two (x : ℝ) : sin (x + π / 2) = cos x 
goal: Real.sin (x + Real.pi / 2) = Real.cos x

full_name: Real.sin_sub_pi_div_two
code: theorem sin_sub_pi_div_two (x : ℝ) : sin (x - π / 2) = -cos x 
goal: Real.sin (x - Real.pi / 2) = -Real.cos x

full_name: Real.sin_pi_div_two_sub
code: theorem sin_pi_div_two_sub (x : ℝ) : sin (π / 2 - x) = cos x 
goal: Real.sin (Real.pi / 2 - x) = Real.cos x

full_name: Real.cos_add_pi_div_two
code: theorem cos_add_pi_div_two (x : ℝ) : cos (x + π / 2) = -sin x 
goal: Real.cos (x + Real.pi / 2) = -Real.sin x

full_name: Real.cos_sub_pi_div_two
code: theorem cos_sub_pi_div_two (x : ℝ) : cos (x - π / 2) = sin x 
goal: Real.cos (x - Real.pi / 2) = Real.sin x

full_name: Real.cos_pi_div_two_sub
code: theorem cos_pi_div_two_sub (x : ℝ) : cos (π / 2 - x) = sin x 
goal: Real.cos (Real.pi / 2 - x) = Real.sin x

full_name: Real.cos_pos_of_mem_Ioo
code: theorem cos_pos_of_mem_Ioo {x : ℝ} (hx : x ∈ Ioo (-(π / 2)) (π / 2)) : 0 < cos x 
goal: 0 < Real.cos x

full_name: Real.cos_nonneg_of_mem_Icc
code: theorem cos_nonneg_of_mem_Icc {x : ℝ} (hx : x ∈ Icc (-(π / 2)) (π / 2)) : 0 ≤ cos x 
goal: 0 ≤ Real.cos x

full_name: Real.cos_nonneg_of_neg_pi_div_two_le_of_le
code: theorem cos_nonneg_of_neg_pi_div_two_le_of_le {x : ℝ} (hl : -(π / 2) ≤ x) (hu : x ≤ π / 2) :
    0 ≤ cos x 
goal: 0 ≤ Real.cos x

full_name: Real.cos_neg_of_pi_div_two_lt_of_lt
code: theorem cos_neg_of_pi_div_two_lt_of_lt {x : ℝ} (hx₁ : π / 2 < x) (hx₂ : x < π + π / 2) :
    cos x < 0 
goal: Real.cos x < 0

full_name: Real.cos_nonpos_of_pi_div_two_le_of_le
code: theorem cos_nonpos_of_pi_div_two_le_of_le {x : ℝ} (hx₁ : π / 2 ≤ x) (hx₂ : x ≤ π + π / 2) :
    cos x ≤ 0 
goal: Real.cos x ≤ 0

full_name: Real.sin_eq_sqrt_one_sub_cos_sq
code: theorem sin_eq_sqrt_one_sub_cos_sq {x : ℝ} (hl : 0 ≤ x) (hu : x ≤ π) :
    sin x = √(1 - cos x ^ 2) 
goal: Real.sin x = √(1 - Real.cos x ^ 2)

full_name: Real.cos_eq_sqrt_one_sub_sin_sq
code: theorem cos_eq_sqrt_one_sub_sin_sq {x : ℝ} (hl : -(π / 2) ≤ x) (hu : x ≤ π / 2) :
    cos x = √(1 - sin x ^ 2) 
goal: Real.cos x = √(1 - Real.sin x ^ 2)

full_name: Real.cos_half
code: lemma cos_half {x : ℝ} (hl : -π ≤ x) (hr : x ≤ π) : cos (x / 2) = sqrt ((1 + cos x) / 2) 
goal: Real.cos (x / 2) = √((1 + Real.cos x) / 2)

full_name: Real.abs_sin_half
code: lemma abs_sin_half (x : ℝ) : |sin (x / 2)| = sqrt ((1 - cos x) / 2) 
goal: |Real.sin (x / 2)| = √((1 - Real.cos x) / 2)

full_name: Real.sin_half_eq_sqrt
code: lemma sin_half_eq_sqrt {x : ℝ} (hl : 0 ≤ x) (hr : x ≤ 2 * π) :
    sin (x / 2) = sqrt ((1 - cos x) / 2) 
goal: Real.sin (x / 2) = √((1 - Real.cos x) / 2)

full_name: Real.sin_half_eq_neg_sqrt
code: lemma sin_half_eq_neg_sqrt {x : ℝ} (hl : -(2 * π) ≤ x) (hr : x ≤ 0) :
    sin (x / 2) = -sqrt ((1 - cos x) / 2) 
goal: Real.sin (x / 2) = -√((1 - Real.cos x) / 2)

full_name: Real.sin_eq_zero_iff_of_lt_of_lt
code: theorem sin_eq_zero_iff_of_lt_of_lt {x : ℝ} (hx₁ : -π < x) (hx₂ : x < π) : sin x = 0 ↔ x = 0 
goal: Real.sin x = 0 ↔ x = 0

full_name: Real.sin_eq_zero_iff
code: theorem sin_eq_zero_iff {x : ℝ} : sin x = 0 ↔ ∃ n : ℤ, (n : ℝ) * π = x 
goal: Real.sin x = 0 ↔ ∃ n, ↑n * Real.pi = x

full_name: Real.sin_ne_zero_iff
code: theorem sin_ne_zero_iff {x : ℝ} : sin x ≠ 0 ↔ ∀ n : ℤ, (n : ℝ) * π ≠ x 
goal: Real.sin x ≠ 0 ↔ ∀ (n : ℤ), ↑n * Real.pi ≠ x

full_name: Real.sin_eq_zero_iff_cos_eq
code: theorem sin_eq_zero_iff_cos_eq {x : ℝ} : sin x = 0 ↔ cos x = 1 ∨ cos x = -1 
goal: Real.sin x = 0 ↔ Real.cos x = 1 ∨ Real.cos x = -1

full_name: Real.cos_eq_one_iff
code: theorem cos_eq_one_iff (x : ℝ) : cos x = 1 ↔ ∃ n : ℤ, (n : ℝ) * (2 * π) = x 
goal: Real.cos x = 1 ↔ ∃ n, ↑n * (2 * Real.pi) = x

full_name: Real.cos_eq_one_iff_of_lt_of_lt
code: theorem cos_eq_one_iff_of_lt_of_lt {x : ℝ} (hx₁ : -(2 * π) < x) (hx₂ : x < 2 * π) :
    cos x = 1 ↔ x = 0 
goal: Real.cos x = 1 ↔ x = 0

full_name: Real.sin_lt_sin_of_lt_of_le_pi_div_two
code: theorem sin_lt_sin_of_lt_of_le_pi_div_two {x y : ℝ} (hx₁ : -(π / 2) ≤ x) (hy₂ : y ≤ π / 2)
    (hxy : x < y) : sin x < sin y 
goal: Real.sin x < Real.sin y

full_name: Real.strictMonoOn_sin
code: theorem strictMonoOn_sin : StrictMonoOn sin (Icc (-(π / 2)) (π / 2)) 
goal: StrictMonoOn Real.sin (Set.Icc (-(Real.pi / 2)) (Real.pi / 2))

full_name: Real.cos_lt_cos_of_nonneg_of_le_pi
code: theorem cos_lt_cos_of_nonneg_of_le_pi {x y : ℝ} (hx₁ : 0 ≤ x) (hy₂ : y ≤ π) (hxy : x < y) :
    cos y < cos x 
goal: Real.cos y < Real.cos x

full_name: Real.cos_lt_cos_of_nonneg_of_le_pi_div_two
code: theorem cos_lt_cos_of_nonneg_of_le_pi_div_two {x y : ℝ} (hx₁ : 0 ≤ x) (hy₂ : y ≤ π / 2)
    (hxy : x < y) : cos y < cos x 
goal: Real.cos y < Real.cos x

full_name: Real.strictAntiOn_cos
code: theorem strictAntiOn_cos : StrictAntiOn cos (Icc 0 π) 
goal: StrictAntiOn Real.cos (Set.Icc 0 Real.pi)

full_name: Real.cos_le_cos_of_nonneg_of_le_pi
code: theorem cos_le_cos_of_nonneg_of_le_pi {x y : ℝ} (hx₁ : 0 ≤ x) (hy₂ : y ≤ π) (hxy : x ≤ y) :
    cos y ≤ cos x 
goal: Real.cos y ≤ Real.cos x

full_name: Real.sin_le_sin_of_le_of_le_pi_div_two
code: theorem sin_le_sin_of_le_of_le_pi_div_two {x y : ℝ} (hx₁ : -(π / 2) ≤ x) (hy₂ : y ≤ π / 2)
    (hxy : x ≤ y) : sin x ≤ sin y 
goal: Real.sin x ≤ Real.sin y

full_name: Real.injOn_sin
code: theorem injOn_sin : InjOn sin (Icc (-(π / 2)) (π / 2)) 
goal: Set.InjOn Real.sin (Set.Icc (-(Real.pi / 2)) (Real.pi / 2))

full_name: Real.injOn_cos
code: theorem injOn_cos : InjOn cos (Icc 0 π) 
goal: Set.InjOn Real.cos (Set.Icc 0 Real.pi)

full_name: Real.surjOn_sin
code: theorem surjOn_sin : SurjOn sin (Icc (-(π / 2)) (π / 2)) (Icc (-1) 1) 
goal: Set.SurjOn Real.sin (Set.Icc (-(Real.pi / 2)) (Real.pi / 2)) (Set.Icc (-1) 1)

full_name: Real.surjOn_cos
code: theorem surjOn_cos : SurjOn cos (Icc 0 π) (Icc (-1) 1) 
goal: Set.SurjOn Real.cos (Set.Icc 0 Real.pi) (Set.Icc (-1) 1)

full_name: Real.sin_mem_Icc
code: theorem sin_mem_Icc (x : ℝ) : sin x ∈ Icc (-1 : ℝ) 1 
goal: Real.sin x ∈ Set.Icc (-1) 1

full_name: Real.cos_mem_Icc
code: theorem cos_mem_Icc (x : ℝ) : cos x ∈ Icc (-1 : ℝ) 1 
goal: Real.cos x ∈ Set.Icc (-1) 1

full_name: Real.mapsTo_sin
code: theorem mapsTo_sin (s : Set ℝ) : MapsTo sin s (Icc (-1 : ℝ) 1) 
goal: Set.MapsTo Real.sin s (Set.Icc (-1) 1)

full_name: Real.mapsTo_cos
code: theorem mapsTo_cos (s : Set ℝ) : MapsTo cos s (Icc (-1 : ℝ) 1) 
goal: Set.MapsTo Real.cos s (Set.Icc (-1) 1)

full_name: Real.bijOn_sin
code: theorem bijOn_sin : BijOn sin (Icc (-(π / 2)) (π / 2)) (Icc (-1) 1) 
goal: Set.BijOn Real.sin (Set.Icc (-(Real.pi / 2)) (Real.pi / 2)) (Set.Icc (-1) 1)

full_name: Real.bijOn_cos
code: theorem bijOn_cos : BijOn cos (Icc 0 π) (Icc (-1) 1) 
goal: Set.BijOn Real.cos (Set.Icc 0 Real.pi) (Set.Icc (-1) 1)

full_name: Real.range_cos
code: @[simp]
theorem range_cos : range cos = (Icc (-1) 1 : Set ℝ) 
goal: Set.range Real.cos = Set.Icc (-1) 1

full_name: Real.range_sin
code: @[simp]
theorem range_sin : range sin = (Icc (-1) 1 : Set ℝ) 
goal: Set.range Real.sin = Set.Icc (-1) 1

full_name: Real.range_cos_infinite
code: theorem range_cos_infinite : (range Real.cos).Infinite 
goal: (Set.range Real.cos).Infinite

full_name: Real.range_sin_infinite
code: theorem range_sin_infinite : (range Real.sin).Infinite 
goal: (Set.range Real.sin).Infinite

full_name: Real.sqrtTwoAddSeries
code: /-- the series `sqrtTwoAddSeries x n` is `sqrt(2 + sqrt(2 + ... ))` with `n` square roots,
  starting with `x`. We define it here because `cos (pi / 2 ^ (n+1)) = sqrtTwoAddSeries 0 n / 2`
-/
@[simp]
noncomputable def sqrtTwoAddSeries (x : ℝ) : ℕ → ℝ
  
goal: ℕ → ℝ

full_name: Real.sqrtTwoAddSeries_zero
code: theorem sqrtTwoAddSeries_zero : sqrtTwoAddSeries x 0 = x 
goal: x.sqrtTwoAddSeries 0 = x

full_name: Real.sqrtTwoAddSeries_one
code: theorem sqrtTwoAddSeries_one : sqrtTwoAddSeries 0 1 = √2 
goal: Real.sqrtTwoAddSeries 0 1 = √2

full_name: Real.sqrtTwoAddSeries_two
code: theorem sqrtTwoAddSeries_two : sqrtTwoAddSeries 0 2 = √(2 + √2) 
goal: Real.sqrtTwoAddSeries 0 2 = √(2 + √2)

full_name: Real.sqrtTwoAddSeries_zero_nonneg
code: theorem sqrtTwoAddSeries_zero_nonneg : ∀ n : ℕ, 0 ≤ sqrtTwoAddSeries 0 n
  
goal: 0 ≤ Real.sqrtTwoAddSeries 0 n

full_name: Real.sqrtTwoAddSeries_nonneg
code: theorem sqrtTwoAddSeries_nonneg {x : ℝ} (h : 0 ≤ x) : ∀ n : ℕ, 0 ≤ sqrtTwoAddSeries x n
  
goal: 0 ≤ x.sqrtTwoAddSeries n

full_name: Real.sqrtTwoAddSeries_lt_two
code: theorem sqrtTwoAddSeries_lt_two : ∀ n : ℕ, sqrtTwoAddSeries 0 n < 2
  
goal: Real.sqrtTwoAddSeries 0 n < 2

full_name: Real.sqrtTwoAddSeries_succ
code: theorem sqrtTwoAddSeries_succ (x : ℝ) :
    ∀ n : ℕ, sqrtTwoAddSeries x (n + 1) = sqrtTwoAddSeries (√(2 + x)) n
  
goal: x.sqrtTwoAddSeries (n + 1) = (√(2 + x)).sqrtTwoAddSeries n

full_name: Real.sqrtTwoAddSeries_monotone_left
code: theorem sqrtTwoAddSeries_monotone_left {x y : ℝ} (h : x ≤ y) :
    ∀ n : ℕ, sqrtTwoAddSeries x n ≤ sqrtTwoAddSeries y n
  
goal: x.sqrtTwoAddSeries n ≤ y.sqrtTwoAddSeries n

full_name: Real.cos_pi_over_two_pow
code: @[simp]
theorem cos_pi_over_two_pow : ∀ n : ℕ, cos (π / 2 ^ (n + 1)) = sqrtTwoAddSeries 0 n / 2
  
goal: Real.cos (Real.pi / 2 ^ (n + 1)) = Real.sqrtTwoAddSeries 0 n / 2

full_name: Real.sin_sq_pi_over_two_pow
code: theorem sin_sq_pi_over_two_pow (n : ℕ) :
    sin (π / 2 ^ (n + 1)) ^ 2 = 1 - (sqrtTwoAddSeries 0 n / 2) ^ 2 
goal: Real.sin (Real.pi / 2 ^ (n + 1)) ^ 2 = 1 - (Real.sqrtTwoAddSeries 0 n / 2) ^ 2

full_name: Real.sin_sq_pi_over_two_pow_succ
code: theorem sin_sq_pi_over_two_pow_succ (n : ℕ) :
    sin (π / 2 ^ (n + 2)) ^ 2 = 1 / 2 - sqrtTwoAddSeries 0 n / 4 
goal: Real.sin (Real.pi / 2 ^ (n + 2)) ^ 2 = 1 / 2 - Real.sqrtTwoAddSeries 0 n / 4

full_name: Real.sin_pi_over_two_pow_succ
code: @[simp]
theorem sin_pi_over_two_pow_succ (n : ℕ) :
    sin (π / 2 ^ (n + 2)) = √(2 - sqrtTwoAddSeries 0 n) / 2 
goal: Real.sin (Real.pi / 2 ^ (n + 2)) = √(2 - Real.sqrtTwoAddSeries 0 n) / 2

full_name: Real.cos_pi_div_four
code: @[simp]
theorem cos_pi_div_four : cos (π / 4) = √2 / 2 
goal: Real.cos (Real.pi / 4) = √2 / 2

full_name: Real.sin_pi_div_four
code: @[simp]
theorem sin_pi_div_four : sin (π / 4) = √2 / 2 
goal: Real.sin (Real.pi / 4) = √2 / 2

full_name: Real.cos_pi_div_eight
code: @[simp]
theorem cos_pi_div_eight : cos (π / 8) = √(2 + √2) / 2 
goal: Real.cos (Real.pi / 8) = √(2 + √2) / 2

full_name: Real.sin_pi_div_eight
code: @[simp]
theorem sin_pi_div_eight : sin (π / 8) = √(2 - √2) / 2 
goal: Real.sin (Real.pi / 8) = √(2 - √2) / 2

full_name: Real.cos_pi_div_sixteen
code: @[simp]
theorem cos_pi_div_sixteen : cos (π / 16) = √(2 + √(2 + √2)) / 2 
goal: Real.cos (Real.pi / 16) = √(2 + √(2 + √2)) / 2

full_name: Real.sin_pi_div_sixteen
code: @[simp]
theorem sin_pi_div_sixteen : sin (π / 16) = √(2 - √(2 + √2)) / 2 
goal: Real.sin (Real.pi / 16) = √(2 - √(2 + √2)) / 2

full_name: Real.cos_pi_div_thirty_two
code: @[simp]
theorem cos_pi_div_thirty_two : cos (π / 32) = √(2 + √(2 + √(2 + √2))) / 2 
goal: Real.cos (Real.pi / 32) = √(2 + √(2 + √(2 + √2))) / 2

full_name: Real.sin_pi_div_thirty_two
code: @[simp]
theorem sin_pi_div_thirty_two : sin (π / 32) = √(2 - √(2 + √(2 + √2))) / 2 
goal: Real.sin (Real.pi / 32) = √(2 - √(2 + √(2 + √2))) / 2

full_name: Real.cos_pi_div_three
code: /-- The cosine of `π / 3` is `1 / 2`. -/
@[simp]
theorem cos_pi_div_three : cos (π / 3) = 1 / 2 
goal: Real.cos (Real.pi / 3) = 1 / 2

full_name: Real.cos_pi_div_six
code: /-- The cosine of `π / 6` is `√3 / 2`. -/
@[simp]
theorem cos_pi_div_six : cos (π / 6) = √3 / 2 
goal: Real.cos (Real.pi / 6) = √3 / 2

full_name: Real.sq_cos_pi_div_six
code: /-- The square of the cosine of `π / 6` is `3 / 4` (this is sometimes more convenient than the
result for cosine itself). -/
theorem sq_cos_pi_div_six : cos (π / 6) ^ 2 = 3 / 4 
goal: Real.cos (Real.pi / 6) ^ 2 = 3 / 4

full_name: Real.sin_pi_div_six
code: /-- The sine of `π / 6` is `1 / 2`. -/
@[simp]
theorem sin_pi_div_six : sin (π / 6) = 1 / 2 
goal: Real.sin (Real.pi / 6) = 1 / 2

full_name: Real.sq_sin_pi_div_three
code: /-- The square of the sine of `π / 3` is `3 / 4` (this is sometimes more convenient than the
result for cosine itself). -/
theorem sq_sin_pi_div_three : sin (π / 3) ^ 2 = 3 / 4 
goal: Real.sin (Real.pi / 3) ^ 2 = 3 / 4

full_name: Real.sin_pi_div_three
code: /-- The sine of `π / 3` is `√3 / 2`. -/
@[simp]
theorem sin_pi_div_three : sin (π / 3) = √3 / 2 
goal: Real.sin (Real.pi / 3) = √3 / 2

full_name: Real.sinOrderIso
code: /-- `Real.sin` as an `OrderIso` between `[-(π / 2), π / 2]` and `[-1, 1]`. -/
def sinOrderIso : Icc (-(π / 2)) (π / 2) ≃o Icc (-1 : ℝ) 1 
goal: ↑(Set.Icc (-(Real.pi / 2)) (Real.pi / 2)) ≃o ↑(Set.Icc (-1) 1)

full_name: Real.coe_sinOrderIso_apply
code: @[simp]
theorem coe_sinOrderIso_apply (x : Icc (-(π / 2)) (π / 2)) : (sinOrderIso x : ℝ) = sin x 
goal: ↑(Real.sinOrderIso x) = Real.sin ↑x

full_name: Real.sinOrderIso_apply
code: theorem sinOrderIso_apply (x : Icc (-(π / 2)) (π / 2)) : sinOrderIso x = ⟨sin x, sin_mem_Icc x⟩ 
goal: Real.sinOrderIso x = ⟨Real.sin ↑x, ⋯⟩

full_name: Real.tan_pi_div_four
code: @[simp]
theorem tan_pi_div_four : tan (π / 4) = 1 
goal: Real.tan (Real.pi / 4) = 1

full_name: Real.tan_pi_div_two
code: @[simp]
theorem tan_pi_div_two : tan (π / 2) = 0 
goal: Real.tan (Real.pi / 2) = 0

full_name: Real.tan_pi_div_six
code: @[simp]
theorem tan_pi_div_six : tan (π / 6) = 1 / sqrt 3 
goal: Real.tan (Real.pi / 6) = 1 / √3

full_name: Real.tan_pi_div_three
code: @[simp]
theorem tan_pi_div_three : tan (π / 3) = sqrt 3 
goal: Real.tan (Real.pi / 3) = √3

full_name: Real.tan_pos_of_pos_of_lt_pi_div_two
code: theorem tan_pos_of_pos_of_lt_pi_div_two {x : ℝ} (h0x : 0 < x) (hxp : x < π / 2) : 0 < tan x 
goal: 0 < Real.tan x

full_name: Real.tan_nonneg_of_nonneg_of_le_pi_div_two
code: theorem tan_nonneg_of_nonneg_of_le_pi_div_two {x : ℝ} (h0x : 0 ≤ x) (hxp : x ≤ π / 2) : 0 ≤ tan x 
goal: 0 ≤ Real.tan x

full_name: Real.tan_neg_of_neg_of_pi_div_two_lt
code: theorem tan_neg_of_neg_of_pi_div_two_lt {x : ℝ} (hx0 : x < 0) (hpx : -(π / 2) < x) : tan x < 0 
goal: Real.tan x < 0

full_name: Real.tan_nonpos_of_nonpos_of_neg_pi_div_two_le
code: theorem tan_nonpos_of_nonpos_of_neg_pi_div_two_le {x : ℝ} (hx0 : x ≤ 0) (hpx : -(π / 2) ≤ x) :
    tan x ≤ 0 
goal: Real.tan x ≤ 0

full_name: Real.strictMonoOn_tan
code: theorem strictMonoOn_tan : StrictMonoOn tan (Ioo (-(π / 2)) (π / 2)) 
goal: StrictMonoOn Real.tan (Set.Ioo (-(Real.pi / 2)) (Real.pi / 2))

full_name: Real.tan_lt_tan_of_lt_of_lt_pi_div_two
code: theorem tan_lt_tan_of_lt_of_lt_pi_div_two {x y : ℝ} (hx₁ : -(π / 2) < x) (hy₂ : y < π / 2)
    (hxy : x < y) : tan x < tan y 
goal: Real.tan x < Real.tan y

full_name: Real.tan_lt_tan_of_nonneg_of_lt_pi_div_two
code: theorem tan_lt_tan_of_nonneg_of_lt_pi_div_two {x y : ℝ} (hx₁ : 0 ≤ x) (hy₂ : y < π / 2)
    (hxy : x < y) : tan x < tan y 
goal: Real.tan x < Real.tan y

full_name: Real.injOn_tan
code: theorem injOn_tan : InjOn tan (Ioo (-(π / 2)) (π / 2)) 
goal: Set.InjOn Real.tan (Set.Ioo (-(Real.pi / 2)) (Real.pi / 2))

full_name: Real.tan_inj_of_lt_of_lt_pi_div_two
code: theorem tan_inj_of_lt_of_lt_pi_div_two {x y : ℝ} (hx₁ : -(π / 2) < x) (hx₂ : x < π / 2)
    (hy₁ : -(π / 2) < y) (hy₂ : y < π / 2) (hxy : tan x = tan y) : x = y 
goal: x = y

full_name: Real.tan_periodic
code: theorem tan_periodic : Function.Periodic tan π 
goal: Function.Periodic Real.tan Real.pi

full_name: Real.tan_pi
code: @[simp]
theorem tan_pi : tan π = 0 
goal: Real.tan Real.pi = 0

full_name: Real.tan_add_pi
code: theorem tan_add_pi (x : ℝ) : tan (x + π) = tan x 
goal: Real.tan (x + Real.pi) = Real.tan x

full_name: Real.tan_sub_pi
code: theorem tan_sub_pi (x : ℝ) : tan (x - π) = tan x 
goal: Real.tan (x - Real.pi) = Real.tan x

full_name: Real.tan_pi_sub
code: theorem tan_pi_sub (x : ℝ) : tan (π - x) = -tan x 
goal: Real.tan (Real.pi - x) = -Real.tan x

full_name: Real.tan_pi_div_two_sub
code: theorem tan_pi_div_two_sub (x : ℝ) : tan (π / 2 - x) = (tan x)⁻¹ 
goal: Real.tan (Real.pi / 2 - x) = (Real.tan x)⁻¹

full_name: Real.tan_nat_mul_pi
code: theorem tan_nat_mul_pi (n : ℕ) : tan (n * π) = 0 
goal: Real.tan (↑n * Real.pi) = 0

full_name: Real.tan_int_mul_pi
code: theorem tan_int_mul_pi (n : ℤ) : tan (n * π) = 0 
goal: Real.tan (↑n * Real.pi) = 0

full_name: Real.tan_add_nat_mul_pi
code: theorem tan_add_nat_mul_pi (x : ℝ) (n : ℕ) : tan (x + n * π) = tan x 
goal: Real.tan (x + ↑n * Real.pi) = Real.tan x

full_name: Real.tan_add_int_mul_pi
code: theorem tan_add_int_mul_pi (x : ℝ) (n : ℤ) : tan (x + n * π) = tan x 
goal: Real.tan (x + ↑n * Real.pi) = Real.tan x

full_name: Real.tan_sub_nat_mul_pi
code: theorem tan_sub_nat_mul_pi (x : ℝ) (n : ℕ) : tan (x - n * π) = tan x 
goal: Real.tan (x - ↑n * Real.pi) = Real.tan x

full_name: Real.tan_sub_int_mul_pi
code: theorem tan_sub_int_mul_pi (x : ℝ) (n : ℤ) : tan (x - n * π) = tan x 
goal: Real.tan (x - ↑n * Real.pi) = Real.tan x

full_name: Real.tan_nat_mul_pi_sub
code: theorem tan_nat_mul_pi_sub (x : ℝ) (n : ℕ) : tan (n * π - x) = -tan x 
goal: Real.tan (↑n * Real.pi - x) = -Real.tan x

full_name: Real.tan_int_mul_pi_sub
code: theorem tan_int_mul_pi_sub (x : ℝ) (n : ℤ) : tan (n * π - x) = -tan x 
goal: Real.tan (↑n * Real.pi - x) = -Real.tan x

full_name: Real.tendsto_sin_pi_div_two
code: theorem tendsto_sin_pi_div_two : Tendsto sin (𝓝[<] (π / 2)) (𝓝 1) 
goal: Filter.Tendsto Real.sin (𝓝[<] (Real.pi / 2)) (𝓝 1)

full_name: Real.tendsto_cos_pi_div_two
code: theorem tendsto_cos_pi_div_two : Tendsto cos (𝓝[<] (π / 2)) (𝓝[>] 0) 
goal: Filter.Tendsto Real.cos (𝓝[<] (Real.pi / 2)) (𝓝[>] 0)

full_name: Real.tendsto_tan_pi_div_two
code: theorem tendsto_tan_pi_div_two : Tendsto tan (𝓝[<] (π / 2)) atTop 
goal: Filter.Tendsto Real.tan (𝓝[<] (Real.pi / 2)) Filter.atTop

full_name: Real.tendsto_sin_neg_pi_div_two
code: theorem tendsto_sin_neg_pi_div_two : Tendsto sin (𝓝[>] (-(π / 2))) (𝓝 (-1)) 
goal: Filter.Tendsto Real.sin (𝓝[>] (-(Real.pi / 2))) (𝓝 (-1))

full_name: Real.tendsto_cos_neg_pi_div_two
code: theorem tendsto_cos_neg_pi_div_two : Tendsto cos (𝓝[>] (-(π / 2))) (𝓝[>] 0) 
goal: Filter.Tendsto Real.cos (𝓝[>] (-(Real.pi / 2))) (𝓝[>] 0)

full_name: Real.tendsto_tan_neg_pi_div_two
code: theorem tendsto_tan_neg_pi_div_two : Tendsto tan (𝓝[>] (-(π / 2))) atBot 
goal: Filter.Tendsto Real.tan (𝓝[>] (-(Real.pi / 2))) Filter.atBot

full_name: Complex.sin_eq_zero_iff_cos_eq
code: theorem sin_eq_zero_iff_cos_eq {z : ℂ} : sin z = 0 ↔ cos z = 1 ∨ cos z = -1 
goal: Complex.sin z = 0 ↔ Complex.cos z = 1 ∨ Complex.cos z = -1

full_name: Complex.cos_pi_div_two
code: @[simp]
theorem cos_pi_div_two : cos (π / 2) = 0 
goal: Complex.cos (↑Real.pi / 2) = 0

full_name: Complex.sin_pi_div_two
code: @[simp]
theorem sin_pi_div_two : sin (π / 2) = 1 
goal: Complex.sin (↑Real.pi / 2) = 1

full_name: Complex.sin_pi
code: @[simp]
theorem sin_pi : sin π = 0 
goal: Complex.sin ↑Real.pi = 0

full_name: Complex.cos_pi
code: @[simp]
theorem cos_pi : cos π = -1 
goal: Complex.cos ↑Real.pi = -1

full_name: Complex.sin_two_pi
code: @[simp]
theorem sin_two_pi : sin (2 * π) = 0 
goal: Complex.sin (2 * ↑Real.pi) = 0

full_name: Complex.cos_two_pi
code: @[simp]
theorem cos_two_pi : cos (2 * π) = 1 
goal: Complex.cos (2 * ↑Real.pi) = 1

full_name: Complex.sin_antiperiodic
code: theorem sin_antiperiodic : Function.Antiperiodic sin π 
goal: Function.Antiperiodic Complex.sin ↑Real.pi

full_name: Complex.sin_periodic
code: theorem sin_periodic : Function.Periodic sin (2 * π) 
goal: Function.Periodic Complex.sin (2 * ↑Real.pi)

full_name: Complex.sin_add_pi
code: theorem sin_add_pi (x : ℂ) : sin (x + π) = -sin x 
goal: Complex.sin (x + ↑Real.pi) = -Complex.sin x

full_name: Complex.sin_add_two_pi
code: theorem sin_add_two_pi (x : ℂ) : sin (x + 2 * π) = sin x 
goal: Complex.sin (x + 2 * ↑Real.pi) = Complex.sin x

full_name: Complex.sin_sub_pi
code: theorem sin_sub_pi (x : ℂ) : sin (x - π) = -sin x 
goal: Complex.sin (x - ↑Real.pi) = -Complex.sin x

full_name: Complex.sin_sub_two_pi
code: theorem sin_sub_two_pi (x : ℂ) : sin (x - 2 * π) = sin x 
goal: Complex.sin (x - 2 * ↑Real.pi) = Complex.sin x

full_name: Complex.sin_pi_sub
code: theorem sin_pi_sub (x : ℂ) : sin (π - x) = sin x 
goal: Complex.sin (↑Real.pi - x) = Complex.sin x

full_name: Complex.sin_two_pi_sub
code: theorem sin_two_pi_sub (x : ℂ) : sin (2 * π - x) = -sin x 
goal: Complex.sin (2 * ↑Real.pi - x) = -Complex.sin x

full_name: Complex.sin_nat_mul_pi
code: theorem sin_nat_mul_pi (n : ℕ) : sin (n * π) = 0 
goal: Complex.sin (↑n * ↑Real.pi) = 0

full_name: Complex.sin_int_mul_pi
code: theorem sin_int_mul_pi (n : ℤ) : sin (n * π) = 0 
goal: Complex.sin (↑n * ↑Real.pi) = 0

full_name: Complex.sin_add_nat_mul_two_pi
code: theorem sin_add_nat_mul_two_pi (x : ℂ) (n : ℕ) : sin (x + n * (2 * π)) = sin x 
goal: Complex.sin (x + ↑n * (2 * ↑Real.pi)) = Complex.sin x

full_name: Complex.sin_add_int_mul_two_pi
code: theorem sin_add_int_mul_two_pi (x : ℂ) (n : ℤ) : sin (x + n * (2 * π)) = sin x 
goal: Complex.sin (x + ↑n * (2 * ↑Real.pi)) = Complex.sin x

full_name: Complex.sin_sub_nat_mul_two_pi
code: theorem sin_sub_nat_mul_two_pi (x : ℂ) (n : ℕ) : sin (x - n * (2 * π)) = sin x 
goal: Complex.sin (x - ↑n * (2 * ↑Real.pi)) = Complex.sin x

full_name: Complex.sin_sub_int_mul_two_pi
code: theorem sin_sub_int_mul_two_pi (x : ℂ) (n : ℤ) : sin (x - n * (2 * π)) = sin x 
goal: Complex.sin (x - ↑n * (2 * ↑Real.pi)) = Complex.sin x

full_name: Complex.sin_nat_mul_two_pi_sub
code: theorem sin_nat_mul_two_pi_sub (x : ℂ) (n : ℕ) : sin (n * (2 * π) - x) = -sin x 
goal: Complex.sin (↑n * (2 * ↑Real.pi) - x) = -Complex.sin x

full_name: Complex.sin_int_mul_two_pi_sub
code: theorem sin_int_mul_two_pi_sub (x : ℂ) (n : ℤ) : sin (n * (2 * π) - x) = -sin x 
goal: Complex.sin (↑n * (2 * ↑Real.pi) - x) = -Complex.sin x

full_name: Complex.cos_antiperiodic
code: theorem cos_antiperiodic : Function.Antiperiodic cos π 
goal: Function.Antiperiodic Complex.cos ↑Real.pi

full_name: Complex.cos_periodic
code: theorem cos_periodic : Function.Periodic cos (2 * π) 
goal: Function.Periodic Complex.cos (2 * ↑Real.pi)

full_name: Complex.cos_add_pi
code: theorem cos_add_pi (x : ℂ) : cos (x + π) = -cos x 
goal: Complex.cos (x + ↑Real.pi) = -Complex.cos x

full_name: Complex.cos_add_two_pi
code: theorem cos_add_two_pi (x : ℂ) : cos (x + 2 * π) = cos x 
goal: Complex.cos (x + 2 * ↑Real.pi) = Complex.cos x

full_name: Complex.cos_sub_pi
code: theorem cos_sub_pi (x : ℂ) : cos (x - π) = -cos x 
goal: Complex.cos (x - ↑Real.pi) = -Complex.cos x

full_name: Complex.cos_sub_two_pi
code: theorem cos_sub_two_pi (x : ℂ) : cos (x - 2 * π) = cos x 
goal: Complex.cos (x - 2 * ↑Real.pi) = Complex.cos x

full_name: Complex.cos_pi_sub
code: theorem cos_pi_sub (x : ℂ) : cos (π - x) = -cos x 
goal: Complex.cos (↑Real.pi - x) = -Complex.cos x

full_name: Complex.cos_two_pi_sub
code: theorem cos_two_pi_sub (x : ℂ) : cos (2 * π - x) = cos x 
goal: Complex.cos (2 * ↑Real.pi - x) = Complex.cos x

full_name: Complex.cos_nat_mul_two_pi
code: theorem cos_nat_mul_two_pi (n : ℕ) : cos (n * (2 * π)) = 1 
goal: Complex.cos (↑n * (2 * ↑Real.pi)) = 1

full_name: Complex.cos_int_mul_two_pi
code: theorem cos_int_mul_two_pi (n : ℤ) : cos (n * (2 * π)) = 1 
goal: Complex.cos (↑n * (2 * ↑Real.pi)) = 1

full_name: Complex.cos_add_nat_mul_two_pi
code: theorem cos_add_nat_mul_two_pi (x : ℂ) (n : ℕ) : cos (x + n * (2 * π)) = cos x 
goal: Complex.cos (x + ↑n * (2 * ↑Real.pi)) = Complex.cos x

full_name: Complex.cos_add_int_mul_two_pi
code: theorem cos_add_int_mul_two_pi (x : ℂ) (n : ℤ) : cos (x + n * (2 * π)) = cos x 
goal: Complex.cos (x + ↑n * (2 * ↑Real.pi)) = Complex.cos x

full_name: Complex.cos_sub_nat_mul_two_pi
code: theorem cos_sub_nat_mul_two_pi (x : ℂ) (n : ℕ) : cos (x - n * (2 * π)) = cos x 
goal: Complex.cos (x - ↑n * (2 * ↑Real.pi)) = Complex.cos x

full_name: Complex.cos_sub_int_mul_two_pi
code: theorem cos_sub_int_mul_two_pi (x : ℂ) (n : ℤ) : cos (x - n * (2 * π)) = cos x 
goal: Complex.cos (x - ↑n * (2 * ↑Real.pi)) = Complex.cos x

full_name: Complex.cos_nat_mul_two_pi_sub
code: theorem cos_nat_mul_two_pi_sub (x : ℂ) (n : ℕ) : cos (n * (2 * π) - x) = cos x 
goal: Complex.cos (↑n * (2 * ↑Real.pi) - x) = Complex.cos x

full_name: Complex.cos_int_mul_two_pi_sub
code: theorem cos_int_mul_two_pi_sub (x : ℂ) (n : ℤ) : cos (n * (2 * π) - x) = cos x 
goal: Complex.cos (↑n * (2 * ↑Real.pi) - x) = Complex.cos x

full_name: Complex.cos_nat_mul_two_pi_add_pi
code: theorem cos_nat_mul_two_pi_add_pi (n : ℕ) : cos (n * (2 * π) + π) = -1 
goal: Complex.cos (↑n * (2 * ↑Real.pi) + ↑Real.pi) = -1

full_name: Complex.cos_int_mul_two_pi_add_pi
code: theorem cos_int_mul_two_pi_add_pi (n : ℤ) : cos (n * (2 * π) + π) = -1 
goal: Complex.cos (↑n * (2 * ↑Real.pi) + ↑Real.pi) = -1

full_name: Complex.cos_nat_mul_two_pi_sub_pi
code: theorem cos_nat_mul_two_pi_sub_pi (n : ℕ) : cos (n * (2 * π) - π) = -1 
goal: Complex.cos (↑n * (2 * ↑Real.pi) - ↑Real.pi) = -1

full_name: Complex.cos_int_mul_two_pi_sub_pi
code: theorem cos_int_mul_two_pi_sub_pi (n : ℤ) : cos (n * (2 * π) - π) = -1 
goal: Complex.cos (↑n * (2 * ↑Real.pi) - ↑Real.pi) = -1

full_name: Complex.sin_add_pi_div_two
code: theorem sin_add_pi_div_two (x : ℂ) : sin (x + π / 2) = cos x 
goal: Complex.sin (x + ↑Real.pi / 2) = Complex.cos x

full_name: Complex.sin_sub_pi_div_two
code: theorem sin_sub_pi_div_two (x : ℂ) : sin (x - π / 2) = -cos x 
goal: Complex.sin (x - ↑Real.pi / 2) = -Complex.cos x

full_name: Complex.sin_pi_div_two_sub
code: theorem sin_pi_div_two_sub (x : ℂ) : sin (π / 2 - x) = cos x 
goal: Complex.sin (↑Real.pi / 2 - x) = Complex.cos x

full_name: Complex.cos_add_pi_div_two
code: theorem cos_add_pi_div_two (x : ℂ) : cos (x + π / 2) = -sin x 
goal: Complex.cos (x + ↑Real.pi / 2) = -Complex.sin x

full_name: Complex.cos_sub_pi_div_two
code: theorem cos_sub_pi_div_two (x : ℂ) : cos (x - π / 2) = sin x 
goal: Complex.cos (x - ↑Real.pi / 2) = Complex.sin x

full_name: Complex.cos_pi_div_two_sub
code: theorem cos_pi_div_two_sub (x : ℂ) : cos (π / 2 - x) = sin x 
goal: Complex.cos (↑Real.pi / 2 - x) = Complex.sin x

full_name: Complex.tan_periodic
code: theorem tan_periodic : Function.Periodic tan π 
goal: Function.Periodic Complex.tan ↑Real.pi

full_name: Complex.tan_add_pi
code: theorem tan_add_pi (x : ℂ) : tan (x + π) = tan x 
goal: Complex.tan (x + ↑Real.pi) = Complex.tan x

full_name: Complex.tan_sub_pi
code: theorem tan_sub_pi (x : ℂ) : tan (x - π) = tan x 
goal: Complex.tan (x - ↑Real.pi) = Complex.tan x

full_name: Complex.tan_pi_sub
code: theorem tan_pi_sub (x : ℂ) : tan (π - x) = -tan x 
goal: Complex.tan (↑Real.pi - x) = -Complex.tan x

full_name: Complex.tan_pi_div_two_sub
code: theorem tan_pi_div_two_sub (x : ℂ) : tan (π / 2 - x) = (tan x)⁻¹ 
goal: Complex.tan (↑Real.pi / 2 - x) = (Complex.tan x)⁻¹

full_name: Complex.tan_nat_mul_pi
code: theorem tan_nat_mul_pi (n : ℕ) : tan (n * π) = 0 
goal: Complex.tan (↑n * ↑Real.pi) = 0

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

full_name: Complex.tan_add_nat_mul_pi
code: theorem tan_add_nat_mul_pi (x : ℂ) (n : ℕ) : tan (x + n * π) = tan x 
goal: Complex.tan (x + ↑n * ↑Real.pi) = Complex.tan x

full_name: Complex.tan_add_int_mul_pi
code: theorem tan_add_int_mul_pi (x : ℂ) (n : ℤ) : tan (x + n * π) = tan x 
goal: Complex.tan (x + ↑n * ↑Real.pi) = Complex.tan x

full_name: Complex.tan_sub_nat_mul_pi
code: theorem tan_sub_nat_mul_pi (x : ℂ) (n : ℕ) : tan (x - n * π) = tan x 
goal: Complex.tan (x - ↑n * ↑Real.pi) = Complex.tan x

full_name: Complex.tan_sub_int_mul_pi
code: theorem tan_sub_int_mul_pi (x : ℂ) (n : ℤ) : tan (x - n * π) = tan x 
goal: Complex.tan (x - ↑n * ↑Real.pi) = Complex.tan x

full_name: Complex.tan_nat_mul_pi_sub
code: theorem tan_nat_mul_pi_sub (x : ℂ) (n : ℕ) : tan (n * π - x) = -tan x 
goal: Complex.tan (↑n * ↑Real.pi - x) = -Complex.tan x

full_name: Complex.tan_int_mul_pi_sub
code: theorem tan_int_mul_pi_sub (x : ℂ) (n : ℤ) : tan (n * π - x) = -tan x 
goal: Complex.tan (↑n * ↑Real.pi - x) = -Complex.tan x

full_name: Complex.exp_antiperiodic
code: theorem exp_antiperiodic : Function.Antiperiodic exp (π * I) 
goal: Function.Antiperiodic Complex.exp (↑Real.pi * Complex.I)

full_name: Complex.exp_periodic
code: theorem exp_periodic : Function.Periodic exp (2 * π * I) 
goal: Function.Periodic Complex.exp (2 * ↑Real.pi * Complex.I)

full_name: Complex.exp_mul_I_antiperiodic
code: theorem exp_mul_I_antiperiodic : Function.Antiperiodic (fun x => exp (x * I)) π 
goal: Function.Antiperiodic (fun x => Complex.exp (x * Complex.I)) ↑Real.pi

full_name: Complex.exp_mul_I_periodic
code: theorem exp_mul_I_periodic : Function.Periodic (fun x => exp (x * I)) (2 * π) 
goal: Function.Periodic (fun x => Complex.exp (x * Complex.I)) (2 * ↑Real.pi)

full_name: Complex.exp_pi_mul_I
code: @[simp]
theorem exp_pi_mul_I : exp (π * I) = -1 
goal: Complex.exp (↑Real.pi * Complex.I) = -1

full_name: Complex.exp_two_pi_mul_I
code: @[simp]
theorem exp_two_pi_mul_I : exp (2 * π * I) = 1 
goal: Complex.exp (2 * ↑Real.pi * Complex.I) = 1

full_name: Complex.exp_nat_mul_two_pi_mul_I
code: @[simp]
theorem exp_nat_mul_two_pi_mul_I (n : ℕ) : exp (n * (2 * π * I)) = 1 
goal: Complex.exp (↑n * (2 * ↑Real.pi * Complex.I)) = 1

full_name: Complex.exp_int_mul_two_pi_mul_I
code: @[simp]
theorem exp_int_mul_two_pi_mul_I (n : ℤ) : exp (n * (2 * π * I)) = 1 
goal: Complex.exp (↑n * (2 * ↑Real.pi * Complex.I)) = 1

full_name: Complex.exp_add_pi_mul_I
code: @[simp]
theorem exp_add_pi_mul_I (z : ℂ) : exp (z + π * I) = -exp z 
goal: Complex.exp (z + ↑Real.pi * Complex.I) = -Complex.exp z

full_name: Complex.exp_sub_pi_mul_I
code: @[simp]
theorem exp_sub_pi_mul_I (z : ℂ) : exp (z - π * I) = -exp z 
goal: Complex.exp (z - ↑Real.pi * Complex.I) = -Complex.exp z

full_name: Complex.abs_exp_mul_exp_add_exp_neg_le_of_abs_im_le
code: /-- A supporting lemma for the **Phragmen-Lindelöf principle** in a horizontal strip. If `z : ℂ`
belongs to a horizontal strip `|Complex.im z| ≤ b`, `b ≤ π / 2`, and `a ≤ 0`, then
$$\left|exp^{a\left(e^{z}+e^{-z}\right)}\right| \le e^{a\cos b \exp^{|re z|}}.$$
-/
theorem abs_exp_mul_exp_add_exp_neg_le_of_abs_im_le {a b : ℝ} (ha : a ≤ 0) {z : ℂ} (hz : |z.im| ≤ b)
    (hb : b ≤ π / 2) :
    abs (exp (a * (exp z + exp (-z)))) ≤ Real.exp (a * Real.cos b * Real.exp |z.re|) 
goal: Complex.abs (Complex.exp (↑a * (Complex.exp z + Complex.exp (-z)))) ≤ Real.exp (a * Real.cos b * Real.exp |z.re|)