Theorem: MeasureTheory.Integrable.simpleFunc_mul
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: refine'
  SimpleFunc.induction (fun c s hs => _)
    (fun g₁ g₂ _ h_int₁ h_int₂ =>
      (h_int₁.add h_int₂).congr (by rw [SimpleFunc.coe_add, add_mul]))
    g
state_before: α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
⊢ Integrable (↑g * f)

tactic: simp only [SimpleFunc.const_zero, SimpleFunc.coe_piecewise, SimpleFunc.coe_const,
  SimpleFunc.coe_zero, Set.piecewise_eq_indicator]
state_before: α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
⊢ Integrable (↑(SimpleFunc.piecewise s hs (SimpleFunc.const β c) (SimpleFunc.const β 0)) * f)

tactic: rw [this, integrable_indicator_iff hs]
state_before: α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
this : Set.indicator s (const β c) * f = Set.indicator s (c • f)
⊢ Integrable (Set.indicator s (const β c) * f)

tactic: exact (hf.smul c).integrableOn
state_before: α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
this : Set.indicator s (const β c) * f = Set.indicator s (c • f)
⊢ IntegrableOn (c • f) s

tactic: rw [SimpleFunc.coe_add, add_mul]
state_before: α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
g₁ g₂ : SimpleFunc β ℝ
x✝ : Disjoint (support ↑g₁) (support ↑g₂)
h_int₁ : Integrable (↑g₁ * f)
h_int₂ : Integrable (↑g₂ * f)
⊢ ↑g₁ * f + ↑g₂ * f =ᵐ[μ] ↑(g₁ + g₂) * f

tactic: ext1 x
state_before: α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
⊢ Set.indicator s (const β c) * f = Set.indicator s (c • f)

tactic: by_cases hx : x ∈ s
state_before: case h
α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
x : β
⊢ (Set.indicator s (const β c) * f) x = Set.indicator s (c • f) x

tactic: simp only [hx, Pi.mul_apply, Set.indicator_of_mem, Pi.smul_apply, Algebra.id.smul_eq_mul,
  ← Function.const_def]
state_before: case pos
α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
x : β
hx : x ∈ s
⊢ (Set.indicator s (const β c) * f) x = Set.indicator s (c • f) x

tactic: simp only [hx, Pi.mul_apply, Set.indicator_of_not_mem, not_false_iff, MulZeroClass.zero_mul]
state_before: case neg
α : Type ?u.5134274
β : Type u_1
E : Type ?u.5134280
F : Type ?u.5134283
inst✝¹ : MeasurableSpace α
ι : Type ?u.5134289
inst✝ : NormedAddCommGroup E
f : β → ℝ
m m0 : MeasurableSpace β
μ : Measure β
g : SimpleFunc β ℝ
hf : Integrable f
c : ℝ
s : Set β
hs : MeasurableSet s
x : β
hx : ¬x ∈ s
⊢ (Set.indicator s (const β c) * f) x = Set.indicator s (c • f) x