Abstract
The application of automated reasoning to the formal verification of symbolic computation systems is motivated by the need of ensuring the correctness of the results computed by the system, beyond the classical approach of testing. Formal verification of properties of the implemented algorithms require not only to formalize the properties of the algorithm, but also of the underlying (usually rich) mathematical theory.
We show how we can use ACL2, a first-order interactive theorem prover, to reason about properties of algorithms that are typically implemented as part of symbolic computation systems. We emphasize two aspects. First, how we can override the apparent lack of expressiveness we have using a first-order approach (at least compared to higher-order logics). Second, how we can execute the algorithms (efficiently, if possible) in the same setting where we formally reason about their correctness.
Three examples of formal verification of symbolic computation algorithms are presented to illustrate the main issues one has to face in this task: a Gröner basis algorithm, a first-order unification algorithm based on directed acyclic graphs, and the Eilenberg-Zilber algorithm, one of the central components of a symbolic computation system in algebraic topology.
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
Baader, F., Snyder, W.: Unification Theory. In: Handbook of Automated Reasoning. Elsevier Science Publishers (2001)
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press (1998)
Boyer, R., Moore, J S.: Single-Threaded objects in ACL2 (1999), http://www.cs.utexas.edu/users/moore/publications/stobj/main.pdf
Buchberger, B.: Bruno Buchberger’s PhD thesis 1965: An algorithm for finding the basis elements of the residue class ring of a zero dimensional polynomial ideal. Journal of Symbolic Computation 41(3-4), 475–511 (2006)
Dousson, X., Rubio, J., Sergeraert, F., Siret, Y.: The Kenzo Program, Institut Fourier (1999), http://www-fourier.ujf-grenoble.fr/~sergerar/Kenzo/
Greve, D., Kaufmann, M., Manolios, P., Moore, J S., Ray, S., Ruiz-Reina, J.-L., Sumners, R., Vroon, D., Wilding, M.: Efficient execution in an automated reasoning environment. Journal of Functional Programming 1, 15–46 (2008)
Kaufmann, M., Moore, J S.: ACL2 home page. University of Texas at Austin (2014), http://www.cs.utexas.edu/users/moore/acl2
Kaufmann, M., Manolios, P., Moore, J S.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers (2000)
Kaufmann, M., Moore, J S.: Structured Theory Development for a Mechanized Logic. Journal of Automated Reasoning 26(2), 161–203 (2001)
Lambán, L., Martín-Mateos, F.-J., Rubio, J., Ruiz-Reina, J.-L.: Formalization of a normalization theorem in simplicial topology. Annals of Mathematics and Artificial Intelligence 64, 1–37 (2012)
Lambán, L., Martín-Mateos, F.-J., Rubio, J., Ruiz-Reina, J.-L.: Verifying the bridge between simplicial topology and algebra: the Eilenberg-Zilber algorithm. Logic Journal of the IGPL 22(1), 39–65 (2014)
May, J.P.: Simplicial objects in Algebraic Topology. Van Nostrand (1967)
Medina–Bulo, I., Palomo–Lozano, F., Ruiz–Reina, J.-L.: A verified Common Lisp implementation of Buchberger’s algorithm in ACL2. Journal of Symbolic Computation 45(1), 96–123 (2010)
Ruiz-Reina, J.L., Alonso, J.A., Hidalgo, M.J., Martín-Mateos, F.J.: Formal proofs about rewriting using ACL2. Ann. Math. and Artificial Intelligence 36(3), 239–262 (2002)
Ruiz-Reina, J.-L., Alonso, J.-A., Hidalgo, M.-J., Martín-Mateos, F.J.: Formal correctness of a quadratic unification algorithm. Journal of Automated Reasoning 37(1-2), 67–92 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Ruiz–Reina, J. (2014). Proving and Computing: Applying Automated Reasoning to the Verification of Symbolic Computation Systems (Invited Talk). In: Aranda-Corral, G.A., Calmet, J., Martín-Mateos, F.J. (eds) Artificial Intelligence and Symbolic Computation. AISC 2014. Lecture Notes in Computer Science(), vol 8884. Springer, Cham. https://doi.org/10.1007/978-3-319-13770-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-13770-4_1
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-13769-8
Online ISBN: 978-3-319-13770-4
eBook Packages: Computer ScienceComputer Science (R0)