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

tactic: rcases exists_between hε.bot_lt with ⟨ε₂, hε₂0 : 0 < ε₂, hε₂ε⟩
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
⊢ ∃ δ, δ > 0 ∧ ∀ (s : Set α), ↑↑μ s < δ → (∫⁻ (x : α) in s, f x ∂μ) < ε

tactic: rcases exists_between hε₂0 with ⟨ε₁, hε₁0, hε₁₂⟩
state_before: case intro.intro
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
⊢ ∃ δ, δ > 0 ∧ ∀ (s : Set α), ↑↑μ s < δ → (∫⁻ (x : α) in s, f x ∂μ) < ε

tactic: rcases exists_simpleFunc_forall_lintegral_sub_lt_of_pos h hε₁0.ne' with ⟨φ, _, hφ⟩
state_before: case intro.intro.intro.intro
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
⊢ ∃ δ, δ > 0 ∧ ∀ (s : Set α), ↑↑μ s < δ → (∫⁻ (x : α) in s, f x ∂μ) < ε

tactic: rcases φ.exists_forall_le with ⟨C, hC⟩
state_before: case intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
⊢ ∃ δ, δ > 0 ∧ ∀ (s : Set α), ↑↑μ s < δ → (∫⁻ (x : α) in s, f x ∂μ) < ε

tactic: use (ε₂ - ε₁) / C, ENNReal.div_pos_iff.2 ⟨(tsub_pos_iff_lt.2 hε₁₂).ne', ENNReal.coe_ne_top⟩
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
⊢ ∃ δ, δ > 0 ∧ ∀ (s : Set α), ↑↑μ s < δ → (∫⁻ (x : α) in s, f x ∂μ) < ε

tactic: refine' fun s hs => lt_of_le_of_lt _ hε₂ε
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
⊢ ∀ (s : Set α), ↑↑μ s < (ε₂ - ε₁) / ↑C → (∫⁻ (x : α) in s, f x ∂μ) < ε

tactic: simp only [lintegral_eq_nnreal, iSup_le_iff]
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
⊢ (∫⁻ (x : α) in s, f x ∂μ) ≤ ε₂

tactic: intro ψ hψ
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
⊢ ∀ (i : α →ₛ ℝ≥0),
    (∀ (x : α), ↑(↑i x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some i) (Measure.restrict μ s) ≤ ε₂

tactic: calc
  (map (↑) ψ).lintegral (μ.restrict s) ≤
      (map (↑) φ).lintegral (μ.restrict s) + (map (↑) (ψ - φ)).lintegral (μ.restrict s) := by
    rw [← SimpleFunc.add_lintegral, ← SimpleFunc.map_add @ENNReal.coe_add]
    refine' SimpleFunc.lintegral_mono (fun x => _) le_rfl
    simp only [add_tsub_eq_max, le_max_right, coe_map, Function.comp_apply, SimpleFunc.coe_add,
      SimpleFunc.coe_sub, Pi.add_apply, Pi.sub_apply, WithTop.coe_max (φ x) (ψ x), ENNReal.some]
  _ ≤ (map (↑) φ).lintegral (μ.restrict s) + ε₁ := by
    refine' add_le_add le_rfl (le_trans _ (hφ _ hψ).le)
    exact SimpleFunc.lintegral_mono le_rfl Measure.restrict_le_self
  _ ≤ (SimpleFunc.const α (C : ℝ≥0∞)).lintegral (μ.restrict s) + ε₁ :=
    (add_le_add (SimpleFunc.lintegral_mono (fun x => by exact coe_le_coe.2 (hC x)) le_rfl) le_rfl)
  _ = C * μ s + ε₁ := by
    simp only [← SimpleFunc.lintegral_eq_lintegral, coe_const, lintegral_const,
      Measure.restrict_apply, MeasurableSet.univ, univ_inter, Function.const]
  _ ≤ C * ((ε₂ - ε₁) / C) + ε₁ := by gcongr
  _ ≤ ε₂ - ε₁ + ε₁ := by gcongr; apply mul_div_le
  _ = ε₂ := tsub_add_cancel_of_le hε₁₂.le
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ SimpleFunc.lintegral (SimpleFunc.map ENNReal.some ψ) (Measure.restrict μ s) ≤ ε₂

tactic: rw [← SimpleFunc.add_lintegral, ← SimpleFunc.map_add @ENNReal.coe_add]
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ SimpleFunc.lintegral (SimpleFunc.map ENNReal.some ψ) (Measure.restrict μ s) ≤
    SimpleFunc.lintegral (SimpleFunc.map ENNReal.some φ) (Measure.restrict μ s) +
      SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) (Measure.restrict μ s)

