powdr-labs / powdr

A modular stack for zkVMs, with a focus on productivity, security and performance.
Apache License 2.0
416 stars 82 forks source link

Generalize multiplicity witgen #2043

Closed georgwiese closed 3 weeks ago

georgwiese commented 3 weeks ago

(mostly cherry-picked from #1958)

This PR generalizes the multiplicity witness generation we had in FixedLookup in the following ways:

A common use-case that is not yet covered is global range constraints, as they are not represented as machine calls in witness generation. This should be fixed in a follow-up PR.

georgwiese commented 3 weeks ago

Nice, adding the multiplicity to Connection instead of maintaining another map improved the code a lot I think! Now, the code to create the fixed lookup is outrageously verbose and contains many duplications, planning to fix that before the next round of review.

georgwiese commented 3 weeks ago

OK, I think this is ready for another look :)