Theorem: SchwartzMap.realintegral_vectorFourierIntegrand_pderivCLM_single (ForML/SchwartzFourier.lean)

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ 𝓕ₙ (⇑((pderivCLM ℝ (Pi.single i 1)) f)) ξ = (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
rw [RealVectorFourier.fourierIntegral_l2inner_apply]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ ∫ (x : ι → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • ((pderivCLM ℝ (Pi.single i 1)) f) x =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ ∫ (x : ι → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • ((pderivCLM ℝ (Pi.single i 1)) f) x =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
rw [integral_piSplitAt_right i]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ Integrable fun x =>
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • ((pderivCLM ℝ (Pi.single i 1)) f) x

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ Integrable fun x =>
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • ((pderivCLM ℝ (Pi.single i 1)) f) x
Tactic:
swap
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ Integrable fun x =>
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • ((pderivCLM ℝ (Pi.single i 1)) f) x

E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ Integrable fun x =>
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • ((pderivCLM ℝ (Pi.single i 1)) f) x

E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
. simp_rw [← realVectorFourierIntegrand_apply]  exact integrable _
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
have h_mem (j) : j ∈ Finset.univ \ {i} ↔ j ≠ i := by simp
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
conv => lhs; simp only [Finset.sum_eq_add_sum_diff_singleton (Finset.mem_univ i)]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar
            (Multiplicative.ofAdd
              (-((Equiv.piSplitAt i fun a => ℝ).symm (u, x) i * ξ i +
                  ∑ i_1 in Finset.univ \ {i}, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1)))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar
            (Multiplicative.ofAdd
              (-((Equiv.piSplitAt i fun a => ℝ).symm (u, x) i * ξ i +
                  ∑ i_1 in Finset.univ \ {i}, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1)))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
simp only [dite_true, Finset.sum_subtype _ h_mem]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar
            (Multiplicative.ofAdd
              (-((Equiv.piSplitAt i fun a => ℝ).symm (u, x) i * ξ i +
                  ∑ a : { x // x ≠ i }, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) ↑a * ξ ↑a)))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar
            (Multiplicative.ofAdd
              (-((Equiv.piSplitAt i fun a => ℝ).symm (u, x) i * ξ i +
                  ∑ a : { x // x ≠ i }, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) ↑a * ξ ↑a)))) •
        ((pderivCLM ℝ (Pi.single i 1)) f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x)) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
simp [Finset.sum_ite]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ) (u : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i))))) •
        (fderiv ℝ (⇑f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))) (Pi.single i 1) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ) (u : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i))))) •
        (fderiv ℝ (⇑f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))) (Pi.single i 1) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
conv => lhs; arg 2; intro x; arg 2; intro u; lhs; rw [← smul_eq_mul]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ) (u : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i))))) •
        (fderiv ℝ (⇑f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))) (Pi.single i 1) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ) (u : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i))))) •
        (fderiv ℝ (⇑f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))) (Pi.single i 1) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
simp only [smul_assoc]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) •
          (fderiv ℝ (⇑f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))) (Pi.single i 1) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) •
          (fderiv ℝ (⇑f) ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))) (Pi.single i 1) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
simp only [integral_smul]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ∫ (a : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i)))) •
            (fderiv ℝ (⇑f) ((Equiv.piSplitAt i fun a => ℝ).symm (a, x))) (Pi.single i 1) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ∫ (a : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i)))) •
            (fderiv ℝ (⇑f) ((Equiv.piSplitAt i fun a => ℝ).symm (a, x))) (Pi.single i 1) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
