Fast Decision Procedures Based on Congruence Closure
Journal of the ACM (JACM)
Reasoning About Recursively Defined Data Structures
Journal of the ACM (JACM)
Variations on the Common Subexpression Problem
Journal of the ACM (JACM)
Simplification by Cooperating Decision Procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract Congruence Closure and Specializations
CADE-17 Proceedings of the 17th International Conference on Automated Deduction
Compiling with proofs
Journal of Automated Reasoning
Reflecting proofs in first-order logic with equality
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Proof-producing congruence closure
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
A declarative language for the coq proof assistant
TYPES'07 Proceedings of the 2007 international conference on Types for proofs and programs
Improving Coq propositional reasoning using a lazy CNF conversion scheme
FroCoS'09 Proceedings of the 7th international conference on Frontiers of combining systems
Hi-index | 0.00 |
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.