Analysis I, Section 9.6: The maximum principle

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:

namespace Chapter9

Definition 9.6.1

abbrev BddAboveOn (f: ) (X:Set ) : Prop := M, x X, f x M
abbrev BddBelowOn (f: ) (X:Set ) : Prop := M, x X, -M f xabbrev BddOn (f: ) (X:Set ) : Prop := M, x X, |f x| M

Remark 9.6.2

theorem declaration uses 'sorry'BddOn.iff (f: ) (X:Set ) : BddOn f X BddAboveOn f X BddBelowOn f X := f: X:Set BddOn f X BddAboveOn f X BddBelowOn f X All goals completed! 🐙
theorem declaration uses 'sorry'BddOn.iff' (f: ) (X:Set ) : BddOn f X Bornology.IsBounded (f '' X) := f: X:Set BddOn f X Bornology.IsBounded (f '' X) All goals completed! 🐙theorem BddOn.of_bounded {f : } {X: Set } {M:} (h: x X, |f x| M) : BddOn f X := f: X:Set M:h: x X, |f x| MBddOn f X All goals completed! 🐙declaration uses 'sorry'example : Continuous (fun x: x) := Continuous fun x => x All goals completed! 🐙declaration uses 'sorry'example : ¬ BddOn (fun x: x) .univ := ¬BddOn (fun x => x) Set.univ All goals completed! 🐙declaration uses 'sorry'example : BddOn (fun x: x) (.Icc 1 2) := BddOn (fun x => x) (Set.Icc 1 2) All goals completed! 🐙declaration uses 'sorry'example : ContinuousOn (fun x: 1/x) (.Ioo 0 1) := ContinuousOn (fun x => 1 / x) (Set.Ioo 0 1) All goals completed! 🐙declaration uses 'sorry'example : ¬ BddOn (fun x: 1/x) (.Ioo 0 1) := ¬BddOn (fun x => 1 / x) (Set.Ioo 0 1) All goals completed! 🐙theorem declaration uses 'sorry'why_7_6_3 {n: } (hn: StrictMono n) (j:) : n j j := n: hn:StrictMono nj:n j j All goals completed! 🐙

Lemma 7.6.3

theorem BddOn.of_continuous_on_compact {a b:} (unused variable `h` Note: This linter can be disabled with `set_option linter.unusedVariables false`h:a < b) {f: } (hf: ContinuousOn f (.Icc a b) ) : BddOn f (.Icc a b) := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)BddOn f (Set.Icc a b) -- This proof is written to follow the structure of the original text. a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)hunbound:¬BddOn f (Set.Icc a b)False; a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|False a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)False a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)False a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hf:ContinuousOn f XFalse a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hf:ContinuousOn f XhXclosed:IsClosed (Set.Icc a b)False a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hf:ContinuousOn f XhXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)False have haX (n:): x n X := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)BddOn f (Set.Icc a b) a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hf:ContinuousOn f XhXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)n:a x n x n b; a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hf:ContinuousOn f XhXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)n:hx:a x n x n b n < |f (x n)|a x n x n b; All goals completed! 🐙 a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hf:ContinuousOn f XhXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)False a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hf:ContinuousOn f XhXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jFalse a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jhf:?_mvar.76307 := ContinuousOn.continuousWithinAt _fvar.19697 _fvar.76093False a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jhf:Convergesto X f (f L) LFalse a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jhf:?_mvar.76420 := Chapter9.Convergesto.comp (Chapter9.AdherentPt.of_mem _fvar.76093) _fvar.76409 (fun j => @_fvar.70684 (@_fvar.76090 j)) _fvar.76094False a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jhf:Bornology.IsBounded (Set.range fun n_1 => f (x (n n_1)))False a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jhf: M > 0, (Set.range fun n_1 => f (x (n n_1))) Set.Icc (-M) MFalse; a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jM:hpos:M > 0hM:(Set.range fun n_1 => f (x (n n_1))) Set.Icc (-M) MFalse a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)hx: (n : ), _fvar.1907 @_fvar.18463 n @_fvar.18463 n _fvar.1908 n < |@_fvar.1910 (@_fvar.18463 n)| := fun n => Exists.choose_spec (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jM:hpos:M > 0hM:(Set.range fun n_1 => f (x (n n_1))) Set.Icc (-M) Mj:hj:M < jFalse a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jM:hpos:M > 0hM:(Set.range fun n_1 => f (x (n n_1))) Set.Icc (-M) Mj:hj:M < jhx:?_mvar.76605 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)False replace hM : f (x (n j)) Set.Icc (-M) M := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)BddOn f (Set.Icc a b) All goals completed! 🐙 a:b:h:a < bf: hunbound: (x : ), x_1, a x_1 x_1 b x < |f x_1|x: := fun n => Exists.choose (@_fvar.18408 n)X:Set := Set.Icc _fvar.1907 _fvar.1908hXclosed:IsClosed (Set.Icc a b)hXbounded:Bornology.IsBounded (Set.Icc a b)haX: (n : ), @_fvar.18463 n _fvar.19623 := fun n => @?_mvar.70683 nn: hn:StrictMono nL:hLX:L Xhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds L)why: (j : ), @_fvar.76090 j j := fun j => Chapter9.why_7_6_3 _fvar.76091 jM:hpos:M > 0j:hj:M < jhx:?_mvar.76605 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hM:|f (x (n j))| MFalse have : n j (j:) := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)BddOn f (Set.Icc a b) All goals completed! 🐙 All goals completed! 🐙
isMaxOn_iff.{u, v} {α : Type u} {β : Type v} [Preorder β] {f : α  β} {s : Set α} {a : α} :
  IsMaxOn f s a   x  s, f x  f a
