Analysis I, Section 9.7: The intermediate value theorem

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

Theorem 9.7.1 (Intermediate value theorem)

theorem declaration uses 'sorry'intermediate_value {a b:} (hab: a < b) {f: } (hf: ContinuousOn f (.Icc a b)) {y:} (hy: y Set.Icc (f a) (f b) y Set.Icc (f a) (f b)) : c Set.Icc a b, f c = y := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y -- This proof is written to follow the structure of the original text. a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b) c Set.Icc a b, f c = ya:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_right:y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:y = f a c Set.Icc a b, f c = ya:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:¬y = f a c Set.Icc a b, f c = y; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:y = f aa Set.Icc a b f a = ya:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:¬y = f a c Set.Icc a b, f c = y; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:¬y = f a c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:¬y = f ahyb:y = f b c Set.Icc a b, f c = ya:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:¬y = f ahyb:¬y = f b c Set.Icc a b, f c = y; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:¬y = f ahyb:y = f bb Set.Icc a b f b = ya:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:¬y = f ahyb:¬y = f b c Set.Icc a b, f c = y; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:y Set.Icc (f a) (f b)hya:¬y = f ahyb:¬y = f b c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hya:¬y = f ahyb:¬y = f bhy_left:f a y y f b c Set.Icc a b, f c = y replace hya : f a < y := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 replace hyb : y < f b := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480} c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁ c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_Icc c Set.Icc a b, f c = y have hEa : a E := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 have hE_nonempty : E.Nonempty := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647 c Set.Icc a b, f c = y have hc : c Set.Icc a b := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647a c c b; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647a ca:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647c b a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647a c All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647b = sSup (Set.Icc a b) All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968f c = y have hfc_upper : f c y := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y have hxe (n:) : x E, c - 1/(n+1:) < x := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y have : 1/(n+1:) > 0 := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 replace : c - 1/(n+1:) < sSup E := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)f c y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))f c y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightf c y have : Filter.atTop.Tendsto x (nhds c) := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightFilter.Tendsto (fun j => c - 1 / (j + 1)) Filter.atTop (nhds c)a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightFilter.Tendsto (fun j => c) Filter.atTop (nhds c)a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).right(fun j => c - 1 / (j + 1)) xa:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightx fun j => c a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightFilter.Tendsto (fun j => c - 1 / (j + 1)) Filter.atTop (nhds c) a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightc = c - 0;All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightFilter.Tendsto (fun j => c) Filter.atTop (nhds c) All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).right(fun j => c - 1 / (j + 1)) x All goals completed! 🐙 All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx1: (n : ), @_fvar.28811 n _fvar.10647 := fun n => (Exists.choose_spec (@_fvar.20806 n)).left (Exists.choose (@_fvar.20806 n) _fvar.10647) (_fvar.14696 - 1 / (n + 1) < Exists.choose (@_fvar.20806 n))hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightthis:?_mvar.31280 := Filter.Tendsto.comp_of_continuous _fvar.14969 (ContinuousOn.continuousWithinAt _fvar.479 _fvar.14969) (fun n => @_fvar.10942 (@_fvar.28811 n) (@_fvar.29108 n)) _fvar.29616f c y have hfxny (n:) : f (x n) y := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightthis:?_mvar.31280 := Filter.Tendsto.comp_of_continuous _fvar.14969 (ContinuousOn.continuousWithinAt _fvar.479 _fvar.14969) (fun n => @_fvar.10942 (@_fvar.28811 n) (@_fvar.29108 n)) _fvar.29616n:hx1:x n Ef (x n) y; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hxe: (n : ), x _fvar.10647, _fvar.14696 - 1 / (n + 1) < x := fun n => @?_mvar.20805 nx: := fun n => Exists.choose (@_fvar.20806 n)hx2: (n : ), _fvar.14696 - 1 / (n + 1) < @_fvar.28811 n := fun n => (Exists.choose_spec (@_fvar.20806 n)).rightthis:?_mvar.31280 := Filter.Tendsto.comp_of_continuous _fvar.14969 (ContinuousOn.continuousWithinAt _fvar.479 _fvar.14969) (fun n => @_fvar.10942 (@_fvar.28811 n) (@_fvar.29108 n)) _fvar.29616n:hx1:(a x n x n b) f (x n) < yf (x n) y; All goals completed! 🐙 All goals completed! 🐙 have hne : c < b := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 have hfc_lower : y f c := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y have : N:, n N, (c+1/(n+1:)) < b := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < N N, n N, c + 1 / (n + 1) < b a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < N n N, c + 1 / (n + 1) < b; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nc + 1 / (n + 1) < b have hpos : 0 < b-c := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 have : 1/(n+1:) < b-c := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nhpos:0 < _fvar.476 - _fvar.14696 := ?_mvar.421721 / (b - c) < n + 1a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nhpos:0 < _fvar.476 - _fvar.14696 := ?_mvar.421720 < n + 1a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nhpos:0 < _fvar.476 - _fvar.14696 := ?_mvar.421720 < b - c a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nhpos:0 < _fvar.476 - _fvar.14696 := ?_mvar.421721 / (b - c) < n + 1a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nhpos:0 < _fvar.476 - _fvar.14696 := ?_mvar.421720 < n + 1a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nhpos:0 < _fvar.476 - _fvar.14696 := ?_mvar.421720 < b - c (try All goals completed! 🐙); a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nhpos:0 < _fvar.476 - _fvar.14696 := ?_mvar.42172N < n + 1; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN:1 / (b - c) < Nn:hn:n Nhpos:0 < _fvar.476 - _fvar.14696 := ?_mvar.42172N < n + 1; All goals completed! 🐙 All goals completed! 🐙 a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < by f c have hmem : n N, (c + 1/(n+1:)) Set.Icc a b := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bn:hn:n Nc + 1 / (n + 1) Set.Icc a b a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bn:hn:n Na c + 1 / (n + 1) have : 1/(n+1:) > 0 := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 replace : c + 1/(n+1:) > c := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 All goals completed! 🐙 have : n N, c + 1/(n+1:) E := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260n:a✝:n Nc + 1 / (n + 1) E have : 1/(n+1:) > 0 := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 replace : c + 1/(n+1:) > c := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y All goals completed! 🐙 All goals completed! 🐙 replace : n N, f (c + 1/(n+1:)) y := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260this: n _fvar.60822, _fvar.14696 + 1 / (n + 1) _fvar.10647 := ?_mvar.76679n:hn:n Nf (c + 1 / (n + 1)) y; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260n:hn:n Nthis:c + 1 / (n + 1) Ef (c + 1 / (n + 1)) y; a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260n:hn:n Nthis:f (c + 1 / (n + 1)) < yc + 1 / (n + 1) E a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260n:hn:n Nthis:f (c + 1 / (n + 1)) < y(a c + (n + 1)⁻¹ c + (n + 1)⁻¹ b) f (c + (n + 1)⁻¹) < y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260n:hn:n Nthis✝:f (c + 1 / (n + 1)) < ythis:?_mvar.92598 := @_fvar.61261 _fvar.86954 _fvar.86957(a c + (n + 1)⁻¹ c + (n + 1)⁻¹ b) f (c + (n + 1)⁻¹) < y All goals completed! 🐙 have hconv : Filter.atTop.Tendsto (fun n: c + 1/(n+1:)) (nhds c) := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260this: n _fvar.60822, @_fvar.478 (_fvar.14696 + 1 / (n + 1)) _fvar.480 := ?_mvar.86945c = c + 0; All goals completed! 🐙 a:b:hab:a < bf: y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260this: n _fvar.60822, @_fvar.478 (_fvar.14696 + 1 / (n + 1)) _fvar.480 := ?_mvar.86945hconv:Filter.Tendsto (fun n => _fvar.14696 + 1 / (n + 1)) Filter.atTop (nhds _fvar.14696) := ?_mvar.120615hf:?_mvar.122028 := ContinuousWithinAt.tendsto (ContinuousOn.continuousWithinAt _fvar.479 _fvar.14969)y f c a:b:hab:a < bf: y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260this: n _fvar.60822, @_fvar.478 (_fvar.14696 + 1 / (n + 1)) _fvar.480 := ?_mvar.86945hconv:Filter.Tendsto (fun n => _fvar.14696 + 1 / (n + 1)) Filter.atTop (nhds _fvar.14696) := ?_mvar.120615hf:Filter.Tendsto f (nhds c Filter.principal (Set.Icc a b)) (nhds (f c))y f c have hconv' : Filter.atTop.Tendsto (fun n: c + 1/(n+1:)) (.principal (.Icc a b)) := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:y Set.Icc (f a) (f b) y Set.Icc (f a) (f b) c Set.Icc a b, f c = y a:b:hab:a < bf: y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260this: n _fvar.60822, @_fvar.478 (_fvar.14696 + 1 / (n + 1)) _fvar.480 := ?_mvar.86945hconv:Filter.Tendsto (fun n => _fvar.14696 + 1 / (n + 1)) Filter.atTop (nhds _fvar.14696) := ?_mvar.120615hf:Filter.Tendsto f (nhds c Filter.principal (Set.Icc a b)) (nhds (f c)) a_1, (b_1 : ), a_1 b_1 c + 1 / (b_1 + 1) Set.Icc a b; All goals completed! 🐙 a:b:hab:a < bf: y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260this: n _fvar.60822, @_fvar.478 (_fvar.14696 + 1 / (n + 1)) _fvar.480 := ?_mvar.86945hconv:Filter.Tendsto (fun n => _fvar.14696 + 1 / (n + 1)) Filter.atTop (nhds _fvar.14696) := ?_mvar.120615hf:Filter.Tendsto f (nhds c Filter.principal (Set.Icc a b)) (nhds (f c))hconv':?_mvar.128805 := Filter.tendsto_inf.mpr _fvar.120616, _fvar.122748y f c a:b:hab:a < bf: y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260this: n _fvar.60822, @_fvar.478 (_fvar.14696 + 1 / (n + 1)) _fvar.480 := ?_mvar.86945hconv:Filter.Tendsto (fun n => _fvar.14696 + 1 / (n + 1)) Filter.atTop (nhds _fvar.14696) := ?_mvar.120615hf:Filter.Tendsto f (nhds c Filter.principal (Set.Icc a b)) (nhds (f c))hconv':?_mvar.128805 := Filter.tendsto_inf.mpr _fvar.120616, _fvar.122748∀ᶠ (c_1 : ) in Filter.atTop, y (f fun n => c + 1 / (n + 1)) c_1 a:b:hab:a < bf: y:hy_left:f a y y f bhya:@_fvar.478 _fvar.475 < _fvar.480 := ?_mvar.6730hyb:_fvar.480 < @_fvar.478 _fvar.476 := ?_mvar.8623E:Set := {x | x Set.Icc _fvar.475 _fvar.476 @_fvar.478 x < _fvar.480}hE:_fvar.10647 Set.Icc _fvar.475 _fvar.476 := fun x x_1 => match x_1 with | hx₁, hx₂ => hx₁hE_bdd:BddAbove _fvar.10647 := BddAbove.mono _fvar.10942 bddAbove_IcchEa:_fvar.475 _fvar.10647 := ?_mvar.11251hE_nonempty:Set.Nonempty _fvar.10647 := ?_mvar.14664c: := sSup _fvar.10647hc:_fvar.14696 Set.Icc _fvar.475 _fvar.476 := ?_mvar.14968hfc_upper:@_fvar.478 _fvar.14696 _fvar.480 := ?_mvar.20457hne:_fvar.14696 < _fvar.476 := ?_mvar.39327N:hN: n N, c + 1 / (n + 1) < bhmem: n _fvar.60822, _fvar.14696 + 1 / (n + 1) Set.Icc _fvar.475 _fvar.476 := ?_mvar.61260this: n _fvar.60822, @_fvar.478 (_fvar.14696 + 1 / (n + 1)) _fvar.480 := ?_mvar.86945hconv:Filter.Tendsto (fun n => _fvar.14696 + 1 / (n + 1)) Filter.atTop (nhds _fvar.14696) := ?_mvar.120615hf:Filter.Tendsto f (nhds c Filter.principal (Set.Icc a b)) (nhds (f c))hconv':?_mvar.128805 := Filter.tendsto_inf.mpr _fvar.120616, _fvar.122748 a, (b : ), a b y f (c + 1 / (b + 1)); All goals completed! 🐙 All goals completed! 🐙 All goals completed! 🐙
open Classical in noncomputable abbrev f_9_7_1 : := fun x if x 0 then -1 else 1declaration uses 'sorry'example : 0 Set.Icc (f_9_7_1 (-1)) (f_9_7_1 1) ¬ x Set.Icc (-1) 1, f_9_7_1 x = 0 := 0 Set.Icc (f_9_7_1 (-1)) (f_9_7_1 1) ¬ x Set.Icc (-1) 1, f_9_7_1 x = 0 All goals completed! 🐙

