Theorem: mellinInv_eq_fourierIntegralInv
File: Mathlib/Analysis/MellinInversion.lean

Proof steps:
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
⊢ mellinInv σ f x = ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
⊢ |(2 * π)⁻¹| • ∫ (y : ℝ), ↑x ^ (-(↑σ + ↑y * I)) • f (↑σ + ↑y * I) =
    ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
tactic: rw [mellinInv, one_div, ← abs_of_pos (show 0 < (2 * π)⁻¹ by norm_num; exact pi_pos)]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
⊢ |(2 * π)⁻¹| • ∫ (y : ℝ), ↑x ^ (-(↑σ + ↑y * I)) • f (↑σ + ↑y * I) =
    ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
⊢ |(2 * π)⁻¹| • ∫ (y : ℝ), ↑x ^ (-(↑σ + ↑y * I)) • f (↑σ + ↑y * I) =
    ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
tactic: have hx0 : (x : ℂ) ≠ 0 := ofReal_ne_zero.mpr (ne_of_gt hx)
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
⊢ |(2 * π)⁻¹| • ∫ (y : ℝ), ↑x ^ (-(↑σ + ↑y * I)) • f (↑σ + ↑y * I) =
    ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
⊢ |(2 * π)⁻¹| • ↑x ^ (-↑σ) • ∫ (a : ℝ), ↑x ^ (-(↑a * I)) • f (↑σ + ↑a * I) =
    ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
tactic: simp_rw [neg_add, cpow_add _ _ hx0, mul_smul, integral_smul]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
⊢ |(2 * π)⁻¹| • ↑x ^ (-↑σ) • ∫ (a : ℝ), ↑x ^ (-(↑a * I)) • f (↑σ + ↑a * I) =
    ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
⊢ ↑x ^ (-↑σ) • ∫ (x_1 : ℝ), ↑x ^ (-(↑(2 * π * x_1) * I)) • f (↑σ + ↑(2 * π * x_1) * I) =
    ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
tactic: rw [smul_comm, ← Measure.integral_comp_mul_left]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
⊢ ↑x ^ (-↑σ) • ∫ (x_1 : ℝ), ↑x ^ (-(↑(2 * π * x_1) * I)) • f (↑σ + ↑(2 * π * x_1) * I) =
    ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I)
state_after: case h.e'_6.h.e'_7.h
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
x✝ : ℝ
⊢ ↑x ^ (-(↑(2 * π * x✝) * I)) • f (↑σ + ↑(2 * π * x✝) * I) =
    cexp (2 * ↑π * (↑x✝ * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑x✝ * I)
tactic: congr! 3
state_before: case h.e'_6.h.e'_7.h
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
x✝ : ℝ
⊢ ↑x ^ (-(↑(2 * π * x✝) * I)) • f (↑σ + ↑(2 * π * x✝) * I) =
    cexp (2 * ↑π * (↑x✝ * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑x✝ * I)
state_after: case h.e'_6.h.e'_7.h
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
x✝ : ℝ
⊢ cexp (↑(Real.log x) * -(↑(2 * π * x✝) * I)) • f (↑σ + ↑(2 * π * x✝) * I) =
    cexp (2 * ↑π * (↑x✝ * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑x✝ * I)
tactic: rw [cpow_def_of_ne_zero hx0, ← Complex.ofReal_log hx.le]
state_before: case h.e'_6.h.e'_7.h
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
x✝ : ℝ
⊢ cexp (↑(Real.log x) * -(↑(2 * π * x✝) * I)) • f (↑σ + ↑(2 * π * x✝) * I) =
    cexp (2 * ↑π * (↑x✝ * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑x✝ * I)
state_after: case h.e'_6.h.e'_7.h
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
x✝ : ℝ
⊢ cexp (↑(Real.log x) * -(2 * ↑π * ↑x✝ * I)) • f (↑σ + 2 * ↑π * ↑x✝ * I) =
    cexp (2 * ↑π * (↑x✝ * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑x✝ * I)
tactic: push_cast
state_before: case h.e'_6.h.e'_7.h
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
hx0 : ↑x ≠ 0
x✝ : ℝ
⊢ cexp (↑(Real.log x) * -(2 * ↑π * ↑x✝ * I)) • f (↑σ + 2 * ↑π * ↑x✝ * I) =
    cexp (2 * ↑π * (↑x✝ * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑x✝ * I)
state_after: no goals
tactic: ring_nf
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
σ : ℝ
f : ℂ → E
x : ℝ
hx : 0 < x
⊢ ↑x ^ (-↑σ) • ∫ (y : ℝ), cexp (2 * ↑π * (↑y * -↑(Real.log x)) * I) • f (↑σ + 2 * ↑π * ↑y * I) =
    ↑x ^ (-↑σ) • 𝓕⁻ (fun y => f (↑σ + 2 * ↑π * ↑y * I)) (-Real.log x)
state_after: no goals
tactic: simp [fourierIntegralInv_eq']