Theorem: LipschitzWith.ae_lineDeriv_sum_eq
File: Mathlib/Analysis/Calculus/Rademacher.lean

tactic: apply ae_eq_of_integral_contDiff_smul_eq (hf.locallyIntegrable_lineDeriv _)
  (locallyIntegrable_finset_sum _ (fun i hi ↦ (hf.locallyIntegrable_lineDeriv (v i)).smul (a i)))
  (fun g g_smooth g_comp ↦ ?_)
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
⊢ ∀ᵐ (x : E) ∂μ, lineDeriv ℝ f x (∑ i ∈ s, a i • v i) = ∑ i ∈ s, a i • lineDeriv ℝ f x (v i)
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∫ (x : E), g x • ∑ i ∈ s, (a i • fun x => lineDeriv ℝ f x (v i)) x ∂μ

tactic: simp_rw [Finset.smul_sum]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∫ (x : E), g x • ∑ i ∈ s, (a i • fun x => lineDeriv ℝ f x (v i)) x ∂μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∫ (x : E), ∑ x_1 ∈ s, g x • (a x_1 • fun x => lineDeriv ℝ f x (v x_1)) x ∂μ

tactic: have A : ∀ i ∈ s, Integrable (fun x ↦ g x • (a i • fun x ↦ lineDeriv ℝ f x (v i)) x) μ :=
  fun i hi ↦ (g_smooth.continuous.integrable_of_hasCompactSupport g_comp).smul_of_top_left
    ((hf.memℒp_lineDeriv (v i)).const_smul (a i))
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∫ (x : E), ∑ x_1 ∈ s, g x • (a x_1 • fun x => lineDeriv ℝ f x (v x_1)) x ∂μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∫ (x : E), ∑ x_1 ∈ s, g x • (a x_1 • fun x => lineDeriv ℝ f x (v x_1)) x ∂μ

tactic: rw [integral_finset_sum _ A]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∫ (x : E), ∑ x_1 ∈ s, g x • (a x_1 • fun x => lineDeriv ℝ f x (v x_1)) x ∂μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∑ i ∈ s, ∫ (a_1 : E), g a_1 • (a i • fun x => lineDeriv ℝ f x (v i)) a_1 ∂μ

tactic: suffices S1 : ∫ x, lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ
    = ∑ i ∈ s, a i * ∫ x, lineDeriv ℝ f x (v i) * g x ∂μ by
  dsimp only [smul_eq_mul, Pi.smul_apply]
  simp_rw [← mul_assoc, mul_comm _ (a _), mul_assoc, integral_mul_left, mul_comm (g _), S1]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∑ i ∈ s, ∫ (a_1 : E), g a_1 • (a i • fun x => lineDeriv ℝ f x (v i)) a_1 ∂μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∫ (x : E), lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), lineDeriv ℝ f x (v i) * g x ∂μ

tactic: suffices S2 : ∫ x, (∑ i ∈ s, a i * fderiv ℝ g x (v i)) * f x ∂μ =
                ∑ i ∈ s, a i * ∫ x, fderiv ℝ g x (v i) * f x ∂μ by
  obtain ⟨D, g_lip⟩ : ∃ D, LipschitzWith D g :=
    ContDiff.lipschitzWith_of_hasCompactSupport g_comp g_smooth le_top
  simp_rw [integral_lineDeriv_mul_eq hf g_lip g_comp]
  simp_rw [(g_smooth.differentiable le_top).differentiableAt.lineDeriv_eq_fderiv]
  simp only [map_neg, _root_.map_sum, _root_.map_smul, smul_eq_mul, neg_mul]
  simp only [integral_neg, mul_neg, Finset.sum_neg_distrib, neg_inj]
  exact S2
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∫ (x : E), lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), lineDeriv ℝ f x (v i) * g x ∂μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ

tactic: suffices B : ∀ i ∈ s, Integrable (fun x ↦ a i * (fderiv ℝ g x (v i) * f x)) μ by
  simp_rw [Finset.sum_mul, mul_assoc, integral_finset_sum s B, integral_mul_left]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∀ i ∈ s, Integrable (fun x => a i * ((fderiv ℝ g x) (v i) * f x)) μ

