Does Noir support custom lookup tables?
For context, take the toy battleship game as an example. Each ship placement requires range constraints and constrains the computation of the binary sequence representing a single ship. However, we know that there are 600 possible 100-bit numbers representing a valid placement:
length 5: 6 x 10 x 2 = 120
length 4: 7 x 10 x 2 = 140
length 3: 8 x 10 x 2 = 160
length 2: 9 x 10 x 2 = 180
Sum: 600
Instead of computing whether or not a given placement conforms to our rules, we could instead perform a lookup of length → binary sequence to see if a placement is valid, considerably reducing constraints used. Is this feature available in Noir compiling to UltraPlonk?