Theorem: not_intervalIntegrable_of_tendsto_norm_atTop_of_deriv_isBigO_filter
File: Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean

tactic: intro hgi
state_before: E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
⊢ ¬IntervalIntegrable g volume a b

tactic: obtain ⟨C, hC₀, s, hsl, hsub, hfd, hg⟩ :
  ∃ (C : ℝ) (_ : 0 ≤ C), ∃ s ∈ l, (∀ x ∈ s, ∀ y ∈ s, [[x, y]] ⊆ [[a, b]]) ∧
    (∀ x ∈ s, ∀ y ∈ s, ∀ z ∈ [[x, y]], DifferentiableAt ℝ f z) ∧
      ∀ x ∈ s, ∀ y ∈ s, ∀ z ∈ [[x, y]], ‖deriv f z‖ ≤ C * ‖g z‖ := by
  rcases hfg.exists_nonneg with ⟨C, C₀, hC⟩
  have h : ∀ᶠ x : ℝ × ℝ in l.prod l,
      ∀ y ∈ [[x.1, x.2]], (DifferentiableAt ℝ f y ∧ ‖deriv f y‖ ≤ C * ‖g y‖) ∧ y ∈ [[a, b]] :=
    (tendsto_fst.uIcc tendsto_snd).eventually ((hd.and hC.bound).and hl).smallSets
  rcases mem_prod_self_iff.1 h with ⟨s, hsl, hs⟩
  simp only [prod_subset_iff, mem_setOf_eq] at hs
  exact ⟨C, C₀, s, hsl, fun x hx y hy z hz => (hs x hx y hy z hz).2, fun x hx y hy z hz =>
    (hs x hx y hy z hz).1.1, fun x hx y hy z hz => (hs x hx y hy z hz).1.2⟩
state_before: E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
hgi : IntervalIntegrable g volume a b
⊢ False

tactic: replace hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
state_before: case intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
hgi : IntervalIntegrable g volume a b
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hsub : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]
hfd : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
⊢ False

tactic: obtain ⟨c, hc, d, hd, hlt⟩ : ∃ c ∈ s, ∃ d ∈ s, (‖f c‖ + ∫ y in Ι a b, C * ‖g y‖) < ‖f d‖ := by
  rcases Filter.nonempty_of_mem hsl with ⟨c, hc⟩
  have : ∀ᶠ x in l, (‖f c‖ + ∫ y in Ι a b, C * ‖g y‖) < ‖f x‖ :=
    hf.eventually (eventually_gt_atTop _)
  exact ⟨c, hc, (this.and hsl).exists.imp fun d hd => ⟨hd.2, hd.1⟩⟩
state_before: case intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hsub : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]
hfd : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
⊢ False

tactic: specialize hsub c hc d hd
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hsub : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]
hfd : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
⊢ False

tactic: specialize hfd c hc d hd
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hfd : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
⊢ False

tactic: replace hg : ∀ x ∈ Ι c d, ‖deriv f x‖ ≤ C * ‖g x‖
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
hfd : ∀ (z : ℝ), z ∈ [[c, d]] → DifferentiableAt ℝ f z
⊢ False

tactic: exact fun z hz => hg c hc d hd z ⟨hz.1.le, hz.2⟩
state_before: case hg
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
hfd : ∀ (z : ℝ), z ∈ [[c, d]] → DifferentiableAt ℝ f z
⊢ ∀ (x : ℝ), x ∈ Ι c d → ‖deriv f x‖ ≤ C * ‖g x‖