tactic: intro i _hi
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
⊢ ∀ i ∈ s, Integrable (fun x => a i * ((fderiv ℝ g x) (v i) * f x)) μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
⊢ Integrable (fun x => a i * ((fderiv ℝ g x) (v i) * f x)) μ

tactic: let L : (E →L[ℝ] ℝ) → ℝ := fun f ↦ f (v i)
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
⊢ Integrable (fun x => a i * ((fderiv ℝ g x) (v i) * f x)) μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
L : (E →L[ℝ] ℝ) → ℝ := fun f => f (v i)
⊢ Integrable (fun x => a i * ((fderiv ℝ g x) (v i) * f x)) μ

tactic: change Integrable (fun x ↦ a i * ((L ∘ (fderiv ℝ g)) x * f x)) μ
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
L : (E →L[ℝ] ℝ) → ℝ := fun f => f (v i)
⊢ Integrable (fun x => a i * ((fderiv ℝ g x) (v i) * f x)) μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
L : (E →L[ℝ] ℝ) → ℝ := fun f => f (v i)
⊢ Integrable (fun x => a i * ((L ∘ fderiv ℝ g) x * f x)) μ

tactic: refine (Continuous.integrable_of_hasCompactSupport ?_ ?_).const_mul _
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
L : (E →L[ℝ] ℝ) → ℝ := fun f => f (v i)
⊢ Integrable (fun x => a i * ((L ∘ fderiv ℝ g) x * f x)) μ
state_after: case refine_1
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
L : (E →L[ℝ] ℝ) → ℝ := fun f => f (v i)
⊢ Continuous fun x => (L ∘ fderiv ℝ g) x * f x

case refine_2
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
L : (E →L[ℝ] ℝ) → ℝ := fun f => f (v i)
⊢ HasCompactSupport fun x => (L ∘ fderiv ℝ g) x * f x

tactic: dsimp only [smul_eq_mul, Pi.smul_apply]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S1 : ∫ (x : E), lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), lineDeriv ℝ f x (v i) * g x ∂μ
⊢ ∫ (x : E), g x • lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∑ i ∈ s, ∫ (a_1 : E), g a_1 • (a i • fun x => lineDeriv ℝ f x (v i)) a_1 ∂μ
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S1 : ∫ (x : E), lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), lineDeriv ℝ f x (v i) * g x ∂μ
⊢ ∫ (x : E), g x * lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∑ i ∈ s, ∫ (a_1 : E), g a_1 * (a i * lineDeriv ℝ f a_1 (v i)) ∂μ

tactic: simp_rw [← mul_assoc, mul_comm _ (a _), mul_assoc, integral_mul_left, mul_comm (g _), S1]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S1 : ∫ (x : E), lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), lineDeriv ℝ f x (v i) * g x ∂μ
⊢ ∫ (x : E), g x * lineDeriv ℝ f x (∑ i ∈ s, a i • v i) ∂μ =
    ∑ i ∈ s, ∫ (a_1 : E), g a_1 * (a i * lineDeriv ℝ f a_1 (v i)) ∂μ
state_after: no goals

tactic: obtain ⟨D, g_lip⟩ : ∃ D, LipschitzWith D g :=
  ContDiff.lipschitzWith_of_hasCompactSupport g_comp g_smooth le_top
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
⊢ ∫ (x : E), lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), lineDeriv ℝ f x (v i) * g x ∂μ
state_after: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (x : E), lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), lineDeriv ℝ f x (v i) * g x ∂μ

tactic: simp_rw [integral_lineDeriv_mul_eq hf g_lip g_comp]
state_before: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (x : E), lineDeriv ℝ f x (∑ i ∈ s, a i • v i) * g x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), lineDeriv ℝ f x (v i) * g x ∂μ
state_after: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (x : E), lineDeriv ℝ g x (-∑ i ∈ s, a i • v i) * f x ∂μ =
    ∑ x ∈ s, a x * ∫ (x_1 : E), lineDeriv ℝ g x_1 (-v x) * f x_1 ∂μ

