Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proof of L'Hopital rule #1371

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Conversation

ndslusarz
Copy link

Motivation for this change

Co-authored by: @affeldt-aist @hoheinzollern

Proofs of L'Hopital rule for limits taken on left and right, and Cauchy's mean value theorem.

Checklist
  • added corresponding entries in CHANGELOG_UNRELEASED.md
  • added corresponding documentation in the headers

Reference: How to document

Reminder to reviewers

Copy link
Contributor

@zstone1 zstone1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Main comment is about weakening nbhs a U to be only on the side of the limit. But generally happy to see more foundational calc stuff happening

Hypothesis ab : a < b.
Hypotheses (cf : {within `[a, b], continuous f})
(cg : {within `[a, b], continuous g}).
Hypotheses (fdf : forall x, x \in `]a, b[%R -> is_derive x 1 f (df x))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we extend the predicate derivable_oo_continuous_bnd to include an option for an explicit derivative as an argument (E.G. derivable_oo_continuous_bnd_with f df x y)?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gave it a try, but couldn't extend quickly, so perhaps something to extend separately for a different PR?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I have no problem with that. Happy to deal with it later.

Hypotheses (dg0 : forall x, x \in `]a, b[%R -> dg x != 0).

Lemma cauchy_MVT :
exists2 c, c \in `]a, b[%R & df c / dg c = (f b - f a) / (g b - g a).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like callers will need to know that g b - g a != 0. We might as well deduplicate that a bit. I would recommend either an auxiliary lemma that for any g, a and b, {in ]a,b[, dg x != 0 -> g b - g a != 0. Or maybe put a g b - g a != 0 as an extra clause in the result of cauchy_MVT

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, as a separate lemma instead of inside the proof, but unsure if you perhaps meant outside of the MVT Cauchy section (so without all of its assumptions?)

Also I'm a bit unsure of what the naming convention would be for that one, so happy to rename it to something proper.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes sense to me. I don't have any idea for naming here, so I'd say it's fine for now.


Section lhopital.
Context {R : realType}.
Variables (f df g dg : R -> R) (a : R) (U : set R) (Ua : nbhs a U).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As usual, a question about boundary conditions. I'm a bit surprised to see we require f to be derivable in a full neighborhood of a. But then only take the right/left limit. Instead I would expect to see either a^'- U or a^'+U depending on the direction of the limit. Will the theorem still go through with that weakening?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch - I think this should go through, but changes are a bit more time-consuming than I expected so still in progress, should be done sometime next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants