File: Mathlib/Analysis/SpecialFunctions/Integrals.lean

full_name: intervalIntegral.intervalIntegrable_pow
code: @[simp]
theorem intervalIntegrable_pow : IntervalIntegrable (fun x => x ^ n) μ a b 
goal: IntervalIntegrable (fun x => x ^ n) μ a b

full_name: intervalIntegral.intervalIntegrable_zpow
code: theorem intervalIntegrable_zpow {n : ℤ} (h : 0 ≤ n ∨ (0 : ℝ) ∉ [[a, b]]) :
    IntervalIntegrable (fun x => x ^ n) μ a b 
goal: IntervalIntegrable (fun x => x ^ n) μ a b

full_name: intervalIntegral.intervalIntegrable_rpow
code: /-- See `intervalIntegrable_rpow'` for a version with a weaker hypothesis on `r`, but assuming the
measure is volume. -/
theorem intervalIntegrable_rpow {r : ℝ} (h : 0 ≤ r ∨ (0 : ℝ) ∉ [[a, b]]) :
    IntervalIntegrable (fun x => x ^ r) μ a b 
goal: IntervalIntegrable (fun x => x ^ r) μ a b

full_name: intervalIntegral.intervalIntegrable_rpow'
code: /-- See `intervalIntegrable_rpow` for a version applying to any locally finite measure, but with a
stronger hypothesis on `r`. -/
theorem intervalIntegrable_rpow' {r : ℝ} (h : -1 < r) :
    IntervalIntegrable (fun x => x ^ r) volume a b 
goal: IntervalIntegrable (fun x => x ^ r) MeasureTheory.volume a b

full_name: intervalIntegral.integrableOn_Ioo_rpow_iff
code: /-- The power function `x ↦ x^s` is integrable on `(0, t)` iff `-1 < s`. -/
lemma integrableOn_Ioo_rpow_iff {s t : ℝ} (ht : 0 < t) :
    IntegrableOn (fun x ↦ x ^ s) (Ioo (0 : ℝ) t) ↔ -1 < s 
goal: MeasureTheory.IntegrableOn (fun x => x ^ s) (Set.Ioo 0 t) MeasureTheory.volume ↔ -1 < s

full_name: intervalIntegral.intervalIntegrable_cpow
code: /-- See `intervalIntegrable_cpow'` for a version with a weaker hypothesis on `r`, but assuming the
measure is volume. -/
theorem intervalIntegrable_cpow {r : ℂ} (h : 0 ≤ r.re ∨ (0 : ℝ) ∉ [[a, b]]) :
    IntervalIntegrable (fun x : ℝ => (x : ℂ) ^ r) μ a b 
goal: IntervalIntegrable (fun x => ↑x ^ r) μ a b

full_name: intervalIntegral.intervalIntegrable_cpow'
code: /-- See `intervalIntegrable_cpow` for a version applying to any locally finite measure, but with a
stronger hypothesis on `r`. -/
theorem intervalIntegrable_cpow' {r : ℂ} (h : -1 < r.re) :
    IntervalIntegrable (fun x : ℝ => (x : ℂ) ^ r) volume a b 
goal: IntervalIntegrable (fun x => ↑x ^ r) MeasureTheory.volume a b

full_name: intervalIntegral.integrableOn_Ioo_cpow_iff
code: /-- The complex power function `x ↦ x^s` is integrable on `(0, t)` iff `-1 < s.re`. -/
theorem integrableOn_Ioo_cpow_iff {s : ℂ} {t : ℝ} (ht : 0 < t) :
    IntegrableOn (fun x : ℝ ↦ (x : ℂ) ^ s) (Ioo (0 : ℝ) t) ↔ -1 < s.re 
goal: MeasureTheory.IntegrableOn (fun x => ↑x ^ s) (Set.Ioo 0 t) MeasureTheory.volume ↔ -1 < s.re

full_name: intervalIntegral.intervalIntegrable_id
code: @[simp]
theorem intervalIntegrable_id : IntervalIntegrable (fun x => x) μ a b 
goal: IntervalIntegrable (fun x => x) μ a b

