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

About DecomposableTable trait API #6

Open
DoHoonKim8 opened this issue Nov 6, 2023 · 1 comment
Open

About DecomposableTable trait API #6

DoHoonKim8 opened this issue Nov 6, 2023 · 1 comment

Comments

@DoHoonKim8
Copy link
Owner

Currently there are two methods that maps memory_index to subtable_index and chunk_index.
This seems not straightforward, it would be better to return the indices of subtables that is used by memories for each chunk. But this requires that there are no memories in the same chunk that uses the same subtable. If this conjecture turns out to be correct, then refine the API as mentioned.

pub trait DecomposableTable<F: PrimeField>: Debug + Sync + DecomposableTableClone<F> {

    ...

    fn memory_to_subtable_index(&self, memory_index: usize) -> usize;

    fn memory_to_chunk_index(&self, memory_index: usize) -> usize;
}
@DoHoonKim8 DoHoonKim8 added question Further information is requested and removed question Further information is requested labels Nov 9, 2023
@DoHoonKim8
Copy link
Owner Author

Memo: remove DecompsableTable trait, implement memory checking algorithms(ex. offline memory checking for Lasso, LogUp+GKR, halo2 subset argument) to work behind original meta.lookup API, and compose it with halo2 gate constraints. This approach seems better for Jolt implementation, since we split the indices and play with them around, this requires various constraints. It's better to have witness columns for subtable lookups and constraint them manually.

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

No branches or pull requests

1 participant