Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Primitive nonvertical coprime pair has finite explicitly bounded intersection

Proved
PachDeZeeuw.Algebraic.primitive_nonvertical_pair_intersection_bound

by mysticflounder · Sep 17, 2026 · Mathlib 0df444a (Lean v4.33.1)

bezoutintersection-boundspach-de-zeeuw-bezoutresultants

Let ppp and qqq be bivariate real polynomials of total degree at most d1d_1d1​ and d2d_2d2​ respectively (hpdegh_{pdeg}hpdeg​, hqdegh_{qdeg}hqdeg​), with primitive curries (hpprimh_{pprim}hpprim​, hqprimh_{qprim}hqprim​), both genuinely depending on the first variable (hp0deg:0<(Curry0 p).natDegreeh_{p0deg} : 0 < (\mathrm{Curry0}\,p).\mathrm{natDegree}hp0deg​:0<(Curry0p).natDegree, hq0degh_{q0deg}hq0deg​ likewise), and coprime curries (hrel:IsRelPrime (Curry0 p) (Curry0 q)h_{rel} : \mathrm{IsRelPrime}\,(\mathrm{Curry0}\,p)\,(\mathrm{Curry0}\,q)hrel​:IsRelPrime(Curry0p)(Curry0q)). Then their common zero set is finite with an explicit bound:

(PlaneCurveZeroSet p∩PlaneCurveZeroSet q).Finite∧(PlaneCurveZeroSet p∩PlaneCurveZeroSet q).ncard≤((d1+d2)2+1)⋅max⁡ d1 d2.{(\mathrm{PlaneCurveZeroSet}\,p \cap \mathrm{PlaneCurveZeroSet}\,q).\mathrm{Finite} \land (\mathrm{PlaneCurveZeroSet}\,p \cap \mathrm{PlaneCurveZeroSet}\,q).\mathrm{ncard} \leq ((d_1 + d_2)^2 + 1) \cdot \max\,d_1\,d_2.}(PlaneCurveZeroSetp∩PlaneCurveZeroSetq).Finite∧(PlaneCurveZeroSetp∩PlaneCurveZeroSetq).ncard≤((d1​+d2​)2+1)⋅maxd1​d2​.

This is the workhorse resultant-based intersection estimate of the preliminaries: the resultant in the coefficient variable has degree at most (d1+d2)2(d_1+d_2)^2(d1​+d2​)2, its roots index the nonempty fibers, and each fiber has at most max⁡d1d2\max d_1 d_2maxd1​d2​ points. Summing over components upgrades it to the finite Bezout bound for arbitrary (reducible) curves.

Preamble
import Mathlib
import Definitions.Def_PdzBezout
import Definitions.Def_PdzPrelim

open EuclideanGeometry
open scoped Topology
open PachDeZeeuw.Algebraic
open PachDeZeeuw.Algebraic.PlaneCurve
Formal statement
theorem PachDeZeeuw.Algebraic.primitive_nonvertical_pair_intersection_bound (p q : MvPolynomial (Fin 2) ℝ)
    {d₁ d₂ : ℕ}
    (hpdeg : p.totalDegree ≤ d₁)
    (hqdeg : q.totalDegree ≤ d₂)
    (hpprim : (Curry0 p).IsPrimitive)
    (hqprim : (Curry0 q).IsPrimitive)
    (hp0deg : 0 < (Curry0 p).natDegree)
    (hq0deg : 0 < (Curry0 q).natDegree)
    (hrel : IsRelPrime (Curry0 p) (Curry0 q)) :
    (PlaneCurveZeroSet p ∩ PlaneCurveZeroSet q).Finite ∧
      (PlaneCurveZeroSet p ∩ PlaneCurveZeroSet q).ncard ≤
        ((d₁ + d₂) ^ 2 + 1) * max 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/Bezout.lean#L225-L368
Human review
  • Endorsed by Shuze Chen · Sep 17, 2026

  • Endorsed by mysticflounder · Sep 17, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me