First-Order Transitive Closure Axiomatization via Iterative Invariant Injections

  • Aboubakr Achraf El Ghazi
  • Mana Taghdiri
  • Mihai Herda
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9058)

Abstract

This paper presents an approach for proving the validity of first-order relational formulas that involve transitive closure. Given a formula \(F\) that includes the transitive closure of a relation \(R\), our approach can deduce a complete (pure) first-order axiomatization of the paths of \(R\) that occur in \(F\). Such axiomatization enables full automated verification of \(F\) using an automatic theorem prover like Z3. This is done via an iterative detection and injection of \(R\)-invariants —invariant formulas with respect to \(R\)-transitions in the context of \(F\). This paper presents a proof for the correctness of the approach, and reports on its application to non-trivial Alloy benchmarks.

Keywords

First-order relational logic Transitive closure Axiomatization Specification Verification Alloy SMT solving 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arkoudas, K., Khurshid, S., Marinov, D., Rinard, M.: Integrating model checking and theorem proving for relational reasoning. In: Berghammer, R., Möller, B., Struth, G. (eds.) Relational and Kleene-Algebraic Methods in Computer Science. LNCS, vol. 3051, pp. 21–33. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Barwise, J. (ed.): Handbook of mathematical logic. In: Number 90 in Studies in Logic and the Foundations of Mathematics. North-Holland Publ., Amsterdam (1977)Google Scholar
  3. 3.
    Best, J.: Proving alloy models by introducing an explicit relational theory in SMT. Studienarbeit, Karlsruhe Institute of Technology, Dec. 2012Google Scholar
  4. 4.
    Bonacina, M.P., Lynch, C., de Moura, L.: On deciding satisfiability by DPLL \((\Gamma +{\cal T})\) and unsound theorem proving. In: Schmidt, R.A. (ed.) CADE-22. LNCS, vol. 5663, pp. 35–50. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Dennis, G., Chang, F., Jackson, D.: Modular verification of code with SAT. In: ISSTA, pp. 109–120 (2006)Google Scholar
  6. 6.
    Dixon, L., Fleuriot, J.D.: IsaPlanner: a prototype proof planner in isabelle. In: Baader, F. (ed.) CADE 2003. LNCS (LNAI), vol. 2741, pp. 279–283. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  7. 7.
    Van Eijck, J.: Defining (reflexive) transitive closure on finite models (2008)Google Scholar
  8. 8.
    El Ghazi, A.A., Geilmann, U., Ulbrich, M., Taghdiri, M.: A dual-engine for early analysis of critical systems. In: DSCI, Berlin (2011)Google Scholar
  9. 9.
    El Ghazi, A.A., Taghdiri, M.: Relational reasoning via SMT solving. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 133–148. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  10. 10.
    El Ghazi, A.A., Ulbrich, M., Taghdiri, M., Herda, M.: Reducing the complexity of quantified formulas via variable elimination. In: SMT, pp. 87–99, July 2013Google Scholar
  11. 11.
    Enderton, H.B.: A mathematical introduction to logic. Academic Press (1972)Google Scholar
  12. 12.
    Frias, M.F., Pombo, C.G.L., Moscato, M.M.: Alloy analyzer+PVS in the analysis and verification of alloy specifications. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 587–601. Springer, Heidelberg (2007) CrossRefGoogle Scholar
  13. 13.
    Ge, Y., Barrett, C., Tinelli, C.: Solving quantified verification conditions using satisfiability modulo theories. AMAI 55(1), 101–122 (2009)MATHMathSciNetGoogle Scholar
  14. 14.
    Ge, Y., de Moura, L.: Complete instantiation for quantified formulas in satisfiabiliby modulo theories. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 306–320. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  15. 15.
    Immerman, N., Rabinovich, A., Reps, T., Sagiv, M., Yorsh, G.: The boundary between decidability and undecidability for transitive-closure logics. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 160–174. Springer, Heidelberg (2004) CrossRefGoogle Scholar
  16. 16.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Apr. 2006Google Scholar
  17. 17.
    Kang, E., Jackson, D.: Formal modeling and analysis of a flash filesystem in alloy. In: Börger, E., Butler, M., Bowen, J.P., Boca, P. (eds.) ABZ 2008. LNCS, vol. 5238, pp. 294–308. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  18. 18.
    Kaufmann, M., Strother Moore, J., Manolios, P.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, USA (2000) Google Scholar
  19. 19.
    Keller, U.: Some remarks on the definability of transitive closure in first-order logic and datalog (2004)Google Scholar
  20. 20.
    Lahiri, S.K., Qadeer, S.: Verifying properties of well-founded linked lists. In: ACM SIGPLAN Notices, POPL, pp. 115–126. ACM, New York (2006)Google Scholar
  21. 21.
    Rustan, K., Leino, M.: Recursive object types in a logic of object-oriented programs. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 170–184. Springer, Heidelberg (1998) CrossRefGoogle Scholar
  22. 22.
    Lev-Ami, T., Immerman, N., Reps, T., Sagiv, M., Srivastava, S., Yorsh, G.: Simulating reachability using first-order logic with applications to verification of linked data structures. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 99–115. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  23. 23.
    Nelson, G.: Verifying reachability invariants of linked structures. In: POPL, pp. 38–47, ACM, New York (1983)Google Scholar
  24. 24.
    Taghdiri, M., Jackson, D.: A lightweight formal analysis of a multicast key management scheme. In: König, H., Heiner, M., Wolisz, A. (eds.) FORTE 2003. LNCS, vol. 2767. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  25. 25.
    Ulbrich, M., Geilmann, U., El Ghazi, A.A., Taghdiri, M.: A proof assistant for alloy specifications. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 422–436. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  26. 26.
    Vaziri-Farahani, M.: Finding bugs in software with a constraint solver. Thesis, Massachusetts Institute of Technology (2004)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Aboubakr Achraf El Ghazi
    • 1
  • Mana Taghdiri
    • 1
  • Mihai Herda
    • 1
  1. 1.Karlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations