Benchmark
non-incremental/QF_ANIA/20211213-GrandProduct-Ozdemir/sound/diff/10.smt2
# The special soundness of PLONK's grand product argument
Let F be a prime-order field and n a natural less than F's size. Let n = {1,
2, .., n} be a subset of F. The PLONK[1] grand product argument relies on the
fact that given a permutation pi: [n] -> [n] and functions A, B: [n] -> [n],
prod_i (A(i) + beta * i + gamma) = prod_i (B(i) + beta * pi(i) + gamma)
holds for random beta, gamma in F with good probability only when A composed
with pi is B.
Does this implication hold in a deterministic setting, where the above is
checked for distinct---but non-random---beta and gamma?
If it is checked for n+1 distinct values of beta, and for each value of beta,
n+1 distinct values of gamma, then yes. One can prove this.
If it is checked for 2 distinct values of beta, and for each value of beta, n+1
distinct values of gamma, then no.
This series of benchmarks checks the implication holds
* for varying n
* for a fixed permutation pi = (2 3 ... n 1)
* for all A and B
* that must be equal ("same") or may differ ("diff")
* for all distinct 2 ("unsound") or n+1 ("sound") beta values
rather than instantiating gamma explicitly, we just check that the multisets
{{A[i] + beta * i}}_i == {{B[i] + beta * pi(i)}}_i
are equal.
[1]: https://eprint.iacr.org/2019/953
| Benchmark |
| Size | 29003 |
| Compressed Size | 6590 |
| License |
Creative Commons Attribution 4.0 International
(CC-BY-4.0)
|
| Category | crafted |
| First Occurrence | 2022-08-10 |
| Generated By | Alex Ozdemir |
| Generated On | 2021-12-13 00:00:00 |
| Generator | Z3Py API |
| Dolmen OK | 1 |
| strict Dolmen OK | 1 |
| check-sat calls | 1 |
| Status | unsat |
| Inferred Status | None |
| Size | 28995 |
| Compressed Size | 6597 |
| Max. Term Depth | 55 |
| Asserts | 53 |
| Declared Functions | 0 |
| Declared Constants | 32 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
true | 1 |
not | 1 |
and | 2 |
= | 21 |
distinct | 1 |
let | 551 |
+ | 440 |
* | 110 |
<= | 20 |
>= | 20 |
select | 220 |
store | 220 |
Evaluations
| Evaluation |
Rating |
Solver |
Variant |
Result |
Wallclock |
CPU Time |
|
SMT-COMP 2022
|
1.00 (0/4) |
CVC4 |
CVC4-sq-final_default |
unknown ❌
|
1200.03000
|
1199.89000
|
| |
cvc5 |
cvc5-default-2022-07-02-b15e116-wrapped_sq |
unknown ❌
|
1200.02000
|
1199.86000
|
| |
MathSAT |
MathSAT-5.6.8_default |
unknown ❌
|
1200.10000
|
1199.96000
|
| |
Z3 |
z3-4.8.17_default |
unknown ❌
|
1200.02000
|
1199.51000
|
|
SMT-COMP 2023
|
1.00 (0/4) |
CVC4 |
CVC4-sq-final_default |
unknown ❌
|
1200.02000
|
1199.72000
|
| |
cvc5 |
cvc5-default-2023-05-16-ea045f305_sq |
unknown ❌
|
1200.03000
|
1199.96000
|
| |
SMTInterpol |
smtinterpol-2.5-1272-g2d6d356c_default |
unknown ❌
|
1200.09000
|
1239.12000
|
| |
Yices2 |
Yices 2 for SMTCOMP 2023_default |
unknown ❌
|
1200.03000
|
1199.83000
|
|
SMT-COMP 2024
|
1.00 (0/3) |
cvc5 |
cvc5 |
unknown ❌
|
1201.71657
|
1201.13343
|
| |
SMTInterpol |
SMTInterpol |
unknown ❌
|
1201.74484
|
1241.31239
|
| |
Yices2 |
Yices2 |
unknown ❌
|
1201.24974
|
1200.72713
|
|
SMT-COMP 2025
|
1.00 (0/3) |
cvc5 |
cvc5 |
unknown ❌
|
1201.75230
|
1201.05123
|
| |
SMTInterpol |
SMTInterpol |
unknown ❌
|
1201.38791
|
1252.35706
|
| |
Yices2 |
Yices2 |
unknown ❌
|
1201.66097
|
1201.41681
|