mathlib documentation

analysis.special_functions.integrals

Integration of specific interval integrals #

This file contains proofs of the integrals of various specific functions. This includes:

With these lemmas, many simple integrals can be computed by simp or norm_num. See test/integration.lean for specific examples.

This file also contains some facts about the interval integrability of specific functions.

This file is still being developed.

Tags #

integrate, integration, integrable, integrability

Interval integrability #

@[simp]
theorem interval_integral.interval_integrable.const_mul {a b : } {f : } {ν : measure_theory.measure } (c : ) (h : interval_integrable f ν a b) :
interval_integrable (λ (x : ), c * f x) ν a b
@[simp]
theorem interval_integral.interval_integrable.mul_const {a b : } {f : } {ν : measure_theory.measure } (c : ) (h : interval_integrable f ν a b) :
interval_integrable (λ (x : ), (f x) * c) ν a b
@[simp]
theorem interval_integral.interval_integrable.div {a b : } {f : } {ν : measure_theory.measure } (c : ) (h : interval_integrable f ν a b) :
interval_integrable (λ (x : ), f x / c) ν a b
theorem interval_integral.interval_integrable_one_div {a b : } {f : } {μ : measure_theory.measure } [measure_theory.is_locally_finite_measure μ] (h : ∀ (x : ), x [a, b]f x 0) (hf : continuous_on f [a, b]) :
interval_integrable (λ (x : ), 1 / f x) μ a b
@[simp]
theorem interval_integral.interval_integrable_inv {a b : } {f : } {μ : measure_theory.measure } [measure_theory.is_locally_finite_measure μ] (h : ∀ (x : ), x [a, b]f x 0) (hf : continuous_on f [a, b]) :
interval_integrable (λ (x : ), (f x)⁻¹) μ a b
@[simp]
theorem interval_integral.interval_integrable.log {a b : } {f : } {μ : measure_theory.measure } [measure_theory.is_locally_finite_measure μ] (hf : continuous_on f [a, b]) (h : ∀ (x : ), x [a, b]f x 0) :
interval_integrable (λ (x : ), real.log (f x)) μ a b

Integral of a function scaled by a constant #

@[simp]
theorem interval_integral.integral_const_mul {a b : } {f : } (c : ) :
∫ (x : ) in a..b, c * f x = c * ∫ (x : ) in a..b, f x
@[simp]
theorem interval_integral.integral_mul_const {a b : } {f : } (c : ) :
∫ (x : ) in a..b, (f x) * c = (∫ (x : ) in a..b, f x) * c
@[simp]
theorem interval_integral.integral_div {a b : } {f : } (c : ) :
∫ (x : ) in a..b, f x / c = (∫ (x : ) in a..b, f x) / c

Integrals of the form c * ∫ x in a..b, f (c * x + d) #

@[simp]
theorem interval_integral.mul_integral_comp_mul_right {a b : } {f : } (c : ) :
c * ∫ (x : ) in a..b, f (x * c) = ∫ (x : ) in a * c..b * c, f x
@[simp]
theorem interval_integral.mul_integral_comp_mul_left {a b : } {f : } (c : ) :
c * ∫ (x : ) in a..b, f (c * x) = ∫ (x : ) in c * a..c * b, f x
@[simp]
theorem interval_integral.inv_mul_integral_comp_div {a b : } {f : } (c : ) :
c⁻¹ * ∫ (x : ) in a..b, f (x / c) = ∫ (x : ) in a / c..b / c, f x
@[simp]
theorem interval_integral.mul_integral_comp_mul_add {a b : } {f : } (c d : ) :
c * ∫ (x : ) in a..b, f (c * x + d) = ∫ (x : ) in c * a + d..c * b + d, f x
@[simp]
theorem interval_integral.mul_integral_comp_add_mul {a b : } {f : } (c d : ) :
c * ∫ (x : ) in a..b, f (d + c * x) = ∫ (x : ) in d + c * a..d + c * b, f x
@[simp]
theorem interval_integral.inv_mul_integral_comp_div_add {a b : } {f : } (c d : ) :
c⁻¹ * ∫ (x : ) in a..b, f (x / c + d) = ∫ (x : ) in a / c + d..b / c + d, f x
@[simp]
theorem interval_integral.inv_mul_integral_comp_add_div {a b : } {f : } (c d : ) :
c⁻¹ * ∫ (x : ) in a..b, f (d + x / c) = ∫ (x : ) in d + a / c..d + b / c, f x
@[simp]
theorem interval_integral.mul_integral_comp_mul_sub {a b : } {f : } (c d : ) :
c * ∫ (x : ) in a..b, f (c * x - d) = ∫ (x : ) in c * a - d..c * b - d, f x
@[simp]
theorem interval_integral.mul_integral_comp_sub_mul {a b : } {f : } (c d : ) :
c * ∫ (x : ) in a..b, f (d - c * x) = ∫ (x : ) in d - c * b..d - c * a, f x
@[simp]
theorem interval_integral.inv_mul_integral_comp_div_sub {a b : } {f : } (c d : ) :
c⁻¹ * ∫ (x : ) in a..b, f (x / c - d) = ∫ (x : ) in a / c - d..b / c - d, f x
@[simp]
theorem interval_integral.inv_mul_integral_comp_sub_div {a b : } {f : } (c d : ) :
c⁻¹ * ∫ (x : ) in a..b, f (d - x / c) = ∫ (x : ) in d - b / c..d - a / c, f x

