Theorem: StieltjesFunction.length_subadditive_Icc_Ioo
File: Mathlib/MeasureTheory/Measure/Stieltjes.lean

tactic: suffices
  ∀ (s : Finset ℕ) (b), Icc a b ⊆ (⋃ i ∈ (s : Set ℕ), Ioo (c i) (d i)) →
    (ofReal (f b - f a) : ℝ≥0∞) ≤ ∑ i ∈ s, ofReal (f (d i) - f (c i)) by
  rcases isCompact_Icc.elim_finite_subcover_image
      (fun (i : ℕ) (_ : i ∈ univ) => @isOpen_Ioo _ _ _ _ (c i) (d i)) (by simpa using ss) with
    ⟨s, _, hf, hs⟩
  have e : ⋃ i ∈ (hf.toFinset : Set ℕ), Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i) := by
    simp only [ext_iff, exists_prop, Finset.set_biUnion_coe, mem_iUnion, forall_const,
      iff_self_iff, Finite.mem_toFinset]
  rw [ENNReal.tsum_eq_iSup_sum]
  refine le_trans ?_ (le_iSup _ hf.toFinset)
  exact this hf.toFinset _ (by simpa only [e] )
state_before: f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑' (i : ℕ), ofReal (↑f (d i) - ↑f (c i))
state_after: f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
⊢ ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

tactic: clear ss b
state_before: f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
⊢ ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
⊢ ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

tactic: refine fun s => Finset.strongInductionOn s fun s IH b cv => ?_
state_before: f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
⊢ ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

tactic: rcases le_total b a with ab | ab
state_before: f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: case inl
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : b ≤ a
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

case inr
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : a ≤ b
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

tactic: have := cv ⟨ab, le_rfl⟩
state_before: case inr
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : a ≤ b
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: case inr
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : a ≤ b
this : b ∈ ⋃ i ∈ ↑s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

tactic: simp only [Finset.mem_coe, gt_iff_lt, not_lt, ge_iff_le, mem_iUnion, mem_Ioo, exists_and_left,
  exists_prop] at this
state_before: case inr
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : a ≤ b
this : b ∈ ⋃ i ∈ ↑s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: case inr
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : a ≤ b
this : ∃ i, c i < b ∧ i ∈ s ∧ b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

tactic: rcases this with ⟨i, cb, is, bd⟩
state_before: case inr
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : a ≤ b
this : ∃ i, c i < b ∧ i ∈ s ∧ b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: case inr.intro.intro.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : a ≤ b
i : ℕ
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

tactic: rw [← Finset.insert_erase is] at cv ⊢
state_before: case inr.intro.intro.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : a ≤ b
i : ℕ
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: case inr.intro.intro.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ ⋃ i_1 ∈ ↑(insert i (s.erase i)), Ioo (c i_1) (d i_1)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ insert i (s.erase i), ofReal (↑f (d i) - ↑f (c i))

tactic: rw [Finset.coe_insert, biUnion_insert] at cv
state_before: case inr.intro.intro.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ ⋃ i_1 ∈ ↑(insert i (s.erase i)), Ioo (c i_1) (d i_1)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ insert i (s.erase i), ofReal (↑f (d i) - ↑f (c i))
state_after: case inr.intro.intro.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ insert i (s.erase i), ofReal (↑f (d i) - ↑f (c i))

tactic: rw [Finset.sum_insert (Finset.not_mem_erase _ _)]
state_before: case inr.intro.intro.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ insert i (s.erase i), ofReal (↑f (d i) - ↑f (c i))
state_after: case inr.intro.intro.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ofReal (↑f (d i) - ↑f (c i)) + ∑ x ∈ s.erase i, ofReal (↑f (d x) - ↑f (c x))

tactic: refine le_trans ?_ (add_le_add_left (IH _ (Finset.erase_ssubset is) (c i) ?_) _)
state_before: case inr.intro.intro.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ofReal (↑f (d i) - ↑f (c i)) + ∑ x ∈ s.erase i, ofReal (↑f (d x) - ↑f (c x))
state_after: case inr.intro.intro.intro.refine_1
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ofReal (↑f (d i) - ↑f (c i)) + ofReal (↑f (c i) - ↑f a)

case inr.intro.intro.intro.refine_2
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ Icc a (c i) ⊆ ⋃ i_1 ∈ ↑(s.erase i), Ioo (c i_1) (d i_1)

tactic: rcases isCompact_Icc.elim_finite_subcover_image
    (fun (i : ℕ) (_ : i ∈ univ) => @isOpen_Ioo _ _ _ _ (c i) (d i)) (by simpa using ss) with
  ⟨s, _, hf, hs⟩
state_before: f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
⊢ ofReal (↑f b - ↑f a) ≤ ∑' (i : ℕ), ofReal (↑f (d i) - ↑f (c i))
state_after: case intro.intro.intro
f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑' (i : ℕ), ofReal (↑f (d i) - ↑f (c i))

tactic: have e : ⋃ i ∈ (hf.toFinset : Set ℕ), Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i) := by
  simp only [ext_iff, exists_prop, Finset.set_biUnion_coe, mem_iUnion, forall_const,
    iff_self_iff, Finite.mem_toFinset]
state_before: case intro.intro.intro
f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑' (i : ℕ), ofReal (↑f (d i) - ↑f (c i))
state_after: case intro.intro.intro
f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
e : ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑' (i : ℕ), ofReal (↑f (d i) - ↑f (c i))

