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

[Merged by Bors] - feat: uniform time lemma for the existence of global integral curves #9013

Closed
wants to merge 297 commits into from

Conversation

winstonyin
Copy link
Collaborator

@winstonyin winstonyin commented Dec 13, 2023

Lemma 9.15 in Lee's Introduction to Smooth Manifolds:

Let v be a smooth vector field on a smooth manifold M. If there exists ε > 0 such that for each point x : M, there exists an integral curve of v through x defined on an open interval Ioo (-ε) ε, then every point on M has a global integral curve of v passing through it.

We only require v to be $C^1$.

To achieve this, we define the extension of an integral curve γ by another integral curve γ', if they agree at a point inside their overlapping open interval domains. This utilises the uniqueness theorem of integral curves.

We need this lemma to show that vector fields on compact manifolds always have global integral curves.


Open in Gitpod

grunweg and others added 30 commits November 22, 2023 14:23
That's the normal form (and conceptually simpler); jumping between these
different forms means I need to rewrite more often. Most of the time,
I don't care which one I use.

Delete a helper lemma about this bad normal form: shouldn't use that.
mathlib has a related version, with a slightly different formula...
Extracting all those tiny lemmas still feels slightly weird, but I guess
they are still useful, somewhen. apply? cannot find them, at least.
I don't see how to show this, given the current hypotheses.
I decided two MapsTo helpers are obvious enough to be left out,
but disjointness of interior and frontier is interesting enough.
Everything else requires advanced technology not in mathlib yet.
Golf proofs about composition of integral curves.
TobiasLeichtfried pushed a commit that referenced this pull request Nov 21, 2024
…ation lemmas for subtraction (#19008)

We restate the translation lemmas for integral curves using the `Pointwise` API and add translation lemmas for subtraction for convenience.

This is just split out from #9013.

The `Pointwise` API allows us to use lemmas like `Metric.vadd_ball` and more convenient rewriting of the `dt` term (rather than rewriting it inside the set builder notation).
@winstonyin
Copy link
Collaborator Author

winstonyin commented Nov 22, 2024

@grunweg I remember what the issue is with proving the existence of global integral curves on compact manifolds. We need that the solution to ODEs is smooth wrt the initial conditions. I'm not sure we have that in mathlib yet. One standard proof of this relies on an integral over a finite-dimensional space, so to be general, we also need that compact differentiable manifolds are finite-dimensional. Seems like a fun excursion through mathlib which I may or may not have time for.

@grunweg
Copy link
Collaborator

grunweg commented Nov 22, 2024

Fun excursions are always nice. (I have an ever-growing list of these myself. But that means every time somebody ask "do you have a nice Lean project in mind", I have an answer :-)) I'd be happy to review, if you get there!

About smoothness: doesn't the manifold version simply follow from the statement in normed spaces? And that version should certainly be in mathlib (though I haven't checked). Put differently: I wouldn't mind merging a PR stating this for compact finite-dimensional manifolds, with a TODO that fin-dim is implied, so should be removed later.

Copy link
Collaborator

@grunweg grunweg left a comment

Choose a reason for hiding this comment

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

Thanks, I like this version much better!
Reading the code, there are tedious details about discharging all the arithmetic side conditions. I do wonder if this can be golfed, but don't see a way immediately. Let's ask for some maintainer feedback! Thanks for sticking with this PR, I'm very happy it is getting into mathlib now.
maintainer merge?

Copy link

🚀 Pull request has been placed on the maintainer queue by grunweg.

@winstonyin
Copy link
Collaborator Author

If you can find the smooth dependence on initial conditions, please tell me where! I'm almost done proving that locally compact manifolds are finite-dimensional (using Riesz's theorem).

