Last updated: November, 2025
This webpage contains the best known lower bounds for any deterministic finite state automata (DFA) that encodes the solutions to given quantifier free Presburger formulas (QF_LIA).
The set of QF_LIA formulas under consideration are those from the QF_LIA category of SMT-LIB release 2024 that are listed in this file.
The lower bounds are given as certificates following a specific homemade format.
Improve the best known lower bounds by submitting your certificates.
Submit one or more certificates improving the best known lower bounds.
Contact us at patapsco@imdea.org and we will provide a link where you can upload your certificate(s).
Upon successful validation your improved lower bounds will appear in the scoreboard and the certificates thereof will be available for download.
Submit a pull request to our github repo patapsco
If you implement your own certificate generator and let us know about it we will add a link to it on this webpage.
The certifcates we provide below were produced by our tool Patapsco. For more details see our paper.
A certificate is a file in zip format which itself contains three files in text format:
data.info: list the instance name as well as the lower
bound recomputable form the prefixes and suffixes files.data-0.prefixes: list the prefixes in base 2, least
significant digit first.data-1.suffixes: list the suffixes using the same
format as for the prefixes.data.info{instance XYZ.smt2}
{lower-bound 572}
To output the content of data.info from a certificate
file run: funzip certificate.table, alternatively you can
run unzip -p certificate.table /data.info.
data-0.prefixes(0,(0,0,0,0,0))
…
(3,(0,6,4,0,0))
(3,(0,6,4,0,0))
(3,(0,6,6,3,1))
(3,(0,7,1,1,3)) ←
(3,(0,7,2,0,1))
(3,(1,0,0,0,0))
(3,(1,1,1,2,0))
(3,(1,1,2,0,5))
(3,(1,1,4,0,0))
(3,(1,1,5,2,0))
(3,(1,3,0,6,2))
…
data-1.suffixes(0,(0,0,0,0,0))
…
(2,(0,0,1,0,1))
(2,(0,0,1,0,1))
(2,(0,0,1,0,1))
(2,(0,0,1,0,1))
(2,(0,0,1,0,1))
(2,(0,0,1,0,1))
(2,(0,0,1,0,2))
(2,(0,0,1,0,2))
(2,(0,0,1,1,0))
(2,(0,0,1,1,0))
(2,(0,0,1,1,0))
…
Take the entry (3,(0,7,1,1,3)) from the prefix file.
In the formula corresponding to this certificate entry there are 5
free variables which coincide with the dimension of the innermost vector
(0,7,1,1,3). Our certificates assume a base 2 (binary digit
0 and 1) encoding for the valuations of the
variables of the formula.
The first number of the entry (3 in this case) means that
each encoded binary digits word consists exactly of three symbols. For
instance 0 for the first variable stands for
000, 7 for the second variable stands for
111, and 3 for the 5th and last variable
stands for 110. Observe that 110 stands for
3 and not 6 because our encoding is least
significant digit first.
So this entry corresponds to prefix given by the word
(000, 111, 100, 100, 110).
Make sure your certificates pass our validation process by running
patapsco as follows on certificate and the corresponding
problem instance:
patapsco.py -f INSTANCE_FILE -c CERTIFICATE_FILE --check
| Sub-category of instances | Number | File with certificates | Size |
|---|---|---|---|
| 20180326-Bromberger | 501 | Bromberger.tar.zst | 8 GB |
|
|
|||
| 20220307-SMPT | 2720 | SMPT.tar.zst | <1 GB |
|
|
|||
| CAV_2009_benchmarks | 497 | CAV.tar.zst | 30 GB |
|
|
|||
| 20230321-UltimateAutomizerSvcomp2023 | 2 | ||
| CIRC | 12 | ||
| cut_lemmas | 5 | ||
| dillig | 225 | ||
| mathsat | 2 | others.tar.zst | 15 GB |
| pb2010 | 1 | ||
| prime-cone | 9 | ||
| slacks | 186 | ||
A table with all the instances is available at lower bounds.
Below is a list of the latest most impressive improvements to the lower bounds.
| Instance name | LowerBound | DateLastImproved | Author | Method | History |
|---|---|---|---|---|---|
| NeighborGrid-RC-01.smt2 | 9999999 | Yesterday | your name here | your method here | link |