B\u00e9zout bound for a coefficient line against a nonvertical curve
ProvedPachDeZeeuw.Algebraic.coeffline_nonvertical_pair_intersection_boundbezoutintersection-boundspach-de-zeeuw-bezoutplane-curves
Let be a nonzero univariate coefficient polynomial of total degree at most and a nonzero bivariate real polynomial of total degree at most , with currying of positive (), and assume no root of yields a vertical-line factor of (). Then the intersection of the coefficient-line zero set with the plane curve is finite with an explicit product bound:
This handles the mixed vertical/nonvertical intersection case in the B\u00e9zout development: the non-divisibility hypothesis rules out shared vertical components, after which each of the at most vertical lines meets the curve in at most points.
Preamble
import Mathlib import Definitions.Def_PdzPrelim open EuclideanGeometry open scoped Topology open PachDeZeeuw.Algebraic open PachDeZeeuw.Algebraic.PlaneCurve
Formal statement
theorem PachDeZeeuw.Algebraic.coeffline_nonvertical_pair_intersection_bound {d₁ : ℕ} {d₂ : ℕ} (a : XCoeff) (q : MvPolynomial (Fin 2) ℝ)
(ha0 : a ≠ 0) (_hq0 : q ≠ 0)
(hadeg : a.totalDegree ≤ d₁)
(hqdeg : q.totalDegree ≤ d₂)
(_hq0deg : 0 < (Curry0 q).natDegree)
(hnotDiv :
∀ x : ℝ,
MvPolynomial.eval (fun _ : Fin 1 => x) a = 0 →
¬ CoeffLineFactor x ∣ q) :
(CoeffLineZeroSet a ∩ PlaneCurveZeroSet q).Finite ∧
(CoeffLineZeroSet a ∩ PlaneCurveZeroSet q).ncard ≤ d₁ * d₂ := by sorry
Source
Standard algebra used in proving Bézout's inequality, Theorem 2.1 of Pach–de Zeeuw, Distinct distances on algebraic curves in the plane (arXiv:1308.0177), which cites Gibson, Elementary Geometry of Algebraic Curves, Lemma 14.4; this lemma is not stated in the paper; formalized in https://github.com/mysticflounder/lean-formalizations/blob/dd46c17a2a034d7bfa0df02e7f77834d35592864/lean/LeanFormalizations/PachDeZeeuw/AlgebraicPrelim.lean#L914-L1067
Human review
Confirmed by the mission captain (proposal self-audit).