Nullstellensatz #
This file establishes a version of Hilbert's classical Nullstellensatz for MvPolynomials.
The main statement of the theorem is MvPolynomial.vanishingIdeal_zeroLocus_eq_radical.
The statement is in terms of new definitions vanishingIdeal and zeroLocus.
Mathlib already has versions of these in terms of the prime spectrum of a ring,
but those are not well-suited for expressing this result.
Suggestions for better ways to state this theorem or organize things are welcome.
The machinery around vanishingIdeal and zeroLocus is also minimal, I only added lemmas
directly needed in this proof, since I'm not sure if they are the right approach.
@[simp]
theorem
MvPolynomial.mem_vanishingIdeal_iff
{k : Type u_1}
{K : Type u_2}
[Field k]
[Field K]
[Algebra k K]
{σ : Type u_3}
{V : Set (σ → K)}
{p : MvPolynomial σ k}
:
theorem
MvPolynomial.le_vanishingIdeal_zeroLocus
{k : Type u_1}
{K : Type u_2}
[Field k]
[Field K]
[Algebra k K]
{σ : Type u_3}
(I : Ideal (MvPolynomial σ k))
:
theorem
MvPolynomial.zeroLocus_vanishingIdeal_galoisConnection
{k : Type u_1}
{K : Type u_2}
[Field k]
[Field K]
[Algebra k K]
{σ : Type u_3}
:
GaloisConnection (zeroLocus K) (vanishingIdeal k)
instance
MvPolynomial.instIsMaximalVanishingIdealSingletonForallSet
{K : Type u_2}
[Field K]
{σ : Type u_3}
{x : σ → K}
:
(vanishingIdeal K {x}).IsMaximal
theorem
MvPolynomial.radical_le_vanishingIdeal_zeroLocus
{k : Type u_1}
{K : Type u_2}
[Field k]
[Field K]
[Algebra k K]
{σ : Type u_3}
(I : Ideal (MvPolynomial σ k))
:
def
MvPolynomial.pointToPoint
{k : Type u_1}
{K : Type u_2}
[Field k]
[Field K]
[Algebra k K]
{σ : Type u_3}
(x : σ → K)
:
PrimeSpectrum (MvPolynomial σ k)
The point in the prime spectrum associated to a given point
Equations
Instances For
theorem
MvPolynomial.pointToPoint_zeroLocus_le
{K : Type u_2}
[Field K]
{σ : Type u_3}
(I : Ideal (MvPolynomial σ K))
:
theorem
MvPolynomial.eq_vanishingIdeal_singleton_of_isMaximal
{k : Type u_1}
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
{σ : Type u_3}
[IsAlgClosed K]
[Finite σ]
{I : Ideal (MvPolynomial σ k)}
(hI : I.IsMaximal)
:
∃ (x : σ → K), I = vanishingIdeal k {x}
theorem
MvPolynomial.isMaximal_iff_eq_vanishingIdeal_singleton
{K : Type u_2}
[Field K]
{σ : Type u_3}
[IsAlgClosed K]
[Finite σ]
{I : Ideal (MvPolynomial σ K)}
:
@[simp]
theorem
MvPolynomial.vanishingIdeal_zeroLocus_eq_radical
{k : Type u_1}
{K : Type u_2}
[Field k]
[Field K]
[Algebra k K]
{σ : Type u_3}
[IsAlgClosed K]
[Finite σ]
(I : Ideal (MvPolynomial σ k))
:
Main statement of the Nullstellensatz
@[simp]
theorem
MvPolynomial.IsPrime.vanishingIdeal_zeroLocus
{k : Type u_1}
{K : Type u_2}
[Field k]
[Field K]
[Algebra k K]
{σ : Type u_3}
[IsAlgClosed K]
[Finite σ]
(P : Ideal (MvPolynomial σ k))
[h : P.IsPrime]
: