Imports
import Mathlib.Tactic import Analysis.Section_9_1 import Analysis.Section_10_1 import Analysis.Section_10_2

Analysis I, Section 10.5: L'Hôpital's rule

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:

  • L'Hôpital's rule.

open Chapter9namespace Chapter10

Proposition 10.5.1 (L'Hôpital's rule, I) / Exercise 10.5.1

theorem declaration uses `sorry`_root_.Filter.Tendsto.of_div {X: Set } {f g: } {x₀ f'x₀ g'x₀:} (hfx₀: f x₀ = 0) (hgx₀: g x₀ = 0) (hg_non: g'x₀ 0) (hf'x₀: HasDerivWithinAt f f'x₀ X x₀) (hg'x₀: HasDerivWithinAt g g'x₀ X x₀) : ( δ > 0, x X \ {x₀} .Ioo (x₀ - δ) (x₀ + δ), g x 0) (nhdsWithin x₀ (X \ {x₀})).Tendsto (fun x f x / g x) (nhds (f'x₀ / g'x₀)) := X:Set f: g: x₀:f'x₀:g'x₀:hfx₀:f x₀ = 0hgx₀:g x₀ = 0hg_non:g'x₀ 0hf'x₀:HasDerivWithinAt f f'x₀ X x₀hg'x₀:HasDerivWithinAt g g'x₀ X x₀(∃ δ > 0, x X \ {x₀} Set.Ioo (x₀ - δ) (x₀ + δ), g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin x₀ (X \ {x₀})) (nhds (f'x₀ / g'x₀)) All goals completed! 🐙

Proposition 10.5.2 (L'Hôpital's rule, II)

theorem _root_.Filter.Tendsto.of_div' {a b L:} (hab: a < b) {f g f' g': } (hf: DifferentiableOn f (.Icc a b)) (hg: DifferentiableOn g (.Icc a b)) (hf': f' = derivWithin f (.Icc a b)) (hg': g' = derivWithin g (.Icc a b)) (hfa: f a = 0) (hga: g a = 0) (hgnon: x Set.Icc a b, g' x 0) (hderiv: (nhdsWithin a (.Icc a b)).Tendsto (fun x f' x / g' x) (nhds L)) : ( x Set.Ioc a b, g x 0) (nhdsWithin a (.Ioc a b)).Tendsto (fun x f x / g x) (nhds L) := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) -- This proof is written to follow the structure of the original text. a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) have (x:) (hx: x Set.Ioc a b) : g x 0 := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:hx:x Set.Ioc a bthis:g x = 0False a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bFalse a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x bthis: x_1 Set.Ioo a x, HasDerivWithinAt g 0 (Set.Ioo a x) x_1Falsea:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x by:hy:y Set.Ioo a xhgy:HasDerivWithinAt g 0 (Set.Ioo a x) yFalsea:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x; a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xFalsea:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bFalsea:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xy Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0Falsea:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xy Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0Falsea:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xy Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x; a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:DifferentiableWithinAt g (Set.Icc a b) yFalsea:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xy Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x replace hg : HasDerivWithinAt g (g' y) (.Ioo a x) y := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:DifferentiableWithinAt g (Set.Icc a b) yHasDerivWithinAt g (derivWithin g (Set.Icc a b) y) (Set.Ioo a x) y; a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:DifferentiableWithinAt g (Set.Icc a b) ySet.Ioo a x Set.Icc a b; All goals completed! 🐙 a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:HasDerivWithinAt g (g' y) (Set.Ioo a x) yhd:g' y = 0Falsea:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:HasDerivWithinAt g (g' y) (Set.Ioo a x) yClusterPt y (Filter.principal (Set.Ioo a x \ {y}))a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xy Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:HasDerivWithinAt g (g' y) (Set.Ioo a x) yhd:g' y = 0False All goals completed! 🐙 a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:HasDerivWithinAt g (g' y) (Set.Ioo a x) yClusterPt y (Filter.principal (Set.Ioo a y))a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:HasDerivWithinAt g (g' y) (Set.Ioo a x) ySet.Ioo a y Set.Ioo a x \ {y}a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xy Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Icc a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bSet.Ioo a x Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this:g x = 0hx:a < x x bg a = g x a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)x:this✝:g x = 0hx:a < x x by:hgy:HasDerivWithinAt g 0 (Set.Ioo a x) yhy:a < y y < xthis:y Set.Icc a bhgnon:g' y 0hg:HasDerivWithinAt g (g' y) (Set.Ioo a x) yClusterPt y (Filter.principal (Set.Ioo a y)) All goals completed! 🐙 all_goals All goals completed! 🐙 a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0 (a_1 : ), (∀ (n : ), a_1 n Set.Ioc a b) Filter.Tendsto a_1 Filter.atTop (nhds a) Filter.Tendsto (fun n f (a_1 n) / g (a_1 n)) Filter.atTop (nhds L)a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0AdherentPt a (Set.Ioc a b) a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0 (a_1 : ), (∀ (n : ), a_1 n Set.Ioc a b) Filter.Tendsto a_1 Filter.atTop (nhds a) Filter.Tendsto (fun n f (a_1 n) / g (a_1 n)) Filter.atTop (nhds L) intro x a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bFilter.Tendsto x Filter.atTop (nhds a) Filter.Tendsto (fun n f (x n) / g (x n)) Filter.atTop (nhds L) a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)Filter.Tendsto (fun n f (x n) / g (x n)) Filter.atTop (nhds L) have hxy (n:) : yn Set.Ioo a (x n), (f (x n))/(g (x n)) = f' yn / (g' yn) := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n) yn Set.Ioo a (x n), f (x n) / g (x n) = f' yn / g' yn have hdiff : DifferentiableOn h (.Icc a b) := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) All goals completed! 🐙 a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b) yn Set.Ioo a (x n), f (x n) / g (x n) = f' yn / g' yn a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:x n Set.Ioc a b yn Set.Ioo a (x n), f (x n) / g (x n) = f' yn / g' yn; a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n b yn Set.Ioo a (x n), f (x n) / g (x n) = f' yn / g' yn a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n)) yn Set.Ioo a (x n), f (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n)) yn Set.Ioo a (x n), f (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0 yn Set.Ioo a (x n), f (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))h a = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0 yn Set.Ioo a (x n), f (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0h (x n) = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))h a = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b choose yn hyn hdh using HasDerivWithinAt.exist_zero hx.1 hcon hdiff (a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0h a = h (x n) All goals completed! 🐙) a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynf (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0h (x n) = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))h a = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynf (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0h (x n) = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))h a = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b have h1 : HasDerivWithinAt f (f' yn) (.Ioo a (x n)) yn := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynHasDerivWithinAt f (derivWithin f (Set.Icc a b) yn) (Set.Ioo a (x n)) yn; a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynSet.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynyn Set.Icc a b a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynSet.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynyn Set.Icc a b All goals completed! 🐙 have h2 : HasDerivWithinAt g (g' yn) (.Ioo a (x n)) yn := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynHasDerivWithinAt g (derivWithin g (Set.Icc a b) yn) (Set.Ioo a (x n)) yn; a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynSet.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynyn Set.Icc a b a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynSet.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynyn Set.Icc a b All goals completed! 🐙 a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynf (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0h (x n) = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))h a = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynf (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0h (x n) = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))h a = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b have h5 : HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (.Ioo a (x n)) yn := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynHasDerivWithinAt (fun x' f x' * g (x n) - g x' * f (x n)) (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) yn; All goals completed! 🐙 have h6 : f' yn * g (x n) - g' yn * f (x n) = 0 := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynClusterPt yn (Filter.principal (Set.Ioo a (x n) \ {yn})) a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynClusterPt yn (Filter.principal (Set.Ioo a yn))a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynSet.Ioo a yn Set.Ioo a (x n) \ {yn} a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynClusterPt yn (Filter.principal (Set.Ioo a yn)) a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) yna yn; All goals completed! 🐙 All goals completed! 🐙 a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynh6:f' yn * g (x n) - g' yn * f (x n) = 0h7:g (x n) 0f (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynh6:f' yn * g (x n) - g' yn * f (x n) = 0g (x n) 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0h (x n) = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))h a = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynh6:f' yn * g (x n) - g' yn * f (x n) = 0h7:g (x n) 0h8:g' yn 0f (x n) / g (x n) = f' yn / g' yna:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynh6:f' yn * g (x n) - g' yn * f (x n) = 0h7:g (x n) 0g' yn 0a:b:L:hab:a < bf: g: f': g': hf: x Set.Icc a b, DifferentiableWithinAt f (Set.Icc a b) xhg: x Set.Icc a b, DifferentiableWithinAt g (Set.Icc a b) xhf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0hb:h (x n) = 0yn:hyn:yn Set.Ioo a (x n)hdh:HasDerivWithinAt h 0 (Set.Ioo a (x n)) ynh1:HasDerivWithinAt f (f' yn) (Set.Ioo a (x n)) ynh2:HasDerivWithinAt g (g' yn) (Set.Ioo a (x n)) ynh3:HasDerivWithinAt (fun y f y * g (x n)) (f' yn * g (x n)) (Set.Ioo a (x n)) ynh4:HasDerivWithinAt (fun y g y * f (x n)) (g' yn * f (x n)) (Set.Ioo a (x n)) ynh5:HasDerivWithinAt h (f' yn * g (x n) - g' yn * f (x n)) (Set.Ioo a (x n)) ynh6:f' yn * g (x n) - g' yn * f (x n) = 0g (x n) 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))ha:h a = 0h (x n) = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))hdiff:DifferentiableOn h (Set.Ioo a (x n))h a = 0a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hx:a < x n x n bhcon:ContinuousOn h (Set.Icc a (x n))Set.Ioo a (x n) Set.Icc a ba:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hconv:Filter.Tendsto x Filter.atTop (nhds a)n:h: := fun x' f x' * g (x n) - g x' * f (x n)hdiff:DifferentiableOn h (Set.Icc a b)hcon:ContinuousOn h (Set.Icc a b)hx:a < x n x n bSet.Icc a (x n) Set.Icc a b all_goals All goals completed! 🐙 a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)y: hy: (n : ), y n Set.Ioo a (x n)hy': (n : ), f (x n) / g (x n) = f' (y n) / g' (y n)Filter.Tendsto (fun n f (x n) / g (x n)) Filter.atTop (nhds L) have hyconv : Filter.atTop.Tendsto y (nhds a) := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)y: hy: (n : ), y n Set.Ioo a (x n)hy': (n : ), f (x n) / g (x n) = f' (y n) / g' (y n)(fun x a) ya:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)y: hy: (n : ), y n Set.Ioo a (x n)hy': (n : ), f (x n) / g (x n) = f' (y n) / g' (y n)y x a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)y: hy: (n : ), y n Set.Ioo a (x n)hy': (n : ), f (x n) / g (x n) = f' (y n) / g' (y n)(fun x a) ya:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)y: hy: (n : ), y n Set.Ioo a (x n)hy': (n : ), f (x n) / g (x n) = f' (y n) / g' (y n)y x (a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)y: hy: (n : ), y n Set.Ioo a (x n)hy': (n : ), f (x n) / g (x n) = f' (y n) / g' (y n)i✝:y i✝ x i✝; All goals completed! 🐙) replace hy : n, y n Set.Icc a b := a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)(∀ x Set.Ioc a b, g x 0) Filter.Tendsto (fun x f x / g x) (nhdsWithin a (Set.Ioc a b)) (nhds L) All goals completed! 🐙 simp_rw a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)y: hy': (n : ), f (x n) / g (x n) = f' (y n) / g' (y n)hyconv:Filter.Tendsto y Filter.atTop (nhds a)hy: (n : ), y n Set.Icc a bFilter.Tendsto (fun n f (x n) / g (x n)) Filter.atTop (nhds L)hy']; a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0x: hx: (n : ), x n Set.Ioc a bhconv:Filter.Tendsto x Filter.atTop (nhds a)y: hy': (n : ), f (x n) / g (x n) = f' (y n) / g' (y n)hyconv:Filter.Tendsto y Filter.atTop (nhds a)hy: (n : ), y n Set.Icc a bFilter.Tendsto y Filter.atTop (nhdsWithin a (Set.Icc a b)) All goals completed! 🐙 a:b:L:hab:a < bf: g: f': g': hf:DifferentiableOn f (Set.Icc a b)hg:DifferentiableOn g (Set.Icc a b)hf':f' = derivWithin f (Set.Icc a b)hg':g' = derivWithin g (Set.Icc a b)hfa:f a = 0hga:g a = 0hgnon: x Set.Icc a b, g' x 0hderiv:Filter.Tendsto (fun x f' x / g' x) (nhdsWithin a (Set.Icc a b)) (nhds L)hfcon:ContinuousOn f (Set.Icc a b)hgcon:ContinuousOn g (Set.Icc a b)this: x Set.Ioc a b, g x 0a b; All goals completed! 🐙
end Chapter10