Skip to main content

check_ns_lower_bound_polys_zm

Function check_ns_lower_bound_polys_zm 

Source
pub fn check_ns_lower_bound_polys_zm(
    m: u64,
    num_vars: usize,
    gens: &[ZmPoly],
    degree: usize,
    witness: &[(Mono, u64)],
) -> bool
Expand description

Re-check a ring pseudo-expectation (zero trust): L(1) ≢ 0 (mod m) — over a ring the normalization cannot demand a unit, and a zero-divisor value like m/p is honest — and ⟨L, mono·g⟩ ≡ 0 for every admitted generator product. Soundness is one line and field-free: a degree-d refutation 1 = Σ λ·prod would force L(1) = Σ λ·L(prod) = 0. So true certifies that no degree-d refutation over ℤ/m exists. Degree-bounded enumeration — num_vars ≤ 63.