Skip to main content

unpad_leaf_claim

Function unpad_leaf_claim 

Source
pub fn unpad_leaf_claim<F: Field>(
    fraction: Fraction<F>,
    point: &[F],
    n_pad_vars: usize,
) -> FracAddEvalClaim<F>
Expand description

Reduces a leaf claim on a zero-fraction-padded witness to the claim on the witness itself.

A batched fractional-addition check over trees of unequal depths pads each shallow tree. binius_ip::fracaddcheck::verify is oblivious to that padding. So the claims it outputs for such a tree are claims on the padded witness $(N’, D’)$. Its padding variables are the lowest n_pad_vars coordinates of point.

This divides out the padding variables’ equality weight and drops them from the point. What remains are the claims on $N$ and $D$.

§Arguments

  • fraction - The claimed numerator and denominator evaluations of the padded witness.
  • point - The reduced evaluation point, with the batch’s selector coordinates already stripped.
  • n_pad_vars - How much depth this tree was padded by: the batch’s layer count less the tree’s own.

§Preconditions

  • point.len() >= n_pad_vars

§Panics

Panics if the padding coordinates’ equality weight is zero, which requires one of them to equal one. They are the verifier’s own challenges, so no prover can induce this; it happens with probability at most $\nu / |K|$.