Theorem 1 (equality case): if and , a similarity maps onto some
ProvedCurveSymmetry.paper_equality_classificationLet be irreducible in and of total degree , and let be its real zero set, identifying with . Assume that is infinite, that is not a circle (there are no and real with ), and that the group of orientation-preserving isometries , , mapping onto itself has exactly elements. For an integer and write .
Then there exist with , and such that the orientation-preserving similarity carries onto :
This is the equality clause of Theorem 1: for , a curve attaining the rotation bound is, up to an orientation-preserving similarity, a curve of the family (1) with .
Formalization Note: the curve is a subset of and is a subgroup of the group ℂ ≃ᵢ ℂ of isometric bijections; its order is Nat.card, so the hypothesis, with , includes finiteness.
import Definitions.Def_CurveSymmetry_01_RealLoci import Definitions.Def_CurveSymmetry_02_FamilyBasics import Definitions.Def_CurveSymmetry_03_IsometriesAndCharts import Mathlib.Algebra.MvPolynomial.Nilpotent import Mathlib.Algebra.MvPolynomial.NoZeroDivisors import Mathlib.Algebra.Polynomial.FieldDivision import Mathlib.Algebra.Polynomial.Reverse import Mathlib.Analysis.Complex.Isometry import Mathlib.Analysis.Complex.OperatorNorm import Mathlib.Analysis.Complex.Polynomial.Basic import Mathlib.Analysis.Normed.Affine.MazurUlam import Mathlib.Data.Complex.Basic import Mathlib.RingTheory.MvPolynomial.Homogeneous import Mathlib.RingTheory.MvPolynomial.IrreducibleQuadratic import Mathlib.RingTheory.Polynomial.Eisenstein.Criterion import Mathlib.RingTheory.Polynomial.GaussLemma import Mathlib.RingTheory.RootsOfUnity.Complex import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots import Mathlib.Tactic open CurveSymmetry set_option autoImplicit false
theorem CurveSymmetry.paper_equality_classification {f : RPoly} (hf : GeometricallyIrreducible f)
(hd : 5 ≤ f.totalDegree) (hinf : (cartesianLocus f).Infinite)
(hnc : ¬ ∃ c : ℂ, ∃ R : ℝ, 0 < R ∧ cartesianLocus f = Metric.sphere c R)
(hcard : Nat.card (directIsometryGroup (cartesianLocus f)) = 2 * f.totalDegree - 4) :
∃ a b α : ℂ, a ≠ 0 ∧ ‖α‖ = 1 ∧ α ≠ star α ∧
(fun z : ℂ => a * z + b) '' cartesianLocus f = extremalCurve (f.totalDegree - 2) α := by sorryConfirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.