full_name: intervalIntegral.intervalIntegrable_const
code: theorem intervalIntegrable_const : IntervalIntegrable (fun _ => c) μ a b 
goal: IntervalIntegrable (fun x => c) μ a b

full_name: intervalIntegral.intervalIntegrable_one_div
code: theorem intervalIntegrable_one_div (h : ∀ x : ℝ, x ∈ [[a, b]] → f x ≠ 0)
    (hf : ContinuousOn f [[a, b]]) : IntervalIntegrable (fun x => 1 / f x) μ a b 
goal: IntervalIntegrable (fun x => 1 / f x) μ a b

full_name: intervalIntegral.intervalIntegrable_inv
code: @[simp]
theorem intervalIntegrable_inv (h : ∀ x : ℝ, x ∈ [[a, b]] → f x ≠ 0)
    (hf : ContinuousOn f [[a, b]]) : IntervalIntegrable (fun x => (f x)⁻¹) μ a b 
goal: IntervalIntegrable (fun x => (f x)⁻¹) μ a b

full_name: intervalIntegral.intervalIntegrable_exp
code: @[simp]
theorem intervalIntegrable_exp : IntervalIntegrable exp μ a b 
goal: IntervalIntegrable rexp μ a b

full_name: IntervalIntegrable.log
code: @[simp]
theorem _root_.IntervalIntegrable.log (hf : ContinuousOn f [[a, b]])
    (h : ∀ x : ℝ, x ∈ [[a, b]] → f x ≠ 0) :
    IntervalIntegrable (fun x => log (f x)) μ a b 
goal: IntervalIntegrable (fun x => Real.log (f x)) μ a b

full_name: intervalIntegral.intervalIntegrable_log
code: @[simp]
theorem intervalIntegrable_log (h : (0 : ℝ) ∉ [[a, b]]) : IntervalIntegrable log μ a b 
goal: IntervalIntegrable Real.log μ a b

full_name: intervalIntegral.intervalIntegrable_sin
code: @[simp]
theorem intervalIntegrable_sin : IntervalIntegrable sin μ a b 
goal: IntervalIntegrable Real.sin μ a b

full_name: intervalIntegral.intervalIntegrable_cos
code: @[simp]
theorem intervalIntegrable_cos : IntervalIntegrable cos μ a b 
goal: IntervalIntegrable Real.cos μ a b

full_name: intervalIntegral.intervalIntegrable_one_div_one_add_sq
code: theorem intervalIntegrable_one_div_one_add_sq :
    IntervalIntegrable (fun x : ℝ => 1 / (↑1 + x ^ 2)) μ a b 
goal: IntervalIntegrable (fun x => 1 / (1 + x ^ 2)) μ a b

full_name: intervalIntegral.intervalIntegrable_inv_one_add_sq
code: @[simp]
theorem intervalIntegrable_inv_one_add_sq :
    IntervalIntegrable (fun x : ℝ => (↑1 + x ^ 2)⁻¹) μ a b 
goal: IntervalIntegrable (fun x => (1 + x ^ 2)⁻¹) μ a b

full_name: intervalIntegral.mul_integral_comp_mul_right
code: @[simp]
theorem mul_integral_comp_mul_right : (c * ∫ x in a..b, f (x * c)) = ∫ x in a * c..b * c, f x 
goal: c * ∫ (x : ℝ) in a..b, f (x * c) = ∫ (x : ℝ) in a * c..b * c, f x

full_name: intervalIntegral.mul_integral_comp_mul_left
code: @[simp]
theorem mul_integral_comp_mul_left : (c * ∫ x in a..b, f (c * x)) = ∫ x in c * a..c * b, f x 
goal: c * ∫ (x : ℝ) in a..b, f (c * x) = ∫ (x : ℝ) in c * a..c * b, f x

full_name: intervalIntegral.inv_mul_integral_comp_div
code: @[simp]
theorem inv_mul_integral_comp_div : (c⁻¹ * ∫ x in a..b, f (x / c)) = ∫ x in a / c..b / c, f x 
goal: c⁻¹ * ∫ (x : ℝ) in a..b, f (x / c) = ∫ (x : ℝ) in a / c..b / c, f x

