Theorem: fourierIntegral_half_period_translate
File: Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean

tactic: have hiw : ⟪i w, w⟫ = 1 / 2 := by
  rw [inner_smul_left, inner_self_eq_norm_sq_to_K, RCLike.ofReal_real_eq_id, id,
    RCLike.conj_to_real, ← div_div, div_mul_cancel₀]
  rwa [Ne, sq_eq_zero_iff, norm_eq_zero]
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
⊢ ∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v
state_after: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
⊢ ∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v

tactic: have :
  (fun v : V => 𝐞 (-⟪v, w⟫) • f (v + i w)) =
    fun v : V => (fun x : V => -(𝐞 (-⟪x, w⟫) • f x)) (v + i w) := by
  ext1 v
  simp_rw [inner_add_left, hiw, Submonoid.smul_def, Real.fourierChar_apply, neg_add, mul_add,
    ofReal_add, add_mul, exp_add]
  have : 2 * π * -(1 / 2) = -π := by field_simp; ring
  rw [this, ofReal_neg, neg_mul, exp_neg, exp_pi_mul_I, inv_neg, inv_one, mul_neg_one, neg_smul,
    neg_neg]
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
⊢ ∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v
state_after: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
this : (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
⊢ ∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v

tactic: rw [this]
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
this : (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
⊢ ∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v
state_after: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
this : (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
⊢ ∫ (v : V), (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v

tactic: have := integral_add_right_eq_self (μ := volume) (fun (x : V) ↦ -(𝐞 (-⟪x, w⟫) • f x))
  ((fun w ↦ (1 / (2 * ‖w‖ ^ (2 : ℕ))) • w) w)
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
this : (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
⊢ ∫ (v : V), (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v
state_after: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
this✝ : (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
this : ∫ (x : V), -(𝐞 (-⟪x + i w, w⟫_ℝ) • f (x + i w)) = ∫ (x : V), -(𝐞 (-⟪x, w⟫_ℝ) • f x)
⊢ ∫ (v : V), (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v

tactic: rw [this]
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
this✝ : (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
this : ∫ (x : V), -(𝐞 (-⟪x + i w, w⟫_ℝ) • f (x + i w)) = ∫ (x : V), -(𝐞 (-⟪x, w⟫_ℝ) • f x)
⊢ ∫ (v : V), (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v
state_after: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
this✝ : (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
this : ∫ (x : V), -(𝐞 (-⟪x + i w, w⟫_ℝ) • f (x + i w)) = ∫ (x : V), -(𝐞 (-⟪x, w⟫_ℝ) • f x)
⊢ ∫ (x : V), -(𝐞 (-⟪x, w⟫_ℝ) • f x) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v

tactic: simp only [neg_smul, integral_neg]
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
this✝ : (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
this : ∫ (x : V), -(𝐞 (-⟪x + i w, w⟫_ℝ) • f (x + i w)) = ∫ (x : V), -(𝐞 (-⟪x, w⟫_ℝ) • f x)
⊢ ∫ (x : V), -(𝐞 (-⟪x, w⟫_ℝ) • f x) = -∫ (v : V), 𝐞 (-⟪v, w⟫_ℝ) • f v
state_after: no goals

tactic: rw [inner_smul_left, inner_self_eq_norm_sq_to_K, RCLike.ofReal_real_eq_id, id,
  RCLike.conj_to_real, ← div_div, div_mul_cancel₀]
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
⊢ ⟪i w, w⟫_ℝ = 1 / 2
state_after: case h
E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
⊢ ‖w‖ ^ 2 ≠ 0

tactic: rwa [Ne, sq_eq_zero_iff, norm_eq_zero]
state_before: case h
E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
⊢ ‖w‖ ^ 2 ≠ 0
state_after: no goals

tactic: ext1 v
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
⊢ (fun v => 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w)) = fun v => (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
state_after: case h
E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
⊢ 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w) = (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)

tactic: simp_rw [inner_add_left, hiw, Submonoid.smul_def, Real.fourierChar_apply, neg_add, mul_add,
  ofReal_add, add_mul, exp_add]
state_before: case h
E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
⊢ 𝐞 (-⟪v, w⟫_ℝ) • f (v + i w) = (fun x => -(𝐞 (-⟪x, w⟫_ℝ) • f x)) (v + i w)
state_after: case h
E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
⊢ cexp (↑(2 * π * -⟪v, w⟫_ℝ) * I) • f (v + (1 / (2 * ‖w‖ ^ 2)) • w) =
    -((cexp (↑(2 * π * -⟪v, w⟫_ℝ) * I) * cexp (↑(2 * π * -(1 / 2)) * I)) • f (v + (1 / (2 * ‖w‖ ^ 2)) • w))

tactic: have : 2 * π * -(1 / 2) = -π := by field_simp; ring
state_before: case h
E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
⊢ cexp (↑(2 * π * -⟪v, w⟫_ℝ) * I) • f (v + (1 / (2 * ‖w‖ ^ 2)) • w) =
    -((cexp (↑(2 * π * -⟪v, w⟫_ℝ) * I) * cexp (↑(2 * π * -(1 / 2)) * I)) • f (v + (1 / (2 * ‖w‖ ^ 2)) • w))
state_after: case h
E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
this : 2 * π * -(1 / 2) = -π
⊢ cexp (↑(2 * π * -⟪v, w⟫_ℝ) * I) • f (v + (1 / (2 * ‖w‖ ^ 2)) • w) =
    -((cexp (↑(2 * π * -⟪v, w⟫_ℝ) * I) * cexp (↑(2 * π * -(1 / 2)) * I)) • f (v + (1 / (2 * ‖w‖ ^ 2)) • w))

tactic: rw [this, ofReal_neg, neg_mul, exp_neg, exp_pi_mul_I, inv_neg, inv_one, mul_neg_one, neg_smul,
  neg_neg]
state_before: case h
E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
this : 2 * π * -(1 / 2) = -π
⊢ cexp (↑(2 * π * -⟪v, w⟫_ℝ) * I) • f (v + (1 / (2 * ‖w‖ ^ 2)) • w) =
    -((cexp (↑(2 * π * -⟪v, w⟫_ℝ) * I) * cexp (↑(2 * π * -(1 / 2)) * I)) • f (v + (1 / (2 * ‖w‖ ^ 2)) • w))
state_after: no goals

tactic: field_simp
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
⊢ 2 * π * -(1 / 2) = -π
state_after: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
⊢ 2 * π = π * 2

tactic: ring
state_before: E : Type u_1
V : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℂ E
f : V → E
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : MeasurableSpace V
inst✝³ : BorelSpace V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : FiniteDimensional ℝ V
inst✝ : CompleteSpace E
w : V
hw : w ≠ 0
hiw : ⟪i w, w⟫_ℝ = 1 / 2
v : V
⊢ 2 * π = π * 2
state_after: no goals