Remark 9.7.2

abbrev f_9_7_2 : := fun x x^3 - x
declaration uses 'sorry'example : f_9_7_2 (-2) = -6 := f_9_7_2 (-2) = -6 All goals completed! 🐙declaration uses 'sorry'example : f_9_7_2 2 = 6 := f_9_7_2 2 = 6 All goals completed! 🐙declaration uses 'sorry'example : f_9_7_2 (-1) = 0 := f_9_7_2 (-1) = 0 All goals completed! 🐙declaration uses 'sorry'example : f_9_7_2 0 = 0 := f_9_7_2 0 = 0 All goals completed! 🐙declaration uses 'sorry'example : f_9_7_2 1 = 0 := f_9_7_2 1 = 0 All goals completed! 🐙

Remark 9.7.3

declaration uses 'sorry'example : x:, 0 x x 2 x^2 = 2 := x, 0 x x 2 x ^ 2 = 2 All goals completed! 🐙

Corollary 9.7.4 (Images of continuous functions) / Exercise 9.7.1

theorem declaration uses 'sorry'continuous_image_Icc {a b:} (hab: a < b) {f: } (hf: ContinuousOn f (.Icc a b)) {y:} (hy: sInf (f '' .Icc a b) y y sSup (f '' .Icc a b)) : c Set.Icc a b, f c = y := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)y:hy:sInf (f '' Set.Icc a b) y y sSup (f '' Set.Icc a b) c Set.Icc a b, f c = y All goals completed! 🐙
theorem declaration uses 'sorry'continuous_image_Icc' {a b:} (hab: a < b) {f: } (hf: ContinuousOn f (.Icc a b)) : f '' .Icc a b = .Icc (sInf (f '' .Icc a b)) (sSup (f '' .Icc a b)) := a:b:hab:a < bf: hf:ContinuousOn f (Set.Icc a b)f '' Set.Icc a b = Set.Icc (sInf (f '' Set.Icc a b)) (sSup (f '' Set.Icc a b)) All goals completed! 🐙

Exercise 9.7.2

theorem declaration uses 'sorry'exists_fixed_pt {f: } (hf: ContinuousOn f (.Icc 0 1)) (hmap: f '' .Icc 0 1 .Icc 0 1) : x Set.Icc 0 1, f x = x := f: hf:ContinuousOn f (Set.Icc 0 1)hmap:f '' Set.Icc 0 1 Set.Icc 0 1 x Set.Icc 0 1, f x = x All goals completed! 🐙
end Chapter9