Comment on lines 40 to 42
(γ : ℝ → ℝ → M) (hγx : ∀ a, γ a 0 = x) (hγ : ∀ a, IsIntegralCurveOn (γ a) v (Ioo (-a) a))
{a a' : ℝ} (hpos : 0 < a') (hle : a' ≤ a) :
EqOn (γ a') (γ a) (Ioo (-a') a') := by
Copy link
Member

Choose a reason for hiding this comment

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

  1. Would it make sense to use epsilons instead of as here? What is the convention?
  2. In I think you can make the condition weaker by requiring this only for a that are > 0. That might make it a bit easier to check the condition, but requires a bit more work in the current proof. If you think this lemma will be applied several times, it might be worth it.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't know the convention very well either, but I don't think epsilon makes sense here: a is any real number, not a "small" one. One could use t instead of a (no strong opinion).

Right now, this lemma is just used once (in one proof, twice). I'm not sure if there will be further uses. Perhaps, when speaking about the existence of geodesics... (which are a bit away, as mathlib is missing Riemannian metrics, hence the exponential map). What do you think @winstonyin?

Copy link
Member

Choose a reason for hiding this comment

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

But at the place where it is used, the same assumption is in place, so the weakening could propagate.

Copy link
Collaborator

Choose a reason for hiding this comment

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

⚒️

Copy link
Collaborator

Choose a reason for hiding this comment

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

I just pushed a commit doing this. Overall, the code gets a bit longer. What do you think?

Copy link
Collaborator

@grunweg grunweg left a comment

Choose a reason for hiding this comment

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

Let me comment on your questions. :-)

Comment on lines 40 to 42
(γ : ℝ → ℝ → M) (hγx : ∀ a, γ a 0 = x) (hγ : ∀ a, IsIntegralCurveOn (γ a) v (Ioo (-a) a))
{a a' : ℝ} (hpos : 0 < a') (hle : a' ≤ a) :
EqOn (γ a') (γ a) (Ioo (-a') a') := by
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't know the convention very well either, but I don't think epsilon makes sense here: a is any real number, not a "small" one. One could use t instead of a (no strong opinion).

Right now, this lemma is just used once (in one proof, twice). I'm not sure if there will be further uses. Perhaps, when speaking about the existence of geodesics... (which are a bit away, as mathlib is missing Riemannian metrics, hence the exponential map). What do you think @winstonyin?

@jcommelin jcommelin added awaiting-author A reviewer has asked the author a question or requested changes. and removed maintainer-merge labels Nov 27, 2024
@grunweg grunweg removed the awaiting-author A reviewer has asked the author a question or requested changes. label Nov 27, 2024
@grunweg
Copy link
Collaborator

grunweg commented Nov 27, 2024

This seems ready for review again.

@jcommelin
Copy link
Member

Thanks 🎉

bors merge

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the ready-to-merge This PR has been sent to bors. label Nov 27, 2024
mathlib-bors bot pushed a commit that referenced this pull request Nov 27, 2024
…9013)

Lemma 9.15 in Lee's Introduction to Smooth Manifolds:

> Let `v` be a smooth vector field on a smooth manifold `M`. If there exists `ε > 0` such that for each point `x : M`, there exists an integral curve of `v` through `x` defined on an open interval `Ioo (-ε) ε`, then every point on `M` has a global integral curve of `v` passing through it.

We only require `v` to be $C^1$.

To achieve this, we define the extension of an integral curve `γ` by another integral curve `γ'`, if they agree at a point inside their overlapping open interval domains. This utilises the uniqueness theorem of integral curves.

We need this lemma to show that vector fields on compact manifolds always have global integral curves.

- [x] depends on: #8886 
- [x] depends on: #18833
- [x] depends on: #19008



Co-authored-by: Michael Rothgang <[email protected]>
Co-authored-by: Johan Commelin <[email protected]>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Nov 27, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: uniform time lemma for the existence of global integral curves [Merged by Bors] - feat: uniform time lemma for the existence of global integral curves Nov 27, 2024
@mathlib-bors mathlib-bors bot closed this Nov 27, 2024
@mathlib-bors mathlib-bors bot deleted the global_integral_curve branch November 27, 2024 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors. t-differential-geometry Manifolds etc
Projects
Development

Successfully merging this pull request may close these issues.

8 participants