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(geometry/manifold): stab at diffeomorphisms #4351
Conversation
Great! So I guess the regular value theorem will follow?
I am not sure what you exactly mean by this here but in general I strongly agree with stating stuff with universal properties when it is possible. In any case, I believe we can come up with ideas to save structomorphisms, but supposing all ways require a huge refactor of the geometry library, what are the big advantages of saving them? Why would it be a much better description than writing manually isomorphisms each time? I believe the flexibility of manually written isomorphism can also be an advantage! (Especially if we do not want to also generalize normal morphisms) |
@[reducible] def diffeomorph := times_diffeomorph I I' M M' ⊤ | ||
|
||
infix ` ≃ₘ `:50 := times_diffeomorph _ _ | ||
localized "notation M ` ≃ₘ^ `n `⟮` I `,` J `⟯` N := times_diffeomorph I J M N n" in manifold |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestions for better notation are welcome (I still would like a notation here but I'd be happy to improve the one I chose)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am completely convinced by the diffeomorphism part. A little bit less by the local diffeos part: I am wondering if there is really added value to have them bundled, or if an unbundled Prop (like local_homeomorph.mdifferentiable
) would be more usable. For the differentiable ones, I used unbundled because it allowed me to say conveniently that charts (which are by definition local homeos) are in fact differentiable.
Do you have applications in mind where bundled local diffeos would be more convenient than a Prop like local_homeomorph.mdifferentiable
?
@sgouezel thanks for reviewing. Just to say, if you do it because I urged you but you would not really have time to review right now, it is totally not a problem for me if you want to wait some weeks, I am not in a rush! |
I used them mainly for vector bundles. I see things could probably be done as you suggest, but the con I see is that it would break the symmetry between the topology and the geometry library and hence all statements and proofs should be written in a different way. I agree this is not hugely important but still it is handy this way. I do totally see your point, but I do not see why in the case of charts for example we do not rename |
The point of the atlas is that it is associated to the manifold once and for all, and then you can discuss its smoothness. If you have an analytic manifold, you can also see it as as |
Ok I believe what you say can be attained with coercions and namespaces in an elegant way, but I see your point, let me see what things would look like your way. I might take a while cause I am very busy lately, but in the while I'll take out local diffeos from this PR so that diffeos can be merged. |
6d28716
to
c636232
Compare
c636232
to
3490c3d
Compare
bors r+ |
Pull request successfully merged into master. Build succeeded: |
This PR implements diffeomorphisms. Many lemmas are missing but I plan to add them when I need them, not to create unnecessary clutter.