Benchmark

non-incremental/UFBVDT/20230314-Jaroslav-Bendik-Certora/52759_b3ecd2335fd16ec2eee2_9_UFDTBV.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_UFBVDT. 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_UFBVDT/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
Size64691
Compressed Size13167
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 None
Size 64684
Compressed Size13176
Max. Term Depth18
Asserts 200
Declared Functions24
Declared Constants619
Declared Sorts 0
Defined Functions61
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes1

Symbols

true2 false7 Bool4 ite90
not141 or30 and248 =>99
=883 forall6 BitVec62 bvnot6
bvand21 bvor5 bvneg48 bvadd131
bvmul18 bvudiv13 bvurem5 bvsdiv2
bvult34 bvule39 bvugt36 bvuge32
bvslt1 bvshl7

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2023 1.00 (0/2) cvc5 cvc5-default-2023-05-16-ea045f305_sq unknown ❌ 15.32850 15.32900
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default unknown ❌ 4.23243 11.28820
SMT-COMP 2024 1.00 (0/2) cvc5 cvc5 unknown ❌ 13.89594 13.78866
SMTInterpol SMTInterpol unknown ❌ 1201.72229 1241.18701
SMT-COMP 2025 1.00 (0/2) cvc5 cvc5 unknown ❌ 19.52069 19.38901
SMTInterpol SMTInterpol unknown ❌ 1201.47739 1239.37374