Analysis I, Section 11.4: Basic properties of the Riemann integral
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:
-
Basic properties of the Riemann integral.
namespace Chapter11open Chapter9Theorem 11.4.1(a) / Exercise 11.4.1
theorem IntegrableOn.add {I: BoundedInterval} {f g:ℝ → ℝ} (hf: IntegrableOn f I) (hg: IntegrableOn g I) :
IntegrableOn (f + g) I ∧ integ (f + g) I = integ f I + integ g I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f + g) I ∧ integ (f + g) I = integ f I + integ g I
All goals completed! 🐙Theorem 11.4.1(b) / Exercise 11.4.1
theorem IntegrableOn.smul {I: BoundedInterval} (c:ℝ) {f:ℝ → ℝ} (hf: IntegrableOn f I) :
IntegrableOn (c • f) I ∧ integ (c • f) I = c * integ f I := I:BoundedIntervalc:ℝf:ℝ → ℝhf:IntegrableOn f I⊢ IntegrableOn (c • f) I ∧ integ (c • f) I = c * integ f I
All goals completed! 🐙theorem IntegrableOn.neg {I: BoundedInterval} {f:ℝ → ℝ} (hf: IntegrableOn f I) :
IntegrableOn (-f) I ∧ integ (-f) I = -integ f I := I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f I⊢ IntegrableOn (-f) I ∧ integ (-f) I = -integ f I I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f Ithis:?_mvar.522 := Chapter11.IntegrableOn.smul (-1) _fvar.519⊢ IntegrableOn (-f) I ∧ integ (-f) I = -integ f I; All goals completed! 🐙Theorem 11.4.1(c) / Exercise 11.4.1
theorem IntegrableOn.sub {I: BoundedInterval} {f g:ℝ → ℝ} (hf: IntegrableOn f I) (hg: IntegrableOn g I) :
IntegrableOn (f - g) I ∧ integ (f - g) I = integ f I - integ g I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f - g) I ∧ integ (f - g) I = integ f I - integ g I
All goals completed! 🐙Theorem 11.4.1(d) / Exercise 11.4.1
theorem IntegrableOn.nonneg {I: BoundedInterval} {f:ℝ → ℝ} (hf: IntegrableOn f I) (hf_nonneg: ∀ x ∈ I, 0 ≤ f x) :
0 ≤ integ f I := I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f Ihf_nonneg:∀ x ∈ I, 0 ≤ f x⊢ 0 ≤ integ f I
All goals completed! 🐙Theorem 11.4.1(e) / Exercise 11.4.1
theorem IntegrableOn.mono {I: BoundedInterval} {f g:ℝ → ℝ} (hf: IntegrableOn f I) (hg: IntegrableOn g I)
(h: MajorizesOn g f I) :
integ f I ≤ integ g I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ih:MajorizesOn g f I⊢ integ f I ≤ integ g I
All goals completed! 🐙Theorem 11.4.1(f) / Exercise 11.4.1
theorem IntegrableOn.const (c:ℝ) (I: BoundedInterval) :
IntegrableOn (fun _ ↦ c) I ∧ integ (fun _ ↦ c) I = c * |I|ₗ := c:ℝI:BoundedInterval⊢ IntegrableOn (fun x => c) I ∧ integ (fun x => c) I = c * I.length
All goals completed! 🐙Theorem 11.4.1(f) / Exercise 11.4.1
theorem IntegrableOn.const' {I: BoundedInterval} {f:ℝ → ℝ} (hf: ConstantOn f I) :
IntegrableOn f I ∧ integ f I = (constant_value_on f I) * |I|ₗ := I:BoundedIntervalf:ℝ → ℝhf:ConstantOn f ↑I⊢ IntegrableOn f I ∧ integ f I = constant_value_on f ↑I * I.length
All goals completed! 🐙open Classical in
/-- Theorem 11.4.1 (g) / Exercise 11.4.1 -/
theorem IntegrableOn.of_extend {I J: BoundedInterval} (hIJ: I ⊆ J)
{f: ℝ → ℝ} (h: IntegrableOn f I) :
IntegrableOn (fun x ↦ if x ∈ I then f x else 0) J := I:BoundedIntervalJ:BoundedIntervalhIJ:I ⊆ Jf:ℝ → ℝh:IntegrableOn f I⊢ IntegrableOn (fun x => if x ∈ I then f x else 0) J
All goals completed! 🐙open Classical in
/-- Theorem 11.4.1 (g) / Exercise 11.4.1 -/
theorem IntegrableOn.of_extend' {I J: BoundedInterval} (hIJ: I ⊆ J)
{f: ℝ → ℝ} (h: IntegrableOn f I) :
integ (fun x ↦ if x ∈ I then f x else 0) J = integ f I := I:BoundedIntervalJ:BoundedIntervalhIJ:I ⊆ Jf:ℝ → ℝh:IntegrableOn f I⊢ integ (fun x => if x ∈ I then f x else 0) J = integ f I
All goals completed! 🐙Theorem 11.4.1 (h) (Laws of integration) / Exercise 11.4.1
theorem IntegrableOn.join {I J K: BoundedInterval} (hIJK: K.joins I J)
{f: ℝ → ℝ} (h: IntegrableOn f K) :
IntegrableOn f I ∧ IntegrableOn f J ∧ integ f K = integ f I + integ f J := I:BoundedIntervalJ:BoundedIntervalK:BoundedIntervalhIJK:K.joins I Jf:ℝ → ℝh:IntegrableOn f K⊢ IntegrableOn f I ∧ IntegrableOn f J ∧ integ f K = integ f I + integ f J
All goals completed! 🐙A variant of Theorem 11.4.1(h) that will be useful in later sections.
theorem IntegrableOn.mono' {I J: BoundedInterval} (hIJ: J ⊆ I)
{f: ℝ → ℝ} (h: IntegrableOn f I) : IntegrableOn f J := I:BoundedIntervalJ:BoundedIntervalhIJ:J ⊆ If:ℝ → ℝh:IntegrableOn f I⊢ IntegrableOn f J
All goals completed! 🐙A further variant of Theorem 11.4.1(h) that will be useful in later sections.
theorem IntegrableOn.eq {I J: BoundedInterval} (hIJ: J ⊆ I)
(ha: J.a = I.a) (hb: J.b = I.b)
{f: ℝ → ℝ} (h: IntegrableOn f I) : integ f J = integ f I := I:BoundedIntervalJ:BoundedIntervalhIJ:J ⊆ Iha:J.a = I.ahb:J.b = I.bf:ℝ → ℝh:IntegrableOn f I⊢ integ f J = integ f I
All goals completed! 🐙A handy little lemma for "epsilon of room" type arguments
lemma nonneg_of_le_const_mul_eps {x C:ℝ} (h: ∀ ε>0, x ≤ C * ε) : x ≤ 0 := x:ℝC:ℝh:∀ ε > 0, x ≤ C * ε⊢ x ≤ 0
x:ℝC:ℝh:∀ ε > 0, x ≤ C * εhC:C > 0⊢ x ≤ 0x:ℝC:ℝh:∀ ε > 0, x ≤ C * εhC:¬C > 0⊢ x ≤ 0
x:ℝC:ℝh:∀ ε > 0, x ≤ C * εhC:C > 0⊢ x ≤ 0 x:ℝC:ℝh:∀ ε > 0, x ≤ C * εhC:C > 0this:0 < x⊢ False
specialize h (x/(2*C)) (x:ℝC:ℝh:∀ ε > 0, x ≤ C * εhC:C > 0this:0 < x⊢ x / (2 * C) > 0 All goals completed! 🐙); x:ℝC:ℝhC:C > 0this:0 < xh:x ≤ C * (x / (2 * C))⊢ C * (x / (2 * C)) = x / 2x:ℝC:ℝhC:C > 0this:0 < xh:x ≤ x / 2⊢ False; x:ℝC:ℝhC:C > 0this:0 < xh:x ≤ x / 2⊢ False
All goals completed! 🐙
x:ℝC:ℝh:∀ ε > 0, x ≤ C * εhC:¬C > 0⊢ 1 > 0x:ℝC:ℝhC:¬C > 0h:x ≤ C * 1⊢ x ≤ 0 x:ℝC:ℝh:∀ ε > 0, x ≤ C * εhC:¬C > 0⊢ 1 > 0x:ℝC:ℝhC:¬C > 0h:x ≤ C * 1⊢ x ≤ 0 All goals completed! 🐙Theorem 11.4.3 (Max and min preserve integrability)
theorem IntegrableOn.max {I: BoundedInterval} {f g:ℝ → ℝ} (hf: IntegrableOn f I) (hg: IntegrableOn g I) :
IntegrableOn (f ⊔ g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I
-- This proof is written to follow the structure of the original text.
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g I⊢ IntegrableOn (f ⊔ g) I
have hmax_bound : BddOn (f ⊔ g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ M⊢ BddOn (f ⊔ g) ↑I; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MM':ℝhM':∀ x ∈ ↑I, |g x| ≤ M'⊢ BddOn (f ⊔ g) ↑I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IM:ℝhM:∀ x ∈ ↑I, |f x| ≤ MM':ℝhM':∀ x ∈ ↑I, |g x| ≤ M'⊢ ∀ x ∈ ↑I, |Max.max f g x| ≤ Max.max M M'; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IM:ℝhM✝:∀ x ∈ ↑I, |f x| ≤ MM':ℝhM':∀ x ∈ ↑I, |g x| ≤ M'x:ℝhx:x ∈ ↑IhM:|f x| ≤ M⊢ |Max.max f g x| ≤ Max.max M M'; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IM:ℝhM✝:∀ x ∈ ↑I, |f x| ≤ MM':ℝx:ℝhx:x ∈ ↑IhM:|f x| ≤ MhM':|g x| ≤ M'⊢ |Max.max f g x| ≤ Max.max M M'
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IM:ℝhM✝:∀ x ∈ ↑I, |f x| ≤ MM':ℝx:ℝhx:x ∈ ↑IhM:|f x| ≤ MhM':|g x| ≤ M'⊢ |Max.max (f x) (g x)| ≤ Max.max M M'
All goals completed! 🐙
have lower_le_upper : 0 ≤ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I All goals completed! 🐙
have (ε:ℝ) (hε: 0 < ε) : upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4*ε := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I
choose f' hf'min hf'const hf'int using gt_of_lt_lower_integral hf.1 (show integ f I - ε < lower_integral f I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I All goals completed! 🐙)
choose g' hg'min hg'const hg'int using gt_of_lt_lower_integral hg.1 (show integ g I - ε < lower_integral g I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I All goals completed! 🐙)
choose f'' hf''max hf''const hf''int using lt_of_gt_upper_integral hf.1 (show upper_integral f I < integ f I + ε I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I All goals completed! 🐙)
choose g'' hg''max hg''const hg''int using lt_of_gt_upper_integral hg.1 (show upper_integral g I < integ g I + ε I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I All goals completed! 🐙)
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
have hinteg_le : integ h I ≤ 4 * ε := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
have hf''g''_maj : MajorizesOn (f'' ⊔ g'') (f ⊔ g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I
All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
have hf'g'_maj : MinorizesOn (f' ⊔ g') (f ⊔ g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I
All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
have : MinorizesOn (f'' ⊔ g'') (f' ⊔ g' + h) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊔ g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f x⊢ Max.max f'' g'' x ≤ (f' ⊔ g' + h) x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g x⊢ Max.max f'' g'' x ≤ (f' ⊔ g' + h) x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf''max:f x ≤ f'' x⊢ Max.max f'' g'' x ≤ (f' ⊔ g' + h) x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf''max:f x ≤ f'' xhg''max:g x ≤ g'' x⊢ Max.max f'' g'' x ≤ (f' ⊔ g' + h) x
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf''max:f x ≤ f'' xhg''max:g x ≤ g'' x⊢ f'' x ≤ Max.max (f' x) (g' x) + (f'' x - f' x + (g'' x - g' x)) ∧
g'' x ≤ Max.max (f' x) (g' x) + (f'' x - f' x + (g'' x - g' x)); I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf''max:f x ≤ f'' xhg''max:g x ≤ g'' x⊢ f'' x ≤ Max.max (f' x) (g' x) + (f'' x - f' x + (g'' x - g' x))I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf''max:f x ≤ f'' xhg''max:g x ≤ g'' x⊢ g'' x ≤ Max.max (f' x) (g' x) + (f'' x - f' x + (g'' x - g' x)) I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf''max:f x ≤ f'' xhg''max:g x ≤ g'' x⊢ f'' x ≤ Max.max (f' x) (g' x) + (f'' x - f' x + (g'' x - g' x))I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf''max:f x ≤ f'' xhg''max:g x ≤ g'' x⊢ g'' x ≤ Max.max (f' x) (g' x) + (f'' x - f' x + (g'' x - g' x)) All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271this:Chapter11.MinorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.179965 ⊔ _fvar.192116 + _fvar.220795) _fvar.166631 := ?_mvar.223593hf'g'_integ:?_mvar.235729 := Chapter11.integ_of_piecewise_const _fvar.223271⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271this:Chapter11.MinorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.179965 ⊔ _fvar.192116 + _fvar.220795) _fvar.166631 := ?_mvar.223593hf'g'_integ:?_mvar.235729 := Chapter11.integ_of_piecewise_const _fvar.223271hf''g''_integ:?_mvar.235737 := Chapter11.integ_of_piecewise_const _fvar.223082⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271this:Chapter11.MinorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.179965 ⊔ _fvar.192116 + _fvar.220795) _fvar.166631 := ?_mvar.223593hf'g'_integ:?_mvar.235729 := Chapter11.integ_of_piecewise_const _fvar.223271hf''g''_integ:?_mvar.235737 := Chapter11.integ_of_piecewise_const _fvar.223082hf'g'h_integ:?_mvar.235745 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := ?_mvar.166823lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
?_mvar.168159ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''max:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εg'':ℝ → ℝhg''max:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εh:ℝ → ℝ := _fvar.205635 - _fvar.179965 + (_fvar.220536 - _fvar.192116)hf'_integ:?_mvar.221097 := Chapter11.integ_of_piecewise_const _fvar.179984hg'_integ:?_mvar.221110 := Chapter11.integ_of_piecewise_const _fvar.192135hf''_integ:?_mvar.221118 := Chapter11.integ_of_piecewise_const _fvar.205654hg''_integ:?_mvar.221126 := Chapter11.integ_of_piecewise_const _fvar.220555hf''f'_integ:?_mvar.221134 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hg''g'_integ:?_mvar.221155 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hh_IntegrableOn.eq:?_mvar.221173 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hinteg_le:Chapter11.integ _fvar.220795 _fvar.166631 ≤ 4 * _fvar.168745 := ?_mvar.221287hf''g''_const:?_mvar.223073 := Chapter11.PiecewiseConstantOn.max _fvar.205654 _fvar.220555hf''g''_maj:Chapter11.MajorizesOn (_fvar.205635 ⊔ _fvar.220536) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223251hf'g'_const:?_mvar.223262 := Chapter11.PiecewiseConstantOn.max _fvar.179984 _fvar.192135hf'g'_maj:Chapter11.MinorizesOn (_fvar.179965 ⊔ _fvar.192116) (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 := ?_mvar.223415hff'g''_ge:?_mvar.223426 := Chapter11.upper_integral_le_integ _fvar.166824 _fvar.223252 _fvar.223082hf'g'_le:?_mvar.223447 := Chapter11.integ_le_lower_integral _fvar.166824 _fvar.223416 _fvar.223271this:MajorizesOn (f' ⊔ g' + h) (f'' ⊔ g'') Ihf'g'_integ:IntegrableOn (f' ⊔ g') I ∧ integ (f' ⊔ g') I = hf'g'_const.integ'hf''g''_integ:IntegrableOn (f'' ⊔ g'') I ∧ integ (f'' ⊔ g'') I = hf''g''_const.integ'hf'g'h_integ:IntegrableOn (f' ⊔ g' + (f'' - f' + (g'' - g'))) I ∧
integ (f' ⊔ g' + (f'' - f' + (g'' - g'))) I = integ (f' ⊔ g') I + integ (f'' - f' + (g'' - g')) I⊢ upper_integral (f ⊔ g) I - lower_integral (f ⊔ g) I ≤ 4 * ε
All goals completed! 🐙
exact ⟨ hmax_bound, I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihmax_bound:Chapter9.BddOn (_fvar.166632 ⊔ _fvar.166633) ↑_fvar.166631 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.166824))))this:∀ (ε : ℝ),
0 < ε →
Chapter11.upper_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 -
Chapter11.lower_integral (_fvar.166632 ⊔ _fvar.166633) _fvar.166631 ≤
4 * ε :=
failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)⊢ lower_integral (f ⊔ g) I = upper_integral (f ⊔ g) I All goals completed! 🐙 ⟩Theorem 11.4.5 / Exercise 11.4.3. The objective here is to create a shorter proof than the one above.
theorem IntegrableOn.min {I: BoundedInterval} {f g:ℝ → ℝ} (hf: IntegrableOn f I) (hg: IntegrableOn g I) :
IntegrableOn (f ⊓ g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f ⊓ g) I
All goals completed! 🐙Corollary 11.4.4
theorem IntegrableOn.abs {I: BoundedInterval} {f:ℝ → ℝ} (hf: IntegrableOn f I) :
IntegrableOn (abs f) I := I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f I⊢ IntegrableOn |f| I
I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f Ithis:?_mvar.239254 := (Chapter11.IntegrableOn.const 0 _fvar.239249).left⊢ IntegrableOn |f| I
I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f Ithis:?_mvar.239254 := (Chapter11.IntegrableOn.const 0 _fvar.239249).left⊢ |f| = (f ⊔ fun x => 0) - f ⊓ fun x => 0
I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f Ithis:?_mvar.239254 := (Chapter11.IntegrableOn.const 0 _fvar.239249).leftx:ℝ⊢ |f| x = ((f ⊔ fun x => 0) - f ⊓ fun x => 0) x; obtain h | h := (show f x ≤ 0 ∨ f x ≥ 0 I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f I⊢ IntegrableOn |f| I All goals completed! 🐙) I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f Ithis:?_mvar.239254 := (Chapter11.IntegrableOn.const 0 _fvar.239249).leftx:ℝh:f x ≤ 0⊢ |f| x = ((f ⊔ fun x => 0) - f ⊓ fun x => 0) xI:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f Ithis:?_mvar.239254 := (Chapter11.IntegrableOn.const 0 _fvar.239249).leftx:ℝh:f x ≥ 0⊢ |f| x = ((f ⊔ fun x => 0) - f ⊓ fun x => 0) x All goals completed! 🐙Theorem 11.4.5 (Products preserve Riemann integrability). It is convenient to first establish the non-negative case.
theorem integ_of_mul_nonneg {I: BoundedInterval} {f g:ℝ → ℝ} (hf: IntegrableOn f I) (hg: IntegrableOn g I)
(hf_nonneg: MajorizesOn f 0 I) (hg_nonneg: MajorizesOn g 0 I) :
IntegrableOn (f * g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
-- This proof is written to follow the structure of the original text.
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).Nonempty⊢ IntegrableOn (f * g) II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:¬(↑I).Nonempty⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:¬(↑I).Nonempty⊢ IntegrableOn (f * g) II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).Nonempty⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:¬(↑I).Nonempty⊢ IntegrableOn (f * g) I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:¬(↑I).Nonempty⊢ I.length = 0
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:¬(↑I).Nonempty⊢ Subsingleton ↑↑I
All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).Nonempty⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))⊢ IntegrableOn (f * g) I
have hmul_bound : BddOn (f * g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))⊢ ∀ x ∈ ↑I, |(f * g) x| ≤ M₁ * M₂; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))x:ℝhx:x ∈ ↑IhM₁:|f x| ≤ M₁⊢ |(f * g) x| ≤ M₁ * M₂; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))x:ℝhx:x ∈ ↑IhM₁:|f x| ≤ M₁hM₂:|g x| ≤ M₂⊢ |(f * g) x| ≤ M₁ * M₂
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))x:ℝhx:x ∈ ↑IhM₁:|f x| ≤ M₁hM₂:|g x| ≤ M₂⊢ |f x| * |g x| ≤ M₁ * M₂; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))x:ℝhx:x ∈ ↑IhM₁:|f x| ≤ M₁hM₂:|g x| ≤ M₂⊢ 0 ≤ |g x|I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))x:ℝhx:x ∈ ↑IhM₁:|f x| ≤ M₁hM₂:|g x| ≤ M₂⊢ 0 ≤ M₁ I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))x:ℝhx:x ∈ ↑IhM₁:|f x| ≤ M₁hM₂:|g x| ≤ M₂⊢ 0 ≤ |g x|I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))x:ℝhx:x ∈ ↑IhM₁:|f x| ≤ M₁hM₂:|g x| ≤ M₂⊢ 0 ≤ M₁ All goals completed! 🐙
have lower_le_upper : 0 ≤ upper_integral (f * g) I - lower_integral (f * g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
All goals completed! 🐙
have (ε:ℝ) (hε: 0 < ε) : upper_integral (f * g) I - lower_integral (f * g) I ≤ 2*(M₁+M₂)*ε := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
have : ∃ f', MinorizesOn f' f I ∧ PiecewiseConstantOn f' I ∧ integ f I - ε < PiecewiseConstantOn.integ f' I ∧ MajorizesOn f' 0 I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
choose f' hf'min hf'const hf'int using gt_of_lt_lower_integral hf.1 (show integ f I - ε < lower_integral f I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I All goals completed! 🐙)
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' I⊢ MinorizesOn (f' ⊔ 0) f I ∧
PiecewiseConstantOn (f' ⊔ 0) I ∧ integ f I - ε < PiecewiseConstantOn.integ (f' ⊔ 0) I ∧ MajorizesOn (f' ⊔ 0) 0 I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ MinorizesOn (f' ⊔ 0) f I ∧
PiecewiseConstantOn (f' ⊔ 0) I ∧ integ f I - ε < PiecewiseConstantOn.integ (f' ⊔ 0) I ∧ MajorizesOn (f' ⊔ 0) 0 I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ MinorizesOn (f' ⊔ 0) f II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ PiecewiseConstantOn (f' ⊔ 0) II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ integ f I - ε < PiecewiseConstantOn.integ (f' ⊔ 0) II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ MajorizesOn (f' ⊔ 0) 0 I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ MinorizesOn (f' ⊔ 0) f I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)x:ℝhx:x ∈ ↑Ithis:0 x ≤ f x⊢ max f' 0 x ≤ f x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)x:ℝhx:x ∈ ↑Ithis:0 x ≤ f xhf'min:f' x ≤ f x⊢ max f' 0 x ≤ f x; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ PiecewiseConstantOn (f' ⊔ 0) I All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ integ f I - ε < PiecewiseConstantOn.integ (f' ⊔ 0) I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ ∀ x ∈ I, f' x ≤ max f' (fun x => 0) x; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihzero:?_mvar.279869 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)x✝:ℝ⊢ x✝ ∈ ↑I → 0 x✝ ≤ max f' 0 x✝; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 I⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
have : ∃ g', MinorizesOn g' g I ∧ PiecewiseConstantOn g' I ∧ integ g I - ε < PiecewiseConstantOn.integ g' I ∧ MajorizesOn g' 0 I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
obtain ⟨ g', hg'min, hg'const, hg'int ⟩ := gt_of_lt_lower_integral hg.1 (show integ g I - ε < lower_integral g I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I All goals completed! 🐙)
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' I⊢ MinorizesOn (g' ⊔ 0) g I ∧
PiecewiseConstantOn (g' ⊔ 0) I ∧ integ g I - ε < PiecewiseConstantOn.integ (g' ⊔ 0) I ∧ MajorizesOn (g' ⊔ 0) 0 I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ MinorizesOn (g' ⊔ 0) g I ∧
PiecewiseConstantOn (g' ⊔ 0) I ∧ integ g I - ε < PiecewiseConstantOn.integ (g' ⊔ 0) I ∧ MajorizesOn (g' ⊔ 0) 0 I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ MinorizesOn (g' ⊔ 0) g II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ PiecewiseConstantOn (g' ⊔ 0) II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ integ g I - ε < PiecewiseConstantOn.integ (g' ⊔ 0) II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ MajorizesOn (g' ⊔ 0) 0 I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ MinorizesOn (g' ⊔ 0) g I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)x:ℝhx:x ∈ ↑Ithis:0 x ≤ g x⊢ max g' 0 x ≤ g x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)x:ℝhx:x ∈ ↑Ithis:0 x ≤ g xhg'min:g' x ≤ g x⊢ max g' 0 x ≤ g x; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ PiecewiseConstantOn (g' ⊔ 0) I All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ integ g I - ε < PiecewiseConstantOn.integ (g' ⊔ 0) I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)⊢ ∀ x ∈ I, g' x ≤ max g' (fun x => 0) x; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihzero:?_mvar.324112 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' 0 ↑_fvar.264179)x✝:ℝ⊢ x✝ ∈ ↑I → 0 x✝ ≤ max g' 0 x✝; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 I⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
have : ∃ f'', MajorizesOn f'' f I ∧ PiecewiseConstantOn f'' I ∧ PiecewiseConstantOn.integ f'' I < integ f I + ε ∧ MinorizesOn f'' (fun _ ↦ M₁) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
obtain ⟨ f'', hf''maj, hf''const, hf''int ⟩ := lt_of_gt_upper_integral hf.1 (show upper_integral f I < integ f I + ε I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I All goals completed! 🐙)
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + ε⊢ MajorizesOn (f'' ⊓ fun x => M₁) f I ∧
PiecewiseConstantOn (f'' ⊓ fun x => M₁) I ∧
PiecewiseConstantOn.integ (f'' ⊓ fun x => M₁) I < integ f I + ε ∧ MinorizesOn (f'' ⊓ fun x => M₁) (fun x => M₁) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ MajorizesOn (f'' ⊓ fun x => M₁) f I ∧
PiecewiseConstantOn (f'' ⊓ fun x => M₁) I ∧
PiecewiseConstantOn.integ (f'' ⊓ fun x => M₁) I < integ f I + ε ∧ MinorizesOn (f'' ⊓ fun x => M₁) (fun x => M₁) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ MajorizesOn (f'' ⊓ fun x => M₁) f II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ PiecewiseConstantOn (f'' ⊓ fun x => M₁) II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ PiecewiseConstantOn.integ (f'' ⊓ fun x => M₁) I < integ f I + εI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ MinorizesOn (f'' ⊓ fun x => M₁) (fun x => M₁) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ MajorizesOn (f'' ⊓ fun x => M₁) f I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)x:ℝhx:x ∈ ↑IhM₁:|f x| ≤ M₁⊢ f x ≤ min f'' (fun x => M₁) x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁✝:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)x:ℝhx:x ∈ ↑IhM₁:f x ≤ M₁ ∧ -f x ≤ M₁⊢ f x ≤ min f'' (fun x => M₁) x
All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ PiecewiseConstantOn (f'' ⊓ fun x => M₁) I All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ PiecewiseConstantOn.integ (f'' ⊓ fun x => M₁) I < integ f I + ε I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)⊢ ∀ x ∈ I, min f'' (fun x => M₁) x ≤ f'' x
All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhM₁_piece:?_mvar.371475 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264811 ↑_fvar.264179)x✝:ℝ⊢ x✝ ∈ ↑I → min f'' (fun x => M₁) x✝ ≤ (fun x => M₁) x✝; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) I⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
have : ∃ g'', MajorizesOn g'' g I ∧ PiecewiseConstantOn g'' I ∧ PiecewiseConstantOn.integ g'' I < integ g I + ε ∧ MinorizesOn g'' (fun _ ↦ M₂) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
obtain ⟨ g'', hg''maj, hg''const, hg''int ⟩ := lt_of_gt_upper_integral hg.1 (show upper_integral g I < integ g I + ε I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I All goals completed! 🐙)
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + ε⊢ MajorizesOn (g'' ⊓ fun x => M₂) g I ∧
PiecewiseConstantOn (g'' ⊓ fun x => M₂) I ∧
PiecewiseConstantOn.integ (g'' ⊓ fun x => M₂) I < integ g I + ε ∧ MinorizesOn (g'' ⊓ fun x => M₂) (fun x => M₂) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ MajorizesOn (g'' ⊓ fun x => M₂) g I ∧
PiecewiseConstantOn (g'' ⊓ fun x => M₂) I ∧
PiecewiseConstantOn.integ (g'' ⊓ fun x => M₂) I < integ g I + ε ∧ MinorizesOn (g'' ⊓ fun x => M₂) (fun x => M₂) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ MajorizesOn (g'' ⊓ fun x => M₂) g II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ PiecewiseConstantOn (g'' ⊓ fun x => M₂) II:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ PiecewiseConstantOn.integ (g'' ⊓ fun x => M₂) I < integ g I + εI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ MinorizesOn (g'' ⊓ fun x => M₂) (fun x => M₂) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ MajorizesOn (g'' ⊓ fun x => M₂) g I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂✝:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)x:ℝhx:x ∈ ↑IhM₂:|g x| ≤ M₂⊢ g x ≤ min g'' (fun x => M₂) x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂✝:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)x:ℝhx:x ∈ ↑IhM₂:g x ≤ M₂ ∧ -g x ≤ M₂⊢ g x ≤ min g'' (fun x => M₂) x
All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ PiecewiseConstantOn (g'' ⊓ fun x => M₂) I All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ PiecewiseConstantOn.integ (g'' ⊓ fun x => M₂) I < integ g I + ε I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)⊢ ∀ x ∈ I, min g'' (fun x => M₂) x ≤ g'' x
All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhM₂_piece:?_mvar.380727 := Chapter11.ConstantOn.piecewiseConstantOn (Chapter11.ConstantOn.of_const' _fvar.264822 ↑_fvar.264179)x✝:ℝa✝:x✝ ∈ ↑I⊢ min g'' (fun x => M₂) x✝ ≤ (fun x => M₂) x✝; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) I⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
have hf'g'_maj : MinorizesOn (f' * g') (f * g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f x⊢ (f' * g') x ≤ (f * g) x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g x⊢ (f' * g') x ≤ (f * g) x;
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf'_nonneg:0 x ≤ f' x⊢ (f' * g') x ≤ (f * g) x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf'_nonneg:0 x ≤ f' xhg'_nonneg:0 x ≤ g' x⊢ (f' * g') x ≤ (f * g) x
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf'_nonneg:0 ≤ f' xhg'_nonneg:0 ≤ g' xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ f' x * g' x ≤ f x * g x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf'_nonneg:0 ≤ f' xhg'_nonneg:0 ≤ g' xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ 0 ≤ g' xI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf'_nonneg:0 ≤ f' xhg'_nonneg:0 ≤ g' xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ 0 ≤ f x I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf'_nonneg:0 ≤ f' xhg'_nonneg:0 ≤ g' xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ 0 ≤ g' xI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min✝:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ig':ℝ → ℝhg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253x:ℝhx:x ∈ ↑Ihf'min:f' x ≤ f xhg'min:g' x ≤ g xhf'_nonneg:0 ≤ f' xhg'_nonneg:0 ≤ g' xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ 0 ≤ f x All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
have hf''g''_maj : MajorizesOn (f'' * g'') (f * g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' x⊢ (f * g) x ≤ (f'' * g'') x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' xhg''maj:g x ≤ g'' x⊢ (f * g) x ≤ (f'' * g'') x
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' xhg''maj:g x ≤ g'' xhg_nonneg:0 x ≤ g x⊢ (f * g) x ≤ (f'' * g'') x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' xhg''maj:g x ≤ g'' xhg_nonneg:0 x ≤ g xhf_nonneg:0 x ≤ f x⊢ (f * g) x ≤ (f'' * g'') x
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' xhg''maj:g x ≤ g'' xhg_nonneg:0 ≤ g xhf_nonneg:0 ≤ f xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ f x * g x ≤ f'' x * g'' x; I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' xhg''maj:g x ≤ g'' xhg_nonneg:0 ≤ g xhf_nonneg:0 ≤ f xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ 0 ≤ g xI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' xhg''maj:g x ≤ g'' xhg_nonneg:0 ≤ g xhf_nonneg:0 ≤ f xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ 0 ≤ f'' x I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' xhg''maj:g x ≤ g'' xhg_nonneg:0 ≤ g xhf_nonneg:0 ≤ f xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ 0 ≤ g xI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj✝:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680x:ℝhx:x ∈ ↑Ihf''maj:f x ≤ f'' xhg''maj:g x ≤ g'' xhg_nonneg:0 ≤ g xhf_nonneg:0 ≤ f xlower_le_upper:lower_integral (f * g) I ≤ upper_integral (f * g) I⊢ 0 ≤ f'' x All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
have hhmin : MinorizesOn (f'' * g'' - f' * g') (M₁ • (g''-g') + M₂ • (f''-f')) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 I⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ (f'' * g'' - f' * g') x ≤ (M₁ • (g'' - g') + M₂ • (f'' - f')) x
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ f'' x * g'' x - f' x * g' x ≤ M₁ * (g'' x - g' x) + M₂ * (f'' x - f' x)
calc
_ = (f'' x) * (g'' x - g' x) + (g' x) * (f'' x - f' x) := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ f'' x * g'' x - f' x * g' x = f'' x * (g'' x - g' x) + g' x * (f'' x - f' x) All goals completed! 🐙
_ ≤ _ := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ f'' x * (g'' x - g' x) + g' x * (f'' x - f' x) ≤ M₁ * (g'' x - g' x) + M₂ * (f'' x - f' x) I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ 0 ≤ g'' x - g' xI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ f'' x ≤ M₁I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ 0 ≤ f'' x - f' xI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ g' x ≤ M₂ I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ 0 ≤ g'' x - g' xI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ f'' x ≤ M₁I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ 0 ≤ f'' x - f' xI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708x:ℝhx:x ∈ ↑I⊢ g' x ≤ M₂ All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:?_mvar.643487 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:?_mvar.643487 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:?_mvar.643499 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:?_mvar.643487 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:?_mvar.643499 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:?_mvar.643513 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:?_mvar.643487 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:?_mvar.643499 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:?_mvar.643513 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:?_mvar.643527 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:?_mvar.643487 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:?_mvar.643499 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:?_mvar.643513 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:?_mvar.643527 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:?_mvar.643539 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:?_mvar.643487 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:?_mvar.643499 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:?_mvar.643513 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:?_mvar.643527 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:?_mvar.643539 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:?_mvar.643551 := Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:?_mvar.643487 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:?_mvar.643499 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:?_mvar.643513 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:?_mvar.643527 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:?_mvar.643539 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:?_mvar.643551 := Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:?_mvar.643565 := Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg ?_mvar.264893)
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg ?_mvar.265644)
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (Set.Nonempty.some_mem _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 := ?_mvar.266240lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
?_mvar.277828ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:?_mvar.388699 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.388875hf''g''_const:?_mvar.450757 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 := ?_mvar.450936hupper_le:?_mvar.514152 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:?_mvar.514173 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:?_mvar.514189 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:?_mvar.514206 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
?_mvar.514800hg''g'_const:?_mvar.643441 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:?_mvar.643458 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:?_mvar.643475 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:?_mvar.643487 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:?_mvar.643499 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:?_mvar.643513 := Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:?_mvar.643527 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:?_mvar.643539 := Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:?_mvar.643551 := Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:?_mvar.643565 := Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534hsum_bound:?_mvar.643579 := Chapter11.PiecewiseConstantOn.integ_mono _fvar.514801 _fvar.514201 _fvar.643560⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤ 2 * (M₁ + M₂) * ε
calc
_ ≤ M₁ * PiecewiseConstantOn.integ (g'' - g') I + M₂ * PiecewiseConstantOn.integ (f'' - f') I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
fun x hx =>
id
(Trans.trans
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.322809 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1)))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) + 0)))))
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0))))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))))
(add_le_add
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_8 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_7 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_10 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_9 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))))hg''g'_const:Chapter11.PiecewiseConstantOn (_fvar.388660 - _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.388660 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.370233 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:Chapter11.PiecewiseConstantOn (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 =
_fvar.264811 * Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:Chapter11.PiecewiseConstantOn (_fvar.379454 - _fvar.322809) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.379454 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.322809 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:Chapter11.PiecewiseConstantOn (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
_fvar.264822 * Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:Chapter11.PiecewiseConstantOn
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 +
Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534hsum_bound:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 ≤
Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_mono _fvar.514801 _fvar.514201 _fvar.643560⊢ upper_integral (f * g) I - lower_integral (f * g) I ≤
M₁ * PiecewiseConstantOn.integ (g'' - g') I + M₂ * PiecewiseConstantOn.integ (f'' - f') I All goals completed! 🐙
_ ≤ M₁ * (2*ε) + M₂ * (2*ε) := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
fun x hx =>
id
(Trans.trans
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.322809 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1)))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) + 0)))))
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0))))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))))
(add_le_add
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_8 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_7 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_10 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_9 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))))hg''g'_const:Chapter11.PiecewiseConstantOn (_fvar.388660 - _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.388660 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.370233 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:Chapter11.PiecewiseConstantOn (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 =
_fvar.264811 * Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:Chapter11.PiecewiseConstantOn (_fvar.379454 - _fvar.322809) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.379454 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.322809 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:Chapter11.PiecewiseConstantOn (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
_fvar.264822 * Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:Chapter11.PiecewiseConstantOn
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 +
Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534hsum_bound:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 ≤
Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_mono _fvar.514801 _fvar.514201 _fvar.643560⊢ M₁ * PiecewiseConstantOn.integ (g'' - g') I + M₂ * PiecewiseConstantOn.integ (f'' - f') I ≤ M₁ * (2 * ε) + M₂ * (2 * ε) I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
fun x hx =>
id
(Trans.trans
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.322809 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1)))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) + 0)))))
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0))))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))))
(add_le_add
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_8 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_7 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_10 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_9 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))))hg''g'_const:Chapter11.PiecewiseConstantOn (_fvar.388660 - _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.388660 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.370233 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:Chapter11.PiecewiseConstantOn (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 =
_fvar.264811 * Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:Chapter11.PiecewiseConstantOn (_fvar.379454 - _fvar.322809) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.379454 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.322809 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:Chapter11.PiecewiseConstantOn (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
_fvar.264822 * Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:Chapter11.PiecewiseConstantOn
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 +
Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534hsum_bound:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 ≤
Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_mono _fvar.514801 _fvar.514201 _fvar.643560⊢ PiecewiseConstantOn.integ (g'' - g') I ≤ 2 * εI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
fun x hx =>
id
(Trans.trans
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.322809 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1)))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) + 0)))))
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0))))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))))
(add_le_add
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_8 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_7 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_10 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_9 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))))hg''g'_const:Chapter11.PiecewiseConstantOn (_fvar.388660 - _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.388660 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.370233 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:Chapter11.PiecewiseConstantOn (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 =
_fvar.264811 * Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:Chapter11.PiecewiseConstantOn (_fvar.379454 - _fvar.322809) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.379454 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.322809 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:Chapter11.PiecewiseConstantOn (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
_fvar.264822 * Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:Chapter11.PiecewiseConstantOn
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 +
Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534hsum_bound:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 ≤
Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_mono _fvar.514801 _fvar.514201 _fvar.643560⊢ PiecewiseConstantOn.integ (f'' - f') I ≤ 2 * ε I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
fun x hx =>
id
(Trans.trans
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.322809 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1)))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) + 0)))))
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0))))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))))
(add_le_add
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_8 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_7 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_10 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_9 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))))hg''g'_const:Chapter11.PiecewiseConstantOn (_fvar.388660 - _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.388660 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.370233 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:Chapter11.PiecewiseConstantOn (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 =
_fvar.264811 * Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:Chapter11.PiecewiseConstantOn (_fvar.379454 - _fvar.322809) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.379454 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.322809 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:Chapter11.PiecewiseConstantOn (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
_fvar.264822 * Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:Chapter11.PiecewiseConstantOn
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 +
Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534hsum_bound:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 ≤
Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_mono _fvar.514801 _fvar.514201 _fvar.643560⊢ PiecewiseConstantOn.integ (g'' - g') I ≤ 2 * εI:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
fun x hx =>
id
(Trans.trans
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.322809 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1)))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) + 0)))))
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0))))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))))
(add_le_add
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_8 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_7 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_10 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_9 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))))hg''g'_const:Chapter11.PiecewiseConstantOn (_fvar.388660 - _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.388660 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.370233 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:Chapter11.PiecewiseConstantOn (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 =
_fvar.264811 * Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:Chapter11.PiecewiseConstantOn (_fvar.379454 - _fvar.322809) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.379454 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.322809 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:Chapter11.PiecewiseConstantOn (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
_fvar.264822 * Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:Chapter11.PiecewiseConstantOn
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 +
Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534hsum_bound:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 ≤
Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_mono _fvar.514801 _fvar.514201 _fvar.643560⊢ PiecewiseConstantOn.integ (f'' - f') I ≤ 2 * ε All goals completed! 🐙
_ = _ := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))ε:ℝhε:0 < εf':ℝ → ℝhf'min:MinorizesOn f' f Ihf'const:PiecewiseConstantOn f' Ihf'int:integ f I - ε < PiecewiseConstantOn.integ f' Ihf'_nonneg:MajorizesOn f' 0 Ig':ℝ → ℝhg'min:MinorizesOn g' g Ihg'const:PiecewiseConstantOn g' Ihg'int:integ g I - ε < PiecewiseConstantOn.integ g' Ihg'_nonneg:MajorizesOn g' 0 If'':ℝ → ℝhf''maj:MajorizesOn f'' f Ihf''const:PiecewiseConstantOn f'' Ihf''int:PiecewiseConstantOn.integ f'' I < integ f I + εhf''bound:MinorizesOn f'' (fun x => M₁) Ig'':ℝ → ℝhg''maj:MajorizesOn g'' g Ihg''const:PiecewiseConstantOn g'' Ihg''int:PiecewiseConstantOn.integ g'' I < integ g I + εhg''bound:MinorizesOn g'' (fun x => M₂) Ihf'g'_const:Chapter11.PiecewiseConstantOn (_fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.322829 _fvar.370253hf'g'_maj:Chapter11.MinorizesOn (_fvar.322809 * _fvar.370233) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf'min =>
forall_imp
(fun hx hf'min =>
id
(mul_le_mul hf'min (@_fvar.370242 x hx)
(Chapter11.integ_of_mul_nonneg._proof_3 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_4 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394
_fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.370233 _fvar.370253 _fvar.370262
_fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 x hx hf'min (@_fvar.370242 x hx) (@_fvar.322842 x hx)
(@_fvar.370266 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf'min)
_fvar.322818hf''g''_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660) _fvar.264179 := Chapter11.PiecewiseConstantOn.mul _fvar.379474 _fvar.388680hf''g''_maj:Chapter11.MajorizesOn (_fvar.379454 * _fvar.388660) (_fvar.264180 * _fvar.264181) _fvar.264179 :=
forall_imp
(fun x hf''maj =>
forall_imp
(fun hx hf''maj =>
id
(mul_le_mul hf''maj (@_fvar.388669 x hx)
(Chapter11.integ_of_mul_nonneg._proof_5 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))
(Chapter11.integ_of_mul_nonneg._proof_6 _fvar.264182 _fvar.264183 _fvar.264294 _fvar.264811 _fvar.264814
_fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.278394 _fvar.278435 _fvar.322809
_fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233 _fvar.370242 _fvar.370253 _fvar.370262
_fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483 _fvar.379487 _fvar.388660 _fvar.388680
_fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876 _fvar.450769 x hx hf''maj (@_fvar.388669 x hx)
(@_fvar.264185 x hx) (@_fvar.264184 x hx) (Eq.mp one_le_div'._simp_4 _fvar.277829))))
hf''maj)
_fvar.379463hupper_le:Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤ Chapter11.PiecewiseConstantOn.integ' _fvar.450769 := Chapter11.upper_integral_le_integ _fvar.266241 _fvar.450937 _fvar.450769hlower_ge:Chapter11.PiecewiseConstantOn.integ' _fvar.388708 ≤ Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 := Chapter11.integ_le_lower_integral _fvar.266241 _fvar.388876 _fvar.388708hh_const:Chapter11.PiecewiseConstantOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.450769 _fvar.388708hh_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660) _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ (_fvar.322809 * _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.450769 _fvar.388708hhmin:Chapter11.MinorizesOn (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233)
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
fun x hx =>
id
(Trans.trans
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.322809 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0)))
(Mathlib.Tactic.Ring.zero_mul (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) + 0))))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1)))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) + 0)))))
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.388660 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.388660 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.370233 x))
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (@_fvar.379454 x))
(Mathlib.Tactic.Ring.atom_pf (@_fvar.322809 x))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_mul
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))))
(Mathlib.Tactic.Ring.mul_add
(Mathlib.Tactic.Ring.mul_pf_right (@_fvar.322809 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.mul_pf_left (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.one_mul (Int.negOfNat 1).rawCast)))
(Mathlib.Tactic.Ring.mul_zero (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))
(Mathlib.Tactic.Ring.zero_mul
(@_fvar.379454 x ^ Nat.rawCast 1 * Nat.rawCast 1 +
(@_fvar.322809 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))
(Mathlib.Tactic.Ring.add_pf_add_zero
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * Nat.rawCast 1) +
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_lt
(@_fvar.379454 x ^ Nat.rawCast 1 * (@_fvar.388660 x ^ Nat.rawCast 1 * Nat.rawCast 1))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.379454 x) (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_overlap_pf_zero (@_fvar.370233 x) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0))))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(@_fvar.322809 x ^ Nat.rawCast 1 * (@_fvar.370233 x ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) +
0))))))
(add_le_add
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_8 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_7 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))
(mul_le_mul_of_nonneg_right
(Chapter11.integ_of_mul_nonneg._proof_10 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx)
(Chapter11.integ_of_mul_nonneg._proof_9 _fvar.264182 _fvar.264183 _fvar.264184 _fvar.264185 _fvar.264294
_fvar.264811 _fvar.264814 _fvar.264822 _fvar.264825 _fvar.265332 _fvar.266016 _fvar.266241 _fvar.277829
_fvar.278394 _fvar.278435 _fvar.322809 _fvar.322818 _fvar.322829 _fvar.322838 _fvar.322842 _fvar.370233
_fvar.370242 _fvar.370253 _fvar.370262 _fvar.370266 _fvar.379454 _fvar.379463 _fvar.379474 _fvar.379483
_fvar.379487 _fvar.388660 _fvar.388669 _fvar.388680 _fvar.388689 _fvar.388693 _fvar.388708 _fvar.388876
_fvar.450769 _fvar.450937 _fvar.514168 _fvar.514184 _fvar.514201 _fvar.514218 x hx))))hg''g'_const:Chapter11.PiecewiseConstantOn (_fvar.388660 - _fvar.370233) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.388680 _fvar.370253hg''g'_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.388660 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.370233 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.388680 _fvar.370253hM₁g''g'_const:Chapter11.PiecewiseConstantOn (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264811 _fvar.643453hM₁g''g_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 =
_fvar.264811 * Chapter11.PiecewiseConstantOn.integ (_fvar.388660 - _fvar.370233) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264811 _fvar.643453hf''f'_const:Chapter11.PiecewiseConstantOn (_fvar.379454 - _fvar.322809) _fvar.264179 := Chapter11.PiecewiseConstantOn.sub _fvar.379474 _fvar.322829hf''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ _fvar.379454 _fvar.264179 -
Chapter11.PiecewiseConstantOn.integ _fvar.322809 _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_sub _fvar.379474 _fvar.322829hM₂f''f'_const:Chapter11.PiecewiseConstantOn (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 := Chapter11.PiecewiseConstantOn.smul _fvar.264822 _fvar.643508hM₂f''f_integ:Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
_fvar.264822 * Chapter11.PiecewiseConstantOn.integ (_fvar.379454 - _fvar.322809) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_smul _fvar.264822 _fvar.643508hsum_const:Chapter11.PiecewiseConstantOn
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.add _fvar.643482 _fvar.643534hsum_integ:Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 =
Chapter11.PiecewiseConstantOn.integ (_fvar.264811 • (_fvar.388660 - _fvar.370233)) _fvar.264179 +
Chapter11.PiecewiseConstantOn.integ (_fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_add _fvar.643482 _fvar.643534hsum_bound:Chapter11.PiecewiseConstantOn.integ (_fvar.379454 * _fvar.388660 - _fvar.322809 * _fvar.370233) _fvar.264179 ≤
Chapter11.PiecewiseConstantOn.integ
(_fvar.264811 • (_fvar.388660 - _fvar.370233) + _fvar.264822 • (_fvar.379454 - _fvar.322809)) _fvar.264179 :=
Chapter11.PiecewiseConstantOn.integ_mono _fvar.514801 _fvar.514201 _fvar.643560⊢ M₁ * (2 * ε) + M₂ * (2 * ε) = 2 * (M₁ + M₂) * ε All goals completed! 🐙
exact ⟨ hmul_bound, I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:BddOn f ↑I ∧ lower_integral f I = upper_integral f Ihg:BddOn g ↑I ∧ lower_integral g I = upper_integral g Ihf_nonneg:MajorizesOn f 0 Ihg_nonneg:MajorizesOn g 0 IhI:(↑I).NonemptyM₁:ℝhM₁:∀ x ∈ ↑I, |f x| ≤ M₁M₂:ℝhM₂:∀ x ∈ ↑I, |g x| ≤ M₂hM₁pos:0 ≤ _fvar.264811 :=
LE.le.trans (abs_nonneg (@_fvar.264180 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264814 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hM₂pos:0 ≤ _fvar.264822 :=
LE.le.trans (abs_nonneg (@_fvar.264181 (Set.Nonempty.some _fvar.264294)))
(@_fvar.264825 (Set.Nonempty.some _fvar.264294) (@Set.Nonempty.some_mem ℝ (↑_fvar.264179) _fvar.264294))hmul_bound:Chapter9.BddOn (_fvar.264180 * _fvar.264181) ↑_fvar.264179 :=
Exists.intro (_fvar.264811 * _fvar.264822)
(forall_imp
(fun x hM₁ =>
forall_imp
(fun hx hM₁ =>
Eq.mpr
(id (congrArg (fun x => x ≤ _fvar.264811 * _fvar.264822) (abs_mul (@_fvar.264180 x) (@_fvar.264181 x))))
(mul_le_mul hM₁ (@_fvar.264825 x hx) (IsAbsoluteValue.abv_nonneg abs (@_fvar.264181 x)) _fvar.265332))
hM₁)
_fvar.264814)lower_le_upper:0 ≤
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 :=
le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 * Nat.rawCast 1 +
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast +
0)))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.atom_pf (Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.atom_pf (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul (Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179)
(Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
(Int.negOfNat 1).rawCast)
(Mathlib.Tactic.Ring.add_pf_add_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ^ Nat.rawCast 1 *
Nat.rawCast 1 +
0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero
(Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179) (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw ℝ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw ℝ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat ℝ Nat.cast_zero))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt a)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Chapter11.lower_integral_le_upper _fvar.266241))))this:∀ (ε : ℝ),
0 < ε →
Chapter11.upper_integral (_fvar.264180 * _fvar.264181) _fvar.264179 -
Chapter11.lower_integral (_fvar.264180 * _fvar.264181) _fvar.264179 ≤
2 * (_fvar.264811 + _fvar.264822) * ε :=
failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)⊢ lower_integral (f * g) I = upper_integral (f * g) I All goals completed! 🐙 ⟩theorem integ_of_mul {I: BoundedInterval} {f g:ℝ → ℝ} (hf: IntegrableOn f I) (hg: IntegrableOn g I) :
IntegrableOn (f * g) I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f * g) I
-- This proof is written to follow the structure of the original text.
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).left⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) I⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) I⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).left⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).left⊢ IntegrableOn (f * g) I
have hfplus_nonneg : MajorizesOn fplus 0 I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f * g) I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).leftx✝:ℝ⊢ x✝ ∈ ↑I → 0 x✝ ≤ fplus x✝; All goals completed! 🐙
have hfminus_nonneg : MajorizesOn fminus 0 I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f * g) I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619x✝:ℝ⊢ x✝ ∈ ↑I → 0 x✝ ≤ fminus x✝; All goals completed! 🐙
have hgplus_nonneg : MajorizesOn gplus 0 I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f * g) I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619hfminus_nonneg:Chapter11.MajorizesOn _fvar.704548 0 _fvar.704333 := ?_mvar.768763x✝:ℝ⊢ x✝ ∈ ↑I → 0 x✝ ≤ gplus x✝; All goals completed! 🐙
have hgminus_nonneg : MajorizesOn gminus 0 I := I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g I⊢ IntegrableOn (f * g) I I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619hfminus_nonneg:Chapter11.MajorizesOn _fvar.704548 0 _fvar.704333 := ?_mvar.768763hgplus_nonneg:Chapter11.MajorizesOn _fvar.704647 0 _fvar.704333 := ?_mvar.775712x✝:ℝ⊢ x✝ ∈ ↑I → 0 x✝ ≤ gminus x✝; All goals completed! 🐙
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619hfminus_nonneg:Chapter11.MajorizesOn _fvar.704548 0 _fvar.704333 := ?_mvar.768763hgplus_nonneg:Chapter11.MajorizesOn _fvar.704647 0 _fvar.704333 := ?_mvar.775712hgminus_nonneg:Chapter11.MajorizesOn _fvar.704759 0 _fvar.704333 := ?_mvar.783857hfplusgplus:?_mvar.790803 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760422 _fvar.760620 _fvar.775713⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619hfminus_nonneg:Chapter11.MajorizesOn _fvar.704548 0 _fvar.704333 := ?_mvar.768763hgplus_nonneg:Chapter11.MajorizesOn _fvar.704647 0 _fvar.704333 := ?_mvar.775712hgminus_nonneg:Chapter11.MajorizesOn _fvar.704759 0 _fvar.704333 := ?_mvar.783857hfplusgplus:?_mvar.790803 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760422 _fvar.760620 _fvar.775713hfplusgminus:?_mvar.790824 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760569 _fvar.760620 _fvar.783858⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619hfminus_nonneg:Chapter11.MajorizesOn _fvar.704548 0 _fvar.704333 := ?_mvar.768763hgplus_nonneg:Chapter11.MajorizesOn _fvar.704647 0 _fvar.704333 := ?_mvar.775712hgminus_nonneg:Chapter11.MajorizesOn _fvar.704759 0 _fvar.704333 := ?_mvar.783857hfplusgplus:?_mvar.790803 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760422 _fvar.760620 _fvar.775713hfplusgminus:?_mvar.790824 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760569 _fvar.760620 _fvar.783858hfminusgplus:?_mvar.790841 := Chapter11.integ_of_mul_nonneg _fvar.760522 _fvar.760422 _fvar.768764 _fvar.775713⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619hfminus_nonneg:Chapter11.MajorizesOn _fvar.704548 0 _fvar.704333 := ?_mvar.768763hgplus_nonneg:Chapter11.MajorizesOn _fvar.704647 0 _fvar.704333 := ?_mvar.775712hgminus_nonneg:Chapter11.MajorizesOn _fvar.704759 0 _fvar.704333 := ?_mvar.783857hfplusgplus:?_mvar.790803 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760422 _fvar.760620 _fvar.775713hfplusgminus:?_mvar.790824 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760569 _fvar.760620 _fvar.783858hfminusgplus:?_mvar.790841 := Chapter11.integ_of_mul_nonneg _fvar.760522 _fvar.760422 _fvar.768764 _fvar.775713hfminusgminus:?_mvar.790858 := Chapter11.integ_of_mul_nonneg _fvar.760522 _fvar.760569 _fvar.768764 _fvar.783858⊢ IntegrableOn (f * g) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619hfminus_nonneg:Chapter11.MajorizesOn _fvar.704548 0 _fvar.704333 := ?_mvar.768763hgplus_nonneg:Chapter11.MajorizesOn _fvar.704647 0 _fvar.704333 := ?_mvar.775712hgminus_nonneg:Chapter11.MajorizesOn _fvar.704759 0 _fvar.704333 := ?_mvar.783857hfplusgplus:?_mvar.790803 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760422 _fvar.760620 _fvar.775713hfplusgminus:?_mvar.790824 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760569 _fvar.760620 _fvar.783858hfminusgplus:?_mvar.790841 := Chapter11.integ_of_mul_nonneg _fvar.760522 _fvar.760422 _fvar.768764 _fvar.775713hfminusgminus:?_mvar.790858 := Chapter11.integ_of_mul_nonneg _fvar.760522 _fvar.760569 _fvar.768764 _fvar.783858⊢ IntegrableOn ((fplus - fminus) * (gplus - gminus)) I
I:BoundedIntervalf:ℝ → ℝg:ℝ → ℝhf:IntegrableOn f Ihg:IntegrableOn g Ifplus:ℝ → ℝ := _fvar.704334 ⊔ fun x => 0fminus:ℝ → ℝ := -(_fvar.704334 ⊓ fun x => 0)gplus:ℝ → ℝ := _fvar.704335 ⊔ fun x => 0gminus:ℝ → ℝ := -(_fvar.704335 ⊓ fun x => 0)this:?_mvar.704865 := (Chapter11.IntegrableOn.const 0 _fvar.704333).lefthfplus_integ:IntegrableOn (f ⊔ fun x => 0) Ihgplus_integ:IntegrableOn (g ⊔ fun x => 0) Ihfminus_integ:Chapter11.IntegrableOn _fvar.704548 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704336 _fvar.704873)).lefthgminus_integ:Chapter11.IntegrableOn _fvar.704759 _fvar.704333 := (Chapter11.IntegrableOn.neg (Chapter11.IntegrableOn.min _fvar.704337 _fvar.704873)).lefthfplus_nonneg:Chapter11.MajorizesOn _fvar.704397 0 _fvar.704333 := ?_mvar.760619hfminus_nonneg:Chapter11.MajorizesOn _fvar.704548 0 _fvar.704333 := ?_mvar.768763hgplus_nonneg:Chapter11.MajorizesOn _fvar.704647 0 _fvar.704333 := ?_mvar.775712hgminus_nonneg:Chapter11.MajorizesOn _fvar.704759 0 _fvar.704333 := ?_mvar.783857hfplusgplus:?_mvar.790803 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760422 _fvar.760620 _fvar.775713hfplusgminus:?_mvar.790824 := Chapter11.integ_of_mul_nonneg _fvar.758712 _fvar.760569 _fvar.760620 _fvar.783858hfminusgplus:?_mvar.790841 := Chapter11.integ_of_mul_nonneg _fvar.760522 _fvar.760422 _fvar.768764 _fvar.775713hfminusgminus:?_mvar.790858 := Chapter11.integ_of_mul_nonneg _fvar.760522 _fvar.760569 _fvar.768764 _fvar.783858⊢ IntegrableOn (fplus * gplus + (-(fplus * gminus) - fminus * gplus) + fminus * gminus) I
All goals completed! 🐙open BoundedIntervalExercise 11.4.2
theorem IntegrableOn.split {I: BoundedInterval} {f: ℝ → ℝ} (hf: IntegrableOn f I) (P: Partition I) :
integ f I = ∑ J ∈ P.intervals, integ f J := I:BoundedIntervalf:ℝ → ℝhf:IntegrableOn f IP:Partition I⊢ integ f I = ∑ J ∈ P.intervals, integ f J
All goals completed! 🐙end Chapter11