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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Barwise, J. (ed.): Handbook of mathematical logic. In: Number 90 in Studies in Logic and the Foundations of Mathematics. North-Holland Publ., Amsterdam (1977)
Best, J.: Proving alloy models by introducing an explicit relational theory in SMT. Studienarbeit, Karlsruhe Institute of Technology, Dec. 2012
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)
Dennis, G., Chang, F., Jackson, D.: Modular verification of code with SAT. In: ISSTA, pp. 109–120 (2006)
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)
Van Eijck, J.: Defining (reflexive) transitive closure on finite models (2008)
El Ghazi, A.A., Geilmann, U., Ulbrich, M., Taghdiri, M.: A dual-engine for early analysis of critical systems. In: DSCI, Berlin (2011)
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)
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
Enderton, H.B.: A mathematical introduction to logic. Academic Press (1972)
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)
Ge, Y., Barrett, C., Tinelli, C.: Solving quantified verification conditions using satisfiability modulo theories. AMAI 55(1), 101–122 (2009)
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)
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)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Apr. 2006
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)
Kaufmann, M., Strother Moore, J., Manolios, P.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, USA (2000)
Keller, U.: Some remarks on the definability of transitive closure in first-order logic and datalog (2004)
Lahiri, S.K., Qadeer, S.: Verifying properties of well-founded linked lists. In: ACM SIGPLAN Notices, POPL, pp. 115–126. ACM, New York (2006)
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)
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)
Nelson, G.: Verifying reachability invariants of linked structures. In: POPL, pp. 38–47, ACM, New York (1983)
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)
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)
Vaziri-Farahani, M.: Finding bugs in software with a constraint solver. Thesis, Massachusetts Institute of Technology (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)