feat(Geometry/Curve): add Frenet–Serret framework#38348
feat(Geometry/Curve): add Frenet–Serret framework#38348mirajcs wants to merge 28 commits intoleanprover-community:masterfrom
Conversation
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary 7f61520af4Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
✅ PR Title Formatted CorrectlyThe title of this PR has been updated to match our commit style conventions. |
|
Ready for review. All CI checks are passing. |
|
a) There seems to be a generalization of this to finitely many dimensions. Could we develop this instead, and get the case dim = 3 as a special case if need be? |
|
@vihdzp Thanks for the feedback! a) That’s a good point. I focused on the 3-dimensional case to keep the development concrete, but I agree that a formulation in arbitrary finite dimensions would be more natural. I believe this should go through an alternating multilinear construction (or equivalently via a Hodge-star-type operator), so that the 3D cross product appears as a special case. I’ll look into whether the current development can be refactored along these lines and whether this generalization fits well with existing mathlib abstractions. b) I did not generate the code with AI. I have used AI tools occasionally to explore tactics or get ideas, but all code has been written and verified by me. |
|
The Hodge star is a longstanding TODO... that by itself would be a good project. |
…t in finite dimensions
| **Reference:** https://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas#Formulas_in_n_dimensions -/ | ||
| structure ParametrizedDifferentiableCurve where | ||
| n : ℕ | ||
| h3 : 3 ≤ n |
There was a problem hiding this comment.
I don't think this restriction should be in the definition. Certainly we want to be able to talk about parametrized differentiable curves when n=2 (and possibly even n=1) and I think theorems that only apply with specific conditions on n should be stated with those as hypotheses.
There was a problem hiding this comment.
I agree with you and will remove the condition. Thank you
|
I suggest splitting this PR up a bit. Certainly the definition of parametrized curves and very basic API for working with curves should be a separate PR from Frenet-Serret material. |
|
Ah, I just realized that there's already #36731 which covers the plane case. Perhaps you can take a look at the work there and coordinate with the author. I recommend also posting about your plans on Zulip for more feedback. |
|
@bryangingechen Thank you for pointing that out. I separated the file and the work in #36731 for the 2D case, so there will be no conflict with mine. |
This PR introduces a basic formalization of smooth parametrized curves in
ℝ³(
EuclideanSpace ℝ (Fin 3)) together with the Frenet frame and partial proofsof the Frenet–Serret formulas.
Main contributions:
ParametrizedDifferentiableCurveas a smooth map on an open interval.κ(t) = ‖α''(t)‖‖B'(t)‖FrenetFramestructure.T' = κ • NB' = -τ • NN' = -κ • T + τ • BThe implementation relies on existing analysis and inner product space
infrastructure, as well as properties of the cross product in
ℝ³.Some intermediate lemmas about orthogonality and cross-product identities
are included.
At present, some results assume nonvanishing curvature/torsion and include
auxiliary hypotheses about derivatives. These can be streamlined in future work.
This development is intended as a foundation for further formalization of
classical differential geometry (curves and surfaces).