[x] Testing folding instances of a zkVM instruction/constraint <- we've done here this week (without lookups)
[ ] Integrate folding of one constraint with the IVC circuit <- what we're doing now.
[ ] Integrate folding of more than one constraint with the IVC circuit <- next step
[ ] Fold each instruction in testing.
[ ] It will also show if there are some instructions that are not implemented correctly. It implies writing quickly testing for each instruction (danny can take care of it in parallel of the tasks below when the rest of the team integrate decomposable folding).
[ ] Integrate decomposable folding with 2 different instructions
[ ] Testing all the instructions for the whole zkVM.
^ all of this is without lookups.
From there, thinking about lookup integrations.
When we are "From there, thinking about lookup integrations.", we have to integrate vector lookup + RAMlookup, which is MSM (lambda class) related
For proving a block, we need:
[ ] Go through FIXME in the codebase (MIPS interpreter, etc)
[ ] Think about the padding up to the domain size. What about "dummy lookups"? We must simulate memory/register accesses for rows used for padding. Nothing to worried about fixed lookups as it is already supported.
[ ] vector lookups must be supported in logup
[ ] Native support of lookup tables larger than the domain size.
The idea is to abstract to the user the fact that the table is larger. Vector lookups can be used.
[ ] dynamic lookup must be supported in logup
[ ] generalized RAMlookup/delayed ramlookup must be supported in logup
[ ] deal with different behaviour inside the syscall preimage write (different selector for each? numerator in logup?)
^ all of this is without lookups.
For proving a block, we need:
To check: