Theorem: MeasureTheory.integral_smul_measure
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: rcases eq_or_ne c ∞ with (rfl | hc)
state_before: α : Type u_2
E : Type u_1
F : Type ?u.1347471
𝕜 : Type ?u.1347474
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1350165
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
f : α → E
c : ℝ≥0∞
⊢ (∫ (x : α), f x ∂c • μ) = ENNReal.toReal c • ∫ (x : α), f x ∂μ

tactic: simp_rw [integral_eq_setToFun, ← setToFun_smul_left]
state_before: case inr
α : Type u_2
E : Type u_1
F : Type ?u.1347471
𝕜 : Type ?u.1347474
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1350165
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
f : α → E
c : ℝ≥0∞
hc : c ≠ ⊤
⊢ (∫ (x : α), f x ∂c • μ) = ENNReal.toReal c • ∫ (x : α), f x ∂μ

tactic: have hdfma : DominatedFinMeasAdditive μ (weightedSMul (c • μ) : Set α → E →L[ℝ] E) c.toReal :=
  mul_one c.toReal ▸ (dominatedFinMeasAdditive_weightedSMul (c • μ)).of_smul_measure c hc
state_before: case inr
α : Type u_2
E : Type u_1
F : Type ?u.1347471
𝕜 : Type ?u.1347474
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1350165
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
f : α → E
c : ℝ≥0∞
hc : c ≠ ⊤
⊢ (setToFun (c • μ) (weightedSMul (c • μ)) (_ : DominatedFinMeasAdditive (c • μ) (weightedSMul (c • μ)) 1) fun a =>
      f a) =
    setToFun μ (fun s => ENNReal.toReal c • weightedSMul μ s)
      (_ : DominatedFinMeasAdditive μ (fun s => ENNReal.toReal c • weightedSMul μ s) (‖ENNReal.toReal c‖ * 1)) fun a =>
      f a

tactic: have hdfma_smul := dominatedFinMeasAdditive_weightedSMul (F := E) (c • μ)
state_before: case inr
α : Type u_2
E : Type u_1
F : Type ?u.1347471
𝕜 : Type ?u.1347474
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1350165
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
f : α → E
c : ℝ≥0∞
hc : c ≠ ⊤
hdfma : DominatedFinMeasAdditive μ (weightedSMul (c • μ)) (ENNReal.toReal c)
⊢ (setToFun (c • μ) (weightedSMul (c • μ)) (_ : DominatedFinMeasAdditive (c • μ) (weightedSMul (c • μ)) 1) fun a =>
      f a) =
    setToFun μ (fun s => ENNReal.toReal c • weightedSMul μ s)
      (_ : DominatedFinMeasAdditive μ (fun s => ENNReal.toReal c • weightedSMul μ s) (‖ENNReal.toReal c‖ * 1)) fun a =>
      f a

tactic: rw [← setToFun_congr_smul_measure c hc hdfma hdfma_smul f]
state_before: case inr
α : Type u_2
E : Type u_1
F : Type ?u.1347471
𝕜 : Type ?u.1347474
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1350165
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
f : α → E
c : ℝ≥0∞
hc : c ≠ ⊤
hdfma : DominatedFinMeasAdditive μ (weightedSMul (c • μ)) (ENNReal.toReal c)
hdfma_smul : DominatedFinMeasAdditive (c • μ) (weightedSMul (c • μ)) 1
⊢ (setToFun (c • μ) (weightedSMul (c • μ)) (_ : DominatedFinMeasAdditive (c • μ) (weightedSMul (c • μ)) 1) fun a =>
      f a) =
    setToFun μ (fun s => ENNReal.toReal c • weightedSMul μ s)
      (_ : DominatedFinMeasAdditive μ (fun s => ENNReal.toReal c • weightedSMul μ s) (‖ENNReal.toReal c‖ * 1)) fun a =>
      f a

tactic: exact setToFun_congr_left' _ _ (fun s _ _ => weightedSMul_smul_measure μ c) f
state_before: case inr
α : Type u_2
E : Type u_1
F : Type ?u.1347471
𝕜 : Type ?u.1347474
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1350165
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
f : α → E
c : ℝ≥0∞
hc : c ≠ ⊤
hdfma : DominatedFinMeasAdditive μ (weightedSMul (c • μ)) (ENNReal.toReal c)
hdfma_smul : DominatedFinMeasAdditive (c • μ) (weightedSMul (c • μ)) 1
⊢ setToFun μ (weightedSMul (c • μ)) hdfma f =
    setToFun μ (fun s => ENNReal.toReal c • weightedSMul μ s)
      (_ : DominatedFinMeasAdditive μ (fun s => ENNReal.toReal c • weightedSMul μ s) (‖ENNReal.toReal c‖ * 1)) fun a =>
      f a

tactic: rw [ENNReal.top_toReal, zero_smul, integral_eq_setToFun, setToFun_top_smul_measure]
state_before: case inl
α : Type u_2
E : Type u_1
F : Type ?u.1347471
𝕜 : Type ?u.1347474
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1350165
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
f : α → E
⊢ (∫ (x : α), f x ∂⊤ • μ) = ENNReal.toReal ⊤ • ∫ (x : α), f x ∂μ