full_name: intervalIntegral.mul_integral_comp_mul_add
code: @[simp]
theorem mul_integral_comp_mul_add :
    (c * ∫ x in a..b, f (c * x + d)) = ∫ x in c * a + d..c * b + d, f x 
goal: c * ∫ (x : ℝ) in a..b, f (c * x + d) = ∫ (x : ℝ) in c * a + d..c * b + d, f x

full_name: intervalIntegral.mul_integral_comp_add_mul
code: @[simp]
theorem mul_integral_comp_add_mul :
    (c * ∫ x in a..b, f (d + c * x)) = ∫ x in d + c * a..d + c * b, f x 
goal: c * ∫ (x : ℝ) in a..b, f (d + c * x) = ∫ (x : ℝ) in d + c * a..d + c * b, f x

full_name: intervalIntegral.inv_mul_integral_comp_div_add
code: @[simp]
theorem inv_mul_integral_comp_div_add :
    (c⁻¹ * ∫ x in a..b, f (x / c + d)) = ∫ x in a / c + d..b / c + d, f x 
goal: c⁻¹ * ∫ (x : ℝ) in a..b, f (x / c + d) = ∫ (x : ℝ) in a / c + d..b / c + d, f x

full_name: intervalIntegral.inv_mul_integral_comp_add_div
code: @[simp]
theorem inv_mul_integral_comp_add_div :
    (c⁻¹ * ∫ x in a..b, f (d + x / c)) = ∫ x in d + a / c..d + b / c, f x 
goal: c⁻¹ * ∫ (x : ℝ) in a..b, f (d + x / c) = ∫ (x : ℝ) in d + a / c..d + b / c, f x

full_name: intervalIntegral.mul_integral_comp_mul_sub
code: @[simp]
theorem mul_integral_comp_mul_sub :
    (c * ∫ x in a..b, f (c * x - d)) = ∫ x in c * a - d..c * b - d, f x 
goal: c * ∫ (x : ℝ) in a..b, f (c * x - d) = ∫ (x : ℝ) in c * a - d..c * b - d, f x

full_name: intervalIntegral.mul_integral_comp_sub_mul
code: @[simp]
theorem mul_integral_comp_sub_mul :
    (c * ∫ x in a..b, f (d - c * x)) = ∫ x in d - c * b..d - c * a, f x 
goal: c * ∫ (x : ℝ) in a..b, f (d - c * x) = ∫ (x : ℝ) in d - c * b..d - c * a, f x

full_name: intervalIntegral.inv_mul_integral_comp_div_sub
code: @[simp]
theorem inv_mul_integral_comp_div_sub :
    (c⁻¹ * ∫ x in a..b, f (x / c - d)) = ∫ x in a / c - d..b / c - d, f x 
goal: c⁻¹ * ∫ (x : ℝ) in a..b, f (x / c - d) = ∫ (x : ℝ) in a / c - d..b / c - d, f x

full_name: intervalIntegral.inv_mul_integral_comp_sub_div
code: @[simp]
theorem inv_mul_integral_comp_sub_div :
    (c⁻¹ * ∫ x in a..b, f (d - x / c)) = ∫ x in d - b / c..d - a / c, f x 
goal: c⁻¹ * ∫ (x : ℝ) in a..b, f (d - x / c) = ∫ (x : ℝ) in d - b / c..d - a / c, f x

full_name: integral_cpow
code: theorem integral_cpow {r : ℂ} (h : -1 < r.re ∨ r ≠ -1 ∧ (0 : ℝ) ∉ [[a, b]]) :
    (∫ x : ℝ in a..b, (x : ℂ) ^ r) = ((b : ℂ) ^ (r + 1) - (a : ℂ) ^ (r + 1)) / (r + 1) 
goal: ∫ (x : ℝ) in a..b, ↑x ^ r = (↑b ^ (r + 1) - ↑a ^ (r + 1)) / (r + 1)

