Theorem: intervalIntegral.sub_le_integral_of_hasDeriv_right_of_le_Ico
File: Mathlib/MeasureTheory/Integral/FundThmCalculus.lean

tactic: refine' le_of_forall_pos_le_add fun ε εpos => _
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
⊢ g b - g a ≤ ∫ (y : ℝ) in a..b, φ y

tactic: rcases exists_lt_lowerSemicontinuous_integral_lt φ φint εpos with
  ⟨G', f_lt_G', G'cont, G'int, G'lt_top, hG'⟩
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
⊢ g b - g a ≤ (∫ (y : ℝ) in a..b, φ y) + ε

tactic: set s := {t | g t - g a ≤ ∫ u in a..t, (G' u).toReal} ∩ Icc a b
state_before: case intro.intro.intro.intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
⊢ g b - g a ≤ (∫ (y : ℝ) in a..b, φ y) + ε

tactic: have s_closed : IsClosed s := by
  have : ContinuousOn (fun t => (g t - g a, ∫ u in a..t, (G' u).toReal)) (Icc a b) := by
    rw [← uIcc_of_le hab] at G'int hcont ⊢
    exact (hcont.sub continuousOn_const).prod (continuousOn_primitive_interval G'int)
  simp only [inter_comm]
  exact this.preimage_closed_of_closed isClosed_Icc OrderClosedTopology.isClosed_le'
state_before: case intro.intro.intro.intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
⊢ g b - g a ≤ (∫ (y : ℝ) in a..b, φ y) + ε

tactic: have : ContinuousOn (fun t => (g t - g a, ∫ u in a..t, (G' u).toReal)) (Icc a b) := by
  rw [← uIcc_of_le hab] at G'int hcont ⊢
  exact (hcont.sub continuousOn_const).prod (continuousOn_primitive_interval G'int)
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
⊢ IsClosed s

tactic: simp only [inter_comm]
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
this : ContinuousOn (fun t => (g t - g a, ∫ (u : ℝ) in a..t, EReal.toReal (G' u))) (Icc a b)
⊢ IsClosed s

tactic: exact this.preimage_closed_of_closed isClosed_Icc OrderClosedTopology.isClosed_le'
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
this : ContinuousOn (fun t => (g t - g a, ∫ (u : ℝ) in a..t, EReal.toReal (G' u))) (Icc a b)
⊢ IsClosed (Icc a b ∩ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)})

tactic: rw [← uIcc_of_le hab] at G'int hcont ⊢
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
⊢ ContinuousOn (fun t => (g t - g a, ∫ (u : ℝ) in a..t, EReal.toReal (G' u))) (Icc a b)

tactic: exact (hcont.sub continuousOn_const).prod (continuousOn_primitive_interval G'int)
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g [[a, b]]
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
⊢ ContinuousOn (fun t => (g t - g a, ∫ (u : ℝ) in a..t, EReal.toReal (G' u))) [[a, b]]

tactic: refine s_closed.Icc_subset_of_forall_exists_gt
  (by simp only [integral_same, mem_setOf_eq, sub_self, le_rfl]) fun t ht v t_lt_v => ?_
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
⊢ Icc a b ⊆ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)}

tactic: obtain ⟨y, g'_lt_y', y_lt_G'⟩ : ∃ y : ℝ, (g' t : EReal) < y ∧ (y : EReal) < G' t :=
  EReal.lt_iff_exists_real_btwn.1 ((EReal.coe_le_coe_iff.2 (hφg t ht.2)).trans_lt (f_lt_G' t))
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
⊢ Set.Nonempty ({t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ioc t v)

tactic: have I2 : ∀ᶠ u in 𝓝[>] t, g u - g t ≤ (u - t) * y := by
  have g'_lt_y : g' t < y := EReal.coe_lt_coe_iff.1 g'_lt_y'
  filter_upwards [(hderiv t ⟨ht.2.1, ht.2.2⟩).limsup_slope_le' (not_mem_Ioi.2 le_rfl) g'_lt_y,
    self_mem_nhdsWithin] with u hu t_lt_u
  have := mul_le_mul_of_nonneg_left hu.le (sub_pos.2 t_lt_u.out).le
  rwa [← smul_eq_mul, sub_smul_slope] at this
state_before: case intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
⊢ Set.Nonempty ({t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ioc t v)

tactic: have I3 : ∀ᶠ u in 𝓝[>] t, g u - g t ≤ ∫ w in t..u, (G' w).toReal := by
  filter_upwards [I1, I2] with u hu1 hu2 using hu2.trans hu1
state_before: case intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
⊢ Set.Nonempty ({t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ioc t v)

tactic: have I4 : ∀ᶠ u in 𝓝[>] t, u ∈ Ioc t (min v b) := by
  refine' mem_nhdsWithin_Ioi_iff_exists_Ioc_subset.2 ⟨min v b, _, Subset.rfl⟩
  simp only [lt_min_iff, mem_Ioi]
  exact ⟨t_lt_v, ht.2.2⟩
state_before: case intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
⊢ Set.Nonempty ({t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ioc t v)

tactic: rcases(I3.and I4).exists with ⟨x, hx, h'x⟩
state_before: case intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
⊢ Set.Nonempty ({t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ioc t v)

tactic: refine' ⟨x, _, Ioc_subset_Ioc le_rfl (min_le_left _ _) h'x⟩
state_before: case intro.intro.intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
x : ℝ
hx : g x - g t ≤ ∫ (w : ℝ) in t..x, EReal.toReal (G' w)
h'x : x ∈ Ioc t (min v b)
⊢ Set.Nonempty ({t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ioc t v)

tactic: simp only [integral_same, mem_setOf_eq, sub_self, le_rfl]
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
⊢ a ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)}

tactic: have B : ∀ᶠ u in 𝓝 t, (y : EReal) < G' u := G'cont.lowerSemicontinuousAt _ _ y_lt_G'
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
⊢ ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)

tactic: rcases mem_nhds_iff_exists_Ioo_subset.1 B with ⟨m, M, ⟨hm, hM⟩, H⟩
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
⊢ ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)

tactic: have : Ioo t (min M b) ∈ 𝓝[>] t := Ioo_mem_nhdsWithin_Ioi' (lt_min hM ht.right.right)
state_before: case intro.intro.intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
⊢ ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)

tactic: filter_upwards [this] with u hu
state_before: case intro.intro.intro.intro
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
⊢ ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)

tactic: have I : Icc t u ⊆ Icc a b := Icc_subset_Icc ht.2.1 (hu.2.le.trans (min_le_right _ _))
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
⊢ (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)

tactic: simp only [hu.left.le, MeasureTheory.integral_const, Algebra.id.smul_eq_mul, sub_nonneg,
  MeasurableSet.univ, Real.volume_Icc, Measure.restrict_apply, univ_inter,
  ENNReal.toReal_ofReal]
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
⊢ (u - t) * y = ∫ (x : ℝ) in Icc t u, y

tactic: rw [intervalIntegral.integral_of_le hu.1.le, ← integral_Icc_eq_integral_Ioc]
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
⊢ (∫ (x : ℝ) in Icc t u, y) ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)

tactic: apply set_integral_mono_ae_restrict
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
⊢ (∫ (x : ℝ) in Icc t u, y) ≤ ∫ (t : ℝ) in Icc t u, EReal.toReal (G' t)

tactic: simp only [integrableOn_const, Real.volume_Icc, ENNReal.ofReal_lt_top, or_true_iff]
state_before: case hf
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
⊢ IntegrableOn (fun a => y) (Icc t u)

tactic: exact IntegrableOn.mono_set G'int I
state_before: case hg
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
⊢ IntegrableOn (fun a => EReal.toReal (G' a)) (Icc t u)

tactic: have C1 : ∀ᵐ x : ℝ ∂volume.restrict (Icc t u), G' x < ∞ :=
  ae_mono (Measure.restrict_mono I le_rfl) G'lt_top
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
⊢ (fun a => y) ≤ᵐ[Measure.restrict volume (Icc t u)] fun a => EReal.toReal (G' a)

tactic: have C2 : ∀ᵐ x : ℝ ∂volume.restrict (Icc t u), x ∈ Icc t u :=
  ae_restrict_mem measurableSet_Icc
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
C1 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), G' x < ↑⊤
⊢ (fun a => y) ≤ᵐ[Measure.restrict volume (Icc t u)] fun a => EReal.toReal (G' a)

tactic: filter_upwards [C1, C2] with x G'x hx
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
C1 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), G' x < ↑⊤
C2 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), x ∈ Icc t u
⊢ (fun a => y) ≤ᵐ[Measure.restrict volume (Icc t u)] fun a => EReal.toReal (G' a)

tactic: apply EReal.coe_le_coe_iff.1
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
C1 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), G' x < ↑⊤
C2 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), x ∈ Icc t u
x : ℝ
G'x : G' x < ↑⊤
hx : x ∈ Icc t u
⊢ y ≤ EReal.toReal (G' x)

tactic: have : x ∈ Ioo m M := by
  simp only [hm.trans_le hx.left,
    (hx.right.trans_lt hu.right).trans_le (min_le_left M b), mem_Ioo, and_self_iff]
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
C1 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), G' x < ↑⊤
C2 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), x ∈ Icc t u
x : ℝ
G'x : G' x < ↑⊤
hx : x ∈ Icc t u
⊢ ↑y ≤ ↑(EReal.toReal (G' x))

tactic: refine (H this).out.le.trans_eq ?_
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this✝ : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
C1 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), G' x < ↑⊤
C2 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), x ∈ Icc t u
x : ℝ
G'x : G' x < ↑⊤
hx : x ∈ Icc t u
this : x ∈ Ioo m M
⊢ ↑y ≤ ↑(EReal.toReal (G' x))

tactic: exact (EReal.coe_toReal G'x.ne (f_lt_G' x).ne_bot).symm
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this✝ : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
C1 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), G' x < ↑⊤
C2 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), x ∈ Icc t u
x : ℝ
G'x : G' x < ↑⊤
hx : x ∈ Icc t u
this : x ∈ Ioo m M
⊢ G' x = ↑(EReal.toReal (G' x))

tactic: simp only [hm.trans_le hx.left,
  (hx.right.trans_lt hu.right).trans_le (min_le_left M b), mem_Ioo, and_self_iff]
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
B : ∀ᶠ (u : ℝ) in 𝓝 t, ↑y < G' u
m M : ℝ
H : Ioo m M ⊆ {x | (fun u => ↑y < G' u) x}
hm : m < t
hM : t < M
this : Ioo t (min M b) ∈ 𝓝[Ioi t] t
u : ℝ
hu : u ∈ Ioo t (min M b)
I : Icc t u ⊆ Icc a b
C1 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), G' x < ↑⊤
C2 : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc t u), x ∈ Icc t u
x : ℝ
G'x : G' x < ↑⊤
hx : x ∈ Icc t u
⊢ x ∈ Ioo m M

tactic: have g'_lt_y : g' t < y := EReal.coe_lt_coe_iff.1 g'_lt_y'
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
⊢ ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y

tactic: filter_upwards [(hderiv t ⟨ht.2.1, ht.2.2⟩).limsup_slope_le' (not_mem_Ioi.2 le_rfl) g'_lt_y,
  self_mem_nhdsWithin] with u hu t_lt_u
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
g'_lt_y : g' t < y
⊢ ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y

tactic: have := mul_le_mul_of_nonneg_left hu.le (sub_pos.2 t_lt_u.out).le
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
g'_lt_y : g' t < y
u : ℝ
hu : slope g t u < y
t_lt_u : u ∈ Ioi t
⊢ g u - g t ≤ (u - t) * y

tactic: rwa [← smul_eq_mul, sub_smul_slope] at this
state_before: case h
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
g'_lt_y : g' t < y
u : ℝ
hu : slope g t u < y
t_lt_u : u ∈ Ioi t
this : (u - t) * slope g t u ≤ (u - t) * y
⊢ g u - g t ≤ (u - t) * y

tactic: filter_upwards [I1, I2] with u hu1 hu2 using hu2.trans hu1
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
⊢ ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)

tactic: refine' mem_nhdsWithin_Ioi_iff_exists_Ioc_subset.2 ⟨min v b, _, Subset.rfl⟩
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
⊢ ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)

tactic: simp only [lt_min_iff, mem_Ioi]
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
⊢ min v b ∈ Ioi t

tactic: exact ⟨t_lt_v, ht.2.2⟩
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
⊢ t < v ∧ t < b

tactic: abel
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
x : ℝ
hx : g x - g t ≤ ∫ (w : ℝ) in t..x, EReal.toReal (G' w)
h'x : x ∈ Ioc t (min v b)
⊢ g x - g a = g t - g a + (g x - g t)

tactic: apply integral_add_adjacent_intervals
state_before: ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
x : ℝ
hx : g x - g t ≤ ∫ (w : ℝ) in t..x, EReal.toReal (G' w)
h'x : x ∈ Ioc t (min v b)
⊢ ((∫ (w : ℝ) in a..t, EReal.toReal (G' w)) + ∫ (w : ℝ) in t..x, EReal.toReal (G' w)) =
    ∫ (w : ℝ) in a..x, EReal.toReal (G' w)

tactic: rw [intervalIntegrable_iff_integrable_Ioc_of_le ht.2.1]
state_before: case hab
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
x : ℝ
hx : g x - g t ≤ ∫ (w : ℝ) in t..x, EReal.toReal (G' w)
h'x : x ∈ Ioc t (min v b)
⊢ IntervalIntegrable (fun x => EReal.toReal (G' x)) volume a t

tactic: exact IntegrableOn.mono_set G'int
  (Ioc_subset_Icc_self.trans (Icc_subset_Icc le_rfl ht.2.2.le))
state_before: case hab
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
x : ℝ
hx : g x - g t ≤ ∫ (w : ℝ) in t..x, EReal.toReal (G' w)
h'x : x ∈ Ioc t (min v b)
⊢ IntegrableOn (fun x => EReal.toReal (G' x)) (Ioc a t)

tactic: rw [intervalIntegrable_iff_integrable_Ioc_of_le h'x.1.le]
state_before: case hbc
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
x : ℝ
hx : g x - g t ≤ ∫ (w : ℝ) in t..x, EReal.toReal (G' w)
h'x : x ∈ Ioc t (min v b)
⊢ IntervalIntegrable (fun x => EReal.toReal (G' x)) volume t x

tactic: apply IntegrableOn.mono_set G'int
state_before: case hbc
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
x : ℝ
hx : g x - g t ≤ ∫ (w : ℝ) in t..x, EReal.toReal (G' w)
h'x : x ∈ Ioc t (min v b)
⊢ IntegrableOn (fun x => EReal.toReal (G' x)) (Ioc t x)

tactic: exact Ioc_subset_Icc_self.trans (Icc_subset_Icc ht.2.1 (h'x.2.trans (min_le_right _ _)))
state_before: case hbc
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
t : ℝ
ht : t ∈ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Ico a b
v : ℝ
t_lt_v : v ∈ Ioi t
y : ℝ
g'_lt_y' : ↑(g' t) < ↑y
y_lt_G' : ↑y < G' t
I1 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, (u - t) * y ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I2 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ (u - t) * y
I3 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, g u - g t ≤ ∫ (w : ℝ) in t..u, EReal.toReal (G' w)
I4 : ∀ᶠ (u : ℝ) in 𝓝[Ioi t] t, u ∈ Ioc t (min v b)
x : ℝ
hx : g x - g t ≤ ∫ (w : ℝ) in t..x, EReal.toReal (G' w)
h'x : x ∈ Ioc t (min v b)
⊢ Ioc t x ⊆ Icc a b

tactic: rw [intervalIntegral.integral_of_le hab]
state_before: case h.e'_4.h.e'_5
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
main : Icc a b ⊆ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)}
⊢ (∫ (y : ℝ) in a..b, φ y) = ∫ (x : ℝ) in Icc a b, φ x

tactic: simp only [integral_Icc_eq_integral_Ioc', Real.volume_singleton]
state_before: case h.e'_4.h.e'_5
ι : Type ?u.1779422
𝕜 : Type ?u.1779425
E : Type ?u.1779428
F : Type ?u.1779431
A : Type ?u.1779434
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ico a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ico a b → g' x ≤ φ x
ε : ℝ
εpos : 0 < ε
G' : ℝ → EReal
f_lt_G' : ∀ (x : ℝ), ↑(φ x) < G' x
G'cont : LowerSemicontinuous G'
G'int : Integrable fun x => EReal.toReal (G' x)
G'lt_top : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Icc a b), G' x < ⊤
hG' : (∫ (x : ℝ) in Icc a b, EReal.toReal (G' x)) < (∫ (x : ℝ) in Icc a b, φ x) + ε
s : Set ℝ := {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)} ∩ Icc a b
s_closed : IsClosed s
main : Icc a b ⊆ {t | g t - g a ≤ ∫ (u : ℝ) in a..t, EReal.toReal (G' u)}
⊢ (∫ (x : ℝ) in Ioc a b, φ x) = ∫ (x : ℝ) in Icc a b, φ x