## Verifying Uniqueness in a Logical Framework (2004)

### Cached

### Download Links

Citations: | 5 - 0 self |

### BibTeX

@MISC{Anderson04verifyinguniqueness,

author = {Penny Anderson and Frank Pfenning},

title = {Verifying Uniqueness in a Logical Framework},

year = {2004}

}

### OpenURL

### Abstract

We present an algorithm for verifying that some specified arguments of an inductively defined relation in a dependently typed #- calculus are uniquely determined by some other arguments. We prove it correct and also show how to exploit this uniqueness information in coverage checking, which allows us to verify that a definition of a function or relation covers all possible cases. In combination, the two algorithms significantly extend the power of the meta-reasoning facilities of the Twelf implementation of LF.

### Citations

711 | A framework for defining logics
- Harper, Honsel, et al.
- 1987
(Show Context)
Citation Context ...r an instance of this problem, namely verifying and exploiting uniqueness in a logical framework. We show how to establish uniqueness of certain arguments to type families in the logical framework LF =-=[7]-=- as implemented in the Twelf system [15]. We further show how to exploit this uniqueness information to verify meta-theoretic properties of signatures, thereby checking proofs of meta-theorems present... |

319 | System description: Twelf — a meta-logical framework for deductive systems
- Pfenning, Schürmann
(Show Context)
Citation Context ...erifying and exploiting uniqueness in a logical framework. We show how to establish uniqueness of certain arguments to type families in the logical framework LF [7] as implemented in the Twelf system =-=[15]-=-. We further show how to exploit this uniqueness information to verify meta-theoretic properties of signatures, thereby checking proofs of meta-theorems presented as relations in LF. In particular, we... |

222 | The practice of logical frameworks
- Pfenning
- 1996
(Show Context)
Citation Context ...ng [24] and mode checking [18], which in combination with termination checking [16], can verify metatheoretic proofs such as cut elimination [12], the Church-Rosser theorem [19], logical translations =-=[13]-=-, or the soundness of Foundational Typed Assembly Language [3, 4]. The specific motivation for this work came mostly from the latter, ⋆ This research has been supported by NSF Grant CCR-0306313. To ap... |

125 | Primitive Recursion for Higherorder Abstract syntax
- Schurmann, Despeyroux, et al.
(Show Context)
Citation Context ...In particular, these frameworks prohibit function definitions by cases or by primitive recursion. Adding such functions appears to require modal types or an explicit stratification of the type theory =-=[5, 23, 20, 21]-=-; related approaches are still a subject of current research (see, for example, [25, 22]). The traditional and practically tested approach is to represent more complex functions as either type familie... |

109 |
An algorithm for testing conversion in type theory
- Coquand
(Show Context)
Citation Context ...nly in the names of their bound variables. Our notion of definitional equality is βη-conversion, and we tacitly exploit the property that every kind, type, and object has a unique long βη-normal form =-=[1, 8]-=- which we call canonical. The relatively simple nature of this definitional equality avoids some thorny issues regarding intensional and extensional equality in constructive type theories [10, 9] that... |

93 | Toward a foundational typed assembly language
- Crary
(Show Context)
Citation Context ...nation checking [16], can verify metatheoretic proofs such as cut elimination [12], the Church-Rosser theorem [19], logical translations [13], or the soundness of Foundational Typed Assembly Language =-=[3, 4]-=-. The specific motivation for this work came mostly from the latter, ⋆ This research has been supported by NSF Grant CCR-0306313. To appear at TPHOLS’04sin which a significant portion of the developme... |

88 | On equivalence and canonical forms in the LF type theory
- Harper, Pfenning
- 2005
(Show Context)
Citation Context ...nly in the names of their bound variables. Our notion of definitional equality is βη-conversion, and we tacitly exploit the property that every kind, type, and object has a unique long βη-normal form =-=[1, 8]-=- which we call canonical. The relatively simple nature of this definitional equality avoids some thorny issues regarding intensional and extensional equality in constructive type theories [10, 9] that... |

