Skip to main content

First-Order Transitive Closure Axiomatization via Iterative Invariant Injections

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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)

    Chapter  Google Scholar 

  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. Best, J.: Proving alloy models by introducing an explicit relational theory in SMT. Studienarbeit, Karlsruhe Institute of Technology, Dec. 2012

    Google Scholar 

  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)

    Chapter  Google Scholar 

  5. Dennis, G., Chang, F., Jackson, D.: Modular verification of code with SAT. In: ISSTA, pp. 109–120 (2006)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  7. Van Eijck, J.: Defining (reflexive) transitive closure on finite models (2008)

    Google Scholar 

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

    Chapter  Google Scholar 

  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 2013

    Google Scholar 

  11. Enderton, H.B.: A mathematical introduction to logic. Academic Press (1972)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  13. Ge, Y., Barrett, C., Tinelli, C.: Solving quantified verification conditions using satisfiability modulo theories. AMAI 55(1), 101–122 (2009)

    MATH  MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  16. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Apr. 2006

    Google Scholar 

  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)

    Chapter  Google Scholar 

  18. Kaufmann, M., Strother Moore, J., Manolios, P.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, USA (2000)

    Google Scholar 

  19. Keller, U.: Some remarks on the definability of transitive closure in first-order logic and datalog (2004)

    Google Scholar 

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

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  23. Nelson, G.: Verifying reachability invariants of linked structures. In: POPL, pp. 38–47, ACM, New York (1983)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  26. Vaziri-Farahani, M.: Finding bugs in software with a constraint solver. Thesis, Massachusetts Institute of Technology (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Aboubakr Achraf El Ghazi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

El Ghazi, A.A., Taghdiri, M., Herda, M. (2015). First-Order Transitive Closure Axiomatization via Iterative Invariant Injections. In: Havelund, K., Holzmann, G., Joshi, R. (eds) NASA Formal Methods. NFM 2015. Lecture Notes in Computer Science(), vol 9058. Springer, Cham. https://doi.org/10.1007/978-3-319-17524-9_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-17524-9_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-17523-2

  • Online ISBN: 978-3-319-17524-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics