Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rework U32 Table #181

Merged
merged 4 commits into from
Feb 17, 2023
Merged

rework U32 Table #181

merged 4 commits into from
Feb 17, 2023

Conversation

jan-ferdinand
Copy link
Member

@jan-ferdinand jan-ferdinand commented Feb 15, 2023

  • use one Result column, don't compute every possible result
  • allow arbitrary field elements as the base for instruction pow
  • replace Permutation Argument with Lookup Argument
  • simplify AIR of U32 Table by using Daniel Lubarov's and to xor trick

@jan-ferdinand jan-ferdinand marked this pull request as draft February 15, 2023 17:18
@jan-ferdinand jan-ferdinand force-pushed the u32_v2 branch 2 times, most recently from 03134a6 to ded1b98 Compare February 16, 2023 11:29
@jan-ferdinand jan-ferdinand linked an issue Feb 16, 2023 that may be closed by this pull request
@jan-ferdinand jan-ferdinand marked this pull request as ready for review February 16, 2023 13:02
- use one `Result` column, don't compute every possible result
- allow arbitrary field elements as the base for instruction `pow`
- tests for instruction `pow`: take arbitrary field elements as base
- use Daniel Lubarov's trick to convert from result of `and` to `xor`
- consequently, remove U32 Table's “awareness” of instruction `xor`
- also: enforce `RHS` being 0 for instruction `log_2_floor` only once
@jan-ferdinand jan-ferdinand merged commit a0c2681 into master Feb 17, 2023
@jan-ferdinand jan-ferdinand deleted the u32_v2 branch February 17, 2023 13:05
jan-ferdinand added a commit that referenced this pull request Mar 10, 2023
- change instructions `read_mem` and `write_mem` (#179) (022245b)
    - `read_mem` now pushes to stack instead of overwriting
    - `write_mem` now pops the written element from stack
- move to Tip5 hash function (#161) (#182) (d40f0b6)
    - this greatly boosts overall prover performance
- replace Instruction Table by Lookup Argument (#171) (543327a)
- rework U32 Table (#181) (09a4c27)
    - link to processor using Lookup Argument (2719030)
- improve clock jump differences check (#177) (04bb5c4 and 9c2f3c0)
- improve parsing of Triton assembly
    - remove old parser (bbe4aa8)
    - introduce `ParsedInstruction`, simplifying parsing (8602892)
    - fix bug in property test (9e4fcb7)
- improve on constant folding in multicircuits (#183) (c1be5bb)
- update to twenty-first v0.18 (#184) (ff972ff)
- improve specification and documentation
    - explain the various cross-table arguments (567efc0)
    - more and better links (a66b20d and 9386878)
- various simplifications and readability improvements
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace instructions and and xor by nand or nor
2 participants