Module subclaims

Source
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§

MemoizedData
Struct for memoizing tensor expansions of evaluation points and partial evaluations of multilinears
OracleIdPartialEval
ProjectedBivariateMeta
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