Theorem: MeasureTheory.lintegral_add_aux
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: simp only [iSup_eapprox_apply, hf, hg]
state_before: α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ (∫⁻ (a : α), f a + g a ∂μ) = ∫⁻ (a : α), (⨆ (n : ℕ), ↑(eapprox f n) a) + ⨆ (n : ℕ), ↑(eapprox g n) a ∂μ

tactic: congr
state_before: α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ (∫⁻ (a : α), (⨆ (n : ℕ), ↑(eapprox f n) a) + ⨆ (n : ℕ), ↑(eapprox g n) a ∂μ) =
    ∫⁻ (a : α), ⨆ (n : ℕ), (↑(eapprox f n) + ↑(eapprox g n)) a ∂μ

tactic: funext a
state_before: case e_f
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ (fun a => (⨆ (n : ℕ), ↑(eapprox f n) a) + ⨆ (n : ℕ), ↑(eapprox g n) a) = fun a =>
    ⨆ (n : ℕ), (↑(eapprox f n) + ↑(eapprox g n)) a

tactic: rw [ENNReal.iSup_add_iSup_of_monotone]
state_before: case e_f.h
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
a : α
⊢ ((⨆ (n : ℕ), ↑(eapprox f n) a) + ⨆ (n : ℕ), ↑(eapprox g n) a) = ⨆ (n : ℕ), (↑(eapprox f n) + ↑(eapprox g n)) a

tactic: rfl
state_before: case e_f.h
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
a : α
⊢ (⨆ (a_1 : ℕ), ↑(eapprox f a_1) a + ↑(eapprox g a_1) a) = ⨆ (n : ℕ), (↑(eapprox f n) + ↑(eapprox g n)) a

tactic: intro i j h
state_before: case e_f.h.hf
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
a : α
⊢ Monotone fun n => ↑(eapprox f n) a

tactic: exact monotone_eapprox _ h a
state_before: case e_f.h.hf
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
a : α
i j : ℕ
h : i ≤ j
⊢ (fun n => ↑(eapprox f n) a) i ≤ (fun n => ↑(eapprox f n) a) j

tactic: intro i j h
state_before: case e_f.h.hg
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
a : α
⊢ Monotone fun n => ↑(eapprox g n) a

tactic: exact monotone_eapprox _ h a
state_before: case e_f.h.hg
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
a : α
i j : ℕ
h : i ≤ j
⊢ (fun n => ↑(eapprox g n) a) i ≤ (fun n => ↑(eapprox g n) a) j

tactic: rw [lintegral_iSup]
state_before: α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ (∫⁻ (a : α), ⨆ (n : ℕ), (↑(eapprox f n) + ↑(eapprox g n)) a ∂μ) =
    ⨆ (n : ℕ), SimpleFunc.lintegral (eapprox f n) μ + SimpleFunc.lintegral (eapprox g n) μ

tactic: congr
state_before: α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ (⨆ (n : ℕ), ∫⁻ (a : α), (↑(eapprox f n) + ↑(eapprox g n)) a ∂μ) =
    ⨆ (n : ℕ), SimpleFunc.lintegral (eapprox f n) μ + SimpleFunc.lintegral (eapprox g n) μ

tactic: funext n
state_before: case e_s
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ (fun n => ∫⁻ (a : α), (↑(eapprox f n) + ↑(eapprox g n)) a ∂μ) = fun n =>
    SimpleFunc.lintegral (eapprox f n) μ + SimpleFunc.lintegral (eapprox g n) μ

tactic: rw [← SimpleFunc.add_lintegral, ← SimpleFunc.lintegral_eq_lintegral]
state_before: case e_s.h
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
n : ℕ
⊢ (∫⁻ (a : α), (↑(eapprox f n) + ↑(eapprox g n)) a ∂μ) =
    SimpleFunc.lintegral (eapprox f n) μ + SimpleFunc.lintegral (eapprox g n) μ

tactic: rfl
state_before: case e_s.h
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
n : ℕ
⊢ (∫⁻ (a : α), (↑(eapprox f n) + ↑(eapprox g n)) a ∂μ) = ∫⁻ (a : α), ↑(eapprox f n + eapprox g n) a ∂μ

tactic: measurability
state_before: case hf
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ ∀ (n : ℕ), Measurable fun a => (↑(eapprox f n) + ↑(eapprox g n)) a

tactic: intro i j h a
state_before: case h_mono
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ Monotone fun n a => (↑(eapprox f n) + ↑(eapprox g n)) a

tactic: exact add_le_add (monotone_eapprox _ h _) (monotone_eapprox _ h _)
state_before: case h_mono
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
i j : ℕ
h : i ≤ j
a : α
⊢ (fun n a => (↑(eapprox f n) + ↑(eapprox g n)) a) i a ≤ (fun n a => (↑(eapprox f n) + ↑(eapprox g n)) a) j a

tactic: intro i j h
state_before: case refine'_2
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ Monotone fun n => SimpleFunc.lintegral (eapprox g n) μ

tactic: exact SimpleFunc.lintegral_mono (monotone_eapprox _ h) (le_refl μ)
state_before: case refine'_2
α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
i j : ℕ
h : i ≤ j
⊢ (fun n => SimpleFunc.lintegral (eapprox g n) μ) i ≤ (fun n => SimpleFunc.lintegral (eapprox g n) μ) j

tactic: rw [lintegral_eq_iSup_eapprox_lintegral hf, lintegral_eq_iSup_eapprox_lintegral hg]
state_before: α : Type u_1
β : Type ?u.853934
γ : Type ?u.853937
δ : Type ?u.853940
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : Measurable f
hg : Measurable g
⊢ ((⨆ (n : ℕ), SimpleFunc.lintegral (eapprox f n) μ) + ⨆ (n : ℕ), SimpleFunc.lintegral (eapprox g n) μ) =
    (∫⁻ (a : α), f a ∂μ) + ∫⁻ (a : α), g a ∂μ