simp only [← deriv_comp_update (f.differentiableAt)]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ∫ (a : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i)))) •
            deriv (fun u => f (Function.update ((Equiv.piSplitAt i fun a => ℝ).symm (a, x)) i u))
              ((Equiv.piSplitAt i fun a => ℝ).symm (a, x) i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ∫ (a : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i)))) •
            deriv (fun u => f (Function.update ((Equiv.piSplitAt i fun a => ℝ).symm (a, x)) i u))
              ((Equiv.piSplitAt i fun a => ℝ).symm (a, x) i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
simp only [Equiv.piSplitAt_symm_apply (j := i), dite_true]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ∫ (a : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i)))) •
            deriv (fun u => f (Function.update ((Equiv.piSplitAt i fun a => ℝ).symm (a, x)) i u)) a =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ∫ (a : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i)))) •
            deriv (fun u => f (Function.update ((Equiv.piSplitAt i fun a => ℝ).symm (a, x)) i u)) a =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
simp only [Function.update_piSplitAt_symm]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ∫ (a : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i)))) •
            deriv (fun u => f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))) a =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        ∫ (a : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i)))) •
            deriv (fun u => f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))) a =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
conv =>
  lhs; arg 2; intro x; rhs
  conv =>
    arg 2; intro y; rhs; arg 1; intro u
    rw [← Equiv.piSplitAt_symm_zero_add_single]
    rw [← compConstAddCLM_apply]
    rw [← compSingleCLM_apply]
  rw [← Real.fourierIntegral_def]
  rw [realFourierIntegral_deriv]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        (2 * ↑π * I * ↑(ξ i)) •
          𝓕 (fun x_1 => ((compSingleCLM i) ((compConstAddCLM ((Equiv.piSplitAt i fun a => ℝ).symm (0, x))) f)) x_1)
            (ξ i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        (2 * ↑π * I * ↑(ξ i)) •
          𝓕 (fun x_1 => ((compSingleCLM i) ((compConstAddCLM ((Equiv.piSplitAt i fun a => ℝ).symm (0, x))) f)) x_1)
            (ξ i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
simp only [compConstAddCLM_apply, compSingleCLM_apply]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        (2 * ↑π * I * ↑(ξ i)) • 𝓕 (fun x_1 => f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i x_1)) (ξ i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
        (2 * ↑π * I * ↑(ξ i)) • 𝓕 (fun x_1 => f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i x_1)) (ξ i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
conv => lhs; arg 2; intro x; rw [smul_comm]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      (2 * ↑π * I * ↑(ξ i)) •
        ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
          𝓕 (fun x_1 => f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i x_1)) (ξ i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (x : { j // ¬j = i } → ℝ),
      (2 * ↑π * I * ↑(ξ i)) •
        ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) •
          𝓕 (fun x_1 => f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i x_1)) (ξ i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
rw [integral_smul]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ (2 * ↑π * I * ↑(ξ i)) •
      ∫ (a : { j // ¬j = i } → ℝ),
        ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) •
          𝓕 (fun x => f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i x)) (ξ i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ (2 * ↑π * I * ↑(ξ i)) •
      ∫ (a : { j // ¬j = i } → ℝ),
        ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) •
          𝓕 (fun x => f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i x)) (ξ i) =
    (2 * ↑π * I * ↑(ξ i)) • 𝓕ₙ (⇑f) ξ
Tactic:
refine congrArg _ ?_
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) •
        𝓕 (fun x => f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i x)) (ξ i) =
    𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) •
        𝓕 (fun x => f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i x)) (ξ i) =
    𝓕ₙ (⇑f) ξ
Tactic:
simp only [Real.fourierIntegral_def]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) •
        ∫ (v : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(v * ξ i)))) •
            f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i v) =
    𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) •
        ∫ (v : ℝ),
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(v * ξ i)))) •
            f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i v) =
    𝓕ₙ (⇑f) ξ
Tactic:
simp only [← integral_smul]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) •
        ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i)))) •
          f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) •
        ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i)))) •
          f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    𝓕ₙ (⇑f) ξ
Tactic:
simp only [smul_smul]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    𝓕ₙ (⇑f) ξ

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    𝓕ₙ (⇑f) ξ
Tactic:
rw [RealVectorFourier.fourierIntegral_l2inner_apply]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    ∫ (x : ι → ℝ), ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • f x

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    ∫ (x : ι → ℝ), ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • f x
Tactic:
rw [integral_piSplitAt_right i]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))