tactic: rw [ENNReal.tsum_eq_iSup_sum]
state_before: case intro.intro.intro
f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
e : ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑' (i : ℕ), ofReal (↑f (d i) - ↑f (c i))
state_after: case intro.intro.intro
f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
e : ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ⨆ s, ∑ a ∈ s, ofReal (↑f (d a) - ↑f (c a))

tactic: refine le_trans ?_ (le_iSup _ hf.toFinset)
state_before: case intro.intro.intro
f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
e : ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ⨆ s, ∑ a ∈ s, ofReal (↑f (d a) - ↑f (c a))
state_after: case intro.intro.intro
f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
e : ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑ a ∈ hf.toFinset, ofReal (↑f (d a) - ↑f (c a))

tactic: exact this hf.toFinset _ (by simpa only [e] )
state_before: case intro.intro.intro
f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
e : ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ofReal (↑f b - ↑f a) ≤ ∑ a ∈ hf.toFinset, ofReal (↑f (d a) - ↑f (c a))
state_after: no goals

tactic: simpa using ss
state_before: f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
⊢ Icc ?m.18236 ?m.18237 ⊆ ⋃ i ∈ univ, Ioo (c i) (d i)
state_after: no goals

tactic: simp only [ext_iff, exists_prop, Finset.set_biUnion_coe, mem_iUnion, forall_const,
  iff_self_iff, Finite.mem_toFinset]
state_before: f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
⊢ ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i)
state_after: no goals

tactic: simpa only [e]
state_before: f : StieltjesFunction
a b : ℝ
c d : ℕ → ℝ
ss : Icc a b ⊆ ⋃ i, Ioo (c i) (d i)
this :
  ∀ (s : Finset ℕ) (b : ℝ),
    Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
s : Set ℕ
left✝ : s ⊆ univ
hf : s.Finite
hs : Icc a b ⊆ ⋃ i ∈ s, Ioo (c i) (d i)
e : ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i) = ⋃ i ∈ s, Ioo (c i) (d i)
⊢ Icc a b ⊆ ⋃ i ∈ ↑hf.toFinset, Ioo (c i) (d i)
state_after: no goals

tactic: rw [ENNReal.ofReal_eq_zero.2 (sub_nonpos.2 (f.mono ab))]
state_before: case inl
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : b ≤ a
⊢ ofReal (↑f b - ↑f a) ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: case inl
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : b ≤ a
⊢ 0 ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))

tactic: exact zero_le _
state_before: case inl
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
cv : Icc a b ⊆ ⋃ i ∈ ↑s, Ioo (c i) (d i)
ab : b ≤ a
⊢ 0 ≤ ∑ i ∈ s, ofReal (↑f (d i) - ↑f (c i))
state_after: no goals

tactic: refine le_trans (ENNReal.ofReal_le_ofReal ?_) ENNReal.ofReal_add_le
state_before: case inr.intro.intro.intro.refine_1
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ofReal (↑f b - ↑f a) ≤ ofReal (↑f (d i) - ↑f (c i)) + ofReal (↑f (c i) - ↑f a)
state_after: case inr.intro.intro.intro.refine_1
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ↑f b - ↑f a ≤ ↑f (d i) - ↑f (c i) + (↑f (c i) - ↑f a)

tactic: rw [sub_add_sub_cancel]
state_before: case inr.intro.intro.intro.refine_1
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ↑f b - ↑f a ≤ ↑f (d i) - ↑f (c i) + (↑f (c i) - ↑f a)
state_after: case inr.intro.intro.intro.refine_1
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ↑f b - ↑f a ≤ ↑f (d i) - ↑f a

tactic: exact sub_le_sub_right (f.mono bd.le) _
state_before: case inr.intro.intro.intro.refine_1
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ ↑f b - ↑f a ≤ ↑f (d i) - ↑f a
state_after: no goals

tactic: rintro x ⟨h₁, h₂⟩
state_before: case inr.intro.intro.intro.refine_2
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
⊢ Icc a (c i) ⊆ ⋃ i_1 ∈ ↑(s.erase i), Ioo (c i_1) (d i_1)
state_after: case inr.intro.intro.intro.refine_2.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
x : ℝ
h₁ : a ≤ x
h₂ : x ≤ c i
⊢ x ∈ ⋃ i_1 ∈ ↑(s.erase i), Ioo (c i_1) (d i_1)

tactic: exact (cv ⟨h₁, le_trans h₂ (le_of_lt cb)⟩).resolve_left (mt And.left (not_lt_of_le h₂))
state_before: case inr.intro.intro.intro.refine_2.intro
f : StieltjesFunction
a : ℝ
c d : ℕ → ℝ
s✝ s : Finset ℕ
IH :
  ∀ t ⊂ s, ∀ (b : ℝ), Icc a b ⊆ ⋃ i ∈ ↑t, Ioo (c i) (d i) → ofReal (↑f b - ↑f a) ≤ ∑ i ∈ t, ofReal (↑f (d i) - ↑f (c i))
b : ℝ
ab : a ≤ b
i : ℕ
cv : Icc a b ⊆ Ioo (c i) (d i) ∪ ⋃ x ∈ ↑(s.erase i), Ioo (c x) (d x)
cb : c i < b
is : i ∈ s
bd : b < d i
x : ℝ
h₁ : a ≤ x
h₂ : x ≤ c i
⊢ x ∈ ⋃ i_1 ∈ ↑(s.erase i), Ioo (c i_1) (d i_1)
state_after: no goals