isMinOn_iff.{u, v} {α : Type u} {β : Type v} [Preorder β] {f : α  β} {s : Set α} {a : α} :
  IsMinOn f s a   x  s, f a  f x

Remark 9.6.6

theorem declaration uses 'sorry'BddAboveOn.isMaxOn {f: } {X:Set } {x₀:} (h: IsMaxOn f X x₀): BddAboveOn f X := f: X:Set x₀:h:IsMaxOn f X x₀BddAboveOn f X All goals completed! 🐙
theorem declaration uses 'sorry'BddBelowOn.isMinOn {f: } {X:Set } {x₀:} (h: IsMinOn f X x₀): BddBelowOn f X := f: X:Set x₀:h:IsMinOn f X x₀BddBelowOn f X All goals completed! 🐙

Proposition 9.6.7 (Maximum principle)

theorem declaration uses 'sorry'IsMaxOn.of_continuous_on_compact {a b:} (h:a < b) {f: } (hf: ContinuousOn f (.Icc a b)) : xmax Set.Icc a b, IsMaxOn f (.Icc a b) xmax := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax -- This proof is written to follow the structure of the original text. a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| M xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574 xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax have hE : E .Icc (-M) M := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574x:hx:x Set.Icc a bf x Set.Icc (-M) M; All goals completed! 🐙 have hnon : E := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860¬Set.Icc a b = ; a:b:f: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860h:Set.Icc a b = b a; All goals completed! 🐙 a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676 xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hy xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax a:b:h✝:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyh: xmax Set.Icc a b, f xmax = m xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmaxa:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hy xmax Set.Icc a b, f xmax = m a:b:h✝:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyh: xmax Set.Icc a b, f xmax = m xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax All goals completed! 🐙 have claim2 (n:) : x Set.Icc a b, m - 1/(n+1:) < f x := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax have : 1/(n+1:) > 0 := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax All goals completed! 🐙 replace : m - 1/(n+1:) < sSup E := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax All goals completed! 🐙 a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:E.Nonemptym: := sSup _fvar.87676claim1: {y : }, y E y mn:this:m - 1 / (n + 1) < sSup E x Set.Icc a b, m - 1 / (n + 1) < f x a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:E.Nonemptym: := sSup _fvar.87676claim1: {y : }, y E y mn:this: a E, m - 1 / (n + 1) < a x Set.Icc a b, m - 1 / (n + 1) < f x All goals completed! 🐙 a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n) xmax Set.Icc a b, f xmax = m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).left xmax Set.Icc a b, f xmax = m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).right xmax Set.Icc a b, f xmax = m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b) xmax Set.Icc a b, f xmax = m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b) xmax Set.Icc a b, f xmax = m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax) xmax Set.Icc a b, f xmax = m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)f xmax = m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jf xmax = m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306f xmax = m have hlower (j:) : m - 1/(j+1:) < f (x (n j)) := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306j:m - 1 / (j + 1) m - 1 / ((n j) + 1); a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306j:j n j; All goals completed! 🐙 have hupper (j:) : f (x (n j)) m := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jj:f (x (n j)) E; a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jj: x_1, (a x_1 x_1 b) f x_1 = f (x (n j)); All goals completed! 🐙 have hconvm : Filter.atTop.Tendsto (fun j f (x (n j))) (nhds m) := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, IsMaxOn f (Set.Icc a b) xmax a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 jFilter.Tendsto (fun j => m - 1 / (j + 1)) Filter.atTop (nhds m)a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 jFilter.Tendsto (fun x => m) Filter.atTop (nhds m)a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 j(fun j => m - 1 / (j + 1)) fun j => f (x (n j))a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 j(fun j => f (x (n j))) fun x => m a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 jFilter.Tendsto (fun j => m - 1 / (j + 1)) Filter.atTop (nhds m) a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 jm = m - 0; All goals completed! 🐙 a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 jFilter.Tendsto (fun x => m) Filter.atTop (nhds m) All goals completed! 🐙 a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 j(fun j => m - 1 / (j + 1)) fun j => f (x (n j)) a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)M:hM: x Set.Icc a b, |f x| ME:Set := _fvar.87576 '' Set.Icc _fvar.87573 _fvar.87574hE:_fvar.87676 Set.Icc (-_fvar.87599) _fvar.87599 := ?_mvar.87860hnon:_fvar.87676 := ?_mvar.91589m: := sSup _fvar.87676claim1: {y : }, y _fvar.87676 y _fvar.95138 := fun {y} hy => le_csSup (BddAbove.mono _fvar.87861 bddAbove_Icc) hyclaim2: (n : ), x Set.Icc _fvar.87573 _fvar.87574, _fvar.95138 - 1 / (n + 1) < @_fvar.87576 x := fun n => @?_mvar.96020 nx: := fun n => Exists.choose (@_fvar.96021 n)hx: (n : ), @_fvar.105367 n Set.Icc _fvar.87573 _fvar.87574 := fun n => (Exists.choose_spec (@_fvar.96021 n)).lefthfx: (n : ), _fvar.95138 - 1 / (n + 1) < @_fvar.87576 (@_fvar.105367 n) := fun n => (Exists.choose_spec (@_fvar.96021 n)).righthclosed:IsClosed (Set.Icc a b)hbounded:Bornology.IsBounded (Set.Icc a b)n: hn:StrictMono nxmax:hmax:xmax Set.Icc a bhconv:Filter.Tendsto (fun j => x (n j)) Filter.atTop (nhds xmax)hn_lower: (j : ), @_fvar.107302 j j := fun j => Chapter9.why_7_6_3 _fvar.107303 jhconv':Filter.Tendsto (fun j => @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j))) Filter.atTop (nhds (@_fvar.87576 _fvar.107304)) := Filter.Tendsto.comp_of_continuous _fvar.107305 (ContinuousOn.continuousWithinAt _fvar.87577 _fvar.107305) (fun j => @_fvar.105685 (@_fvar.107302 j)) _fvar.107306hlower: (j : ), _fvar.95138 - 1 / (j + 1) < @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) := fun j => @?_mvar.108136 jhupper: (j : ), @_fvar.87576 (@_fvar.105367 (@_fvar.107302 j)) _fvar.95138 := fun j => @?_mvar.134073 ji✝:(fun j => m - 1 / (j + 1)) i✝ (fun j => f (x (n j))) i✝; All goals completed! 🐙 All goals completed! 🐙 All goals completed! 🐙
theorem declaration uses 'sorry'IsMinOn.of_continuous_on_compact {a b:} (h:a < b) {f: } (hf: ContinuousOn f (.Icc a b)) : xmin Set.Icc a b, IsMinOn f (.Icc a b) xmin := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmin Set.Icc a b, IsMinOn f (Set.Icc a b) xmin All goals completed! 🐙declaration uses 'sorry'example : IsMaxOn (fun x x^2) (.Icc (-2) 2) 2 := IsMaxOn (fun x => x ^ 2) (Set.Icc (-2) 2) 2 All goals completed! 🐙declaration uses 'sorry'example : IsMaxOn (fun x x^2) (.Icc (-2) 2) (-2) := IsMaxOn (fun x => x ^ 2) (Set.Icc (-2) 2) (-2) All goals completed! 🐙theorem sSup.of_isMaxOn {f: } {X:Set } {x₀:} (hx₀: x₀ X) (h: IsMaxOn f X x₀) : sSup (f '' X) = f x₀ := f: X:Set x₀:hx₀:x₀ Xh:IsMaxOn f X x₀sSup (f '' X) = f x₀ f: X:Set x₀:hx₀:x₀ Xh:IsMaxOn f X x₀IsGreatest (f '' X) (f x₀) f: X:Set x₀:hx₀:x₀ Xh:IsMaxOn f X x₀(∃ x X, f x = f x₀) a X, f a f x₀ All goals completed! 🐙theorem sInf.of_isMinOn {f: } {X:Set } {x₀:} (hx₀: x₀ X) (h: IsMinOn f X x₀) : sInf (f '' X) = f x₀ := f: X:Set x₀:hx₀:x₀ Xh:IsMinOn f X x₀sInf (f '' X) = f x₀ f: X:Set x₀:hx₀:x₀ Xh:IsMinOn f X x₀IsLeast (f '' X) (f x₀) f: X:Set x₀:hx₀:x₀ Xh:IsMinOn f X x₀(∃ x X, f x = f x₀) a X, f x₀ f a All goals completed! 🐙theorem sSup.of_continuous_on_compact {a b:} (h:a < b) (f: ) (hf: ContinuousOn f (.Icc a b)) : xmax Set.Icc a b, sSup (f '' .Icc a b) = f xmax := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmax Set.Icc a b, sSup (f '' Set.Icc a b) = f xmax a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)x:hx:x Set.Icc a bh':IsMaxOn f (Set.Icc a b) x xmax Set.Icc a b, sSup (f '' Set.Icc a b) = f xmax All goals completed! 🐙theorem sInf.of_continuous_on_compact {a b:} (h:a < b) (f: ) (hf: ContinuousOn f (.Icc a b)) : xmin Set.Icc a b, sInf (f '' .Icc a b) = f xmin := a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b) xmin Set.Icc a b, sInf (f '' Set.Icc a b) = f xmin a:b:h:a < bf: hf:ContinuousOn f (Set.Icc a b)x:hx:x Set.Icc a bh':IsMinOn f (Set.Icc a b) x xmin Set.Icc a b, sInf (f '' Set.Icc a b) = f xmin All goals completed! 🐙