full_name: integral_rpow
code: theorem integral_rpow {r : ℝ} (h : -1 < r ∨ r ≠ -1 ∧ (0 : ℝ) ∉ [[a, b]]) :
    ∫ x in a..b, x ^ r = (b ^ (r + 1) - a ^ (r + 1)) / (r + 1) 
goal: ∫ (x : ℝ) in a..b, x ^ r = (b ^ (r + 1) - a ^ (r + 1)) / (r + 1)

full_name: integral_zpow
code: theorem integral_zpow {n : ℤ} (h : 0 ≤ n ∨ n ≠ -1 ∧ (0 : ℝ) ∉ [[a, b]]) :
    ∫ x in a..b, x ^ n = (b ^ (n + 1) - a ^ (n + 1)) / (n + 1) 
goal: ∫ (x : ℝ) in a..b, x ^ n = (b ^ (n + 1) - a ^ (n + 1)) / (↑n + 1)

full_name: integral_pow
code: @[simp]
theorem integral_pow : ∫ x in a..b, x ^ n = (b ^ (n + 1) - a ^ (n + 1)) / (n + 1) 
goal: ∫ (x : ℝ) in a..b, x ^ n = (b ^ (n + 1) - a ^ (n + 1)) / (↑n + 1)

full_name: integral_pow_abs_sub_uIoc
code: /-- Integral of `|x - a| ^ n` over `Ι a b`. This integral appears in the proof of the
Picard-Lindelöf/Cauchy-Lipschitz theorem. -/
theorem integral_pow_abs_sub_uIoc : ∫ x in Ι a b, |x - a| ^ n = |b - a| ^ (n + 1) / (n + 1) 
goal: ∫ (x : ℝ) in Ι a b, |x - a| ^ n = |b - a| ^ (n + 1) / (↑n + 1)

full_name: integral_id
code: @[simp]
theorem integral_id : ∫ x in a..b, x = (b ^ 2 - a ^ 2) / 2 
goal: ∫ (x : ℝ) in a..b, x = (b ^ 2 - a ^ 2) / 2

full_name: integral_one
code: theorem integral_one : (∫ _ in a..b, (1 : ℝ)) = b - a 
goal: ∫ (x : ℝ) in a..b, 1 = b - a

full_name: integral_const_on_unit_interval
code: theorem integral_const_on_unit_interval : ∫ _ in a..a + 1, b = b 
goal: ∫ (x : ℝ) in a..a + 1, b = b

full_name: integral_inv
code: @[simp]
theorem integral_inv (h : (0 : ℝ) ∉ [[a, b]]) : ∫ x in a..b, x⁻¹ = log (b / a) 
goal: ∫ (x : ℝ) in a..b, x⁻¹ = Real.log (b / a)

full_name: integral_inv_of_pos
code: @[simp]
theorem integral_inv_of_pos (ha : 0 < a) (hb : 0 < b) : ∫ x in a..b, x⁻¹ = log (b / a) 
goal: ∫ (x : ℝ) in a..b, x⁻¹ = Real.log (b / a)

full_name: integral_inv_of_neg
code: @[simp]
theorem integral_inv_of_neg (ha : a < 0) (hb : b < 0) : ∫ x in a..b, x⁻¹ = log (b / a) 
goal: ∫ (x : ℝ) in a..b, x⁻¹ = Real.log (b / a)

full_name: integral_one_div
code: theorem integral_one_div (h : (0 : ℝ) ∉ [[a, b]]) : ∫ x : ℝ in a..b, 1 / x = log (b / a) 
goal: ∫ (x : ℝ) in a..b, 1 / x = Real.log (b / a)

full_name: integral_one_div_of_pos
code: theorem integral_one_div_of_pos (ha : 0 < a) (hb : 0 < b) :
    ∫ x : ℝ in a..b, 1 / x = log (b / a) 
goal: ∫ (x : ℝ) in a..b, 1 / x = Real.log (b / a)

full_name: integral_one_div_of_neg
code: theorem integral_one_div_of_neg (ha : a < 0) (hb : b < 0) :
    ∫ x : ℝ in a..b, 1 / x = log (b / a) 