case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
hfd : ∀ (z : ℝ), z ∈ [[c, d]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ Ι c d → ‖deriv f x‖ ≤ C * ‖g x‖
⊢ False

tactic: have hg_ae : ∀ᵐ x ∂volume.restrict (Ι c d), ‖deriv f x‖ ≤ C * ‖g x‖ :=
  (ae_restrict_mem measurableSet_uIoc).mono hg
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
hfd : ∀ (z : ℝ), z ∈ [[c, d]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ Ι c d → ‖deriv f x‖ ≤ C * ‖g x‖
⊢ False

tactic: have hsub' : Ι c d ⊆ Ι a b := uIoc_subset_uIoc_of_uIcc_subset_uIcc hsub
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
hfd : ∀ (z : ℝ), z ∈ [[c, d]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ Ι c d → ‖deriv f x‖ ≤ C * ‖g x‖
hg_ae : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Ι c d), ‖deriv f x‖ ≤ C * ‖g x‖
⊢ False

tactic: have hfi : IntervalIntegrable (deriv f) volume c d :=
  (hgi.mono_set hsub).mono_fun' (aestronglyMeasurable_deriv _ _) hg_ae
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
hfd : ∀ (z : ℝ), z ∈ [[c, d]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ Ι c d → ‖deriv f x‖ ≤ C * ‖g x‖
hg_ae : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Ι c d), ‖deriv f x‖ ≤ C * ‖g x‖
hsub' : Ι c d ⊆ Ι a b
⊢ False

tactic: refine' hlt.not_le (sub_le_iff_le_add'.1 _)
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
hfd : ∀ (z : ℝ), z ∈ [[c, d]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ Ι c d → ‖deriv f x‖ ≤ C * ‖g x‖
hg_ae : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Ι c d), ‖deriv f x‖ ≤ C * ‖g x‖
hsub' : Ι c d ⊆ Ι a b
hfi : IntervalIntegrable (deriv f) volume c d
⊢ False

tactic: calc
  ‖f d‖ - ‖f c‖ ≤ ‖f d - f c‖ := norm_sub_norm_le _ _
  _ = ‖∫ x in c..d, deriv f x‖ := (congr_arg _ (integral_deriv_eq_sub hfd hfi).symm)
  _ = ‖∫ x in Ι c d, deriv f x‖ := (norm_integral_eq_norm_integral_Ioc _)
  _ ≤ ∫ x in Ι c d, ‖deriv f x‖ := (norm_integral_le_integral_norm _)
  _ ≤ ∫ x in Ι c d, C * ‖g x‖ :=
    (set_integral_mono_on hfi.norm.def (hgi.def.mono_set hsub') measurableSet_uIoc hg)
  _ ≤ ∫ x in Ι a b, C * ‖g x‖ :=
    set_integral_mono_set hgi.def (ae_of_all _ fun x => mul_nonneg hC₀ (norm_nonneg _))
      hsub'.eventuallyLE
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd✝ : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
d : ℝ
hd : d ∈ s
hlt : (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖
hsub : [[c, d]] ⊆ [[a, b]]
hfd : ∀ (z : ℝ), z ∈ [[c, d]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ Ι c d → ‖deriv f x‖ ≤ C * ‖g x‖
hg_ae : ∀ᵐ (x : ℝ) ∂Measure.restrict volume (Ι c d), ‖deriv f x‖ ≤ C * ‖g x‖
hsub' : Ι c d ⊆ Ι a b
hfi : IntervalIntegrable (deriv f) volume c d
⊢ ‖f d‖ - ‖f c‖ ≤ ∫ (y : ℝ) in Ι a b, C * ‖g y‖

tactic: rcases hfg.exists_nonneg with ⟨C, C₀, hC⟩
state_before: E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
hgi : IntervalIntegrable g volume a b
⊢ ∃ C x s,
    s ∈ l ∧
      (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]) ∧
        (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z) ∧
          ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖

tactic: have h : ∀ᶠ x : ℝ × ℝ in l.prod l,
    ∀ y ∈ [[x.1, x.2]], (DifferentiableAt ℝ f y ∧ ‖deriv f y‖ ≤ C * ‖g y‖) ∧ y ∈ [[a, b]] :=
  (tendsto_fst.uIcc tendsto_snd).eventually ((hd.and hC.bound).and hl).smallSets
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
hgi : IntervalIntegrable g volume a b
C : ℝ
C₀ : 0 ≤ C
hC : IsBigOWith C l (deriv f) g
⊢ ∃ C x s,
    s ∈ l ∧
      (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]) ∧
        (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z) ∧
          ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖

tactic: rcases mem_prod_self_iff.1 h with ⟨s, hsl, hs⟩
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
hgi : IntervalIntegrable g volume a b
C : ℝ
C₀ : 0 ≤ C
hC : IsBigOWith C l (deriv f) g
h :
  ∀ᶠ (x : ℝ × ℝ) in Filter.prod l l,
    ∀ (y : ℝ), y ∈ [[x.fst, x.snd]] → (DifferentiableAt ℝ f y ∧ ‖deriv f y‖ ≤ C * ‖g y‖) ∧ y ∈ [[a, b]]
⊢ ∃ C x s,
    s ∈ l ∧
      (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]) ∧
        (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z) ∧
          ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖

tactic: simp only [prod_subset_iff, mem_setOf_eq] at hs
state_before: case intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
hgi : IntervalIntegrable g volume a b
C : ℝ
C₀ : 0 ≤ C
hC : IsBigOWith C l (deriv f) g
h :
  ∀ᶠ (x : ℝ × ℝ) in Filter.prod l l,
    ∀ (y : ℝ), y ∈ [[x.fst, x.snd]] → (DifferentiableAt ℝ f y ∧ ‖deriv f y‖ ≤ C * ‖g y‖) ∧ y ∈ [[a, b]]
s : Set ℝ
hsl : s ∈ l
hs :
  s ×ˢ s ⊆
    {x |
      (fun x => ∀ (y : ℝ), y ∈ [[x.fst, x.snd]] → (DifferentiableAt ℝ f y ∧ ‖deriv f y‖ ≤ C * ‖g y‖) ∧ y ∈ [[a, b]]) x}
⊢ ∃ C x s,
    s ∈ l ∧
      (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]) ∧
        (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z) ∧
          ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖

tactic: exact ⟨C, C₀, s, hsl, fun x hx y hy z hz => (hs x hx y hy z hz).2, fun x hx y hy z hz =>
  (hs x hx y hy z hz).1.1, fun x hx y hy z hz => (hs x hx y hy z hz).1.2⟩
state_before: case intro.intro.intro.intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
hgi : IntervalIntegrable g volume a b
C : ℝ
C₀ : 0 ≤ C
hC : IsBigOWith C l (deriv f) g
h :
  ∀ᶠ (x : ℝ × ℝ) in Filter.prod l l,
    ∀ (y : ℝ), y ∈ [[x.fst, x.snd]] → (DifferentiableAt ℝ f y ∧ ‖deriv f y‖ ≤ C * ‖g y‖) ∧ y ∈ [[a, b]]
s : Set ℝ
hsl : s ∈ l
hs :
  ∀ (x : ℝ),
    x ∈ s →
      ∀ (y : ℝ),
        y ∈ s → ∀ (y_1 : ℝ), y_1 ∈ [[x, y]] → (DifferentiableAt ℝ f y_1 ∧ ‖deriv f y_1‖ ≤ C * ‖g y_1‖) ∧ y_1 ∈ [[a, b]]
⊢ ∃ C x s,
    s ∈ l ∧
      (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]) ∧
        (∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z) ∧
          ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖

tactic: convert hgi.norm.smul C using 1
state_before: case hgi
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
hgi : IntervalIntegrable g volume a b
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hsub : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]
hfd : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
⊢ IntervalIntegrable (fun x => C * ‖g x‖) volume a b

tactic: rcases Filter.nonempty_of_mem hsl with ⟨c, hc⟩
state_before: E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hsub : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]
hfd : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
⊢ ∃ c, c ∈ s ∧ ∃ d, d ∈ s ∧ (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖

tactic: have : ∀ᶠ x in l, (‖f c‖ + ∫ y in Ι a b, C * ‖g y‖) < ‖f x‖ :=
  hf.eventually (eventually_gt_atTop _)
state_before: case intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hsub : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]
hfd : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
⊢ ∃ c, c ∈ s ∧ ∃ d, d ∈ s ∧ (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖

tactic: exact ⟨c, hc, (this.and hsl).exists.imp fun d hd => ⟨hd.2, hd.1⟩⟩
state_before: case intro
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : SecondCountableTopology E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : NeBot l
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
C : ℝ
hC₀ : 0 ≤ C
s : Set ℝ
hsl : s ∈ l
hsub : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → [[x, y]] ⊆ [[a, b]]
hfd : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → DifferentiableAt ℝ f z
hg : ∀ (x : ℝ), x ∈ s → ∀ (y : ℝ), y ∈ s → ∀ (z : ℝ), z ∈ [[x, y]] → ‖deriv f z‖ ≤ C * ‖g z‖
hgi : IntervalIntegrable (fun x => C * ‖g x‖) volume a b
c : ℝ
hc : c ∈ s
this : ∀ᶠ (x : ℝ) in l, (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f x‖
⊢ ∃ c, c ∈ s ∧ ∃ d, d ∈ s ∧ (‖f c‖ + ∫ (y : ℝ) in Ι a b, C * ‖g y‖) < ‖f d‖