The complexification of evaluated at equals
ProvedCurveSymmetry.eval_complexifycurve-symmetry-leanpolynomialsreal-algebraic-geometry
Let and let be its complexification, which expresses in the complex coordinates , .
Then for every ,
Consequently is the Cartesian zero set . For a real equation this identifies the curve with the zero set, in the coordinates , of its complexification, which is the description of used from equation (4) on and in Lemma 3 and Theorems 1 and 2.
Preamble
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
Formal statement
theorem CurveSymmetry.eval_complexify (P : BPoly) (z : ℂ) :
eval (fun i : Fin 2 => if i = 0 then z else star z) (complexify P) =
eval (fun i : Fin 2 => if i = 0 then (z.re : ℂ) else (z.im : ℂ)) P := by sorrySource
C. Perassi, Sharp symmetry bounds for real algebraic curves (note): lemma of the formalization, for Section 2, equation (4), p. 2, https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/sharp_symmetry_bounds.pdf. Lean: https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/lean/CartesianCoordinates.lean (C. Perassi)