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§

CompositeMLECheckMeta
MemoizedData
Struct for memoizing tensor expansions of evaluation points and partial evaluations of multilinears
ProjectedBivariateMeta
Metadata about a sumcheck over a bivariate product of two multilinears.

Enums§

SumcheckClaims

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_mlecheck_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.