Skip to content

Conversation

@TomWambsgans
Copy link
Collaborator

No description provided.

@TomWambsgans
Copy link
Collaborator Author

  • create a dedicated "sub-protocols" crate to remove a lot of complexity from prove_execution.rs / verify_execution.rs
  • remove 2 sumchecks (that were previously necessary to evaluate "virtual" columns of the EXECUTION and DOT_PRODUCT tables, which was used by the grand product argument for consistency across the multiple air tables). Instead, the virtual column is now evaluated in parallel of the AIR validity check (within the same sumcheck). The code is still not very clear for this part, but it removed a lotttt of useless complexity.
  • simplify instruction encoding for precompile. Instead of 1 boolean column per precompile, it now uses instead 1 boolean column IS_PRECOMPILE, and one column storing the precompile index when IS_PRECOMPILE = 1.

Overall:

  • 750 lines removed from the lean_prover crate, which previously was way too much complex. Still not perfect, but better.
  • 10% faster for XMSS (and a few percents for whir recursive opening)

@TomWambsgans TomWambsgans merged commit bfde85a into main Nov 15, 2025
3 checks passed
@TomWambsgans TomWambsgans deleted the simpler_and_faster branch November 15, 2025 18:43
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