Exercise 9.6.1

declaration uses 'sorry'example : f: , ContinuousOn f (.Ioo 1 2) BddOn f (.Ioo 1 2) x₀ Set.Ioo 1 2, IsMinOn f (.Ioo 1 2) x₀ ¬ x₀ Set.Ioo 1 2, IsMaxOn f (.Ioo 1 2) x₀ := f, ContinuousOn f (Set.Ioo 1 2) BddOn f (Set.Ioo 1 2) x₀ Set.Ioo 1 2, IsMinOn f (Set.Ioo 1 2) x₀ ¬ x₀ Set.Ioo 1 2, IsMaxOn f (Set.Ioo 1 2) x₀ All goals completed! 🐙

Exercise 9.6.1

declaration uses 'sorry'example : f: , ContinuousOn f (.Ioo 1 2) BddOn f (.Ioo 1 2) x₀ Set.Ioo 1 2, IsMaxOn f (.Ioo 1 2) x₀ ¬ x₀ Set.Ioo 1 2, IsMinOn f (.Ioo 1 2) x₀ := f, ContinuousOn f (Set.Ioo 1 2) BddOn f (Set.Ioo 1 2) x₀ Set.Ioo 1 2, IsMaxOn f (Set.Ioo 1 2) x₀ ¬ x₀ Set.Ioo 1 2, IsMinOn f (Set.Ioo 1 2) x₀ All goals completed! 🐙

Exercise 9.6.1

declaration uses 'sorry'example : f: , BddOn f (.Icc (-1) 1) ¬ x₀ Set.Icc (-1) 1, IsMinOn f (.Icc (-1) 1) x₀ ¬ x₀ Set.Icc (-1) 1, IsMaxOn f (.Icc (-1) 1) x₀ := f, BddOn f (Set.Icc (-1) 1) ¬ x₀ Set.Icc (-1) 1, IsMinOn f (Set.Icc (-1) 1) x₀ ¬ x₀ Set.Icc (-1) 1, IsMaxOn f (Set.Icc (-1) 1) x₀ All goals completed! 🐙

Exercise 9.6.1

declaration uses 'sorry'example : f: , ¬ BddAboveOn f (.Icc (-1) 1) ¬ BddBelowOn f (.Icc (-1) 1) := f, ¬BddAboveOn f (Set.Icc (-1) 1) ¬BddBelowOn f (Set.Icc (-1) 1) All goals completed! 🐙
end Chapter9