Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The chart z↦[z:1]z\mapsto[z:1]z↦[z:1] of P1\mathbb P^1P1 misses exactly the point at infinity

Proved
CurveSymmetry.affineLinePoint_range

by carlok · Oct 7, 2026 · Mathlib 0df444a (Lean v4.33.1)

algebraic-geometrycurve-symmetry-leaneuclidean-geometry

Let P1\mathbb P^1P1 be the complex projective line, the set of lines through the origin of C2\mathbb C^2C2, with homogeneous coordinates [x0:x1][x_0:x_1][x0​:x1​]. Let C^=C∪{∞}\widehat{\mathbb C}=\mathbb C\cup\{\infty\}C=C∪{∞} be the Riemann sphere and let ι ⁣:C^→P1\iota\colon\widehat{\mathbb C}\to\mathbb P^1ι:C→P1 be the standard bijection, ι(z)=[z:1]\iota(z)=[z:1]ι(z)=[z:1] for z∈Cz\in\mathbb Cz∈C and ι(∞)=[1:0]\iota(\infty)=[1:0]ι(∞)=[1:0].

Then for every p∈P1p\in\mathbb P^1p∈P1,

p∈{[z:1] : z∈C}  ⟺  p≠ι(∞)=[1:0].p\in\bigl\{[z:1]\ :\ z\in\mathbb C\bigr\}\iff p\ne\iota(\infty)=[1:0].p∈{[z:1] : z∈C}⟺p=ι(∞)=[1:0].

That is, the finite chart z↦[z:1]z\mapsto[z:1]z↦[z:1] omits exactly the point at infinity.

Together with its companion for the other chart of P1\mathbb P^1P1, it is used to describe the overlaps of the four standard charts of P1×P1\mathbb P^1\times\mathbb P^1P1×P1 and to show that their images are open in the atlas topology. This is part of the setting for VαV_\alphaVα​, the closure of the curve (6) in P1×P1\mathbb P^1\times\mathbb P^1P1×P1, which the note introduces before Lemma 4.

Formalization Note: the point at infinity enters as the image of ∞\infty∞ under Mathlib's bijection between OnePoint ℂ and the projective line.

Preamble
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.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.Compactification.OnePoint.ProjectiveLine

open CurveSymmetry
open OnePoint
set_option autoImplicit false
Formal statement
theorem CurveSymmetry.affineLinePoint_range (p : ProjectiveLine) :
    p ∈ Set.range affineLinePoint ↔ p ≠ sphereProjectiveEquiv (∞ : Sphere) := by sorry
Source
C. Perassi, Sharp symmetry bounds for real algebraic curves (note): lemma of the formalization, for Section 3, closure of equation (6), p. 3, https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/sharp_symmetry_bounds.pdf. Lean: https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/lean/ProjectiveChartMaps.lean (C. Perassi)

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