SMT 1.4 Performance Results
Upgraded Provers
In SMT plug-in 1.4.0, the following bundled provers have been upgraded:
- veriT (v2012 to v2016)
- CVC4 (v1.4 to v1.5)
- Z3 (v4.4.1 to v4.5.0)
Note: CVC3 is still bundled but remains in the same version (v2.4.1) as in SMT 1.3.
This has led to globally improve the rate of automatically discharged proof obligations (PO), thus reducing the remaining POs to prove manually.
Results overview
The following picture shows the discharged POs for each project of the performance benchmark:
This next image focuses on the remaining POs:
Global results
Now considering the whole benchmark for every upgraded prover:
Integrating the performances of the other provers:
Conclusion
The upgraded provers have individually improved their rate of automatically discharged proof obligations.
In particular, veriT has greatly improved since the last integrated version: -46.1% of remaining POs; this can be explained by the quite old previous version that was shipped and the good work that has been done since on the prover.
CVC4 has also greatly improved since its latest release: -22.4% of remaining POs.
Z3 has slightly improved (-1.1% of remaining POs), although a few regressions can be noticed among the previously discharged POs; however, Z3 remains the SMT prover with the best results.
With all SMT provers combined (including CVC3), this is a 3.4% improvement on the remaining proof obligations.
Adding AtelierB, we see that the provers complement one another, and the overall improvement is 3.5%. In a context where every percent is valuable, it is a sensible enhancement.