feat(Geometry/Curve): add Frenet–Serret framework#38348
feat(Geometry/Curve): add Frenet–Serret framework#38348mirajcs wants to merge 16 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 977f84bd6eImport 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
| - name: Configure Lean | ||
| uses: leanprover/lean-action@c544e89643240c6b398f14a431bcdc6309e36b3e # v1.4.0 | ||
| with: | ||
| auto-config: false | ||
| use-github-cache: false | ||
| use-mathlib-cache: false |
There was a problem hiding this comment.
Please don't make changes to CI in an unrelated PR.
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).