goal: ∫ (x : ℝ) in a..b, 1 / x = Real.log (b / a)

full_name: integral_exp
code: @[simp]
theorem integral_exp : ∫ x in a..b, exp x = exp b - exp a 
goal: ∫ (x : ℝ) in a..b, rexp x = rexp b - rexp a

full_name: integral_exp_mul_complex
code: theorem integral_exp_mul_complex {c : ℂ} (hc : c ≠ 0) :
    (∫ x in a..b, Complex.exp (c * x)) = (Complex.exp (c * b) - Complex.exp (c * a)) / c 
goal: ∫ (x : ℝ) in a..b, Complex.exp (c * ↑x) = (Complex.exp (c * ↑b) - Complex.exp (c * ↑a)) / c

full_name: integral_log
code: @[simp]
theorem integral_log (h : (0 : ℝ) ∉ [[a, b]]) :
    ∫ x in a..b, log x = b * log b - a * log a - b + a 
goal: ∫ (x : ℝ) in a..b, Real.log x = b * Real.log b - a * Real.log a - b + a

full_name: integral_log_of_pos
code: @[simp]
theorem integral_log_of_pos (ha : 0 < a) (hb : 0 < b) :
    ∫ x in a..b, log x = b * log b - a * log a - b + a 
goal: ∫ (x : ℝ) in a..b, Real.log x = b * Real.log b - a * Real.log a - b + a

full_name: integral_log_of_neg
code: @[simp]
theorem integral_log_of_neg (ha : a < 0) (hb : b < 0) :
    ∫ x in a..b, log x = b * log b - a * log a - b + a 
goal: ∫ (x : ℝ) in a..b, Real.log x = b * Real.log b - a * Real.log a - b + a

full_name: integral_sin
code: @[simp]
theorem integral_sin : ∫ x in a..b, sin x = cos a - cos b 
goal: ∫ (x : ℝ) in a..b, Real.sin x = Real.cos a - Real.cos b

full_name: integral_cos
code: @[simp]
theorem integral_cos : ∫ x in a..b, cos x = sin b - sin a 
goal: ∫ (x : ℝ) in a..b, Real.cos x = Real.sin b - Real.sin a

full_name: integral_cos_mul_complex
code: theorem integral_cos_mul_complex {z : ℂ} (hz : z ≠ 0) (a b : ℝ) :
    (∫ x in a..b, Complex.cos (z * x)) = Complex.sin (z * b) / z - Complex.sin (z * a) / z 
goal: ∫ (x : ℝ) in a..b, Complex.cos (z * ↑x) = Complex.sin (z * ↑b) / z - Complex.sin (z * ↑a) / z

full_name: integral_cos_sq_sub_sin_sq
code: theorem integral_cos_sq_sub_sin_sq :
    ∫ x in a..b, cos x ^ 2 - sin x ^ 2 = sin b * cos b - sin a * cos a 
goal: ∫ (x : ℝ) in a..b, Real.cos x ^ 2 - Real.sin x ^ 2 = Real.sin b * Real.cos b - Real.sin a * Real.cos a

full_name: integral_one_div_one_add_sq
code: theorem integral_one_div_one_add_sq :
    (∫ x : ℝ in a..b, ↑1 / (↑1 + x ^ 2)) = arctan b - arctan a 
goal: ∫ (x : ℝ) in a..b, 1 / (1 + x ^ 2) = Real.arctan b - Real.arctan a

full_name: integral_inv_one_add_sq
code: @[simp]
theorem integral_inv_one_add_sq : (∫ x : ℝ in a..b, (↑1 + x ^ 2)⁻¹) = arctan b - arctan a 
goal: ∫ (x : ℝ) in a..b, (1 + x ^ 2)⁻¹ = Real.arctan b - Real.arctan a

full_name: integral_mul_cpow_one_add_sq
code: theorem integral_mul_cpow_one_add_sq {t : ℂ} (ht : t ≠ -1) :
    (∫ x : ℝ in a..b, (x : ℂ) * ((1 : ℂ) + ↑x ^ 2) ^ t) =
      ((1 : ℂ) + (b : ℂ) ^ 2) ^ (t + 1) / (2 * (t + ↑1)) -
      ((1 : ℂ) + (a : ℂ) ^ 2) ^ (t + 1) / (2 * (t + ↑1)) 
