Interactive Visualization of Saturation Attempts in Vampire
Many applications of formal methods require automated reasoning about system properties, such as system safety and security. To improve the performance of automated reasoning engines, such as SAT/SMT solvers and first-order theorem prover, it is necessary to understand both the successful and failing attempts of these engines towards producing formal certificates, such as logical proofs and/or models. Such an analysis is challenging due to the large number of logical formulas generated during proof/model search. In this paper we focus on saturation-based first-order theorem proving and introduce the SatVis tool for interactively visualizing saturation-based proof attempts in first-order theorem proving. We build SatVis on top of the world-leading theorem prover Vampire, by interactively visualizing the saturation attempts of Vampire in SatVis. Our work combines the automatic layout and visualization of the derivation graph induced by the saturation attempt with interactive transformations and search functionality. As a result, we are able to analyze and debug (failed) proof attempts of Vampire. Thanks to its interactive visualisation, we believe SatVis helps both experts and non-experts in theorem proving to understand first-order proofs and analyze/refine failing proof attempts of first-order provers.
This work was funded by the ERC Starting Grant 2014 SYMCAR 639270, the ERC Proof of Concept Grant 2018 SYMELS 842066, the Wallenberg Academy Fellowship 2014 TheProSE and the Austrian FWF project W1255-N23.
- 2.Barrett, C., Fontaine, P., Tinelli, C.: The SMT-LIB standard: version 2.6. Technical report, Department of Computer Science, The University of Iowa (2017)Google Scholar
- 3.Barthe, G., Eilers, R., Georgiou, P., Gleiss, B., Kovacs, L., Maffei, M.: Verifying relational properties using trace logic. In: FMCAD (2019, to appear)Google Scholar
- 4.Byrnes, J., Buchanan, M., Ernst, M., Miller, P., Roberts, C., Keller, R.: Visualizing proof search for theorem prover development. ENTCS 226, 23–38 (2009)Google Scholar
- 7.Kotelnikov, E., Kovács, L., Voronkov, A.: A FOOLish encoding of the next state relations of imperative programs. In: Galmiche, D., Schulz, S., Sebastiani, R. (eds.) IJCAR 2018. LNCS (LNAI), vol. 10900, pp. 405–421. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94205-6_27CrossRefGoogle Scholar
- 8.Kovács, L., Robillard, S., Voronkov, A.: Coming to terms with quantified reasoning. In: POPL, pp. 260–270. ACM (2017)Google Scholar
- 12.Rothenberger, F.: Integration and analysis of alternative SMT solvers for software verification. Master’s thesis, ETH Zurich, Zürich. Masterarbeit (2016)Google Scholar