Theorem: sum_eq_int_deriv
Proof state before:
case h.e'_3
φ : ℝ → ℂ
a b : ℝ
a_lt_b : a < b
φDiff : ∀ x ∈ [[a, b]], HasDerivAt φ (deriv φ x) x
derivφCont : ContinuousOn (deriv φ) [[a, b]]
P : ℝ → ℝ → Prop :=
  fun a₁ b₁ =>
    (∀ x ∈ [[a₁, b₁]], HasDerivAt φ (deriv φ x) x) →
      ContinuousOn (deriv φ) [[a₁, b₁]] →
        ∑ n ∈ Finset.Ioc ⌊a₁⌋ ⌊b₁⌋, φ ↑n =
          (∫ (x : ℝ) in a₁..b₁, φ x) + (↑⌊b₁⌋ + 1 / 2 - ↑b₁) * φ b₁ - (↑⌊a₁⌋ + 1 / 2 - ↑a₁) * φ a₁ -
            ∫ (x : ℝ) in a₁..b₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x
a₁ : ℝ
k₁ : ℤ
b₁ : ℝ
a₁_lt_k₁ : a₁ < ↑k₁
k₁_lt_b₁ : ↑k₁ < b₁
ih₁ : P a₁ ↑k₁
ih₂ : P (↑k₁) b₁
φDiff₁ : ∀ x ∈ [[a₁, b₁]], HasDerivAt φ (deriv φ x) x
derivφCont₁ : ContinuousOn (deriv φ) [[a₁, b₁]]
subs : [[a₁, ↑k₁]] ⊆ [[a₁, b₁]] ∧ [[↑k₁, b₁]] ⊆ [[a₁, b₁]]
s₁ :
  ∑ n ∈ Finset.Ioc ⌊a₁⌋ ⌊↑k₁⌋, φ ↑n =
    (∫ (x : ℝ) in a₁..↑k₁, φ x) + (↑⌊↑k₁⌋ + 1 / 2 - ↑↑k₁) * φ ↑k₁ - (↑⌊a₁⌋ + 1 / 2 - ↑a₁) * φ a₁ -
      ∫ (x : ℝ) in a₁..↑k₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x
s₂ :
  ∑ n ∈ Finset.Ioc ⌊↑k₁⌋ ⌊b₁⌋, φ ↑n =
    (∫ (x : ℝ) in ↑k₁..b₁, φ x) + (↑⌊b₁⌋ + 1 / 2 - ↑b₁) * φ b₁ - (↑⌊↑k₁⌋ + 1 / 2 - ↑↑k₁) * φ ↑k₁ -
      ∫ (x : ℝ) in ↑k₁..b₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x
I₁ : ℂ := ∫ (x : ℝ) in a₁..b₁, φ x
⊢ I₁ + (↑⌊b₁⌋ + 1 / 2 - ↑b₁) * φ b₁ - (↑⌊a₁⌋ + 1 / 2 - ↑a₁) * φ a₁ -
      ∫ (x : ℝ) in a₁..b₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x =
    ((∫ (x : ℝ) in a₁..↑k₁, φ x) + (↑⌊↑k₁⌋ + 1 / 2 - ↑↑k₁) * φ ↑k₁ - (↑⌊a₁⌋ + 1 / 2 - ↑a₁) * φ a₁ -
        ∫ (x : ℝ) in a₁..↑k₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x) +
      ((∫ (x : ℝ) in ↑k₁..b₁, φ x) + (↑⌊b₁⌋ + 1 / 2 - ↑b₁) * φ b₁ - (↑⌊↑k₁⌋ + 1 / 2 - ↑↑k₁) * φ ↑k₁ -
        ∫ (x : ℝ) in ↑k₁..b₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x)
Tactic:
set I₂ := ∫ (x : ℝ) in a₁..k₁, φ x
Proof state after:
case h.e'_3
φ : ℝ → ℂ
a b : ℝ
a_lt_b : a < b
φDiff : ∀ x ∈ [[a, b]], HasDerivAt φ (deriv φ x) x
derivφCont : ContinuousOn (deriv φ) [[a, b]]
P : ℝ → ℝ → Prop :=
  fun a₁ b₁ =>
    (∀ x ∈ [[a₁, b₁]], HasDerivAt φ (deriv φ x) x) →
      ContinuousOn (deriv φ) [[a₁, b₁]] →
        ∑ n ∈ Finset.Ioc ⌊a₁⌋ ⌊b₁⌋, φ ↑n =
          (∫ (x : ℝ) in a₁..b₁, φ x) + (↑⌊b₁⌋ + 1 / 2 - ↑b₁) * φ b₁ - (↑⌊a₁⌋ + 1 / 2 - ↑a₁) * φ a₁ -
            ∫ (x : ℝ) in a₁..b₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x
a₁ : ℝ
k₁ : ℤ
b₁ : ℝ
a₁_lt_k₁ : a₁ < ↑k₁
k₁_lt_b₁ : ↑k₁ < b₁
ih₁ : P a₁ ↑k₁
ih₂ : P (↑k₁) b₁
φDiff₁ : ∀ x ∈ [[a₁, b₁]], HasDerivAt φ (deriv φ x) x
derivφCont₁ : ContinuousOn (deriv φ) [[a₁, b₁]]
subs : [[a₁, ↑k₁]] ⊆ [[a₁, b₁]] ∧ [[↑k₁, b₁]] ⊆ [[a₁, b₁]]
s₂ :
  ∑ n ∈ Finset.Ioc ⌊↑k₁⌋ ⌊b₁⌋, φ ↑n =
    (∫ (x : ℝ) in ↑k₁..b₁, φ x) + (↑⌊b₁⌋ + 1 / 2 - ↑b₁) * φ b₁ - (↑⌊↑k₁⌋ + 1 / 2 - ↑↑k₁) * φ ↑k₁ -
      ∫ (x : ℝ) in ↑k₁..b₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x
I₁ : ℂ := ∫ (x : ℝ) in a₁..b₁, φ x
I₂ : ℂ := ∫ (x : ℝ) in a₁..↑k₁, φ x
s₁ :
  ∑ n ∈ Finset.Ioc ⌊a₁⌋ ⌊↑k₁⌋, φ ↑n =
    I₂ + (↑⌊↑k₁⌋ + 1 / 2 - ↑↑k₁) * φ ↑k₁ - (↑⌊a₁⌋ + 1 / 2 - ↑a₁) * φ a₁ -
      ∫ (x : ℝ) in a₁..↑k₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x
⊢ I₁ + (↑⌊b₁⌋ + 1 / 2 - ↑b₁) * φ b₁ - (↑⌊a₁⌋ + 1 / 2 - ↑a₁) * φ a₁ -
      ∫ (x : ℝ) in a₁..b₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x =
    (I₂ + (↑⌊↑k₁⌋ + 1 / 2 - ↑↑k₁) * φ ↑k₁ - (↑⌊a₁⌋ + 1 / 2 - ↑a₁) * φ a₁ -
        ∫ (x : ℝ) in a₁..↑k₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x) +
      ((∫ (x : ℝ) in ↑k₁..b₁, φ x) + (↑⌊b₁⌋ + 1 / 2 - ↑b₁) * φ b₁ - (↑⌊↑k₁⌋ + 1 / 2 - ↑↑k₁) * φ ↑k₁ -
        ∫ (x : ℝ) in ↑k₁..b₁, (↑⌊x⌋ + 1 / 2 - ↑x) * deriv φ x)