A nonzero polynomial negated by a rotation of order forces to be even
ProvedCurveSymmetry.anti_even_ordercurve-symmetry-leaneuclidean-geometryreal-algebraic-geometry
Let be an integer and let be a primitive -th root of unity, in the sense that and divides every with . Let be a nonzero polynomial that changes sign under the substitution , :
Then is even.
When , so that , the substitution is, in the coordinates , of the note, the pullback of the equation by the rotation . In the proof of Theorem 1 this is the step showing that, when a generator of the rotation group acts on the equation by the sign of (4), its order is even.
Formalization Note: primitive roots follow Mathlib's convention, so is allowed; it means that no positive power of equals . The inverse is the field inverse with , which matters only when and .
Preamble
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
Formal statement
theorem CurveSymmetry.anti_even_order {N : ℕ} {ζ : ℂ} (hζ : IsPrimitiveRoot ζ N) {P : BPoly}
(hP : P ≠ 0) (hanti : rotate ζ P = -P) : Even N := by sorrySource
C. Perassi, Sharp symmetry bounds for real algebraic curves (note): lemma of the formalization, for proof of Theorem 1, equation (5), p. 3, https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/sharp_symmetry_bounds.pdf. Lean: https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/lean/RotationSupport.lean (C. Perassi)