The affine congruence determinant bound with all bad-prime charges controlled by the equation's coefficient height and congruence modulus.
theorem
CCDN.affine_congruence_determinant_log_lower_height
{n s N M : ℕ}
(hs : 0 < s)
(f : MvPolynomial (Fin (n + 2)) ℤ)
(hir : AbsolutelyIrreducible f)
(hd : 0 < f.totalDegree)
(H : ℝ)
(hH : 1 ≤ H)
(hcoeff : CoefficientHeightLE f H)
(G : Fin N → MvPolynomial (Fin (n + 2)) ℤ)
(hG : ∀ (j : Fin N), (G j).totalDegree ≤ M)
(x : Fin s → IntPoint (n + 2))
(hx : ∀ (i : Fin s), (MvPolynomial.eval (x i)) f = 0)
(hrows :
LinearIndependent ℚ ((Matrix.of fun (i : Fin s) (j : Fin N) => (MvPolynomial.eval (x i)) (G j)).map Int.cast).row)
(P : Finset ℕ)
(a : ℕ → IntPoint (n + 2))
(hres : IsSmoothResidueFamily f P a x)
:
hypersurfaceRankLowerBound n s f.totalDegree (congruenceHeightCharge (n + 3) f.totalDegree H (∑ p ∈ P, Real.log ↑p)) + (hypersurfaceDeterminantMain n s - (↑n + 2) * ↑s) * ∑ p ∈ P, Real.log ↑p ≤ Real.log ↑(Int.Matrix.minorGcd (Matrix.of fun (i : Fin s) (j : Fin N) => (MvPolynomial.eval (x i)) (G j)))
The logarithmic height and modulus are the only equation-dependent errors in the affine smooth-congruence determinant estimate.