Integrals of simple functions #

@[simp]
theorem integral_pow {a b : } (n : ) :
∫ (x : ) in a..b, x ^ n = (b ^ (n + 1) - a ^ (n + 1)) / (n + 1)
@[simp]
theorem integral_id {a b : } :
∫ (x : ) in a..b, x = (b ^ 2 - a ^ 2) / 2
@[simp]
theorem integral_one {a b : } :
∫ (x : ) in a..b, 1 = b - a
@[simp]
theorem integral_inv {a b : } (h : 0 [a, b]) :
∫ (x : ) in a..b, x⁻¹ = real.log (b / a)
@[simp]
theorem integral_inv_of_pos {a b : } (ha : 0 < a) (hb : 0 < b) :
∫ (x : ) in a..b, x⁻¹ = real.log (b / a)
@[simp]
theorem integral_inv_of_neg {a b : } (ha : a < 0) (hb : b < 0) :
∫ (x : ) in a..b, x⁻¹ = real.log (b / a)
theorem integral_one_div {a b : } (h : 0 [a, b]) :
∫ (x : ) in a..b, 1 / x = real.log (b / a)
theorem integral_one_div_of_pos {a b : } (ha : 0 < a) (hb : 0 < b) :
∫ (x : ) in a..b, 1 / x = real.log (b / a)
theorem integral_one_div_of_neg {a b : } (ha : a < 0) (hb : b < 0) :
∫ (x : ) in a..b, 1 / x = real.log (b / a)
@[simp]
theorem integral_exp {a b : } :
∫ (x : ) in a..b, real.exp x = real.exp b - real.exp a
@[simp]
theorem integral_log {a b : } (h : 0 [a, b]) :
∫ (x : ) in a..b, real.log x = b * real.log b - a * real.log a - b + a
@[simp]
theorem integral_log_of_pos {a b : } (ha : 0 < a) (hb : 0 < b) :
∫ (x : ) in a..b, real.log x = b * real.log b - a * real.log a - b + a
@[simp]
theorem integral_log_of_neg {a b : } (ha : a < 0) (hb : b < 0) :
∫ (x : ) in a..b, real.log x = b * real.log b - a * real.log a - b + a
@[simp]
theorem integral_sin {a b : } :
∫ (x : ) in a..b, real.sin x = real.cos a - real.cos b
@[simp]
theorem integral_cos {a b : } :
∫ (x : ) in a..b, real.cos x = real.sin b - real.sin a
theorem integral_cos_sq_sub_sin_sq {a b : } :
∫ (x : ) in a..b, real.cos x ^ 2 - real.sin x ^ 2 = (real.sin b) * real.cos b - (real.sin a) * real.cos a
@[simp]
theorem integral_inv_one_add_sq {a b : } :
∫ (x : ) in a..b, (1 + x ^ 2)⁻¹ = real.arctan b - real.arctan a
theorem integral_one_div_one_add_sq {a b : } :
∫ (x : ) in a..b, 1 / (1 + x ^ 2) = real.arctan b - real.arctan a

Integral of sin x ^ n #

theorem integral_sin_pow_aux {a b : } (n : ) :
∫ (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)
theorem integral_sin_pow {a b : } (n : ) :
∫ (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

The reduction formula for the integral of sin x ^ n for any natural n ≥ 2.

@[simp]
theorem integral_sin_sq {a b : } :
∫ (x : ) in a..b, real.sin x ^ 2 = ((real.sin a) * real.cos a - (real.sin b) * real.cos b + b - a) / 2
theorem integral_sin_pow_odd (n : ) :
∫ (x : ) in 0..π, real.sin x ^ (2 * n + 1) = 2 * ∏ (i : ) in finset.range n, (2 * i + 2) / (2 * i + 3)
theorem integral_sin_pow_even (n : ) :
∫ (x : ) in 0..π, real.sin x ^ 2 * n = π * ∏ (i : ) in finset.range n, (2 * i + 1) / (2 * i + 2)
theorem integral_sin_pow_pos (n : ) :
0 < ∫ (x : ) in 0..π, real.sin x ^ n
theorem integral_sin_pow_succ_le (n : ) :
∫ (x : ) in 0..π, real.sin x ^ (n + 1) ∫ (x : ) in 0..π, real.sin x ^ n
theorem integral_sin_pow_antitone  :
antitone (λ (n : ), ∫ (x : ) in 0..π, real.sin x ^ n)

Integral of cos x ^ n #

theorem integral_cos_pow_aux {a b : } (n : ) :
∫ (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)
theorem integral_cos_pow {a b : } (n : ) :
∫ (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

The reduction formula for the integral of cos x ^ n for any natural n ≥ 2.

@[simp]
theorem integral_cos_sq {a b : } :
∫ (x : ) in a..b, real.cos x ^ 2 = ((real.cos b) * real.sin b - (real.cos a) * real.sin a + b - a) / 2

Integral of sin x ^ m * cos x ^ n #

theorem integral_sin_pow_mul_cos_pow_odd {a b : } (m n : ) :
∫ (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

Simplification of the integral of sin x ^ m * cos x ^ n, case n is odd.

@[simp]
theorem integral_sin_mul_cos₁ {a b : } :
∫ (x : ) in a..b, (real.sin x) * real.cos x = (real.sin b ^ 2 - real.sin a ^ 2) / 2

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_sq_mul_cos {a b : } :
∫ (x : ) in a..b, (real.sin x ^ 2) * real.cos x = (real.sin b ^ 3 - real.sin a ^ 3) / 3
@[simp]
theorem integral_cos_pow_three {a b : } :
∫ (x : ) in a..b, real.cos x ^ 3 = real.sin b - real.sin a - (real.sin b ^ 3 - real.sin a ^ 3) / 3
theorem integral_sin_pow_odd_mul_cos_pow {a b : } (m n : ) :
∫ (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

Simplification of the integral of sin x ^ m * cos x ^ n, case m is odd.

theorem integral_sin_mul_cos₂ {a b : } :
∫ (x : ) in a..b, (real.sin x) * real.cos x = (real.cos a ^ 2 - real.cos b ^ 2) / 2

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².

@[simp]
theorem integral_sin_mul_cos_sq {a b : } :
∫ (x : ) in a..b, (real.sin x) * real.cos x ^ 2 = (real.cos a ^ 3 - real.cos b ^ 3) / 3
@[simp]
theorem integral_sin_pow_three {a b : } :
∫ (x : ) in a..b, real.sin x ^ 3 = real.cos a - real.cos b - (real.cos a ^ 3 - real.cos b ^ 3) / 3
theorem integral_sin_pow_even_mul_cos_pow_even {a b : } (m n : ) :
∫ (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

Simplification of the integral of sin x ^ m * cos x ^ n, case m and n are both even.

@[simp]
theorem integral_sin_sq_mul_cos_sq {a b : } :
∫ (x : ) in a..b, (real.sin x ^ 2) * real.cos x ^ 2 = (b - a) / 8 - (real.sin (4 * b) - real.sin (4 * a)) / 32