Critical zeros are preserved by linear automorphisms and by nonzero scalar factors
ProvedCurveSymmetry.criticalZero_transportLet be a nontrivially normed field (for example or ) and let be a normed vector space over . For a function , call a critical zero of if and is Fréchet differentiable at with derivative .
Let be a -linear bijection which is continuous with continuous inverse, let be arbitrary functions, and let , , satisfy for all . Then for every
This is the invariance principle for the homogeneous Jacobian condition that defines the singular points of the curve of Lemma 4. The formalization applies it to the linear maps induced by Möbius matrices, to rescalings of homogeneous coordinates, to changes of chart and to the exchange of the two factors of . No regularity of or is assumed.
Formalization Note: the condition is H x = 0 ∧ HasFDerivAt H 0 x. Using HasFDerivAt rather than the totalized derivative fderiv means that a point where is not differentiable is never a critical zero. is a continuous linear equivalence E ≃L[𝕜] E.
import Definitions.Def_CurveSymmetry_01_RealLoci import Definitions.Def_CurveSymmetry_02_FamilyBasics import Definitions.Def_CurveSymmetry_03_IsometriesAndCharts import Mathlib.Algebra.MvPolynomial.Nilpotent import Mathlib.Algebra.MvPolynomial.NoZeroDivisors import Mathlib.Algebra.MvPolynomial.PDeriv import Mathlib.Algebra.Polynomial.FieldDivision import Mathlib.Algebra.Polynomial.Reverse import Mathlib.Analysis.Calculus.FDeriv.Equiv import Mathlib.Analysis.Calculus.FDeriv.Mul import Mathlib.Analysis.Complex.Isometry import Mathlib.Analysis.Complex.OperatorNorm import Mathlib.Analysis.Complex.Polynomial.Basic import Mathlib.Analysis.Normed.Affine.MazurUlam import Mathlib.Data.Complex.Basic import Mathlib.FieldTheory.Separable 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 import Mathlib.Topology.Algebra.Module.FiniteDimension import Mathlib.Topology.Compactification.OnePoint.ProjectiveLine open CurveSymmetry set_option autoImplicit false
theorem CurveSymmetry.criticalZero_transport {𝕜 E : Type*} [NontriviallyNormedField 𝕜]
[NormedAddCommGroup E] [NormedSpace 𝕜 E]
(T : E ≃L[𝕜] E) {F G : E → 𝕜} {k : 𝕜} (hk : k ≠ 0)
(he : ∀ x, G (T x) = k * F x) (x : E) :
CriticalZero G (T x) ↔ CriticalZero F x := by sorry