E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ Integrable fun x => ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • f x

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))

E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ Integrable fun x => ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • f x
Tactic:
swap
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ Integrable fun x => ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • f x

E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ Integrable fun x => ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • f x

E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))
Tactic:
. simp only [← realVectorFourierIntegrand_apply]
  exact integrable _
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ ∫ (a : { j // ¬j = i } → ℝ) (a_1 : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1) =
    ∫ (x : { j // j ≠ i } → ℝ) (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))
Tactic:
refine congrArg _ ?_
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ (fun a =>
      ∫ (a_1 : ℝ),
        (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
            ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
          f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1)) =
    fun x =>
    ∫ (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ (fun a =>
      ∫ (a_1 : ℝ),
        (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x : { x // ¬x = i }, a x * ξ ↑x))) *
            ↑(Real.fourierChar (Multiplicative.ofAdd (-(a_1 * ξ i))))) •
          f ((Equiv.piSplitAt i fun a => ℝ).symm (0, a) + Pi.single i a_1)) =
    fun x =>
    ∫ (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))
Tactic:
ext x
State after:
case h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
⊢ ∫ (a : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i a) =
    ∫ (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))

State before:
case h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
⊢ ∫ (a : ℝ),
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i a) =
    ∫ (u : ℝ),
      ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))
Tactic:
refine congrArg _ ?_
State after:
case h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
⊢ (fun a =>
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i a)) =
    fun u =>
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
      f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))

State before:
case h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
⊢ (fun a =>
      (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
          ↑(Real.fourierChar (Multiplicative.ofAdd (-(a * ξ i))))) •
        f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i a)) =
    fun u =>
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
      f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))
Tactic:
ext u
State after:
case h.h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
        ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i))))) •
      f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i u) =
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
      f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))

State before:
case h.h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ (↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
        ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i))))) •
      f ((Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i u) =
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1))) •
      f ((Equiv.piSplitAt i fun a => ℝ).symm (u, x))
Tactic:
congr
State after:
case h.h.e_a
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
      ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) =
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1)))

case h.h.e_a.h.e_6.h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ (Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i u = (Equiv.piSplitAt i fun a => ℝ).symm (u, x)

State before:
case h.h.e_a
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
      ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) =
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1)))

case h.h.e_a.h.e_6.h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ (Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i u = (Equiv.piSplitAt i fun a => ℝ).symm (u, x)
Tactic:
. rw [Finset.sum_eq_add_sum_diff_singleton (Finset.mem_univ i)]
  simp only [Finset.sum_subtype _ h_mem]
  simp [Finset.sum_ite]
State after:
case h.h.e_a.h.e_6.h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ (Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i u = (Equiv.piSplitAt i fun a => ℝ).symm (u, x)

State before:
case h.h.e_a.h.e_6.h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ (Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i u = (Equiv.piSplitAt i fun a => ℝ).symm (u, x)
Tactic:
. rw [Equiv.piSplitAt_symm_zero_add_single]
State after:
no goals

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ Integrable fun x =>
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • ((pderivCLM ℝ (Pi.single i 1)) f) x
Tactic:
simp_rw [← realVectorFourierIntegrand_apply]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ Integrable fun x => ((realVectorFourierIntegrand fun i => ξ i) ((pderivCLM ℝ (Pi.single i 1)) f)) fun i => x i

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
⊢ Integrable fun x => ((realVectorFourierIntegrand fun i => ξ i) ((pderivCLM ℝ (Pi.single i 1)) f)) fun i => x i
Tactic:
exact integrable _
State after:
no goals

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
j : ι
⊢ j ∈ Finset.univ \ {i} ↔ j ≠ i
Tactic:
simp
State after:
no goals

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ Integrable fun x => ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i : ι, x i * ξ i))) • f x
Tactic:
simp only [← realVectorFourierIntegrand_apply]
State after:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ Integrable fun x => ((realVectorFourierIntegrand fun i => ξ i) f) fun i => x i

State before:
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
⊢ Integrable fun x => ((realVectorFourierIntegrand fun i => ξ i) f) fun i => x i
Tactic:
exact integrable _
State after:
no goals

State before:
case h.h.e_a
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
      ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) =
    ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ i_1 : ι, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) i_1 * ξ i_1)))
Tactic:
rw [Finset.sum_eq_add_sum_diff_singleton (Finset.mem_univ i)]
State after:
case h.h.e_a
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
      ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) =
    ↑(Real.fourierChar
        (Multiplicative.ofAdd
          (-((Equiv.piSplitAt i fun a => ℝ).symm (u, x) i * ξ i +
              ∑ x_1 in Finset.univ \ {i}, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) x_1 * ξ x_1))))

State before:
case h.h.e_a
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
      ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) =
    ↑(Real.fourierChar
        (Multiplicative.ofAdd
          (-((Equiv.piSplitAt i fun a => ℝ).symm (u, x) i * ξ i +
              ∑ x_1 in Finset.univ \ {i}, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) x_1 * ξ x_1))))
Tactic:
simp only [Finset.sum_subtype _ h_mem]
State after:
case h.h.e_a
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
      ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) =
    ↑(Real.fourierChar
        (Multiplicative.ofAdd
          (-((Equiv.piSplitAt i fun a => ℝ).symm (u, x) i * ξ i +
              ∑ a : { x // x ≠ i }, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) ↑a * ξ ↑a))))

State before:
case h.h.e_a
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ ↑(Real.fourierChar (Multiplicative.ofAdd (-∑ x_1 : { x // ¬x = i }, x x_1 * ξ ↑x_1))) *
      ↑(Real.fourierChar (Multiplicative.ofAdd (-(u * ξ i)))) =
    ↑(Real.fourierChar
        (Multiplicative.ofAdd
          (-((Equiv.piSplitAt i fun a => ℝ).symm (u, x) i * ξ i +
              ∑ a : { x // x ≠ i }, (Equiv.piSplitAt i fun a => ℝ).symm (u, x) ↑a * ξ ↑a))))
Tactic:
simp [Finset.sum_ite]
State after:
no goals

State before:
case h.h.e_a.h.e_6.h
E' : Type ?u.1249490
ι : Type u_1
𝕜 : Type u_2
𝕜' : Type u_3
R : Type u_4
M : ι → Type u_5
D : Type u_6
E : Type u_7
F : Type u_8
G : Type u_9
inst✝²² : DecidableEq ι
inst✝²¹ : Fintype ι
inst✝²⁰ : NontriviallyNormedField 𝕜
inst✝¹⁹ : (i : ι) → NormedAddCommGroup (M i)
inst✝¹⁸ : (i : ι) → NormedSpace ℝ (M i)
inst✝¹⁷ : NormedAddCommGroup D
inst✝¹⁶ : NormedSpace ℝ D
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : InnerProductSpace ℝ E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : InnerProductSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace ℂ F
inst✝⁹ : NormedSpace 𝕜 F
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace ℝ G
inst✝⁶ : MeasurableSpace E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : BorelSpace E
inst✝³ : MeasurableSpace E'
inst✝² : FiniteDimensional ℝ E'
inst✝¹ : BorelSpace E'
inst✝ : CompleteSpace F
i : ι
f : 𝓢(ι → ℝ, F)
ξ : ι → ℝ
h_mem : ∀ (j : ι), j ∈ Finset.univ \ {i} ↔ j ≠ i
x : { j // ¬j = i } → ℝ
u : ℝ
⊢ (Equiv.piSplitAt i fun a => ℝ).symm (0, x) + Pi.single i u = (Equiv.piSplitAt i fun a => ℝ).symm (u, x)
Tactic:
rw [Equiv.piSplitAt_symm_zero_add_single]
State after:
no goals