tactic: simp_rw [(g_smooth.differentiable le_top).differentiableAt.lineDeriv_eq_fderiv]
state_before: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (x : E), lineDeriv ℝ g x (-∑ i ∈ s, a i • v i) * f x ∂μ =
    ∑ x ∈ s, a x * ∫ (x_1 : E), lineDeriv ℝ g x_1 (-v x) * f x_1 ∂μ
state_after: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (x : E), (fderiv ℝ g x) (-∑ i ∈ s, a i • v i) * f x ∂μ =
    ∑ x ∈ s, a x * ∫ (x_1 : E), (fderiv ℝ g x_1) (-v x) * f x_1 ∂μ

tactic: simp only [map_neg, _root_.map_sum, _root_.map_smul, smul_eq_mul, neg_mul]
state_before: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (x : E), (fderiv ℝ g x) (-∑ i ∈ s, a i • v i) * f x ∂μ =
    ∑ x ∈ s, a x * ∫ (x_1 : E), (fderiv ℝ g x_1) (-v x) * f x_1 ∂μ
state_after: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (x : E), -((∑ x_1 ∈ s, a x_1 * (fderiv ℝ g x) (v x_1)) * f x) ∂μ =
    ∑ x ∈ s, a x * ∫ (x_1 : E), -((fderiv ℝ g x_1) (v x) * f x_1) ∂μ

tactic: simp only [integral_neg, mul_neg, Finset.sum_neg_distrib, neg_inj]
state_before: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (x : E), -((∑ x_1 ∈ s, a x_1 * (fderiv ℝ g x) (v x_1)) * f x) ∂μ =
    ∑ x ∈ s, a x * ∫ (x_1 : E), -((fderiv ℝ g x_1) (v x) * f x_1) ∂μ
state_after: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (a_1 : E), (∑ x ∈ s, a x * (fderiv ℝ g a_1) (v x)) * f a_1 ∂μ =
    ∑ x ∈ s, a x * ∫ (a : E), (fderiv ℝ g a) (v x) * f a ∂μ

tactic: exact S2
state_before: case intro
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D✝ : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
S2 : ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
D : ℝ≥0
g_lip : LipschitzWith D g
⊢ ∫ (a_1 : E), (∑ x ∈ s, a x * (fderiv ℝ g a_1) (v x)) * f a_1 ∂μ =
    ∑ x ∈ s, a x * ∫ (a : E), (fderiv ℝ g a) (v x) * f a ∂μ
state_after: no goals

tactic: simp_rw [Finset.sum_mul, mul_assoc, integral_finset_sum s B, integral_mul_left]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
B : ∀ i ∈ s, Integrable (fun x => a i * ((fderiv ℝ g x) (v i) * f x)) μ
⊢ ∫ (x : E), (∑ i ∈ s, a i * (fderiv ℝ g x) (v i)) * f x ∂μ = ∑ i ∈ s, a i * ∫ (x : E), (fderiv ℝ g x) (v i) * f x ∂μ
state_after: no goals

tactic: exact ((g_smooth.continuous_fderiv le_top).clm_apply continuous_const).mul hf.continuous
state_before: case refine_1
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
L : (E →L[ℝ] ℝ) → ℝ := fun f => f (v i)
⊢ Continuous fun x => (L ∘ fderiv ℝ g) x * f x
state_after: no goals

tactic: exact ((g_comp.fderiv ℝ).comp_left rfl).mul_right
state_before: case refine_2
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : MeasurableSpace E
inst✝³ : BorelSpace E
F : Type u_2
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
C D : ℝ≥0
f g✝ : E → ℝ
s✝ : Set E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
hf : LipschitzWith C f
ι : Type u_3
s : Finset ι
a : ι → ℝ
v : ι → E
g : E → ℝ
g_smooth : ContDiff ℝ ⊤ g
g_comp : HasCompactSupport g
A : ∀ i ∈ s, Integrable (fun x => g x • (a i • fun x => lineDeriv ℝ f x (v i)) x) μ
i : ι
_hi : i ∈ s
L : (E →L[ℝ] ℝ) → ℝ := fun f => f (v i)
⊢ HasCompactSupport fun x => (L ∘ fderiv ℝ g) x * f x
state_after: no goals