Expand description
MLE-check prover for one layer of a zero-fraction-padded fractional-addition check.
Zero-fraction padding lifts a fractional-addition tree of depth $k$ to depth $n \ge k$ by filling the extra leaves with the zero fraction $0/1$, which leaves the tree’s fractional sum unchanged. The numerators are therefore zero-padded and the denominators one-padded. Batching fracadd checks of unequal depths pads each shallow tree up to the deepest one, so the batch’s layer loop runs a single uniform schedule and the verifier never learns the individual depths.
This is the fractional-addition analog of crate::prodcheck::one_pad_mle; the Batched
Product Checks of Unequal Depths appendix of the Binius64 whitepaper derives the multiplicative
case, whose one-padding is exactly the padding these denominators carry.
The point of this module is that the prover never materializes a padded layer:
ZeroPadMleCheckProver wraps the unpadded layer’s own MLE-check and corrects its messages at
a cost of $O(1)$ per round.
Structs§
- Constant
Fraction - The layer a tree contributes while the batch is still above it: one fraction beside the zero fraction $0/1$.
- Zero
PadMle Check Prover - MLE-check prover for one layer of a fractional-addition check over a zero-fraction-padded witness.
Functions§
- new
- Creates the prover for one padded fractional-addition layer.
- unpad_
claims - Divides the padding back out of a padded layer’s claims.