pub struct NsCertificateGfp { /* private fields */ }Expand description
A constructive Nullstellensatz certificate over f: one coefficient polynomial g_C per input
clause with Σ_C p_C · g_C = 1 in the multilinear ring over f — the coefficient-explicit
generalization of crate::polycalc::NsCertificate.
Implementations§
Source§impl NsCertificateGfp
impl NsCertificateGfp
pub fn field(&self) -> NsField
pub fn num_vars(&self) -> usize
Sourcepub fn verify(&self, clauses: &[Vec<Lit>]) -> bool
pub fn verify(&self, clauses: &[Vec<Lit>]) -> bool
Re-check against the original clauses (zero trust in the producer), twice over: recompute
Σ_C p_C · g_C in the multilinear ring over field and confirm it is the constant 1; then the
engine-independent corner check — at every assignment a of the cube (up to 20 variables),
Σ_C p_C(a) · g_C(a) = 1 as field elements. Fails closed on a clause-count mismatch.
Trait Implementations§
Source§impl Clone for NsCertificateGfp
impl Clone for NsCertificateGfp
Source§fn clone(&self) -> NsCertificateGfp
fn clone(&self) -> NsCertificateGfp
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for NsCertificateGfp
impl RefUnwindSafe for NsCertificateGfp
impl Send for NsCertificateGfp
impl Sync for NsCertificateGfp
impl Unpin for NsCertificateGfp
impl UnsafeUnpin for NsCertificateGfp
impl UnwindSafe for NsCertificateGfp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more