Lemma 3 in complex coordinates: isometries preserving multiply by
ProvedCurveSymmetry.isometry_sign_of_realLocusLet be irreducible, of total degree at least , and let
be its real locus, written in the coordinates , . Assume is infinite. Let be an isometry of the Euclidean plane preserving , that is, for every .
Then there is a sign such that
and whenever reverses orientation, that is, whenever there are with for all .
This is the sign clause of Lemma 3 of the note in the coordinates , introduced after it, where a real equation becomes ; Lemma 3 itself, for a real Cartesian equation, is derived from it. The note's standing assumption that the curve is not a circle is not needed.
Formalization Note: ranges over the subgroup of the isometries ℂ ≃ᵢ ℂ preserving , is a complex number equal to or , and no condition is imposed on the coefficients of .
import Definitions.Def_CurveSymmetry_01_RealLoci import Definitions.Def_CurveSymmetry_02_FamilyBasics 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.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 open MvPolynomial
theorem CurveSymmetry.isometry_sign_of_realLocus {P : BPoly} (hP : Irreducible P)
(hd : 2 ≤ P.totalDegree) (hinf : (realLocus P).Infinite)
(T : isometrySymmetryGroup P) :
∃ ε : ℂ, (ε = 1 ∨ ε = -1) ∧
(∀ z : ℂ, eval (fun i : Fin 2 => if i = 0 then T.val z else star (T.val z)) P =
ε * eval (fun i : Fin 2 => if i = 0 then z else star z) P) ∧
((∃ a b : ℂ, ∀ z : ℂ, T.val z = a * star z + b) → ε = 1) := by sorry