goal: ∫ (x : ℝ) in a..b, ↑x * (1 + ↑x ^ 2) ^ t =
  (1 + ↑b ^ 2) ^ (t + 1) / (2 * (t + 1)) - (1 + ↑a ^ 2) ^ (t + 1) / (2 * (t + 1))

full_name: integral_mul_rpow_one_add_sq
code: theorem integral_mul_rpow_one_add_sq {t : ℝ} (ht : t ≠ -1) :
    (∫ x : ℝ in a..b, x * (↑1 + x ^ 2) ^ t) =
      (↑1 + b ^ 2) ^ (t + 1) / (↑2 * (t + ↑1)) - (↑1 + a ^ 2) ^ (t + 1) / (↑2 * (t + ↑1)) 
goal: ∫ (x : ℝ) in a..b, x * (1 + x ^ 2) ^ t = (1 + b ^ 2) ^ (t + 1) / (2 * (t + 1)) - (1 + a ^ 2) ^ (t + 1) / (2 * (t + 1))

full_name: integral_sin_pow_aux
code: theorem integral_sin_pow_aux :
    (∫ x in a..b, sin x ^ (n + 2)) =
      (sin a ^ (n + 1) * cos a - sin b ^ (n + 1) * cos b + (↑n + 1) * ∫ x in a..b, sin x ^ n) -
        (↑n + 1) * ∫ x in a..b, sin x ^ (n + 2) 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ (n + 2) =
  (Real.sin a ^ (n + 1) * Real.cos a - Real.sin b ^ (n + 1) * Real.cos b +
      (↑n + 1) * ∫ (x : ℝ) in a..b, Real.sin x ^ n) -
    (↑n + 1) * ∫ (x : ℝ) in a..b, Real.sin x ^ (n + 2)

full_name: integral_sin_pow
code: /-- The reduction formula for the integral of `sin x ^ n` for any natural `n ≥ 2`. -/
theorem integral_sin_pow :
    (∫ x in a..b, sin x ^ (n + 2)) =
      (sin a ^ (n + 1) * cos a - sin b ^ (n + 1) * cos b) / (n + 2) +
        (n + 1) / (n + 2) * ∫ x in a..b, sin x ^ n 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ (n + 2) =
  (Real.sin a ^ (n + 1) * Real.cos a - Real.sin b ^ (n + 1) * Real.cos b) / (↑n + 2) +
    (↑n + 1) / (↑n + 2) * ∫ (x : ℝ) in a..b, Real.sin x ^ n

full_name: integral_sin_sq
code: @[simp]
theorem integral_sin_sq : ∫ x in a..b, sin x ^ 2 = (sin a * cos a - sin b * cos b + b - a) / 2 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ 2 = (Real.sin a * Real.cos a - Real.sin b * Real.cos b + b - a) / 2

full_name: integral_sin_pow_odd
code: theorem integral_sin_pow_odd :
    (∫ x in (0)..π, sin x ^ (2 * n + 1)) = 2 * ∏ i ∈ range n, (2 * (i : ℝ) + 2) / (2 * i + 3) 
goal: ∫ (x : ℝ) in 0 ..π, Real.sin x ^ (2 * n + 1) = 2 * ∏ i ∈ Finset.range n, (2 * ↑i + 2) / (2 * ↑i + 3)

full_name: integral_sin_pow_even
code: theorem integral_sin_pow_even :
    (∫ x in (0)..π, sin x ^ (2 * n)) = π * ∏ i ∈ range n, (2 * (i : ℝ) + 1) / (2 * i + 2) 
goal: ∫ (x : ℝ) in 0 ..π, Real.sin x ^ (2 * n) = π * ∏ i ∈ Finset.range n, (2 * ↑i + 1) / (2 * ↑i + 2)

full_name: integral_sin_pow_pos
code: theorem integral_sin_pow_pos : 0 < ∫ x in (0)..π, sin x ^ n 
goal: 0 < ∫ (x : ℝ) in 0 ..π, Real.sin x ^ n

full_name: integral_sin_pow_succ_le
code: theorem integral_sin_pow_succ_le : (∫ x in (0)..π, sin x ^ (n + 1)) ≤ ∫ x in (0)..π, sin x ^ n 
goal: ∫ (x : ℝ) in 0 ..π, Real.sin x ^ (n + 1) ≤ ∫ (x : ℝ) in 0 ..π, Real.sin x ^ n

full_name: integral_sin_pow_antitone
code: theorem integral_sin_pow_antitone : Antitone fun n : ℕ => ∫ x in (0)..π, sin x ^ n 
goal: Antitone fun n => ∫ (x : ℝ) in 0 ..π, Real.sin x ^ n

full_name: integral_cos_pow_aux
code: theorem integral_cos_pow_aux :
    (∫ x in a..b, cos x ^ (n + 2)) =
      (cos b ^ (n + 1) * sin b - cos a ^ (n + 1) * sin a + (n + 1) * ∫ x in a..b, cos x ^ n) -
        (n + 1) * ∫ x in a..b, cos x ^ (n + 2) 
goal: ∫ (x : ℝ) in a..b, Real.cos x ^ (n + 2) =
  (Real.cos b ^ (n + 1) * Real.sin b - Real.cos a ^ (n + 1) * Real.sin a +
      (↑n + 1) * ∫ (x : ℝ) in a..b, Real.cos x ^ n) -
    (↑n + 1) * ∫ (x : ℝ) in a..b, Real.cos x ^ (n + 2)

full_name: integral_cos_pow
code: /-- The reduction formula for the integral of `cos x ^ n` for any natural `n ≥ 2`. -/
theorem integral_cos_pow :
    (∫ x in a..b, cos x ^ (n + 2)) =
      (cos b ^ (n + 1) * sin b - cos a ^ (n + 1) * sin a) / (n + 2) +
        (n + 1) / (n + 2) * ∫ x in a..b, cos x ^ n 
goal: ∫ (x : ℝ) in a..b, Real.cos x ^ (n + 2) =
  (Real.cos b ^ (n + 1) * Real.sin b - Real.cos a ^ (n + 1) * Real.sin a) / (↑n + 2) +
    (↑n + 1) / (↑n + 2) * ∫ (x : ℝ) in a..b, Real.cos x ^ n

full_name: integral_cos_sq
code: @[simp]
theorem integral_cos_sq : ∫ x in a..b, cos x ^ 2 = (cos b * sin b - cos a * sin a + b - a) / 2 
goal: ∫ (x : ℝ) in a..b, Real.cos x ^ 2 = (Real.cos b * Real.sin b - Real.cos a * Real.sin a + b - a) / 2

full_name: integral_sin_pow_mul_cos_pow_odd
code: /-- Simplification of the integral of `sin x ^ m * cos x ^ n`, case `n` is odd. -/
theorem integral_sin_pow_mul_cos_pow_odd (m n : ℕ) :
    (∫ x in a..b, sin x ^ m * cos x ^ (2 * n + 1)) = ∫ u in sin a..sin b, u^m * (↑1 - u ^ 2) ^ n 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ m * Real.cos x ^ (2 * n + 1) =
  ∫ (u : ℝ) in Real.sin a..Real.sin b, u ^ m * (1 - u ^ 2) ^ n

full_name: integral_sin_mul_cos₁
code: /-- The integral of `sin x * cos x`, given in terms of sin².
  See `integral_sin_mul_cos₂` below for the integral given in terms of cos². -/
@[simp]
theorem integral_sin_mul_cos₁ : ∫ x in a..b, sin x * cos x = (sin b ^ 2 - sin a ^ 2) / 2 
goal: ∫ (x : ℝ) in a..b, Real.sin x * Real.cos x = (Real.sin b ^ 2 - Real.sin a ^ 2) / 2

