Theorem: MeasureTheory.SimpleFunc.setToSimpleFunc_add_left'
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: simp_rw [setToSimpleFunc_eq_sum_filter]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
⊢ setToSimpleFunc T'' f = setToSimpleFunc T f + setToSimpleFunc T' f
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
⊢ ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T'' (↑f ⁻¹' {x})) x =
    ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T (↑f ⁻¹' {x})) x +
      ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T' (↑f ⁻¹' {x})) x

tactic: suffices
  ∀ x ∈ filter (fun x : E => x ≠ 0) f.range, T'' (f ⁻¹' {x}) = T (f ⁻¹' {x}) + T' (f ⁻¹' {x}) by
  rw [← sum_add_distrib]
  refine Finset.sum_congr rfl fun x hx => ?_
  rw [this x hx]
  push_cast
  rw [Pi.add_apply]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
⊢ ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T'' (↑f ⁻¹' {x})) x =
    ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T (↑f ⁻¹' {x})) x +
      ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T' (↑f ⁻¹' {x})) x
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
⊢ ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})

tactic: intro x hx
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
⊢ ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})

tactic: refine
  h_add (f ⁻¹' {x}) (measurableSet_preimage _ _) (measure_preimage_lt_top_of_integrable _ hf ?_)
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ x ≠ 0

tactic: rw [mem_filter] at hx
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ x ≠ 0
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
x : E
hx : x ∈ f.range ∧ x ≠ 0
⊢ x ≠ 0

tactic: exact hx.2
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
x : E
hx : x ∈ f.range ∧ x ≠ 0
⊢ x ≠ 0
state_after: no goals

tactic: rw [← sum_add_distrib]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
⊢ ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T'' (↑f ⁻¹' {x})) x =
    ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T (↑f ⁻¹' {x})) x +
      ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T' (↑f ⁻¹' {x})) x
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
⊢ ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T'' (↑f ⁻¹' {x})) x =
    ∑ x ∈ filter (fun x => x ≠ 0) f.range, ((T (↑f ⁻¹' {x})) x + (T' (↑f ⁻¹' {x})) x)

tactic: refine Finset.sum_congr rfl fun x hx => ?_
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
⊢ ∑ x ∈ filter (fun x => x ≠ 0) f.range, (T'' (↑f ⁻¹' {x})) x =
    ∑ x ∈ filter (fun x => x ≠ 0) f.range, ((T (↑f ⁻¹' {x})) x + (T' (↑f ⁻¹' {x})) x)
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ (T'' (↑f ⁻¹' {x})) x = (T (↑f ⁻¹' {x})) x + (T' (↑f ⁻¹' {x})) x

tactic: rw [this x hx]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ (T'' (↑f ⁻¹' {x})) x = (T (↑f ⁻¹' {x})) x + (T' (↑f ⁻¹' {x})) x
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ (T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})) x = (T (↑f ⁻¹' {x})) x + (T' (↑f ⁻¹' {x})) x

tactic: push_cast
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ (T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})) x = (T (↑f ⁻¹' {x})) x + (T' (↑f ⁻¹' {x})) x
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ (⇑(T (↑f ⁻¹' {x})) + ⇑(T' (↑f ⁻¹' {x}))) x = (T (↑f ⁻¹' {x})) x + (T' (↑f ⁻¹' {x})) x

tactic: rw [Pi.add_apply]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T T' T'' : Set α → E →L[ℝ] F
h_add : ∀ (s : Set α), MeasurableSet s → μ s < ⊤ → T'' s = T s + T' s
f : α →ₛ E
hf : Integrable (↑f) μ
this : ∀ x ∈ filter (fun x => x ≠ 0) f.range, T'' (↑f ⁻¹' {x}) = T (↑f ⁻¹' {x}) + T' (↑f ⁻¹' {x})
x : E
hx : x ∈ filter (fun x => x ≠ 0) f.range
⊢ (⇑(T (↑f ⁻¹' {x})) + ⇑(T' (↑f ⁻¹' {x}))) x = (T (↑f ⁻¹' {x})) x + (T' (↑f ⁻¹' {x})) x
state_after: no goals