[Merged by Bors] - feat: support products and disjoint unions in the differential geometry elaborators#30463
Conversation
|
Next step: update the golfing PR to also incorporate this one, try golfing the heck out of mathlib and re-benchmark. |
PR summary 2d973f3355Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
42838e8 to
3b4d533
Compare
|
This pull request has conflicts, please merge |
3b4d533 to
5d3c65b
Compare
27a2e14 to
b532d0b
Compare
|
This pull request has conflicts, please merge |
8cce5e9 to
02f877b
Compare
|
This pull request has conflicts, please merge |
These are not exhaustive, but probably a good start.
…ct space, return that space and its base field A future commit will use this to warn on the product of two models with corners on normed spaces (as there are two potential models on it, which are not definitionally equal).
The inner loop handles finding a model on a non-product, and the outer loop will just be responsible for products, disjoint unions and open subsets of a manifold.
|
Let me add one bundle of review suggestions + questions for now, all centered on
Please take the commit here as a companion to the comment showing the discussed changes, rather than a final version of the code :) |
thorimur
left a comment
There was a problem hiding this comment.
I think this is really close. :) I wanted to give you some more review comments to act on immediately if helpful.
Thanks a lot for the review (as usual). There is actually #35176, which addresses the exact same TODO :-) |
|
Sounds good (re: rolling changes into that PR)! :) |
Co-authored-by: Thomas R. Murrills <68410468+thorimur@users.noreply.github.com>
Co-authored-by: Thomas R. Murrills <68410468+thorimur@users.noreply.github.com>
|
This PR/issue depends on: |
thorimur
left a comment
There was a problem hiding this comment.
Looks good to me after these changes! :) (And after the TODO in the last commit!)
Co-authored-by: Thomas R. Murrills <68410468+thorimur@users.noreply.github.com>
|
Thanks for your comments again - all addressed. |
|
Wonderful! Looking forward to this finally being merged! :) maintainer merge |
|
🚀 Pull request has been placed on the maintainer queue by thorimur. |
|
Thank you both! bors merge |
…ry elaborators (#30463) Add support for inferring a model with corners on - products of manifolds - disjoint unions of manifolds - an open subset of a manifold Note that these can be nested (e.g., a product with multiple factors, a disjoint union of four manifolds or combinations of these). For binary products of normed spaces, we intentionally refuse to infer a model with corners, as there are two different possible options which are propositionally, but not definitionally equal. For now, we emit a warning to this effect instead. A future PR may remove it (and infer one of these variants): see [zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Differential.20geometry.20elaborators.20experiment/near/544942546). This PR completes an important milestone: models with corners are now inferred for *all* instances mathlib knows about! Update the module doc-string accordingly. A future PR will golf mathlib using these elaborators. Co-authored-by: thorimur <68410468+thorimur@users.noreply.github.com> Co-authored-by: thorimur <thomasmurrills@gmail.com>
|
Pull request successfully merged into master. Build succeeded: |
…ry elaborators (leanprover-community#30463) Add support for inferring a model with corners on - products of manifolds - disjoint unions of manifolds - an open subset of a manifold Note that these can be nested (e.g., a product with multiple factors, a disjoint union of four manifolds or combinations of these). For binary products of normed spaces, we intentionally refuse to infer a model with corners, as there are two different possible options which are propositionally, but not definitionally equal. For now, we emit a warning to this effect instead. A future PR may remove it (and infer one of these variants): see [zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Differential.20geometry.20elaborators.20experiment/near/544942546). This PR completes an important milestone: models with corners are now inferred for *all* instances mathlib knows about! Update the module doc-string accordingly. A future PR will golf mathlib using these elaborators. Co-authored-by: thorimur <68410468+thorimur@users.noreply.github.com> Co-authored-by: thorimur <thomasmurrills@gmail.com>
Add support for inferring a model with corners on
Note that these can be nested (e.g., a product with multiple factors, a disjoint union of four manifolds or combinations of these).
For binary products of normed spaces, we intentionally refuse to infer a model with corners, as there are two different possible options which are propositionally, but not definitionally equal. For now, we emit a warning to this effect instead. A future PR may remove it (and infer one of these variants): see zulip discussion.
This PR completes an important milestone: models with corners are now inferred for all instances mathlib knows about! Update the module doc-string accordingly.
A future PR will golf mathlib using these elaborators.
T%elaborator #30879