Expand description
This module contains helpers to create bivariate sumcheck instances originating from:
- products with shift indicators (shifted virtual polynomials)
- products with tower basis (packed virtual polynomials)
All of them have common traits:
- they are always a product of two multilins (composition polynomial is
BivariateProduct
) - one multilin (the multiplier) is transparent (
shift_ind
,eq_ind
, or tower basis) - other multilin is a projection of one of the evalcheck claim multilins to its first variables
Structs§
Functions§
- add_
bivariate_ sumcheck_ to_ constraints - add_
composite_ sumcheck_ to_ constraints - calculate_
projected_ mles - shifted / packed oracle -> compute the projected MLE (i.e. the inner oracle evaluated on the projected eval_point) composite oracle -> None
- composite_
sumcheck_ meta - fill_
eq_ witness_ for_ composites - Each composite oracle induces a new eq oracle, for which we need to fill the witness
- packed_
sumcheck_ meta - Create oracles for the bivariate product of an inner oracle with the tower basis.
- process_
packed_ sumcheck - Creates bivariate witness and adds them to the witness index, and add bivariate sumcheck constraint to the
ConstraintSetBuilder
- process_
shifted_ sumcheck - Creates bivariate witness and adds them to the witness index, and add bivariate sumcheck constraint to the
ConstraintSetBuilder
- prove_
bivariate_ sumchecks_ with_ switchover - shifted_
sumcheck_ meta - Create oracles for the bivariate product of an inner oracle with shift indicator.