tactic: refine' SimpleFunc.lintegral_mono (fun x => _) le_rfl
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ SimpleFunc.lintegral (SimpleFunc.map ENNReal.some ψ) (Measure.restrict μ s) ≤
    SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (φ + (ψ - φ))) (Measure.restrict μ s)

tactic: simp only [add_tsub_eq_max, le_max_right, coe_map, Function.comp_apply, SimpleFunc.coe_add,
  SimpleFunc.coe_sub, Pi.add_apply, Pi.sub_apply, WithTop.coe_max (φ x) (ψ x), ENNReal.some]
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
x : α
⊢ ↑(SimpleFunc.map ENNReal.some ψ) x ≤ ↑(SimpleFunc.map ENNReal.some (φ + (ψ - φ))) x

tactic: refine' add_le_add le_rfl (le_trans _ (hφ _ hψ).le)
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ SimpleFunc.lintegral (SimpleFunc.map ENNReal.some φ) (Measure.restrict μ s) +
      SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) (Measure.restrict μ s) ≤
    SimpleFunc.lintegral (SimpleFunc.map ENNReal.some φ) (Measure.restrict μ s) + ε₁

tactic: exact SimpleFunc.lintegral_mono le_rfl Measure.restrict_le_self
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) (Measure.restrict μ s) ≤
    SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ

tactic: exact coe_le_coe.2 (hC x)
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
x : α
⊢ ↑(SimpleFunc.map ENNReal.some φ) x ≤ ↑(const α ↑C) x

tactic: simp only [← SimpleFunc.lintegral_eq_lintegral, coe_const, lintegral_const,
  Measure.restrict_apply, MeasurableSet.univ, univ_inter, Function.const]
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ SimpleFunc.lintegral (const α ↑C) (Measure.restrict μ s) + ε₁ = ↑C * ↑↑μ s + ε₁

tactic: gcongr
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ ↑C * ↑↑μ s + ε₁ ≤ ↑C * ((ε₂ - ε₁) / ↑C) + ε₁

tactic: gcongr
state_before: α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ ↑C * ((ε₂ - ε₁) / ↑C) + ε₁ ≤ ε₂ - ε₁ + ε₁

tactic: apply mul_div_le
state_before: case bc
α : Type u_1
β : Type ?u.487463
γ : Type ?u.487466
δ : Type ?u.487469
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
h : (∫⁻ (x : α), f x ∂μ) ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
ε₂ : ℝ≥0∞
hε₂0 : 0 < ε₂
hε₂ε : ε₂ < ε
ε₁ : ℝ≥0∞
hε₁0 : 0 < ε₁
hε₁₂ : ε₁ < ε₂
φ : α →ₛ ℝ≥0
left✝ : ∀ (x : α), ↑(↑φ x) ≤ f x
hφ : ∀ (ψ : α →ₛ ℝ≥0), (∀ (x : α), ↑(↑ψ x) ≤ f x) → SimpleFunc.lintegral (SimpleFunc.map ENNReal.some (ψ - φ)) μ < ε₁
C : ℝ≥0
hC : ∀ (x : α), ↑φ x ≤ C
s : Set α
hs : ↑↑μ s < (ε₂ - ε₁) / ↑C
ψ : α →ₛ ℝ≥0
hψ : ∀ (x : α), ↑(↑ψ x) ≤ f x
⊢ ↑C * ((ε₂ - ε₁) / ↑C) ≤ ε₂ - ε₁