Documentation

LeanPool.CCDN.Determinant.SmoothProjectiveCongruence

Smooth projective congruence classes give simultaneous divisors for homogeneous evaluation matrices.

At a nonsingular reduced point the translated hypersurface equation has multiplicity one.

theorem CCDN.smooth_projective_hypersurface_congruence_minorGcd {p n s N d M : ℕ} [Fact (Nat.Prime p)] (f : MvPolynomial (Fin (n + 3)) ℤ) (hf : f.IsHomogeneous d) (F : Fin N → MvPolynomial (Fin (n + 3)) ℤ) (hF : ∀ (j : Fin N), (F j).IsHomogeneous M) (z : Fin s → IntPoint (n + 3)) (k : Fin (n + 3)) (a : Fin (n + 2) → ℤ) (ha : MvPolynomial.eval₂ (Int.castRingHom (ZMod p)) (fun (j : Fin (n + 2)) => ↑(a j)) (projectiveHypersurfaceChart k f) = 0) (hs : ∃ (j : Fin (n + 2)), (MvPolynomial.eval fun (i : Fin (n + 2)) => ↑(a i)) ((MvPolynomial.pderiv j) ((MvPolynomial.map (Int.castRingHom (ZMod p))) (projectiveHypersurfaceChart k f))) ≠ 0) (hunit : ∀ (i : Fin s), IsCoprime (↑p) (z i k)) (hres : ∀ (i : Fin s) (j : Fin (n + 2)), ↑p ∣ z i ((Equiv.swap 0 k) j.succ) - a j * z i k) (hz : ∀ (i : Fin s), (MvPolynomial.eval (z i)) f = 0) :
↑p ^ hypersurfaceMultiplicityExponent (n + 1) 1 s ∣ Int.Matrix.minorGcd (Matrix.of fun (i : Fin s) (j : Fin N) => (MvPolynomial.eval (z i)) (F j))

If integer zeros z i of a homogeneous f all have their k-th coordinate prime to p and reduce, in the affine chart k, to the same nonsingular point a of f mod p, then for forms F j of a common degree M the power p ^ hypersurfaceMultiplicityExponent (n + 1) 1 s divides the gcd of the maximal minors of the evaluation matrix (F j (z i)).