Theorem: MeasureTheory.SimpleFunc.exists_lt_lintegral_simpleFunc_of_lt_lintegral
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: induction' f using MeasureTheory.SimpleFunc.induction with c s hs f₁ f₂ _ h₁ h₂ generalizing L
state_before: α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L : ℝ≥0∞
hL : L < ∫⁻ (x : α), ↑(↑f x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑f x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: simp only [hs, const_zero, coe_piecewise, coe_const, SimpleFunc.coe_zero, univ_inter,
  piecewise_eq_indicator, lintegral_indicator, lintegral_const, Measure.restrict_apply',
  ENNReal.coe_indicator, Function.const_apply] at hL
state_before: case h_ind
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ∫⁻ (x : α), ↑(↑(piecewise s hs (const α c) (const α 0)) x) ∂μ
⊢ ∃ g,
    (∀ (x : α), ↑g x ≤ ↑(piecewise s hs (const α c) (const α 0)) x) ∧
      (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: have c_ne_zero : c ≠ 0 := by
  intro hc
  simp only [hc, ENNReal.coe_zero, MulZeroClass.zero_mul, not_lt_zero] at hL
state_before: case h_ind
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
⊢ ∃ g,
    (∀ (x : α), ↑g x ≤ ↑(piecewise s hs (const α c) (const α 0)) x) ∧
      (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: obtain ⟨t, ht, ts, mlt, t_top⟩ :
  ∃ t : Set α, MeasurableSet t ∧ t ⊆ s ∧ L / ↑c < μ t ∧ μ t < ∞ :=
  Measure.exists_subset_measure_lt_top hs this
state_before: case h_ind
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
⊢ ∃ g,
    (∀ (x : α), ↑g x ≤ ↑(piecewise s hs (const α c) (const α 0)) x) ∧
      (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: refine' ⟨piecewise t ht (const α c) (const α 0), fun x => _, _, _⟩
state_before: case h_ind.intro.intro.intro.intro
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
t : Set α
ht : MeasurableSet t
ts : t ⊆ s
mlt : L / ↑c < ↑↑μ t
t_top : ↑↑μ t < ⊤
⊢ ∃ g,
    (∀ (x : α), ↑g x ≤ ↑(piecewise s hs (const α c) (const α 0)) x) ∧
      (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: intro hc
state_before: α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
⊢ c ≠ 0

tactic: simp only [hc, ENNReal.coe_zero, MulZeroClass.zero_mul, not_lt_zero] at hL
state_before: α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
hc : c = 0
⊢ False

tactic: rwa [ENNReal.div_lt_iff, mul_comm]
state_before: α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
⊢ L / ↑c < ↑↑μ s

tactic: simp only [c_ne_zero, Ne.def, coe_eq_zero, not_false_iff, true_or_iff]
state_before: case h0
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
⊢ ↑c ≠ 0 ∨ L ≠ 0

tactic: simp only [Ne.def, coe_ne_top, not_false_iff, true_or_iff]
state_before: case ht
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
⊢ ↑c ≠ ⊤ ∨ L ≠ ⊤

tactic: refine indicator_le_indicator_of_subset ts (fun x => ?_) x
state_before: case h_ind.intro.intro.intro.intro.refine'_1
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
t : Set α
ht : MeasurableSet t
ts : t ⊆ s
mlt : L / ↑c < ↑↑μ t
t_top : ↑↑μ t < ⊤
x : α
⊢ ↑(piecewise t ht (const α c) (const α 0)) x ≤ ↑(piecewise s hs (const α c) (const α 0)) x

tactic: exact zero_le _
state_before: case h_ind.intro.intro.intro.intro.refine'_1
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
t : Set α
ht : MeasurableSet t
ts : t ⊆ s
mlt : L / ↑c < ↑↑μ t
t_top : ↑↑μ t < ⊤
x✝ x : α
⊢ 0 ≤ ↑(const α c) x

tactic: simp only [ht, const_zero, coe_piecewise, coe_const, SimpleFunc.coe_zero, univ_inter,
  piecewise_eq_indicator, ENNReal.coe_indicator, Function.const_apply, lintegral_indicator,
  lintegral_const, Measure.restrict_apply', ENNReal.mul_lt_top ENNReal.coe_ne_top t_top.ne]
state_before: case h_ind.intro.intro.intro.intro.refine'_2
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
t : Set α
ht : MeasurableSet t
ts : t ⊆ s
mlt : L / ↑c < ↑↑μ t
t_top : ↑↑μ t < ⊤
⊢ (∫⁻ (x : α), ↑(↑(piecewise t ht (const α c) (const α 0)) x) ∂μ) < ⊤

tactic: simp only [ht, const_zero, coe_piecewise, coe_const, SimpleFunc.coe_zero,
  piecewise_eq_indicator, ENNReal.coe_indicator, Function.const_apply, lintegral_indicator,
  lintegral_const, Measure.restrict_apply', univ_inter]
state_before: case h_ind.intro.intro.intro.intro.refine'_3
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
t : Set α
ht : MeasurableSet t
ts : t ⊆ s
mlt : L / ↑c < ↑↑μ t
t_top : ↑↑μ t < ⊤
⊢ L < ∫⁻ (x : α), ↑(↑(piecewise t ht (const α c) (const α 0)) x) ∂μ

tactic: rwa [mul_comm, ← ENNReal.div_lt_iff]
state_before: case h_ind.intro.intro.intro.intro.refine'_3
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
t : Set α
ht : MeasurableSet t
ts : t ⊆ s
mlt : L / ↑c < ↑↑μ t
t_top : ↑↑μ t < ⊤
⊢ L < ↑c * ↑↑μ t

tactic: simp only [c_ne_zero, Ne.def, coe_eq_zero, not_false_iff, true_or_iff]
state_before: case h_ind.intro.intro.intro.intro.refine'_3.h0
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
t : Set α
ht : MeasurableSet t
ts : t ⊆ s
mlt : L / ↑c < ↑↑μ t
t_top : ↑↑μ t < ⊤
⊢ ↑c ≠ 0 ∨ L ≠ 0

tactic: simp only [Ne.def, coe_ne_top, not_false_iff, true_or_iff]
state_before: case h_ind.intro.intro.intro.intro.refine'_3.ht
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
c : ℝ≥0
s : Set α
hs : MeasurableSet s
L : ℝ≥0∞
hL : L < ↑c * ↑↑μ s
c_ne_zero : c ≠ 0
this : L / ↑c < ↑↑μ s
t : Set α
ht : MeasurableSet t
ts : t ⊆ s
mlt : L / ↑c < ↑↑μ t
t_top : ↑↑μ t < ⊤
⊢ ↑c ≠ ⊤ ∨ L ≠ ⊤

tactic: replace hL : L < (∫⁻ x, f₁ x ∂μ) + ∫⁻ x, f₂ x ∂μ
state_before: case h_add
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL : L < ∫⁻ (x : α), ↑(↑(f₁ + f₂) x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: by_cases hf₁ : (∫⁻ x, f₁ x ∂μ) = 0
state_before: case h_add
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: by_cases hf₂ : (∫⁻ x, f₂ x ∂μ) = 0
state_before: case neg
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: obtain ⟨L₁, L₂, hL₁, hL₂, hL⟩ :
  ∃ L₁ L₂ : ℝ≥0∞, (L₁ < ∫⁻ x, f₁ x ∂μ) ∧ (L₂ < ∫⁻ x, f₂ x ∂μ) ∧ L < L₁ + L₂ :=
  ENNReal.exists_lt_add_of_lt_add hL hf₁ hf₂
state_before: case neg
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: rcases h₁ hL₁ with ⟨g₁, g₁_le, g₁_top, hg₁⟩
state_before: case neg.intro.intro.intro.intro
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: rcases h₂ hL₂ with ⟨g₂, g₂_le, g₂_top, hg₂⟩
state_before: case neg.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
g₁ : α →ₛ ℝ≥0
g₁_le : ∀ (x : α), ↑g₁ x ≤ ↑f₁ x
g₁_top : (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) < ⊤
hg₁ : L₁ < ∫⁻ (x : α), ↑(↑g₁ x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: refine' ⟨g₁ + g₂, fun x => add_le_add (g₁_le x) (g₂_le x), _, _⟩
state_before: case neg.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
g₁ : α →ₛ ℝ≥0
g₁_le : ∀ (x : α), ↑g₁ x ≤ ↑f₁ x
g₁_top : (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) < ⊤
hg₁ : L₁ < ∫⁻ (x : α), ↑(↑g₁ x) ∂μ
g₂ : α →ₛ ℝ≥0
g₂_le : ∀ (x : α), ↑g₂ x ≤ ↑f₂ x
g₂_top : (∫⁻ (x : α), ↑(↑g₂ x) ∂μ) < ⊤
hg₂ : L₂ < ∫⁻ (x : α), ↑(↑g₂ x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: rwa [← lintegral_add_left f₁.measurable.coe_nnreal_ennreal]
state_before: case hL
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL : L < ∫⁻ (x : α), ↑(↑(f₁ + f₂) x) ∂μ
⊢ L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ

tactic: simp only [hf₁, zero_add] at hL
state_before: case pos
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: rcases h₂ hL with ⟨g, g_le, g_top, gL⟩
state_before: case pos
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hf₁ : (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hL : L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: refine' ⟨g, fun x => (g_le x).trans _, g_top, gL⟩
state_before: case pos.intro.intro.intro
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hf₁ : (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hL : L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
g : α →ₛ ℝ≥0
g_le : ∀ (x : α), ↑g x ≤ ↑f₂ x
g_top : (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤
gL : L < ∫⁻ (x : α), ↑(↑g x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: simp only [SimpleFunc.coe_add, Pi.add_apply, le_add_iff_nonneg_left, zero_le']
state_before: case pos.intro.intro.intro
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hf₁ : (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hL : L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
g : α →ₛ ℝ≥0
g_le : ∀ (x : α), ↑g x ≤ ↑f₂ x
g_top : (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤
gL : L < ∫⁻ (x : α), ↑(↑g x) ∂μ
x : α
⊢ ↑f₂ x ≤ ↑(f₁ + f₂) x

tactic: simp only [hf₂, add_zero] at hL
state_before: case pos
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : (∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: rcases h₁ hL with ⟨g, g_le, g_top, gL⟩
state_before: case pos
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : (∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
hL : L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: refine' ⟨g, fun x => (g_le x).trans _, g_top, gL⟩
state_before: case pos.intro.intro.intro
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : (∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
hL : L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
g : α →ₛ ℝ≥0
g_le : ∀ (x : α), ↑g x ≤ ↑f₁ x
g_top : (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤
gL : L < ∫⁻ (x : α), ↑(↑g x) ∂μ
⊢ ∃ g, (∀ (x : α), ↑g x ≤ ↑(f₁ + f₂) x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ

tactic: simp only [SimpleFunc.coe_add, Pi.add_apply, le_add_iff_nonneg_right, zero_le']
state_before: case pos.intro.intro.intro
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : (∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
hL : L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
g : α →ₛ ℝ≥0
g_le : ∀ (x : α), ↑g x ≤ ↑f₁ x
g_top : (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤
gL : L < ∫⁻ (x : α), ↑(↑g x) ∂μ
x : α
⊢ ↑f₁ x ≤ ↑(f₁ + f₂) x

tactic: apply lt_of_le_of_lt _ (add_lt_top.2 ⟨g₁_top, g₂_top⟩)
state_before: case neg.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_1
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
g₁ : α →ₛ ℝ≥0
g₁_le : ∀ (x : α), ↑g₁ x ≤ ↑f₁ x
g₁_top : (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) < ⊤
hg₁ : L₁ < ∫⁻ (x : α), ↑(↑g₁ x) ∂μ
g₂ : α →ₛ ℝ≥0
g₂_le : ∀ (x : α), ↑g₂ x ≤ ↑f₂ x
g₂_top : (∫⁻ (x : α), ↑(↑g₂ x) ∂μ) < ⊤
hg₂ : L₂ < ∫⁻ (x : α), ↑(↑g₂ x) ∂μ
⊢ (∫⁻ (x : α), ↑(↑(g₁ + g₂) x) ∂μ) < ⊤

tactic: rw [← lintegral_add_left g₁.measurable.coe_nnreal_ennreal]
state_before: α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
g₁ : α →ₛ ℝ≥0
g₁_le : ∀ (x : α), ↑g₁ x ≤ ↑f₁ x
g₁_top : (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) < ⊤
hg₁ : L₁ < ∫⁻ (x : α), ↑(↑g₁ x) ∂μ
g₂ : α →ₛ ℝ≥0
g₂_le : ∀ (x : α), ↑g₂ x ≤ ↑f₂ x
g₂_top : (∫⁻ (x : α), ↑(↑g₂ x) ∂μ) < ⊤
hg₂ : L₂ < ∫⁻ (x : α), ↑(↑g₂ x) ∂μ
⊢ (∫⁻ (x : α), ↑(↑(g₁ + g₂) x) ∂μ) ≤ (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑g₂ x) ∂μ

tactic: exact le_rfl
state_before: α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
g₁ : α →ₛ ℝ≥0
g₁_le : ∀ (x : α), ↑g₁ x ≤ ↑f₁ x
g₁_top : (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) < ⊤
hg₁ : L₁ < ∫⁻ (x : α), ↑(↑g₁ x) ∂μ
g₂ : α →ₛ ℝ≥0
g₂_le : ∀ (x : α), ↑g₂ x ≤ ↑f₂ x
g₂_top : (∫⁻ (x : α), ↑(↑g₂ x) ∂μ) < ⊤
hg₂ : L₂ < ∫⁻ (x : α), ↑(↑g₂ x) ∂μ
⊢ (∫⁻ (x : α), ↑(↑(g₁ + g₂) x) ∂μ) ≤ ∫⁻ (a : α), ↑(↑g₁ a) + ↑(↑g₂ a) ∂μ

tactic: apply hL.trans ((ENNReal.add_lt_add hg₁ hg₂).trans_le _)
state_before: case neg.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2
α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
g₁ : α →ₛ ℝ≥0
g₁_le : ∀ (x : α), ↑g₁ x ≤ ↑f₁ x
g₁_top : (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) < ⊤
hg₁ : L₁ < ∫⁻ (x : α), ↑(↑g₁ x) ∂μ
g₂ : α →ₛ ℝ≥0
g₂_le : ∀ (x : α), ↑g₂ x ≤ ↑f₂ x
g₂_top : (∫⁻ (x : α), ↑(↑g₂ x) ∂μ) < ⊤
hg₂ : L₂ < ∫⁻ (x : α), ↑(↑g₂ x) ∂μ
⊢ L < ∫⁻ (x : α), ↑(↑(g₁ + g₂) x) ∂μ

tactic: rw [← lintegral_add_left g₁.measurable.coe_nnreal_ennreal]
state_before: α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
g₁ : α →ₛ ℝ≥0
g₁_le : ∀ (x : α), ↑g₁ x ≤ ↑f₁ x
g₁_top : (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) < ⊤
hg₁ : L₁ < ∫⁻ (x : α), ↑(↑g₁ x) ∂μ
g₂ : α →ₛ ℝ≥0
g₂_le : ∀ (x : α), ↑g₂ x ≤ ↑f₂ x
g₂_top : (∫⁻ (x : α), ↑(↑g₂ x) ∂μ) < ⊤
hg₂ : L₂ < ∫⁻ (x : α), ↑(↑g₂ x) ∂μ
⊢ ((∫⁻ (x : α), ↑(↑g₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑g₂ x) ∂μ) ≤ ∫⁻ (x : α), ↑(↑(g₁ + g₂) x) ∂μ

tactic: exact le_rfl
state_before: α : Type u_1
β : Type ?u.1832831
γ : Type ?u.1832834
δ : Type ?u.1832837
m✝ m0 : MeasurableSpace α
E : Type ?u.1832846
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : OpensMeasurableSpace E
m : MeasurableSpace α
μ : Measure α
inst✝ : SigmaFinite μ
f : α →ₛ ℝ≥0
L✝ : ℝ≥0∞
hL✝¹ : L✝ < ∫⁻ (x : α), ↑(↑f x) ∂μ
f₁ f₂ : α →ₛ ℝ≥0
a✝ : Disjoint (support ↑f₁) (support ↑f₂)
h₁ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₁ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
h₂ :
  ∀ {L : ℝ≥0∞},
    (L < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ) →
      ∃ g, (∀ (x : α), ↑g x ≤ ↑f₂ x) ∧ (∫⁻ (x : α), ↑(↑g x) ∂μ) < ⊤ ∧ L < ∫⁻ (x : α), ↑(↑g x) ∂μ
L : ℝ≥0∞
hL✝ : L < (∫⁻ (x : α), ↑(↑f₁ x) ∂μ) + ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hf₁ : ¬(∫⁻ (x : α), ↑(↑f₁ x) ∂μ) = 0
hf₂ : ¬(∫⁻ (x : α), ↑(↑f₂ x) ∂μ) = 0
L₁ L₂ : ℝ≥0∞
hL₁ : L₁ < ∫⁻ (x : α), ↑(↑f₁ x) ∂μ
hL₂ : L₂ < ∫⁻ (x : α), ↑(↑f₂ x) ∂μ
hL : L < L₁ + L₂
g₁ : α →ₛ ℝ≥0
g₁_le : ∀ (x : α), ↑g₁ x ≤ ↑f₁ x
g₁_top : (∫⁻ (x : α), ↑(↑g₁ x) ∂μ) < ⊤
hg₁ : L₁ < ∫⁻ (x : α), ↑(↑g₁ x) ∂μ
g₂ : α →ₛ ℝ≥0
g₂_le : ∀ (x : α), ↑g₂ x ≤ ↑f₂ x
g₂_top : (∫⁻ (x : α), ↑(↑g₂ x) ∂μ) < ⊤
hg₂ : L₂ < ∫⁻ (x : α), ↑(↑g₂ x) ∂μ
⊢ (∫⁻ (a : α), ↑(↑g₁ a) + ↑(↑g₂ a) ∂μ) ≤ ∫⁻ (x : α), ↑(↑(g₁ + g₂) x) ∂μ