mirror of
https://github.com/logos-storage/plonky2-verifier.git
synced 2026-01-02 13:53:07 +00:00
experimental PDF version of the commentary via Pandoc
This commit is contained in:
parent
2a3f5e895a
commit
a086adf9b1
@ -113,7 +113,7 @@ This gate allows dynamically indexing (relatively short) vector of size $2^n$.
|
||||
The idea is to decompose the index into bits $\mathsf{idx} = \sum b_i 2^i$; then if you can write down "selectors" like for example
|
||||
|
||||
$$
|
||||
S_{11} := S_{\mathtt{0b1011}} := b_0(1-b_1)b_2 b_3 = \left\{\begin{array}{ll}
|
||||
S_{11} := S_{\mathtt{0b1011}} := b_0(1-b_1)b_2 b_3 = \left\{\begin{array}{lll}
|
||||
1, &\textrm{if}& \mathsf{idx} = \mathtt{0b1011}=11 \\
|
||||
0, &\textrm{if}& \mathsf{idx} \neq 11
|
||||
\end{array}\right.
|
||||
|
||||
@ -19,3 +19,10 @@ Then more details can be found at:
|
||||
- [Lookups.md](Lookups.md) - Lookup gates and the lookup argument
|
||||
- [Recursion.md](Recursion.md) - Recursive proofs
|
||||
|
||||
PDF version
|
||||
-----------
|
||||
|
||||
Unfortunately, `github`'s support of LaTeX inside Markdown is very buggy.
|
||||
|
||||
As an experiment I tried to create a [PDF version](commentary.pdf) using
|
||||
[Pandoc](https://pandoc.org/).
|
||||
@ -59,7 +59,7 @@ So we should get $NM/\mathsf{maxdeg}$ partial products. In our case $M/\mathsf{m
|
||||
|
||||
Essentially the 80 routed columns' permutation argument is compressed into 10 partial product columns, and we will have equations ensuring that these are constructed correctly, and that the full product is 1 (which in turn proves the wire constraints).
|
||||
|
||||
Note: the Plonky2 source code uses some absolute horrible names here, and then does shiftings, reorderings, basically moving the last column to the first one, and calls this "z" while the rest "partial products", and then reorders even these between the challenge rounds; but I think this is just a +1 error and programmers not understanding what they are doing ``¯\_(ツ)_/¯``. Note that the first column needs to also opened "on the next row", while the rest only on "this row", but really, that's not a valid reason to do all this shit.
|
||||
Note: the Plonky2 source code uses some absolute horrible names here, and then does shiftings, reorderings, basically moving the last column to the first one, and calls this "z" while the rest "partial products", and then reorders even these between the challenge rounds; but I think this is just a +1 error and programmers not understanding what they are doing... Note that the first column needs to also opened "on the next row", while the rest only on "this row", but really, that's not a valid reason to do all this shit.
|
||||
|
||||
Here is an ASCII graphics explaning what happens in the source code (indices denote the corresponding partial product):
|
||||
|
||||
|
||||
BIN
commentary/commentary.pdf
Normal file
BIN
commentary/commentary.pdf
Normal file
Binary file not shown.
20
commentary/make_pdf.sh
Executable file
20
commentary/make_pdf.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
OUTPUT="commentary.pdf"
|
||||
|
||||
MD_FILES="\
|
||||
Overview.md\
|
||||
Gates.md\
|
||||
Selectors.md\
|
||||
GateConstraints.md\
|
||||
Wiring.md\
|
||||
Poseidon.md\
|
||||
FRI.md\
|
||||
Challenges.md\
|
||||
Protocol.md\
|
||||
Lookups.md\
|
||||
Recursion.md"
|
||||
|
||||
#echo ${MD_FILES}
|
||||
|
||||
pandoc -o $OUTPUT ${MD_FILES}
|
||||
Loading…
x
Reference in New Issue
Block a user