Imports
import Mathlib.Tactic
import Analysis.Section_9_9
import Analysis.Section_11_4Analysis I, Section 11.5: Riemann integrability of continuous functions
I have attempted to make the translation as faithful a paraphrasing as possible of the original text. When there is a choice between a more idiomatic Lean solution and a more faithful translation, I have generally chosen the latter. In particular, there will be places where the Lean code could be "golfed" to be more elegant and idiomatic, but I have consciously avoided doing so.
Main constructions and results of this section:
-
Riemann integrability of uniformly continuous functions.
-
Riemann integrability of bounded continuous functions.
namespace Chapter11open BoundedIntervalopen Chapter9Theorem 11.5.1
theorem integ_of_uniform_cts {I: BoundedInterval} {f:ℝ → ℝ} (hf: UniformContinuousOn f I) :
IntegrableOn f I := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I
-- This proof is written to follow the structure of the original text.
have hfbound : BddOn f I := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ Bornology.IsBounded (f '' ↑I); All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑I⊢ lower_integral f I = upper_integral f I
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ihsing:I.length = 0⊢ lower_integral f I = upper_integral f II:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ihsing:¬I.length = 0⊢ lower_integral f I = upper_integral f I
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ihsing:I.length = 0⊢ lower_integral f I = upper_integral f I All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ihsing:I.a < I.b⊢ lower_integral f I = upper_integral f I
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ia:ℝ := I.ahsing:a < I.b⊢ lower_integral f I = upper_integral f I
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < b⊢ lower_integral f I = upper_integral f I
have hsing' : 0 < b-a := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I All goals completed! 🐙
have (ε:ℝ) (hε: ε > 0) : upper_integral f I - lower_integral f I ≤ ε * (b-a) := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhf:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0⊢ upper_integral f I - lower_integral f I ≤ ε * (b - a)
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)⊢ upper_integral f I - lower_integral f I ≤ ε * (b - a); I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ ε⊢ upper_integral f I - lower_integral f I ≤ ε * (b - a)
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑N⊢ upper_integral f I - lower_integral f I ≤ ε * (b - a)
have hNpos : 0 < N := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I
have : 0 < (b-a)/δ := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑Nthis:0 < (b - a) / δ⊢ 0 < ↑N; All goals completed! 🐙
have hN' : (b-a)/N < δ := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I rwa [div_lt_comm₀I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < N⊢ (b - a) / δ < ↑NI:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < N⊢ 0 < ↑NI:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < N⊢ 0 < δ I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < N⊢ 0 < ↑NI:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < N⊢ 0 < δ All goals completed! 🐙
have : ∃ P: Partition I, P.intervals.card = N ∧ ∀ J ∈ P.intervals, |J|ₗ = (b-a) / N := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I
All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ upper_integral f I - lower_integral f I ≤ ε * (b - a)
calc
_ ≤ ∑ J ∈ P.intervals, (sSup (f '' J) - sInf (f '' J)) * |J|ₗ := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ upper_integral f I - lower_integral f I ≤ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑Nh1:upper_integral f I ≤ upper_riemann_sum f P⊢ upper_integral f I - lower_integral f I ≤ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑Nh1:upper_integral f I ≤ upper_riemann_sum f Ph2:lower_riemann_sum f P ≤ lower_integral f I⊢ upper_integral f I - lower_integral f I ≤ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length
I:BoundedIntervalf:ℝ → ℝhfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bε:ℝδ:ℝhf✝:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑Nh1:upper_integral f I ≤ ∑ J ∈ P.intervals, sSup (f '' ↑J) * J.lengthh2:∑ J ∈ P.intervals, sInf (f '' ↑J) * J.length ≤ lower_integral f Ihf:∀ (ε : ℝ), 0 < ε → ∃ δ, 0 < δ ∧ ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, dist x x₀ ≤ δ → dist (f x) (f x₀) ≤ εhsing':a < bhε:0 < εhδ:0 < δ⊢ upper_integral f I ≤
∑ x ∈ P.intervals, sSup (f '' ↑x) * x.length - ∑ x ∈ P.intervals, sInf (f '' ↑x) * x.length + lower_integral f I
All goals completed! 🐙
_ ≤ ∑ J ∈ P.intervals, ε * |J|ₗ := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ∑ J ∈ P.intervals, ε * J.length
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∀ i ∈ P.intervals, (sSup (f '' ↑i) - sInf (f '' ↑i)) * i.length ≤ ε * i.length; intro J I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervals⊢ (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ε * J.length; I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervals⊢ sSup (f '' ↑J) - sInf (f '' ↑J) ≤ ε
have {x y:ℝ} (hx: x ∈ J) (hy: y ∈ J) : f x ≤ f y + ε := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ∑ J ∈ P.intervals, ε * J.length
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsx:ℝy:ℝhx:x ∈ Jhy:y ∈ Jthis:J ⊆ I⊢ f x ≤ f y + ε
have : |f x - f y| ≤ ε := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ∑ J ∈ P.intervals, ε * J.length
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsx:ℝy:ℝhx:x ∈ Jhy:y ∈ Jthis:J ⊆ I⊢ y ∈ ↑II:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsx:ℝy:ℝhx:x ∈ Jhy:y ∈ Jthis:J ⊆ I⊢ x ∈ ↑II:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsx:ℝy:ℝhx:x ∈ Jhy:y ∈ Jthis:J ⊆ I⊢ |x - y| ≤ δ I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsx:ℝy:ℝhx:x ∈ Jhy:y ∈ Jthis:J ⊆ I⊢ y ∈ ↑II:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsx:ℝy:ℝhx:x ∈ Jhy:y ∈ Jthis:J ⊆ I⊢ x ∈ ↑II:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsx:ℝy:ℝhx:x ∈ Jhy:y ∈ Jthis:J ⊆ I⊢ |x - y| ≤ δ try All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsx:ℝy:ℝhx:x ∈ Jhy:y ∈ Jthis:J ⊆ I⊢ J.length ≤ δ; All goals completed! 🐙
All goals completed! 🐙
have hJnon : (f '' J).Nonempty := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ∑ J ∈ P.intervals, ε * J.length
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsthis:∀ {x y : ℝ}, x ∈ J → y ∈ J → f x ≤ f y + ε⊢ (↑J).Nonempty; I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsthis:∀ {x y : ℝ}, x ∈ J → y ∈ J → f x ≤ f y + εh:↑J = ∅⊢ False
replace h : Subsingleton (J:Set ℝ) := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ∑ J ∈ P.intervals, ε * J.length All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsthis:∀ {x y : ℝ}, x ∈ J → y ∈ J → f x ≤ f y + εh:(b - a) / ↑N = 0⊢ False
linarith [show 0 < (b-a) / N I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ∑ J ∈ P.intervals, ε * J.length All goals completed! 🐙]
replace (y:ℝ) (hy:y ∈ J) : sSup (f '' J) ≤ f y + ε := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ∑ J ∈ P.intervals, ε * J.length
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsthis:∀ {x y : ℝ}, x ∈ J → y ∈ J → f x ≤ f y + εhJnon:(f '' ↑J).Nonemptyy:ℝhy:y ∈ J⊢ ∀ b ∈ f '' ↑J, b ≤ f y + ε; I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalsthis:∀ {x y : ℝ}, x ∈ J → y ∈ J → f x ≤ f y + εhJnon:(f '' ↑J).Nonemptyy:ℝhy:y ∈ Jz:ℝhz:z ∈ ↑J⊢ f z ≤ f y + ε; All goals completed! 🐙
replace : sSup (f '' J) - ε ≤ sInf (f '' J) := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, (sSup (f '' ↑J) - sInf (f '' ↑J)) * J.length ≤ ∑ J ∈ P.intervals, ε * J.length
I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑NJ:BoundedIntervalhJ:J ∈ P.intervalshJnon:(f '' ↑J).Nonemptythis:∀ y ∈ J, sSup (f '' ↑J) ≤ f y + ε⊢ ∀ b ∈ f '' ↑J, sSup (f '' ↑J) - ε ≤ b; All goals completed! 🐙
All goals completed! 🐙
_ = ∑ J ∈ P.intervals, ε * (b-a)/N := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, ε * J.length = ∑ J ∈ P.intervals, ε * (b - a) / ↑N All goals completed! 🐙
_ = _ := I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ∑ J ∈ P.intervals, ε * (b - a) / ↑N = ε * (b - a) I:BoundedIntervalf:ℝ → ℝhf✝:∀ ε > 0, ∃ δ > 0, ∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, δ.Close x x₀ → ε.Close (f x) (f x₀)hfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - aε:ℝhε:ε > 0δ:ℝhδ:δ > 0hf:∀ x₀ ∈ ↑I, ∀ x ∈ ↑I, |x - x₀| ≤ δ → |f x - f x₀| ≤ εN:ℕhN:(b - a) / δ < ↑NhNpos:0 < NhN':(b - a) / ↑N < δP:Partition Ihcard:P.intervals.card = Nhlength:∀ J ∈ P.intervals, J.length = (b - a) / ↑N⊢ ↑N * (ε * (b - a) / ↑N) = ε * (b - a); All goals completed! 🐙
have lower_le_upper : 0 ≤ upper_integral f I - lower_integral f I := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - athis:∀ ε > 0, upper_integral f I - lower_integral f I ≤ ε * (b - a)lower_le_upper:0 ≤ upper_integral f I - lower_integral f Ih:0 < upper_integral f I - lower_integral f I⊢ lower_integral f I = upper_integral f II:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - athis:∀ ε > 0, upper_integral f I - lower_integral f I ≤ ε * (b - a)lower_le_upper:0 ≤ upper_integral f I - lower_integral f Ih:0 = upper_integral f I - lower_integral f I⊢ lower_integral f I = upper_integral f I
I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - athis:∀ ε > 0, upper_integral f I - lower_integral f I ≤ ε * (b - a)lower_le_upper:0 ≤ upper_integral f I - lower_integral f Ih:0 < upper_integral f I - lower_integral f I⊢ lower_integral f I = upper_integral f I I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - athis:∀ ε > 0, upper_integral f I - lower_integral f I ≤ ε * (b - a)lower_le_upper:0 ≤ upper_integral f I - lower_integral f Ih:0 < upper_integral f I - lower_integral f Iε:ℝ := (upper_integral f I - lower_integral f I) / (2 * (b - a))⊢ lower_integral f I = upper_integral f I
replace : upper_integral f I - lower_integral f I ≤ (upper_integral f I - lower_integral f I)/2 := I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑I⊢ IntegrableOn f I
convert this ε (I:BoundedIntervalf:ℝ → ℝhf:UniformContinuousOn f ↑Ihfbound:BddOn f ↑Ia:ℝ := I.ab:ℝ := I.bhsing:a < bhsing':0 < b - athis:∀ ε > 0, upper_integral f I - lower_integral f I ≤ ε * (b - a)lower_le_upper:0 ≤ upper_integral f I - lower_integral f Ih:0 < upper_integral f I - lower_integral f Iε:ℝ := (upper_integral f I - lower_integral f I) / (2 * (b - a))⊢ ε > 0 All goals completed! 🐙) using 1; All goals completed! 🐙
All goals completed! 🐙
All goals completed! 🐙Corollary 11.5.2
theorem integ_of_cts {a b:ℝ} {f:ℝ → ℝ} (hf: ContinuousOn f (Icc a b)) :
IntegrableOn f (Icc a b) := integ_of_uniform_cts (UniformContinuousOn.of_continuousOn hf)example : ContinuousOn (fun x:ℝ ↦ 1/x) (Icc 0 1) := ⊢ ContinuousOn (fun x ↦ 1 / x) ↑(Icc 0 1) All goals completed! 🐙example : ¬ IntegrableOn (fun x:ℝ ↦ 1/x) (Icc 0 1) := ⊢ ¬IntegrableOn (fun x ↦ 1 / x) (Icc 0 1) All goals completed! 🐙Proposition 11.5.3
open PiecewiseConstantOn ConstantOn in
set_option maxHeartbeats 300000 intheorem integ_of_bdd_cts {I: BoundedInterval} {f:ℝ → ℝ} (hbound: BddOn f I)
(hf: ContinuousOn f I) : IntegrableOn f I := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
-- This proof is written to follow the structure of the original text.
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑Ihsing:I.length = 0⊢ IntegrableOn f II:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑Ihsing:¬I.length = 0⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑Ihsing:I.length = 0⊢ IntegrableOn f I All goals completed! 🐙
have hI : (I:Set ℝ).Nonempty := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑Ihsing:¬I.length = 0this:↑I = ∅⊢ False; I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑Ihsing:¬Subsingleton ↑↑Ithis:↑I = ∅⊢ False; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptyhsing:I.a < I.b⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ahsing:a < I.b⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < b⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ M⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ M⊢ IntegrableOn f I
have (ε:ℝ) (hε: ε > 0) : upper_integral f I - lower_integral f I ≤ (4*M+2) * ε := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ BddOn f ↑II:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ ContinuousOn f ↑II:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ (↑I).NonemptyI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ I.a < I.bI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ lower_integral f I ≤ upper_integral f II:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ 0 ≤ MI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ (b - a) / 3 > 0I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ (b - a) / 3 < (I.b - I.a) / 2I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':¬ε < (b - a) / 2this:upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ((b - a) / 3)⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ BddOn f ↑II:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ ContinuousOn f ↑II:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ (↑I).NonemptyI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ I.a < I.bI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ lower_integral f I ≤ upper_integral f II:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ 0 ≤ MI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ (b - a) / 3 > 0I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0this:∀ {I : BoundedInterval} {f : ℝ → ℝ},
BddOn f ↑I →
ContinuousOn f ↑I →
(↑I).Nonempty →
let a := I.a;
let b := I.b;
a < b →
lower_integral f I ≤ upper_integral f I →
∀ (M : ℝ),
(∀ x ∈ ↑I, |f x| ≤ M) →
0 ≤ M → ∀ ε > 0, ε < (b - a) / 2 → upper_integral f I - lower_integral f I ≤ (4 * M + 2) * εhε':¬ε < (b - a) / 2⊢ (b - a) / 3 < (I.b - I.a) / 2I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':¬ε < (b - a) / 2this:upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ((b - a) / 3)⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε first | I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':¬ε < (b - a) / 2this:upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ((b - a) / 3)⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε | I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':¬ε < (b - a) / 2this:upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ((b - a) / 3)⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε | I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':¬ε < (b - a) / 2this:upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ((b - a) / 3)⊢ (4 * M + 2) * ((b - a) / 3) ≤ (4 * M + 2) * ε; I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':¬ε < (b - a) / 2this:upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ((b - a) / 3)⊢ (b - a) / 3 ≤ ε; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
have Ileftlen : |Ileft|ₗ = ε := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ Ileft.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ Ileft.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ Ileft.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ Ileft.length = ε f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ Ileft.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ Ileft.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ Ileft.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)⊢ Ileft.length = ε All goals completed! 🐙
have Irightlen : |Iright|ₗ = ε := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = ε⊢ Iright.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = ε⊢ Iright.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = ε⊢ Iright.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = ε⊢ Iright.length = ε f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = ε⊢ Iright.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = ε⊢ Iright.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = ε⊢ Iright.length = εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = ε⊢ Iright.length = ε All goals completed! 🐙
have hjoin1 : Ileft'.joins Ileft I' := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ Ileft'.joins Ileft I'f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ Ileft'.joins Ileft I'f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ Ileft'.joins Ileft I'f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ Ileft'.joins Ileft I'
case Icc _ _ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ Ileft'.joins Ileft I' f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a ≤ a + εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a + ε ≤ b - ε f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a ≤ a + εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a + ε ≤ b - ε All goals completed! 🐙
case Ico _ _ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ Ileft'.joins Ileft I' f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a ≤ a + εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a + ε ≤ b - ε f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a ≤ a + εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a + ε ≤ b - ε All goals completed! 🐙
case Ioc _ _ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ Ileft'.joins Ileft I' f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a < a + εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a + ε ≤ b - ε f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a < a + εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a + ε ≤ b - ε All goals completed! 🐙
case Ioo _ _ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ Ileft'.joins Ileft I' f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a < a + εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a + ε ≤ b - ε f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a < a + εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = ε⊢ a + ε ≤ b - ε All goals completed! 🐙
have hjoin2: I.joins Ileft' Iright := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ (Ioo a✝ b✝).joins Ileft' Irightf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ (Icc a✝ b✝).joins Ileft' Irightf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ (Ioc a✝ b✝).joins Ileft' Irightf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ (Ico a✝ b✝).joins Ileft' Iright
case Icc _ _ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ (Icc a✝ b✝).joins Ileft' Iright f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ a✝ ≤ b - εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ b - ε ≤ b✝ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ a✝ ≤ b - εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Icc a✝ b✝)hf:ContinuousOn f ↑(Icc a✝ b✝)hI:(↑(Icc a✝ b✝)).Nonemptya:ℝ := (Icc a✝ b✝).ab:ℝ := (Icc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Icc a✝ b✝) ≤ upper_integral f (Icc a✝ b✝)hM:∀ x ∈ ↑(Icc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Icc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ b - ε ≤ b✝ All goals completed! 🐙
case Ico _ _ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ (Ico a✝ b✝).joins Ileft' Iright f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ a✝ ≤ b - εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ b - ε < b✝ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ a✝ ≤ b - εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ico a✝ b✝)hf:ContinuousOn f ↑(Ico a✝ b✝)hI:(↑(Ico a✝ b✝)).Nonemptya:ℝ := (Ico a✝ b✝).ab:ℝ := (Ico a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ico a✝ b✝) ≤ upper_integral f (Ico a✝ b✝)hM:∀ x ∈ ↑(Ico a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ico a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ b - ε < b✝ All goals completed! 🐙
case Ioc _ _ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ (Ioc a✝ b✝).joins Ileft' Iright f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ a✝ ≤ b - εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ b - ε ≤ b✝ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ a✝ ≤ b - εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioc a✝ b✝)hf:ContinuousOn f ↑(Ioc a✝ b✝)hI:(↑(Ioc a✝ b✝)).Nonemptya:ℝ := (Ioc a✝ b✝).ab:ℝ := (Ioc a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioc a✝ b✝) ≤ upper_integral f (Ioc a✝ b✝)hM:∀ x ∈ ↑(Ioc a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioc a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ b - ε ≤ b✝ All goals completed! 🐙
case Ioo _ _ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ (Ioo a✝ b✝).joins Ileft' Iright f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ a✝ ≤ b - εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ b - ε < b✝ f:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ a✝ ≤ b - εf:ℝ → ℝM:ℝhMpos:0 ≤ Mε:ℝhε:ε > 0a✝:ℝb✝:ℝhbound:BddOn f ↑(Ioo a✝ b✝)hf:ContinuousOn f ↑(Ioo a✝ b✝)hI:(↑(Ioo a✝ b✝)).Nonemptya:ℝ := (Ioo a✝ b✝).ab:ℝ := (Ioo a✝ b✝).bhsing:a < blower_le_upper:lower_integral f (Ioo a✝ b✝) ≤ upper_integral f (Ioo a✝ b✝)hM:∀ x ∈ ↑(Ioo a✝ b✝), |f x| ≤ Mhε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match Ioo a✝ b✝, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'⊢ b - ε < b✝ All goals completed! 🐙
have hf' : IntegrableOn f I' := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Iright⊢ ↑(Icc (a + ε) (b - ε)) ⊆ ↑(Ioo I.a I.b)
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighta✝:ℝ⊢ a✝ ∈ ↑(Icc (a + ε) (b - ε)) → a✝ ∈ ↑(Ioo I.a I.b); I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighta✝:ℝ⊢ a + ε ≤ a✝ → a✝ ≤ b - ε → I.a < a✝ ∧ a✝ < I.b; All goals completed! 🐙
choose h hhmin hhconst hhint using lt_of_gt_upper_integral hf'.1 (show upper_integral f I' < integ f I' + ε I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I All goals completed! 🐙)
classical
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else M⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
have h'const_left (x:ℝ) (hx: x ∈ Ileft) : h' x = M := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mx:ℝhx:x ∈ Ilefthjoin1:x ∉ ↑Ileft ∩ ↑I'⊢ h' x = M
All goals completed! 🐙
have h'const_right (x:ℝ) (hx: x ∈ Iright) : h' x = M := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mx:ℝhx:x ∈ Irighthjoin2:x ∉ ↑Ileft' ∩ ↑Iright⊢ h' x = M
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mx:ℝhx:x ∈ Irighthjoin2:x ∉ ↑Ileft' ∩ ↑Irighthjoin1:(fun x_1 ↦ x ∈ x_1) ↑Ileft' = (fun x_1 ↦ x ∈ x_1) (↑Ileft ∪ ↑I')⊢ h' x = M
All goals completed! 🐙
have h'const : PiecewiseConstantOn h' I := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = M⊢ (PiecewiseConstantOn h' Ileft ∧ PiecewiseConstantOn h' I') ∧ PiecewiseConstantOn h' Iright; I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = M⊢ PiecewiseConstantOn h' IleftI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = M⊢ PiecewiseConstantOn h' I'I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = M⊢ PiecewiseConstantOn h' Iright
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = M⊢ PiecewiseConstantOn h' Ileft All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = M⊢ PiecewiseConstantOn h' I' I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = M⊢ ∀ x ∈ ↑I', h x = h' x; All goals completed! 🐙
All goals completed! 🐙
have h'maj : MajorizesOn h' f I := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
intro x I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ix:ℝa✝:x ∈ ↑I⊢ f x ≤ h' x; I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ix:ℝa✝:x ∈ ↑IhxI':x ∈ I'⊢ f x ≤ h' xI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ix:ℝa✝:x ∈ ↑IhxI':x ∉ I'⊢ f x ≤ h' x I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ix:ℝa✝:x ∈ ↑IhxI':x ∈ I'⊢ f x ≤ h' xI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ix:ℝa✝:x ∈ ↑IhxI':x ∉ I'⊢ f x ≤ h' x I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ix:ℝa✝:x ∈ ↑IhxI':x ∉ I'⊢ f x ≤ M; I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ix:ℝa✝:x ∈ ↑IhxI':x ∉ I'⊢ f x ≤ M; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Iright⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
have h'integ3 : PiecewiseConstantOn.integ h' Ileft = M * ε := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
All goals completed! 🐙
have h'integ4 : PiecewiseConstantOn.integ h' Iright = M * ε := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
All goals completed! 🐙
have h'integ5 : PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I' := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * ε⊢ ∀ x ∈ ↑I', h' x = h x; All goals completed! 🐙
choose g hgmin hgconst hgint using gt_of_lt_lower_integral hf'.1 (show integ f I' - ε < lower_integral f I' I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I All goals completed! 🐙)
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -M⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
have g'const_left (x:ℝ) (hx: x ∈ Ileft) : g' x = -M := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mx:ℝhx:x ∈ Ilefthjoin1:x ∉ ↑Ileft ∩ ↑I'⊢ g' x = -M
All goals completed! 🐙
have g'const_right (x:ℝ) (hx: x ∈ Iright) : g' x = -M := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mx:ℝhx:x ∈ Irighthjoin2:x ∉ ↑Ileft' ∩ ↑Iright⊢ g' x = -M
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mx:ℝhx:x ∈ Irighthjoin2:x ∉ ↑Ileft' ∩ ↑Irighthjoin1:(fun x_1 ↦ x ∈ x_1) ↑Ileft' = (fun x_1 ↦ x ∈ x_1) (↑Ileft ∪ ↑I')⊢ g' x = -M
All goals completed! 🐙
have g'const : PiecewiseConstantOn g' I := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -M⊢ (PiecewiseConstantOn g' Ileft ∧ PiecewiseConstantOn g' I') ∧ PiecewiseConstantOn g' Iright; I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -M⊢ PiecewiseConstantOn g' IleftI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -M⊢ PiecewiseConstantOn g' I'I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -M⊢ PiecewiseConstantOn g' Iright
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -M⊢ PiecewiseConstantOn g' Ileft All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -M⊢ PiecewiseConstantOn g' I' I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -M⊢ ∀ x ∈ ↑I', g x = g' x; All goals completed! 🐙
All goals completed! 🐙
have g'maj : MinorizesOn g' f I := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
intro x I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ix:ℝa✝:x ∈ ↑I⊢ g' x ≤ f x; I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ix:ℝa✝:x ∈ ↑IhxI':x ∈ I'⊢ g' x ≤ f xI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ix:ℝa✝:x ∈ ↑IhxI':x ∉ I'⊢ g' x ≤ f x I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ix:ℝa✝:x ∈ ↑IhxI':x ∈ I'⊢ g' x ≤ f xI:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ix:ℝa✝:x ∈ ↑IhxI':x ∉ I'⊢ g' x ≤ f x I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ix:ℝa✝:x ∈ ↑IhxI':x ∉ I'⊢ -M ≤ f x; I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ix:ℝa✝:x ∈ ↑IhxI':x ∉ I'⊢ -M ≤ f x; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ig'maj✝:MinorizesOn g' f Ig'maj:g'const.integ' ≤ lower_integral f I⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ig'maj✝:MinorizesOn g' f Ig'maj:g'const.integ' ≤ lower_integral f Ig'integ1:PiecewiseConstantOn.integ g' I = PiecewiseConstantOn.integ g' Ileft' + PiecewiseConstantOn.integ g' Iright⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ig'maj✝:MinorizesOn g' f Ig'maj:g'const.integ' ≤ lower_integral f Ig'integ1:PiecewiseConstantOn.integ g' I = PiecewiseConstantOn.integ g' Ileft' + PiecewiseConstantOn.integ g' Irightg'integ2:PiecewiseConstantOn.integ g' Ileft' = PiecewiseConstantOn.integ g' Ileft + PiecewiseConstantOn.integ g' I'⊢ upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε
have g'integ3 : PiecewiseConstantOn.integ g' Ileft = -M * ε := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
All goals completed! 🐙
have g'integ4 : PiecewiseConstantOn.integ g' Iright = -M * ε := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
All goals completed! 🐙
have g'integ5 : PiecewiseConstantOn.integ g' I' = PiecewiseConstantOn.integ g I' := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑I⊢ IntegrableOn f I
I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mε:ℝhε:ε > 0hε':ε < (b - a) / 2I':BoundedInterval := Icc (a + ε) (b - ε)Ileft:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ico a_1 b, hbound, hf, hI, lower_le_upper, hM => Ico a (a + ε)
| Ioc a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)
| Ioo a_1 b, hbound, hf, hI, lower_le_upper, hM => Ioo a (a + ε)Iright:BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ico a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) b
| Ioc a b_1, hbound, hf, hI, lower_le_upper, hM => Ioc (b - ε) b
| Ioo a b_1, hbound, hf, hI, lower_le_upper, hM => Ioo (b - ε) bIleft':BoundedInterval :=
match I, hbound, hf, hI, lower_le_upper, hM with
| Icc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ico a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Icc a (b - ε)
| Ioc a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)
| Ioo a_1 b_1, hbound, hf, hI, lower_le_upper, hM => Ioc a (b - ε)Ileftlen:Ileft.length = εIrightlen:Iright.length = εhjoin1:Ileft'.joins Ileft I'hjoin2:I.joins Ileft' Irighthf':IntegrableOn f I'h:ℝ → ℝhhmin:MajorizesOn h f I'hhconst:PiecewiseConstantOn h I'hhint:PiecewiseConstantOn.integ h I' < integ f I' + εh':ℝ → ℝ := fun x ↦ if x ∈ I' then h x else Mh'const_left:∀ x ∈ Ileft, h' x = Mh'const_right:∀ x ∈ Iright, h' x = Mh'const:PiecewiseConstantOn h' Ih'maj✝:MajorizesOn h' f Ih'maj:upper_integral f I ≤ h'const.integ'h'integ1:PiecewiseConstantOn.integ h' I = PiecewiseConstantOn.integ h' Ileft' + PiecewiseConstantOn.integ h' Irighth'integ2:PiecewiseConstantOn.integ h' Ileft' = PiecewiseConstantOn.integ h' Ileft + PiecewiseConstantOn.integ h' I'h'integ3:PiecewiseConstantOn.integ h' Ileft = M * εh'integ4:PiecewiseConstantOn.integ h' Iright = M * εh'integ5:PiecewiseConstantOn.integ h' I' = PiecewiseConstantOn.integ h I'g:ℝ → ℝhgmin:MinorizesOn g f I'hgconst:PiecewiseConstantOn g I'hgint:integ f I' - ε < PiecewiseConstantOn.integ g I'g':ℝ → ℝ := fun x ↦ if x ∈ I' then g x else -Mg'const_left:∀ x ∈ Ileft, g' x = -Mg'const_right:∀ x ∈ Iright, g' x = -Mg'const:PiecewiseConstantOn g' Ig'maj✝:MinorizesOn g' f Ig'maj:g'const.integ' ≤ lower_integral f Ig'integ1:PiecewiseConstantOn.integ g' I = PiecewiseConstantOn.integ g' Ileft' + PiecewiseConstantOn.integ g' Irightg'integ2:PiecewiseConstantOn.integ g' Ileft' = PiecewiseConstantOn.integ g' Ileft + PiecewiseConstantOn.integ g' I'g'integ3:PiecewiseConstantOn.integ g' Ileft = -M * εg'integ4:PiecewiseConstantOn.integ g' Iright = -M * ε⊢ ∀ x ∈ ↑I', g' x = g x; All goals completed! 🐙
All goals completed! 🐙
exact ⟨ hbound, I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:ContinuousOn f ↑IhI:(↑I).Nonemptya:ℝ := I.ab:ℝ := I.bhsing:a < blower_le_upper:lower_integral f I ≤ upper_integral f IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MhMpos:0 ≤ Mthis:∀ ε > 0, upper_integral f I - lower_integral f I ≤ (4 * M + 2) * ε⊢ lower_integral f I = upper_integral f I All goals completed! 🐙 ⟩Definition 11.5.4
abbrev PiecewiseContinuousOn (f:ℝ → ℝ) (I:BoundedInterval) : Prop :=
∃ P: Partition I, ∀ J ∈ P.intervals, ContinuousOn f JExample 11.5.5
noncomputable abbrev f_11_5_5 : ℝ → ℝ := fun x ↦
if x < 2 then x^2
else if x = 2 then 7
else x^3example : ¬ ContinuousOn f_11_5_5 (Icc 1 3) := ⊢ ¬ContinuousOn f_11_5_5 ↑(Icc 1 3) All goals completed! 🐙example : ContinuousOn f_11_5_5 (Ico 1 2) := ⊢ ContinuousOn f_11_5_5 ↑(Ico 1 2) All goals completed! 🐙example : ContinuousOn f_11_5_5 (Icc 2 2) := ⊢ ContinuousOn f_11_5_5 ↑(Icc 2 2) All goals completed! 🐙example : ContinuousOn f_11_5_5 (Ioc 2 3) := ⊢ ContinuousOn f_11_5_5 ↑(Ioc 2 3) All goals completed! 🐙example : PiecewiseContinuousOn f_11_5_5 (Icc 1 3) := ⊢ PiecewiseContinuousOn f_11_5_5 (Icc 1 3) All goals completed! 🐙Proposition 11.5.6 / Exercise 11.5.1
theorem integ_of_bdd_piecewise_cts {I: BoundedInterval} {f:ℝ → ℝ}
(hbound: BddOn f I) (hf: PiecewiseContinuousOn f I) : IntegrableOn f I := I:BoundedIntervalf:ℝ → ℝhbound:BddOn f ↑Ihf:PiecewiseContinuousOn f I⊢ IntegrableOn f I
All goals completed! 🐙Exercise 11.5.2
theorem integ_zero {a b:ℝ} (hab: a ≤ b) (f: ℝ → ℝ) (hf: ContinuousOn f (Icc a b))
(hnonneg: MajorizesOn f (fun _ ↦ 0) (Icc a b)) (hinteg : integ f (Icc a b) = 0) :
∀ x ∈ Icc a b, f x = 0 := a:ℝb:ℝhab:a ≤ bf:ℝ → ℝhf:ContinuousOn f ↑(Icc a b)hnonneg:MajorizesOn f (fun x ↦ 0) (Icc a b)hinteg:integ f (Icc a b) = 0⊢ ∀ x ∈ Icc a b, f x = 0
All goals completed! 🐙end Chapter11