Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Intersection bound for a pair of nonassociated irreducible curves

Proved
PachDeZeeuw.Algebraic.irreducible_pair_intersection_bound

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

bezoutintersection-boundspach-de-zeeuw-bezoutplane-curves

Let hhh and kkk be irreducible bivariate real polynomials (hhh_hhh​, hkh_khk​) of total degrees at most d1d_1d1​ and d2d_2d2​, not associated to each other (hnot:¬ Associated h kh_{\mathrm{not}} : \neg\,\mathrm{Associated}\,h\,khnot​:¬Associatedhk). Then their real zero sets meet in a finite set, with an explicit bound:

(Z(h)∩Z(k)).Finite  ∧  ∣Z(h)∩Z(k)∣≤(d1+d2+1)4.(Z(h) \cap Z(k)).\mathrm{Finite} \;\land\; |Z(h) \cap Z(k)| \le (d_1 + d_2 + 1)^4.(Z(h)∩Z(k)).Finite∧∣Z(h)∩Z(k)∣≤(d1​+d2​+1)4.

The proof is a three-way case split on whether the curried polynomials Curry0 h\mathrm{Curry0}\,hCurry0h and Curry0 k\mathrm{Curry0}\,kCurry0k have degree zero in the eliminated variable. Both zero: the intersection is empty (zeroCurry_zeroCurry_pair_intersection_bound). Exactly one zero: zeroCurry_nonvertical_pair_intersection_bound, applied with the roles of hhh and kkk chosen so that the degree-zero one comes first, gives d1d2d_1 d_2d1​d2​. Both positive: the curries are primitive and relatively prime, and primitive_nonvertical_pair_intersection_bound gives ((d1+d2)2+1)⋅max⁡(d1,d2)((d_1 + d_2)^2 + 1) \cdot \max(d_1, d_2)((d1​+d2​)2+1)⋅max(d1​,d2​). Each of these is at most (d1+d2+1)4(d_1 + d_2 + 1)^4(d1​+d2​+1)4. The associated case, a shared irreducible factor, is excluded here by hypothesis; in factorized_bezout_bound that case is handled separately through finite_real_zero_set_of_irreducible_factor_bound and the singularity count, since the hypothesis there only forbids a shared factor with infinite real zero set.

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.irreducible_pair_intersection_bound {d₁ : ℕ} {d₂ : ℕ} (h k : MvPolynomial (Fin 2) ℝ)
    (hh : Irreducible h) (hk : Irreducible k)
    (hdeg : h.totalDegree ≤ d₁)
    (kdeg : k.totalDegree ≤ d₂)
    (hnot : ¬ Associated h k) :
    (PlaneCurveZeroSet h ∩ PlaneCurveZeroSet k).Finite ∧
      (PlaneCurveZeroSet h ∩ PlaneCurveZeroSet k).ncard ≤
        (d₁ + d₂ + 1) ^ 4 := 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#L370-L440
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