barretenberg
barretenberg copied to clipboard
Construct tables at top of trace
Historically lookup table polynomials and other related polys have been constructed at the bottom of the execution trace. I don't know why but I assume there was some Plonk-related motivation. I don't see any advantage to this and it might make life easier and make the code less error prone to simply construct them starting from 0. This should be easy to do but it makes sense to wait until Plonk no longer shares some of the functionality.
EDIT: We should do this in such a way that the lookup tables and the lookup gates are likely to overlap in the trace. This would mean that the lookup_inverses
polynomial (one of the expensive ones) has nonzero values isolated to a single block which is useful for memory and commitment optimizations. Can shift the location of the lookup block in the trace to facilitate this.