86 | Pattern matching with dependent types
- Coquand
- 1992
(Show Context)
Citation Context ...s can be adapted to other systems of constructive type theory to recognize properties of relations. In that direction, the research can be seen as an extension of the work by McBride [11] and Coquand =-=[2]-=-, who present procedures for deciding whether a definition by pattern matching of a dependently typed function consists of cases that are exhaustive and mutually exclusive. Here, we permit not only in... |

83 | Automating the Meta Theory of Deductive Systems
- Schürmann
- 2000
(Show Context)
Citation Context ...ior work on coverage checking [24] and mode checking [18], which in combination with termination checking [16], can verify metatheoretic proofs such as cut elimination [12], the Church-Rosser theorem =-=[19]-=-, logical translations [13], or the soundness of Foundational Typed Assembly Language [3, 4]. The specific motivation for this work came mostly from the latter, ⋆ This research has been supported by N... |

71 | Dependently Typed Functional Programs and their Proofs
- McBride
- 1999
(Show Context)
Citation Context ...hat our techniques can be adapted to other systems of constructive type theory to recognize properties of relations. In that direction, the research can be seen as an extension of the work by McBride =-=[11]-=- and Coquand [2], who present procedures for deciding whether a definition by pattern matching of a dependently typed function consists of cases that are exhaustive and mutually exclusive. Here, we pe... |

56 | Unification via explicit substitutions: The case of higher-order patterns
- Dowek, Hardin, et al.
- 1996
(Show Context)
Citation Context ...with mode plus +X1 +X2 -1Y. Uniqueness mode checking verifies that plus z X and plus (s X1) X2 do not have a unifier. This is easy because z and s in the first argument clash. We use the algorithm in =-=[6]-=- which will always terminate, but may sometimes generate constraints that cannot be solved. In that case, uniqueness mode checking will fail. Strictness. Because we can make the assumption that input ... |

54 | Structural cut elimination I. intuitionistic and classical logic
- Pfenning
- 2000
(Show Context)
Citation Context ... holds. Our algorithm extends prior work on coverage checking [24] and mode checking [18], which in combination with termination checking [16], can verify metatheoretic proofs such as cut elimination =-=[12]-=-, the Church-Rosser theorem [19], logical translations [13], or the soundness of Foundational Typed Assembly Language [3, 4]. The specific motivation for this work came mostly from the latter, ⋆ This ... |

51 |
Extensional concepts in intensional type theory
- Hofmann
- 1995
(Show Context)
Citation Context ... form [1, 8] which we call canonical. The relatively simple nature of this definitional equality avoids some thorny issues regarding intensional and extensional equality in constructive type theories =-=[10, 9]-=- that would complicate our analysis. We omit type-level λ-abstractions from the syntax since they do not occur in canonical 2sforms. The principal judgments we use are: Γ ⊢Σ A : type Type A is valid Γ... |

41 | A coverage checking algorithm for LF
- Schürmann, Pfenning
- 2003
(Show Context)
Citation Context ...orithm will always terminate, but, since the problem is in general undecidable, will sometimes fail to establish uniqueness even though it holds. Our algorithm extends prior work on coverage checking =-=[24]-=- and mode checking [18], which in combination with termination checking [16], can verify metatheoretic proofs such as cut elimination [12], the Church-Rosser theorem [19], logical translations [13], o... |

37 | Boxes go bananas: Encoding higherorder abstract syntax with parametric polymorphism
- Washburn, Weirich
(Show Context)
Citation Context ...n. Adding such functions appears to require modal types or an explicit stratification of the type theory [5, 23, 20, 21]; related approaches are still a subject of current research (see, for example, =-=[25, 22]-=-). The traditional and practically tested approach is to represent more complex functions as either type families or relations, depending on whether the framework is a type theory or a logic. 2 In man... |

36 | Mode and termination checking for higher-order logic programs
- Rohwedder, Pfenning
- 1996
(Show Context)
Citation Context ...inate, but, since the problem is in general undecidable, will sometimes fail to establish uniqueness even though it holds. Our algorithm extends prior work on coverage checking [24] and mode checking =-=[18]-=-, which in combination with termination checking [16], can verify metatheoretic proofs such as cut elimination [12], the Church-Rosser theorem [19], logical translations [13], or the soundness of Foun... |

26 |
A groupoid model refutes uniqueness of identity proofs
- Hofmann, Streicher
- 1994
(Show Context)
Citation Context ... form [1, 8] which we call canonical. The relatively simple nature of this definitional equality avoids some thorny issues regarding intensional and extensional equality in constructive type theories =-=[10, 9]-=- that would complicate our analysis. We omit type-level λ-abstractions from the syntax since they do not occur in canonical 2sforms. The principal judgments we use are: Γ ⊢Σ A : type Type A is valid Γ... |

19 | C.: Algorithms for equality and unification in the presence of notational definitions
- Pfenning, Schürmann
- 1998
(Show Context)
Citation Context ...e strict occurrence has a unique, ground solution. An occurrence of a variable is strict if it is applied to distinct bound variables and it is not in an argument to another unification variable (see =-=[14]-=- for a more formal definition). Strictness is central in our analysis to conclude that if matching a pattern against a ground term succeeds, variables with at least one strict occurrence in the patter... |

19 | Recursion for higher-order encodings - Schürmann - 2001 |

13 | Termination and reduction checking for higher-order logic programs
- Pientka
- 2001
(Show Context)
Citation Context ...le, will sometimes fail to establish uniqueness even though it holds. Our algorithm extends prior work on coverage checking [24] and mode checking [18], which in combination with termination checking =-=[16]-=-, can verify metatheoretic proofs such as cut elimination [12], the Church-Rosser theorem [19], logical translations [13], or the soundness of Foundational Typed Assembly Language [3, 4]. The specific... |

8 | A modal lambda calculus with iteration and case constructs
- Leleu
- 1997
(Show Context)
Citation Context ...In particular, these frameworks prohibit function definitions by cases or by primitive recursion. Adding such functions appears to require modal types or an explicit stratification of the type theory =-=[5, 23, 20, 21]-=-; related approaches are still a subject of current research (see, for example, [25, 22]). The traditional and practically tested approach is to represent more complex functions as either type familie... |

5 | A metalogical approach to foundational certified code
- Crary, Sarkar
- 2003
(Show Context)
Citation Context ...nation checking [16], can verify metatheoretic proofs such as cut elimination [12], the Church-Rosser theorem [19], logical translations [13], or the soundness of Foundational Typed Assembly Language =-=[3, 4]-=-. The specific motivation for this work came mostly from the latter, ⋆ This research has been supported by NSF Grant CCR-0306313. To appear at TPHOLS’04sin which a significant portion of the developme... |

5 | A type-theoretic approach to induction with higher-order encodings
- Schürmann
- 2001
(Show Context)
Citation Context ...In particular, these frameworks prohibit function definitions by cases or by primitive recursion. Adding such functions appears to require modal types or an explicit stratification of the type theory =-=[5, 23, 20, 21]-=-; related approaches are still a subject of current research (see, for example, [25, 22]). The traditional and practically tested approach is to represent more complex functions as either type familie... |

2 |
Delphin -- toward functional programming with logical frameworks
- Schurmann
- 2003
(Show Context)
Citation Context ...n. Adding such functions appears to require modal types or an explicit stratification of the type theory [5, 23, 20, 21]; related approaches are still a subject of current research (see, for example, =-=[25, 22]-=-). The traditional and practically tested approach is to represent more complex functions as either type families or relations, depending on whether the framework is a type theory or a logic. 2 In man... |

1 | Factoring pure logic programs
- Poswolsky, Schurmann
- 2003
(Show Context)
Citation Context ...proof terms (and not just output arguments) will be ground or ground and unique. That would enable additional goal specialization in coverage checking. The third is to integrate the idea of factoring =-=[17]-=- in which overlapping clauses are permitted as long as they can be seen to be (always!) disjoint on the result of some subgoal. In terms of implementation, we have not yet extended the coverage checke... |

1 | Factoring pure logic programs. Draft manuscript - Poswolsky, Schurmann - 2001 |

1 | A modal lambda calculus with iteration and case constructs - Despeyroux, Leleu - 1998 |