Substituting polynomials of degree at most one does not increase the total degree
ProvedCurveSymmetry.linear_substitution_degree_lecurve-symmetry-leanpolynomialsreal-algebraic-geometry
Let be polynomials of total degree at most (affine-linear polynomials, constants allowed), let , and write for the polynomial obtained by substituting for and for .
Then
where denotes the total degree.
Applied to the two mutually inverse substitutions and , it shows that the complexification of a Cartesian equation has the same total degree as ; this is the degree count behind the expansion before equation (4) of the note.
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.linear_substitution_degree_le (v : Fin 2 → BPoly) (hv : ∀ i, (v i).totalDegree ≤ 1)
(P : BPoly) : (eval₂Hom C v P).totalDegree ≤ P.totalDegree := 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)