mirror of
https://github.com/powdr-labs/powdr.git
synced 2026-01-09 14:48:16 -05:00
# what Replace certain multilinear constraints* with intermediate polynomials in pilopt. *with no next references, not touching public inputs # why [This comment](https://github.com/powdr-labs/powdr/issues/2337#issuecomment-2621634278) highlights a use-case where materialising a column which is only constrained to a non-shifted multilinear polynomial is wasteful. Fixing this when we create the code is tricky, since we cannot know the degree of the constraint from pil. This is however something pilopt can do, which is what we attempt to do here # unknowns - [x] We have similar optimizers for `x = 42` and `x = y` which are both multilinear expressions. They do no yield intermediate polynomials, since in that case it is fine to "inline" them. This implementation currently makes sure all three optimizer apply to distinct cases, but maybe it would be better to have a single optimizer which handles all three cases, only introducing intermediate polynomials in the non trivial cases (`42` and `y`) - Implemented in https://github.com/powdr-labs/powdr/pull/2532 --------- Co-authored-by: chriseth <chris@ethereum.org> Co-authored-by: Gaston Zanitti <gzanitti@gmail.com>