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§
- Memoized
Data - Struct for memoizing tensor expansions of evaluation points and partial evaluations of multilinears
- Oracle
IdPartial Eval - Projected
Bivariate Meta - Metadata about a sumcheck over a bivariate product of two multilinears.
Functions§
- add_
bivariate_ sumcheck_ to_ constraints - add_
composite_ sumcheck_ to_ constraints - collect_
projected_ mles - shifted / packed oracle compute the projected MLE (i.e. the inner oracle evaluated on the projected eval_point)
- 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 - prove_
mlecheck_ with_ switchover - shifted_
sumcheck_ meta - Create oracles for the bivariate product of an inner oracle with shift indicator.
- try_
build_ partial_ eval