Advertisement

Interactive Visualization of Saturation Attempts in Vampire

  • Bernhard GleissEmail author
  • Laura Kovács
  • Lena Schnedlitz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11918)

Abstract

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.

Notes

Acknowledgements

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.

References

  1. 1.
    Barrett, C., et al.: CVC4. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 171–177. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-22110-1_14CrossRefGoogle Scholar
  2. 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. 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. 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
  5. 5.
    de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-78800-3_24CrossRefGoogle Scholar
  6. 6.
    Gansner, E.R., North, S.C.: An open graph visualization system and its applications to software engineering. Softw. Pract. Exp. 30(11), 1203–1233 (2000)CrossRefGoogle Scholar
  7. 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. 8.
    Kovács, L., Robillard, S., Voronkov, A.: Coming to terms with quantified reasoning. In: POPL, pp. 260–270. ACM (2017)Google Scholar
  9. 9.
    Kovács, L., Voronkov, A.: First-order theorem proving and Vampire. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 1–35. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-39799-8_1CrossRefGoogle Scholar
  10. 10.
    Libal, T., Riener, M., Rukhaia, M.: Advanced proof viewing in ProofTool. In: UITP, pp. 35–47 (2014)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Handbook of Automated Reasoning, pp. 371–443 (2001)CrossRefGoogle Scholar
  12. 12.
    Rothenberger, F.: Integration and analysis of alternative SMT solvers for software verification. Master’s thesis, ETH Zurich, Zürich. Masterarbeit (2016)Google Scholar
  13. 13.
    Schulz, S.: E - a brainiac theorem prover. AI Commun. 15(2–3), 111–126 (2002)zbMATHGoogle Scholar
  14. 14.
    Sutcliffe, G.: TPTP, TSTP, CASC, etc. In: Diekert, V., Volkov, M.V., Voronkov, A. (eds.) CSR 2007. LNCS, vol. 4649, pp. 6–22. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-74510-5_4CrossRefGoogle Scholar
  15. 15.
    Wetzler, N., Heule, M.J.H., Hunt, W.A.: DRAT-trim: efficient checking and trimming using expressive clausal proofs. In: Sinz, C., Egly, U. (eds.) SAT 2014. LNCS, vol. 8561, pp. 422–429. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-09284-3_31CrossRefzbMATHGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Bernhard Gleiss
    • 1
    Email author
  • Laura Kovács
    • 1
    • 2
  • Lena Schnedlitz
    • 1
  1. 1.TU WienViennaAustria
  2. 2.Chalmers University of TechnologyGothenburgSweden

Personalised recommendations