Abstract
We describe in this paper the formal verification, using the ACL2 system, of a syntactic unification algorithm where terms are represented as directed acyclic graphs (dags) and these graphs are stored in a single-threaded object (stobj). The use of stobjs allows destructive operations on data (thus improving the performance of the algorithm), while maintaining the applicative semantics of ACL2. We intend to show how ACL2 provides an environment where execution of algorithms with efficient data structures and formal reasoning about them can be carried out.
This work has been supported by project TIC2000-1368-C03-02 (Ministry of Science and Technology, Spain) and FEDER funds.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)
Baader, F., Snyder, W.: Unification theory. Elsevier Science Publishers, Handbook of Automated Reasoning (2001)
Bove, A.: Programming in Martin-Lf Type Theory: Unification - A non-trivial Example. Licentiate Thesis, Department of Computer Science, Chalmers University of Technology (1999)
Boyer, R.S., Moore, J.S.: Single-threaded objects in ACL2. In: Krishnamurthi, S., Ramakrishnan, C.R. (eds.) PADL 2002. LNCS, vol. 2257, pp. 9–27. Springer, Heidelberg (2002)
Kaufmann, M., Manolios, P., Moore, J.S.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, Dordrecht (2000)
Kaufmann, M., Moore, J.S.: ACL2 Version 2.7 (2002), Homepage http://www.cs.utexas.edu/users/moore/acl2/
Mehta, F., Nipkow, T.: Proving Pointer Programs in Higher-Order Logic. In: Baader, F. (ed.) CADE 2003. LNCS (LNAI), vol. 2741, pp. 121–135. Springer, Heidelberg (2003)
Paulson, L.: Verifying the unification algorithm in LCF. Science of Computer Programming 5 (1985)
Rouyer, J.: Dveloppement de l’algorithme d’unification dans le calcul des constructions avec types inductifs. Tech. Rep. 1795, INRIA Lorraine (1992) (in french)
Ruiz–Reina, J.L., Alonso, J.A., Hidalgo, M.J., Martín, F.J.: A theory about first–order terms in ACL2. In: Third ACL2 Workshop, Grenoble (2002)
Ruiz–Reina, J.L., Alonso, J.A., Hidalgo, M.J., Martín, F.J.: A verified dag unification algorithm in ACL2 (2002) Available at http://www.cs.us.es/~jruiz/unificacion-dag
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ruiz-Reina, J.L., Alonso-Jiménez, J.A., Hidalgo, M.J., Martín-Mateos, F.J. (2004). Formal Reasoning about Efficient Data Structures: A Case Study in ACL2. In: Bruynooghe, M. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2003. Lecture Notes in Computer Science, vol 3018. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25938-1_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-25938-1_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22174-6
Online ISBN: 978-3-540-25938-1
eBook Packages: Springer Book Archive