binius_core/protocols/prodcheck/mod.rs
1// Copyright 2025 Irreducible Inc.
2
3//! The product check protocol based on a GKR instantiation.
4//!
5//! Product check protocol reduces a claim about the product of a multilinear polynomial's the
6//! hypercube evaluations to an evaluation at a challenge point.
7//!
8//! The GKR circuit used here has only one gate type: the fan-in-2 multiplication gate.
9//! In the natural way, the 2^n input wires are multiplied together in n layers to produce the
10//! output.
11//!
12//! See [Thaler13] Section 5.3.1 for further background on the GKR polynomial identities for a
13//! binary tree circuit.
14//!
15//! This module succeeds [`crate::protocols::gkr_gpa`]. It implements a simpler and less
16//! flexible verifier algorithm, and implements proving using a generic
17//! [`binius_compute::ComputeLayer`].
18//!
19//! [Thaler13]: <https://eprint.iacr.org/2013/351>
20
21mod common;
22mod prove;
23#[cfg(test)]
24mod tests;
25
26pub use common::*;
27pub use prove::*;