Skip to main content

Module zero_pad_mle

Module zero_pad_mle 

Source
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§

ConstantFraction
The layer a tree contributes while the batch is still above it: one fraction beside the zero fraction $0/1$.
ZeroPadMleCheckProver
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.