# 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.