Polynomial and rational coordinates on locally closed affine neighborhoods
ProvedPhilipponMultiplicity.affine_locally_closed_has_polynomial_fraction_chartsLet be an algebraically closed field and a finite set of coordinate indices. Let be any ideal, and give its Zariski topology. Let be a topological space and a topological embedding with locally closed image. For every and open neighborhood of , there exist an open subset , a nonnegative integer , a radical ideal , and a homeomorphism
with both of the following coordinate properties.
For each original coordinate there is a polynomial , fixed throughout , such that
For each new coordinate there are polynomials , fixed throughout , such that
Both affine zero sets have the topology induced by their evaluation-ideal maps into the respective polynomial prime spectra. No radicality assumption is placed on , and neither irreducibility nor smoothness is assumed. The finite coordinate set may be empty, and may be zero.
Formalization Note. A complete Lean proof constructs the neighborhood by a principal-open refinement of a closed affine subset, followed by adjoining an inverse coordinate with equation . It proves the closed-subset presentation, radical graph ideal, inverse maps, both continuity directions in the evaluation-ideal topologies, and reindexing to finitely many numbered variables. The original coordinates are polynomial coordinate functions; every new coordinate is either or with nonzero denominator. The proof has no Open theorem dependencies, and the original formal statement and hypotheses are unchanged.
import Mathlib set_option autoImplicit false
namespace PhilipponMultiplicity
universe u v w
theorem affine_locally_closed_has_polynomial_fraction_charts
(K : Type u) [Field K] [IsAlgClosed K]
(σ : Type v) [Finite σ] (I : Ideal (MvPolynomial σ K))
(X : Type w) [TopologicalSpace X] :
letI : TopologicalSpace (MvPolynomial.zeroLocus K I) :=
TopologicalSpace.induced
(fun z : MvPolynomial.zeroLocus K I => MvPolynomial.pointToPoint (k := K) z.val)
inferInstance
∀ (d : X → MvPolynomial.zeroLocus K I), Topology.IsEmbedding d →
IsLocallyClosed (Set.range d) →
∀ (x : X) (W : Set X), IsOpen W → x ∈ W →
∃ S : Set X, IsOpen S ∧ x ∈ S ∧ S ⊆ W ∧
∃ (n : ℕ) (J : Ideal (MvPolynomial (Fin n) K)), J.IsRadical ∧
∃ a : @Homeomorph S (MvPolynomial.zeroLocus K J) inferInstance
(TopologicalSpace.induced
(fun z : MvPolynomial.zeroLocus K J => MvPolynomial.pointToPoint (k := K) z.val)
inferInstance),
(∃ L : σ → MvPolynomial (Fin n) K,
∀ z : S, ∀ t, (d z.val).val t = MvPolynomial.aeval (a z).val (L t)) ∧
(∀ i : Fin n, ∃ P Q : MvPolynomial σ K,
∀ z : S, MvPolynomial.aeval (d z.val).val Q ≠ 0 ∧
(a z).val i = MvPolynomial.aeval (d z.val).val P /
MvPolynomial.aeval (d z.val).val Q) := by sorry
end PhilipponMultiplicity