pub struct Subclaim<F> {
pub r0: Vec<F>,
pub expected_evaluation: F,
pub gammas: Vec<F>,
pub alphas: Vec<F>,
pub bit_op_gammas: Vec<F>,
pub eq_at_r0: F,
pub shifts_at_r0: Vec<F>,
}Expand description
Verifier subclaim after the multi-point evaluation sumcheck for one constraint family.
Carries the shared evaluation point $r_0$ (lifted into this family’s
field), the expected MLE-combination evaluation handed back by the
inner multi-degree sumcheck, plus the intermediate values needed to
finalize the check via MultipointEval::verify_subclaim once the
caller has assembled the open_evals.
Fields§
§r0: Vec<F>Shared sumcheck output point $r_0$ (in this family’s field).
expected_evaluation: FExpected evaluation of the combined polynomial at $r_0$ handed back
by the inner multi-degree sumcheck — verify_subclaim checks this
against the batched open_evals.
gammas: Vec<F>Column batching coefficients $\gamma_j$ sampled during the protocol (lifted into this family’s field).
alphas: Vec<F>Per-shift batching coefficients $\alpha_k$ sampled during the protocol (lifted into this family’s field).
bit_op_gammas: Vec<F>Per-bit-op-virtual batching coefficients sampled during the protocol (lifted into this family’s field).
eq_at_r0: Feq(r_0, r^\star) — the equality selector at the sumcheck output
point.
shifts_at_r0: Vec<F>Per-shift selector values at $r_0$:
shifts_at_r0[k] = next_{c_k}(r^\star, r_0).
Trait Implementations§
Auto Trait Implementations§
impl<F> Freeze for Subclaim<F>where
F: Freeze,
impl<F> RefUnwindSafe for Subclaim<F>where
F: RefUnwindSafe,
impl<F> Send for Subclaim<F>where
F: Send,
impl<F> Sync for Subclaim<F>where
F: Sync,
impl<F> Unpin for Subclaim<F>where
F: Unpin,
impl<F> UnsafeUnpin for Subclaim<F>where
F: UnsafeUnpin,
impl<F> UnwindSafe for Subclaim<F>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more