full_name: integral_sin_sq_mul_cos
code: @[simp]
theorem integral_sin_sq_mul_cos :
    ∫ x in a..b, sin x ^ 2 * cos x = (sin b ^ 3 - sin a ^ 3) / 3 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ 2 * Real.cos x = (Real.sin b ^ 3 - Real.sin a ^ 3) / 3

full_name: integral_cos_pow_three
code: @[simp]
theorem integral_cos_pow_three :
    ∫ x in a..b, cos x ^ 3 = sin b - sin a - (sin b ^ 3 - sin a ^ 3) / 3 
goal: ∫ (x : ℝ) in a..b, Real.cos x ^ 3 = Real.sin b - Real.sin a - (Real.sin b ^ 3 - Real.sin a ^ 3) / 3

full_name: integral_sin_pow_odd_mul_cos_pow
code: /-- Simplification of the integral of `sin x ^ m * cos x ^ n`, case `m` is odd. -/
theorem integral_sin_pow_odd_mul_cos_pow (m n : ℕ) :
    (∫ x in a..b, sin x ^ (2 * m + 1) * cos x ^ n) = ∫ u in cos b..cos a, u^n * (↑1 - u ^ 2) ^ m 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ (2 * m + 1) * Real.cos x ^ n =
  ∫ (u : ℝ) in Real.cos b..Real.cos a, u ^ n * (1 - u ^ 2) ^ m

full_name: integral_sin_mul_cos₂
code: /-- The integral of `sin x * cos x`, given in terms of cos².
See `integral_sin_mul_cos₁` above for the integral given in terms of sin². -/
theorem integral_sin_mul_cos₂ : ∫ x in a..b, sin x * cos x = (cos a ^ 2 - cos b ^ 2) / 2 
goal: ∫ (x : ℝ) in a..b, Real.sin x * Real.cos x = (Real.cos a ^ 2 - Real.cos b ^ 2) / 2

full_name: integral_sin_mul_cos_sq
code: @[simp]
theorem integral_sin_mul_cos_sq :
    ∫ x in a..b, sin x * cos x ^ 2 = (cos a ^ 3 - cos b ^ 3) / 3 
goal: ∫ (x : ℝ) in a..b, Real.sin x * Real.cos x ^ 2 = (Real.cos a ^ 3 - Real.cos b ^ 3) / 3

full_name: integral_sin_pow_three
code: @[simp]
theorem integral_sin_pow_three :
    ∫ x in a..b, sin x ^ 3 = cos a - cos b - (cos a ^ 3 - cos b ^ 3) / 3 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ 3 = Real.cos a - Real.cos b - (Real.cos a ^ 3 - Real.cos b ^ 3) / 3

full_name: integral_sin_pow_even_mul_cos_pow_even
code: /-- Simplification of the integral of `sin x ^ m * cos x ^ n`, case `m` and `n` are both even. -/
theorem integral_sin_pow_even_mul_cos_pow_even (m n : ℕ) :
    (∫ x in a..b, sin x ^ (2 * m) * cos x ^ (2 * n)) =
      ∫ x in a..b, ((1 - cos (2 * x)) / 2) ^ m * ((1 + cos (2 * x)) / 2) ^ n 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ (2 * m) * Real.cos x ^ (2 * n) =
  ∫ (x : ℝ) in a..b, ((1 - Real.cos (2 * x)) / 2) ^ m * ((1 + Real.cos (2 * x)) / 2) ^ n

full_name: integral_sin_sq_mul_cos_sq
code: @[simp]
theorem integral_sin_sq_mul_cos_sq :
    ∫ x in a..b, sin x ^ 2 * cos x ^ 2 = (b - a) / 8 - (sin (4 * b) - sin (4 * a)) / 32 
goal: ∫ (x : ℝ) in a..b, Real.sin x ^ 2 * Real.cos x ^ 2 = (b - a) / 8 - (Real.sin (4 * b) - Real.sin (4 * a)) / 32

full_name: integral_sqrt_one_sub_sq
code: theorem integral_sqrt_one_sub_sq : ∫ x in (-1 : ℝ)..1, √(1 - x ^ 2 : ℝ) = π / 2 
goal: ∫ (x : ℝ) in -1 ..1, √(1 - x ^ 2) = π / 2