Theorem: ContinuousLinearMap.integral_comp_comm
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: apply Integrable.induction (P := fun φ => (∫ a, L (φ a) ∂μ) = L (∫ a, φ a ∂μ))
state_before: α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ (∫ (a : α), ↑L (φ a) ∂μ) = ↑L (∫ (a : α), φ a ∂μ)

tactic: all_goals assumption
state_before: case a
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ Integrable fun a => φ a

tactic: intro e s s_meas _
state_before: case h_ind
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ ∀ (c : E) ⦃s : Set α⦄,
    MeasurableSet s →
      ↑↑?m.1657779 s < ⊤ →
        (∫ (a : α), ↑L (indicator s (fun x => c) a) ∂μ) = ↑L (∫ (a : α), indicator s (fun x => c) a ∂μ)

tactic: rw [integral_indicator_const e s_meas, ← @smul_one_smul E ℝ 𝕜 _ _ _ _ _ (μ s).toReal e,
  ContinuousLinearMap.map_smul, @smul_one_smul F ℝ 𝕜 _ _ _ _ _ (μ s).toReal (L e), ←
  integral_indicator_const (L e) s_meas]
state_before: case h_ind
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
e : E
s : Set α
s_meas : MeasurableSet s
a✝ : ↑↑?m.1657779 s < ⊤
⊢ (∫ (a : α), ↑L (indicator s (fun x => e) a) ∂μ) = ↑L (∫ (a : α), indicator s (fun x => e) a ∂μ)

tactic: congr 1 with a
state_before: case h_ind
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
e : E
s : Set α
s_meas : MeasurableSet s
a✝ : ↑↑?m.1657779 s < ⊤
⊢ (∫ (a : α), ↑L (indicator s (fun x => e) a) ∂μ) = ∫ (a : α), indicator s (fun x => ↑L e) a ∂μ

tactic: erw [Set.indicator_comp_of_zero L.map_zero]
state_before: case h_ind.e_f.h
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
e : E
s : Set α
s_meas : MeasurableSet s
a✝ : ↑↑?m.1657779 s < ⊤
a : α
⊢ ↑L (indicator s (fun x => e) a) = indicator s (fun x => ↑L e) a

tactic: rfl
state_before: case h_ind.e_f.h
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
e : E
s : Set α
s_meas : MeasurableSet s
a✝ : ↑↑?m.1657779 s < ⊤
a : α
⊢ ↑L (indicator s (fun x => e) a) = (↑L ∘ indicator s fun x => e) a

tactic: intro f g _ f_int g_int hf hg
state_before: case h_add
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ ∀ ⦃f g : α → E⦄,
    Disjoint (support f) (support g) →
      Integrable f →
        Integrable g →
          (∫ (a : α), ↑L (f a) ∂μ) = ↑L (∫ (a : α), f a ∂μ) →
            (∫ (a : α), ↑L (g a) ∂μ) = ↑L (∫ (a : α), g a ∂μ) →
              (∫ (a : α), ↑L ((f + g) a) ∂μ) = ↑L (∫ (a : α), (f + g) a ∂μ)

tactic: simp [L.map_add, integral_add (μ := μ) f_int g_int,
  integral_add (μ := μ) (L.integrable_comp f_int) (L.integrable_comp g_int), hf, hg]
state_before: case h_add
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
a✝ : Disjoint (support f) (support g)
f_int : Integrable f
g_int : Integrable g
hf : (∫ (a : α), ↑L (f a) ∂μ) = ↑L (∫ (a : α), f a ∂μ)
hg : (∫ (a : α), ↑L (g a) ∂μ) = ↑L (∫ (a : α), g a ∂μ)
⊢ (∫ (a : α), ↑L ((f + g) a) ∂μ) = ↑L (∫ (a : α), (f + g) a ∂μ)

tactic: exact isClosed_eq L.continuous_integral_comp_L1 (L.continuous.comp continuous_integral)
state_before: case h_closed
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ IsClosed {f | (∫ (a : α), ↑L (↑↑f a) ∂μ) = ↑L (∫ (a : α), ↑↑f a ∂μ)}

tactic: intro f g hfg _ hf
state_before: case h_ae
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ ∀ ⦃f g : α → E⦄,
    f =ᵐ[μ] g →
      Integrable f →
        (∫ (a : α), ↑L (f a) ∂μ) = ↑L (∫ (a : α), f a ∂μ) → (∫ (a : α), ↑L (g a) ∂μ) = ↑L (∫ (a : α), g a ∂μ)

tactic: convert hf using 1 <;> clear hf
state_before: case h_ae
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
hfg : f =ᵐ[μ] g
a✝ : Integrable f
hf : (∫ (a : α), ↑L (f a) ∂μ) = ↑L (∫ (a : α), f a ∂μ)
⊢ (∫ (a : α), ↑L (g a) ∂μ) = ↑L (∫ (a : α), g a ∂μ)

tactic: exact integral_congr_ae (hfg.fun_comp L).symm
state_before: case h.e'_2
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
hfg : f =ᵐ[μ] g
a✝ : Integrable f
⊢ (∫ (a : α), ↑L (g a) ∂μ) = ∫ (a : α), ↑L (f a) ∂μ

tactic: rw [integral_congr_ae hfg.symm]
state_before: case h.e'_3
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
f g : α → E
hfg : f =ᵐ[μ] g
a✝ : Integrable f
⊢ ↑L (∫ (a : α), g a ∂μ) = ↑L (∫ (a : α), f a ∂μ)

tactic: assumption
state_before: case a
α : Type u_4
β : Type ?u.1539639
E : Type u_2
F : Type u_3
inst✝⁹ : MeasurableSpace α
ι : Type ?u.1539651
inst✝⁸ : NormedAddCommGroup E
μ : MeasureTheory.Measure α
𝕜 : Type u_1
inst✝⁷ : IsROrC 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
p : ℝ≥0∞
inst✝³ : CompleteSpace F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
L : E →L[𝕜] F
φ : α → E
φ_int : Integrable φ
⊢ Integrable fun a => φ a