Abstract
We give a decision procedure for the satisfiability of finite sets of ground equations and disequations in the constructor theory: the terms used may contain both uninterpreted and constructor function symbols. Constructor function symbols are by definition injective and terms built with distinct constructors are themselves distinct. This corresponds to properties of (co-)inductive type constructors in inductive type theory. We do this in a framework where function symbols can be partially applied and equations between functions are allowed. We describe our algorithm as an extension of congruence-closure and give correctness, completeness and termination arguments. We then proceed to discuss its limits and extension possibilities by describing its implementation in the Coq proof assistant.
This work was done at project ProVal, Pole Commun de Recherche en Informatique du plateau de Saclay: CNRS, École Polytechnique, INRIA, Université Paris-Sud.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bachmair, L., Tiwari, A., Vigneron, L.: Abstract congruence closure. Journal of Automated Reasoning 31(2), 129–168 (2003)
Bachmair, L., Tiwari, A.: Abstract congruence closure and specializations. In: McAllester, D. (ed.) CADE-17. LNCS, vol. 1831, pp. 64–78. Springer, Heidelberg (2000)
Contejean, E., Corbineau, P.: Reflecting proofs in first-order logic with equality. In: Nieuwenhuis, R. (ed.) CADE-20. LNCS (LNAI), vol. 3632, pp. 7–22. Springer, Heidelberg (2005)
Corbineau, P.: Autour de la clôture de congruence avec Coq. Master’s thesis, Université Paris 7 (2001), http://www.cs.ru.nl/~corbinea/ftp/publis/mem-dea.ps
Corbineau, P.: Démonstration automatique en Théorie des Types. PhD thesis, Université Paris 11 (2005), http://www.cs.ru.nl/~corbinea/ftp/publis/Corbineau-these.pdf
Downey, P.J., Sethi, R., Tarjan, R.E.: Variations on the common subexpressions problem. Journal of the ACM 27(4), 771–785 (1980)
Markov, A.A.: On the impossibility of certain algorithms in the theory of associative systems. Doklady Akademii Nauk SSSR 55(7), 587–590 (1947) (in Russian, English translation in C.R. Acad. Sci. URSS, 55, 533–586)
McBride, C.: Dependently Typed Functional Programs and their Proofs. PhD thesis, University of Edinburgh (1999), http://www.lfcs.informatics.ed.ac.uk/reports/00/ECS-LFCS-00-419/
Necula, G.C.: Compiling with Proofs. PhD thesis, Carnegie-Mellon University, available as Technical Report CMU-CS-98-154 (1998)
Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. on Programming, Languages and Systems 1(2), 245–257 (1979)
Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. Journal of the ACM 27, 356–364 (1980)
Nieuwenhuis, R., Oliveras, A.: Proof-Producing Congruence Closure. In: Giesl, J. (ed.) RTA 2005. LNCS, vol. 3467, pp. 453–468. Springer, Heidelberg (2005)
The Objective Caml language, http://www.ocaml.org/
Oppen, D.C.: Reasoning about recursively defined data structures. Journal of the ACM (1978)
Post, E.L.: Recursive unsolvability of a problem of Thue. Journal of Symbolic Logic 13, 1–11 (1947)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Corbineau, P. (2007). Deciding Equality in the Constructor Theory. In: Altenkirch, T., McBride, C. (eds) Types for Proofs and Programs. TYPES 2006. Lecture Notes in Computer Science, vol 4502. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74464-1_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-74464-1_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74463-4
Online ISBN: 978-3-540-74464-1
eBook Packages: Computer ScienceComputer Science (R0)