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§

MemoizedQueries
ProjectedBivariateMeta

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.