Benchmark

non-incremental/QF_UFBV/20230314-Jaroslav-Bendik-Certora/41958_45c688a4814eb926c254_59_QF_UFBV.smt2

Publications: https://docs.certora.com/en/latest/docs/whitepaper/index.html
This benchmarkset was produced by the Certora Prover, i.e. a tool for
formal verification of Ethereum Smart Contracts.  The benchmarks encode
verification conditions for real Smart Contracts (programs) written by
Certora customers.

The Certora Prover uses various strategies and SMT encodings of the
underlying verification problem. In most cases, we use either LIA,
NIA or BV encodings, where:

1. LIA is typically an overapproximation of the underlying verification
   problem.
2. NIA is typically a precise encoding.
3. BV is required when the input contains non-trivial bitwise operations
   that we do not model precisely with NIA (i.e., in these cases, NIA
   is an overapproximation).

Note that our specification language allows unbounded integers
(i.e. mathints); this the reason why we need NIA and LIA instead of
using just BV.

We also use various encodings of "underlying hashing functions"; the
two main encodings we use rely on i) UF and ii) on UFDT. Therefore,
given a single input (a smart contract and a specification), we typically
produce 6 different encodings: QF_UFNIA, QF_UFLIA, QF_UFBV, QF_UFDTNIA,
QF_UFDTLIA, and QF_UFDTBV. The 462 benchmarks in this benchmark set
originate from 77 unique smart contracts and specifications (77*6 =
462) and can be mapped based on the common name-prefix of the files. For
instances:

./QF_UFBV/20230314-Jaroslav-Bendik-Certora/940_590f27b1c3c800d3243e_33_QF_UFBV.smt2
./QF_UFDTLIA/20230314-Jaroslav-Bendik-Certora/940_590f27b1c3c800d3243e_33_QF_UFDTLIA.smt2
./QF_UFLIA/20230314-Jaroslav-Bendik-Certora/940_590f27b1c3c800d3243e_33_QF_UFLIA.smt2
./QF_UFDTBV/20230314-Jaroslav-Bendik-Certora/940_590f27b1c3c800d3243e_33_QF_UFDTBV.smt2
./QF_UFDTNIA/20230314-Jaroslav-Bendik-Certora/940_590f27b1c3c800d3243e_33_QF_UFDTNIA.smt2
./QF_UFNIA/20230314-Jaroslav-Bendik-Certora/940_590f27b1c3c800d3243e_33_QF_UFNIA.smt2
Benchmark
Size380457
Compressed Size61624
License Creative Commons Attribution 4.0 International (CC-BY-4.0)
Categoryindustrial
First Occurrence2023-07-06
Generated ByJaroslav Bendik
Generated On2023-03-14 00:00:00
GeneratorCertora Prover
Dolmen OK1
strict Dolmen OK1
check-sat calls1
Query 1
Status unknown
Inferred Status sat
Size 380450
Compressed Size61634
Max. Term Depth13
Asserts 3740
Declared Functions29
Declared Constants1271
Declared Sorts 0
Defined Functions33
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

true2 Bool3 ite40 not3140
or97 and479 =>2257 =5612
BitVec30 bvneg70 bvadd3081 bvmul25
bvudiv45 bvsdiv2 bvult119 bvule783
bvugt106 bvuge834

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2023 Bitwuzla Bitwuzla-fixed_default sat ✅ 49.92310 49.92380
cvc5 cvc5-default-2023-05-16-ea045f305_sq sat ✅ 60.44960 60.44920
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default sat ✅ 51.40480 94.14070
Yices2 Yices 2 for SMTCOMP 2023_default sat ✅ 99.10130 99.07760
Z3-Owl z3-Owl-Final_default sat ✅ 501.95800 501.87700
z3-Owl-Final_default sat ✅ 18.50590 18.50430
SMT-COMP 2024 Bitwuzla Bitwuzla sat ✅ 27.71377 27.60428
cvc5 cvc5 sat ✅ 78.24330 78.09898
SMTInterpol SMTInterpol sat ✅ 20.15175 48.82230
Yices2 Yices2 sat ✅ 6.21937 6.11958
Z3alpha Z3-alpha sat ✅ 5.12002 5.01781