Polynomial rotation bound for non-radial, non-homogeneous polynomials fixed up to sign
ProvedCurveSymmetry.polynomial_rotation_boundLet be an integer and let be a primitive -th root of unity, in the sense that and divides every with . Let be a polynomial of total degree such that:
- is not radial: for some with (equivalently, is not a polynomial in );
- for no integer is homogeneous of degree ;
- is fixed up to sign by the substitution , : either or .
Then
This isolates, as a statement about a single polynomial, the coefficient argument behind the rotation bound of Theorem 1, which rests on the weight identity (4) and the radial form (5). The two shapes that the note rules out using irreducibility and the hypothesis that the curve is not a circle, a polynomial in and a homogeneous binary form, appear here as explicit hypotheses.
Formalization Note: primitive roots follow Mathlib's convention, so is allowed (no positive power of equals ; for the inverse is read as ). The number is a truncated difference of natural numbers, which is exact here because .
import Definitions.Def_CurveSymmetry_01_RealLoci import Mathlib.Data.Complex.Basic import Mathlib.RingTheory.MvPolynomial.Homogeneous import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots import Mathlib.Tactic open CurveSymmetry set_option autoImplicit false open MvPolynomial
theorem CurveSymmetry.polynomial_rotation_bound {N : ℕ} {ζ : ℂ}
(hζ : IsPrimitiveRoot ζ N) {P : BPoly} (hd : 2 ≤ P.totalDegree)
(hnonradial : ∃ s ∈ P.support, s 0 ≠ s 1)
(hhom : ∀ m : ℕ, 2 ≤ m → ¬ P.IsHomogeneous m)
(hsign : rotate ζ P = P ∨ rotate ζ P = -P) :
N ≤ max P.totalDegree (2 * P.totalDegree - 4) := by sorry