Sciweavers

TPHOL
2003
IEEE

A Coverage Checking Algorithm for LF

13 years 9 months ago
A Coverage Checking Algorithm for LF
Coverage checking is the problem of deciding whether any closed term of a given type is an instance of at least one of a given set of patterns. It can be used to verify if a function defined by pattern matching covers all possible cases. This problem has a straightforward solution for the first-order, simply-typed case, but is in general undecidable in the presence of dependent types. In this paper we present a terminating algorithm for verifying coverage of higher-order, dependently typed patterns. It either succeeds or presents a set of counterexamples with free variables, some of which may not have closed instances (a question which is undecidable). Our algorithm, together with strictness and termination checking, can be used to certify the correctness of numerous proofs of properties of deductive systems encoded in a system for reasoning about LF signatures.
Carsten Schürmann, Frank Pfenning
Added 05 Jul 2010
Updated 05 Jul 2010
Type Conference
Year 2003
Where TPHOL
Authors Carsten Schürmann, Frank Pfenning
Comments (0)