Skip to content

Conversation

@HiddenAndBound
Copy link
Contributor

Summary

Implements the LogUp* indexed lookup argument (#1368) to prove indexed lookup evaluations.

Key code

  • Prover: crates/prover/src/protocols/logup/ (mod.rs, pushforward.rs, log_sum.rs, prover.rs, helper.rs)
  • Verifier: crates/verifier/src/protocols/logup.rs

Supporting additions:

  • Batched/shareable frac-add prover: crates/prover/src/protocols/fracaddcheck.rs
  • Batched frac-add verifier: crates/verifier/src/protocols/fracaddcheck.rs
  • Batched quadratic sumcheck prover: crates/prover/src/protocols/sumcheck/batch_quadratic.rs
  • Shared last-layer frac-add MLE prover: crates/prover/src/protocols/sumcheck/frac_add_last_layer_mle.rs

Tests / Bench

  • Test: crates/prover/src/protocols/logup/tests.rs
  • Bench: crates/prover/benches/logup.rs (registered in crates/prover/Cargo.toml)

Commands:

  • cargo test -p binius-prover -p binius-verifier
  • cargo bench -p binius-prover --bench logup

Notes

  • prove_pushforward currently assumes equal table sizes (crates/prover/src/protocols/logup/pushforward.rs).
  • API currently takes concrete usize index arrays; integration with committed bitwise index MLEs is a follow-up (helper.rs Index).

@HiddenAndBound HiddenAndBound requested a review from jimpo as a code owner January 19, 2026 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant