Skip to content

feat: Frénet moving frame and Frénet equation for plane curves#36731

Open
michael-novak-math wants to merge 197 commits intoleanprover-community:masterfrom
michael-novak-math:plane-curves-branch
Open

feat: Frénet moving frame and Frénet equation for plane curves#36731
michael-novak-math wants to merge 197 commits intoleanprover-community:masterfrom
michael-novak-math:plane-curves-branch

Conversation

@michael-novak-math
Copy link
Copy Markdown

@michael-novak-math michael-novak-math commented Mar 16, 2026

We define the curvature function, normal vector function and the Frénet moving frame for plane curve.
We also prove the Frénet equations for plane curves.

A separate PR (#37489) will prove the fundamental theorem of plane curves.

@github-actions github-actions bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Mar 16, 2026
@github-actions
Copy link
Copy Markdown

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 awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

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.

@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Mar 16, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 16, 2026

PR summary b43655dfe2

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Geometry.PlaneCurves (new file) 2434

Declarations diff

+ _root_.ContDiffOn.normal_of_twice_contDiffOn
+ _root_.HasDerivAt.normal
+ deriv_normal_eq_minus_orientedCurvature_times_deriv
+ frameAt
+ hasDerivAt_deriv_of_contDiffOn
+ hasDerivAt_integral_of_continuousOn_open_interval
+ hasDerivWithinAt_of_continuousOn_interval
+ hasDerivWithinAt_pi_euclidean
+ inner_deriv_curve_eq_zero_of_const_norm_curve
+ inner_deriv_deriv_normal_eq_minus_orientedCurvature
+ inner_deriv_normal_eq_zero
+ inner_deriv_normal_normal_eq_zero_of_norm_deriv_eq_one
+ inner_second_deriv_deriv_eq_zero_of_const_norm_deriv
+ inners_sum_eq_zero_of_const_inner_on_open
+ norm_normal_eq_one_of_non_zero_deriv
+ norm_normal_eq_one_of_norm_deriv_eq_one
+ normal
+ normal_eq
+ normal_eq_of_norm_deriv_eq_one
+ of
+ orientedCurvature
+ orientedCurvature_eq
+ orientedCurvature_of_norm_deriv_eq_one
+ second_deriv_eq_orientedCurvature_times_normal

You can run this locally as follows
## summary with just the declaration names:
./scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


Increase in tech debt: (relative, absolute) = (1.00, 0.00)
Current number Change Type
6754 1 backward.isDefEq.respectTransparency

Current commit 659e77789e
Reference commit b43655dfe2

You can run this locally as

./scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 16, 2026

✅ PR Title Formatted Correctly

The title of this PR has been updated to match our commit style conventions.
Thank you!

@michael-novak-math michael-novak-math changed the title Plane Curves feat: add a few basic definitions and classic results about differential geometry of plane curves Mar 16, 2026
@grunweg grunweg added t-differential-geometry Manifolds etc t-analysis Analysis (normed *, calculus) labels Mar 16, 2026
Copy link
Copy Markdown
Contributor

@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.

Three brief comments.


/-- A lemma that gives us a formula for the normal when the derivative has length 1, this is
useful especially for plane curves parametrized by arc-length (with unit speed). -/
lemma normal_eq_of_norm_deriv_eq_one (h : ‖deriv c t‖ = 1) :
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not sure how useful this lemma will be in practice. (Right now, you're using it more because you're considering unit speed curves more than necessary.) If this proves useful, please mention this in a doc-string to normal_eq also.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-author A reviewer has asked the author a question or requested changes. new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-analysis Analysis (normed *, calculus) t-differential-geometry Manifolds etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants