Skip to content

Reject MUL constraints in M4 verifier reduction#1776

Open
latifkasuli wants to merge 1 commit into
binius-zk:mainfrom
latifkasuli:reject-mul-in-m4-verifier
Open

Reject MUL constraints in M4 verifier reduction#1776
latifkasuli wants to merge 1 commit into
binius-zk:mainfrom
latifkasuli:reject-mul-in-m4-verifier

Conversation

@latifkasuli

Copy link
Copy Markdown
Contributor

Summary

Make the verifier-side M4 reduction reject constraint systems with MUL constraints up front.

The M4 reduction currently handles only AND constraints. The prover already asserts this before proving, but the verifier path still built a zero intmul claim and proceeded. This PR mirrors the prover's scope check on the verifier side, so unsupported circuits fail immediately with the same message instead of reaching the shift verifier indirectly.

Test plan

  • cargo test -p binius-m4-prover --lib reduction::tests::verifier_rejects_mul_constraints_before_reading_transcript -- --exact
  • cargo test -p binius-m4-prover --lib reduction::tests
  • cargo test -p binius-m4-prover --lib
  • cargo test -p binius-m4-verifier --lib
  • cargo +nightly-2026-01-01 fmt --check
  • cargo clippy -p binius-m4-prover -p binius-m4-verifier --all-features --tests --benches -- -D warnings
  • RUSTDOCFLAGS="-D warnings" cargo doc -p binius-m4-prover -p binius-m4-verifier --all-features --document-private-items --no-deps

@latifkasuli latifkasuli marked this pull request as ready for review July 12, 2026 12:14
@latifkasuli latifkasuli requested a review from jimpo as a code owner July 12, 2026 12:14
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.

2 participants