## Deciding equality in the constructor theory (2006)

Citations: | 1 - 0 self |

### BibTeX

@MISC{Corbineau06decidingequality,

author = {Pierre Corbineau},

title = {Deciding equality in the constructor theory },

year = {2006}

}

### OpenURL

### 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.

### Citations

392 | Simplification by cooperating decision procedures
- Nelson, Oppen
- 1982
(Show Context)
Citation Context ...n be turned into a proof where only terms in T are used. From the dual point of view, any interpretation satisfying locally the set of axioms can be extended to the set of all terms. Nelson and Oppen =-=[10, 11]-=- and Downey, Sethi, Tarjan [6], start from this property to build algorithms representing equivalence classes by a forest of trees (union-find structure), in order to obtain an optimal complexity. 1.1... |

186 | Fast decision procedures based on congruence closure
- Nelson, Oppen
- 1980
(Show Context)
Citation Context ...n between closed terms is the consequence of a finite conjunction of equations between closed terms. This problem is called congruence-closure and its decidability was established by Nelson and Oppen =-=[11]-=-, and Downey, Sethi, and Tarjan [6]. The algorithms that are described have a quasi-linear complexity. Nelson and Oppen, and also Shostak, described methods to extend the scope of this closed case wit... |

138 | Compiling with Proofs
- Necula
- 1998
(Show Context)
Citation Context ...ails to prove the goal. Otherwise it is instrumented to produce a constructive proof of the equation that was proven to dissatisfy the problem. The method used is similar to that explained in [4] and =-=[9]-=- and more recently in [12]. Moreover, the congruence tactic detects if the final set of terms is applicationclosed and if not, it can complete it by adding extra terms with meaningless constants, so t... |

106 |
Variations on the common subexpression problem
- Downey, Sethi, et al.
- 1980
(Show Context)
Citation Context ...uence of a finite conjunction of equations between closed terms. This problem is called congruence-closure and its decidability was established by Nelson and Oppen [11], and Downey, Sethi, and Tarjan =-=[6]-=-. The algorithms that are described have a quasi-linear complexity. Nelson and Oppen, and also Shostak, described methods to extend the scope of this closed case with some specific equational theories... |

75 |
Recursive unsolvability of a problem of Thue
- Post
(Show Context)
Citation Context ...scribing its implementation in the Coq proof assistant. Among problems in equational reasoning, a crucial one is the word problem: does a set of equations entail another one? In 1947, Post and Markov =-=[15, 7]-=- showed that this is undecidable. What is decidable is whether an equation between closed terms is the consequence of a finite conjunction of equations between closed terms. This problem is called con... |

70 | Dependently Typed Functional Programs and their Proofs
- McBride
- 1999
(Show Context)
Citation Context ...d be interesting to see what can be done with dependently-typed terms, since the conclusion of the congr@ rule is ill-typed in that case. An exploration of the relation between heterogeneous equality =-=[8]-=- and standard homogeneous equality is needed for closed terms. Whichever extension will be done will have to keep to the original aim: design a specific procedure which can solve a problem or fail to ... |

48 |
Reasoning about recursively defined data structures
- Oppen
- 1980
(Show Context)
Citation Context ...nductive type constructors also have acyclicity properties in the style of Peano’s axiom about the successor function S, which satisfies ∀x, x �≈ S x. These acyclicity properties have been studied in =-=[14]-=-. Other kinds of deductions can be based on the assumption that datatypes are totally generated by their constructors: considering a finite type such as the booleans, with two constant constructors T ... |

36 | Abstract Congruence Closure
- Bachmair, Tiwari, et al.
(Show Context)
Citation Context ...ion since its principle is to directly build a set of term equivalence classes. The link between congruence-closure and syntactic methods was established by the concept of abstract congruence closure =-=[2, 1]-=-. Because of its simplicity and efficiency, this algorithm makes a good candidate for an implementation of a Coq tactic. Moreover, we wish to extend the decision procedure in order to cover specific p... |

30 | Proof-producing congruence closure
- Nieuwenhuis, Oliveras
- 2005
(Show Context)
Citation Context ...ethod was implemented in the Coq system in 2002 as a tactic named congruence. The proof production method used there is similar to the one discovered and studied in detail by Nieuwenhuis and Oliveras =-=[12]-=-. In 2003, I implemented an extended version of the congruence tactic that included the constructor theory. No theoretical ground was given to support that extension, so this is the purpose of this ar... |

25 |
On the impossibility of certain algorithms in the theory of associative systems
- MARKOV
- 1947
(Show Context)
Citation Context ...scribing its implementation in the Coq proof assistant. Among problems in equational reasoning, a crucial one is the word problem: does a set of equations entail another one? In 1947, Post and Markov =-=[15, 7]-=- showed that this is undecidable. What is decidable is whether an equation between closed terms is the consequence of a finite conjunction of equations between closed terms. This problem is called con... |

22 | Abstract congruence closure and specializations
- Bachmair, Tiwari
- 2000
(Show Context)
Citation Context ...ion since its principle is to directly build a set of term equivalence classes. The link between congruence-closure and syntactic methods was established by the concept of abstract congruence closure =-=[2, 1]-=-. Because of its simplicity and efficiency, this algorithm makes a good candidate for an implementation of a Coq tactic. Moreover, we wish to extend the decision procedure in order to cover specific p... |

9 | Reflecting proofs in first-order logic with equality
- Contejean, Corbineau
- 2005
(Show Context)
Citation Context ...seful when doingsDeciding equality in the constructor theory 15 multiple nested case-analysis of which most cases are failure cases for example when doing the proofs for the reflexion schemes used in =-=[3]-=-. The work lacks both a proper complexity analysis and some benchmarks, but since it is quite specific it is difficult to compare with other tools. An obvious improvement would be to add λ-abstraction... |

2 |
Autour de la clôture de congruence avec coq
- Corbineau
(Show Context)
Citation Context ...erm with respect to a set of oriented equations. Those tactics cannot cooperate with each other, which we could do by designing a tactic for congruence-closure with the constructor theory. In 2001, I =-=[4]-=- proved in Coq the correctness of the congruence-closure algorithm and designed a tagging system for the data structure allowing us to extract proofs of the equations. That method was implemented in t... |

1 |
Dmonstration automatique en Thorie des Types
- Corbineau
- 2005
(Show Context)
Citation Context ...uivalence class for ≈, so ≈∗ is conservative with respect to ≈, and satisfies E. Then we show that ≈∗ satisfies the constructor theory, which is a bit technical, and too long to be detailed here, see =-=[5]-=-, Theorem 2.13, pages 42–45 for the full proof. This concludes the proof. ⊓⊔ Now that we have reduced our problem to a more manageable one, we will give a description of the algorithm itself. 3 The de... |