Glossary of Notation#
Fields and Domains#
Symbol |
Meaning |
Python Name |
|---|---|---|
\(p = 2^{31} - 2^{27} + 1\) |
BabyBear prime |
|
\(\F\) |
Base field \(\text{GF}(p)\) |
|
\(\Fext\) |
Quartic extension \(\text{GF}(p^4)\), \(x^4 = 11\) |
|
\(g = 31\) |
Multiplicative generator of \(\F^*\) |
|
\(N = 2^n\) |
Trace size (rows per AIR) |
|
\(\omega\) |
Primitive \(N\)-th root of unity |
|
\(H\) |
Trace domain \(\{s \cdot \omega^i\}\) |
|
\(s\) |
Coset shift |
|
\(H^*\) |
Extended (LDE) domain |
coset of size \(N \cdot \beta\) |
\(\beta\) |
Blowup factor \(2^{\text{log\_blowup}}\) |
|
Vanishing and Selectors#
Symbol |
Meaning |
Python Name |
|---|---|---|
\(Z_H(X) = (X/s)^N - 1\) |
Vanishing polynomial |
|
\(Z_H(\zeta)^{-1}\) |
Inverse vanishing at OOD point |
|
\(L_0(\zeta)\) |
First-row selector |
|
\(L_{N-1}(\zeta)\) |
Last-row selector |
|
\(\zeta/s - \omega^{-1}\) |
Transition selector |
|
Challenges#
Symbol |
Meaning |
Python Name |
|---|---|---|
\(\alpha_{\text{lu}}, \beta_{\text{lu}}\) |
LogUp interaction challenges (FF4) |
|
\(\alpha\) |
Constraint folding challenge (FF4) |
|
\(\zeta\) |
OOD evaluation point (FF4) |
|
\(\alpha_{\text{pcs}}\) |
PCS batch combination challenge (FF4) |
|
\(\beta_k\) |
FRI fold challenge for round \(k\) (FF4) |
|
Polynomials#
Symbol |
Meaning |
Python Name |
|---|---|---|
\(f_1, \ldots, f_m\) |
Witness polynomials (main trace) |
columns of main trace matrix |
\(h_1, \ldots, h_k\) |
After-challenge polynomials (LogUp) |
|
\(Q_0, \ldots, Q_{d_Q-1}\) |
Quotient polynomial chunks |
|
\(F\) |
FRI input (reduced polynomial) |
|
\(F_K\) |
Final FRI polynomial (coefficients) |
|
\(C_i\) |
Constraint polynomial \(i\) |
result of |
Commitments#
Symbol |
Meaning |
Python Name |
|---|---|---|
\(r_{\text{pre}}\) |
Preprocessed trace commitment(s) |
|
\(r_1\) |
Main trace commitment |
|
\(r_2\) |
After-challenge trace commitment |
|
\(r_Q\) |
Quotient commitment |
|
\(r_k^{\text{FRI}}\) |
FRI round \(k\) commitment |
|
LogUp#
Symbol |
Meaning |
Python Name |
|---|---|---|
\(d_i\) |
Interaction denominator |
computed in |
\(\phi\) |
Running sum (prefix sum of chunks) |
|
\(\phi[N-1]\) |
Cumulative sum (exposed value) |
|
Proof-of-Work#
Symbol |
Meaning |
Python Name |
|---|---|---|
\(\eta_{\text{lu}}\) |
LogUp PoW witness |
|
\(\eta_{\text{deep}}\) |
DEEP PoW witness |
|
\(b_{\text{pow}}\) |
PoW difficulty (leading zero bits) |
|
FRI Parameters#
Symbol |
Meaning |
Python Name |
|---|---|---|
\(K\) |
Number of FRI folding rounds |
|
\(Q_{\text{queries}}\) |
Number of query repetitions |
|
\(\log_2 \beta\) |
Log blowup factor |
|
\(b_{\text{pow}}\) |
Per-round PoW difficulty |
|
$ |
F_K |
$ |
Transcript Operations#
Operation |
Meaning |
Python Name |
|---|---|---|
\(\mathcal{T}.\text{observe}(v)\) |
Absorb field element |
|
\(\mathcal{T}.\text{observe\_many}(\mathbf{v})\) |
Absorb multiple / FF4 |
|
\(\mathcal{T}.\text{sample}()\) |
Squeeze base field element |
|
\(\mathcal{T}.\text{sample\_ext}()\) |
Squeeze extension field element |
|
\(\mathcal{T}.\text{sample\_bits}(b)\) |
Squeeze \(b\)-bit integer |
|
Defined Terms#
- Verifying Key (VK)
Contains per-AIR parameters: preprocessed commitment, constraint DAG, interaction definitions, quotient degree. The VK’s
pre_hashis the first thing absorbed into the transcript (MultiStarkVerifyingKey).- MMCS (Mixed-Matrix Commitment Scheme)
A Merkle tree that commits multiple matrices of different heights in a single tree. Shorter matrices are injected at higher levels (
_build_mmcs_tree).- Air ID
Integer identifier for each AIR in a multi-AIR proof. Must be unique and sorted in the proof.
- Exposed Values
The cumulative sums from the LogUp after-challenge computation, revealed to the verifier. Their sum across all AIRs must equal zero.