Handbook of logic in computer science (vol. 2)
Inductive Definitions in the system Coq - Rules and Properties
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Completeness in Data Type Specifications
EUROCAL '85 Research Contributions from the European Conference on Computer Algebra-Volume 2
The Calculus of algebraic Constructions
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
Stop losing sleep over incomplete data type specifications
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Termination of rewriting in the Calculus of Constructions
Journal of Functional Programming
Modularity of strong normalization in the algebraic-λ-cube
Journal of Functional Programming
Definitions by rewriting in the Calculus of Constructions
Mathematical Structures in Computer Science
Consistency and completeness of rewriting in the calculus of constructions
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
On the role of type decorations in the calculus of inductive constructions
CSL'05 Proceedings of the 19th international conference on Computer Science Logic
Pattern matching coverage checking with dependent types using set approximations
PLPV '07 Proceedings of the 2007 workshop on Programming languages meets program verification
Consistency and completeness of rewriting in the calculus of constructions
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Rewriting Computation and Proof
Hi-index | 0.00 |
Adding rewriting to a proof assistant based on the Curry-Howard isomorphism, such as Coq, may greatly improve usability of the tool. Unfortunately adding an arbitrary set of rewrite rules may render the underlying formal system undecidable and inconsistent. While ways to ensure termination and confluence, and hence decidability of type-checking, have already been studied to some extent, logical consistency has got little attention so far. In this paper we show that consistency is a consequence of canonicity, which in turn follows from the assumption that all functions defined by rewrite rules are complete. We provide a sound and terminating, but necessarily incomplete algorithm to verify this property. The algorithm accepts all definitions that follow dependent pattern matching schemes presented by Coquand and studied by McBride in his PhD thesis. Moreover, many definitions by rewriting containing rules which depart from standard pattern matching are also accepted.