10 Commits

Author SHA1 Message Date
Alex Ozdemir
8140b1369e reduce traversal memory usage through iterators (#209)
Previously, the traversal stack held (node, children queued) pairs.
When visiting a node without it's children queued, we would queue them
all. They take a lot of memory!

Now, the stack holds children iterators.

Also: this patch fixes many bugs introduced by the prior one.
2024-09-29 13:27:26 -07:00
Alex Ozdemir
2cdc019b86 Merge updates needed for SHA with lookups. (#196)
This is highly unoptimized, for now.
2024-06-19 13:09:43 -07:00
Alex Ozdemir
9ac4c26546 further fix OOB indices in lin (#193)
test them in lin and tr
2024-05-31 01:58:43 -07:00
Alex Ozdemir
3ba1be4653 array v->k lookups, membership assertions, and witness computation in Z# (#186)
* draft: rev-lookup, in-array, witness

* lint

* sparse examples

* fmt
2024-04-05 11:55:02 -07:00
Alex Ozdemir
0b88154ceb Implement ROM-checking based on Haboeck's lookup argument (#185) 2024-02-22 22:40:11 -08:00
Alex Ozdemir
fca98ddc5a add sample_challenge builtin (#179) 2023-11-15 09:59:29 -08:00
Alex Ozdemir
7a805323d0 Optimized transcript checking for covering ROMs (#178) 2023-11-14 18:20:39 -08:00
Alex Ozdemir
68b0b45556 User-directed transcript-based RAM checking. (#176)
* user-directed transcript-based RAM checking

when the `transcript` type qualifier is used.

* fix ram tests

* fmt & lint

* rm incomplete test
2023-11-02 23:50:16 -07:00
Alex Ozdemir
805a7f424f RAM for non-scalar values (#174)
It is very naive. It assumes that any top-level array should be represented as a RAM, and that all internal structure should be unfolded.
2023-10-17 22:04:38 -07:00
Alex Ozdemir
4c5dafee95 A Waksman-based RAM permutation argument (#171)
This allows folks to use the RAM machinery while sticking with (non-interactive) R1CS output.

We're going to need this anyway when we benchmark our new approach.
2023-09-19 02:39:24 -07:00