Theorem: fourierCoeff_liftIco_eq
File: Mathlib/Analysis/Fourier/AddCircle.lean

Proof steps:
state_before: T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ fourierCoeff (liftIco T a f) n = fourierCoeffOn ⋯ f n
state_after: T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ (1 / T) • ∫ (x : ℝ) in a..a + T, (fourier (-n)) ↑x • liftIco T a f ↑x =
    (1 / T) • ∫ (x : ℝ) in a..a + T, (fourier (-n)) ↑x • f x
tactic: rw [fourierCoeffOn_eq_integral, fourierCoeff_eq_intervalIntegral _ _ a, add_sub_cancel_left a T]
state_before: T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ (1 / T) • ∫ (x : ℝ) in a..a + T, (fourier (-n)) ↑x • liftIco T a f ↑x =
    (1 / T) • ∫ (x : ℝ) in a..a + T, (fourier (-n)) ↑x • f x
state_after: case e_a
T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ ∫ (x : ℝ) in a..a + T, (fourier (-n)) ↑x • liftIco T a f ↑x = ∫ (x : ℝ) in a..a + T, (fourier (-n)) ↑x • f x
tactic: congr 1
state_before: case e_a
T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ ∫ (x : ℝ) in a..a + T, (fourier (-n)) ↑x • liftIco T a f ↑x = ∫ (x : ℝ) in a..a + T, (fourier (-n)) ↑x • f x
state_after: case e_a
T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ ∫ (x : ℝ) in Ioc a (a + T), (fourier (-n)) ↑x • liftIco T a f ↑x ∂volume =
    ∫ (x : ℝ) in Ioc a (a + T), (fourier (-n)) ↑x • f x ∂volume
tactic: simp_rw [intervalIntegral.integral_of_le (lt_add_of_pos_right a hT.out).le]
state_before: case e_a
T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ ∫ (x : ℝ) in Ioc a (a + T), (fourier (-n)) ↑x • liftIco T a f ↑x ∂volume =
    ∫ (x : ℝ) in Ioc a (a + T), (fourier (-n)) ↑x • f x ∂volume
state_after: case e_a
T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ ∫ (t : ℝ) in Ioo a (a + T), (fourier (-n)) ↑t • liftIco T a f ↑t ∂volume =
    ∫ (t : ℝ) in Ioo a (a + T), (fourier (-n)) ↑t • f t ∂volume
tactic: iterate 2 rw [integral_Ioc_eq_integral_Ioo]
state_before: case e_a
T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
⊢ ∫ (t : ℝ) in Ioo a (a + T), (fourier (-n)) ↑t • liftIco T a f ↑t ∂volume =
    ∫ (t : ℝ) in Ioo a (a + T), (fourier (-n)) ↑t • f t ∂volume
state_after: case e_a
T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
x : ℝ
hx : x ∈ Ioo a (a + T)
⊢ (fourier (-n)) ↑x • liftIco T a f ↑x = (fourier (-n)) ↑x • f x
tactic: refine setIntegral_congr measurableSet_Ioo fun x hx => ?_
state_before: case e_a
T : ℝ
hT : Fact (0 < T)
E : Type
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
a : ℝ
f : ℝ → ℂ
n : ℤ
x : ℝ
hx : x ∈ Ioo a (a + T)
⊢ (fourier (-n)) ↑x • liftIco T a f ↑x = (fourier (-n)) ↑x • f x
state_after: no goals
tactic: rw [liftIco_coe_apply (Ioo_subset_Ico_self hx)]