experimental PDF version of the commentary via Pandoc

This commit is contained in:
Balazs Komuves 2025-01-24 14:21:30 +01:00
parent 2a3f5e895a
commit a086adf9b1
No known key found for this signature in database
GPG Key ID: F63B7AEF18435562
5 changed files with 29 additions and 2 deletions

View File

@ -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.

View File

@ -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/).

View File

@ -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

Binary file not shown.

20
commentary/make_pdf.sh Executable file
View 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}