Results 1 -
3 of
3
The PROSPER Toolkit
, 2000
"... The Prosper (Proof and Specification Assisted Design Environments) project advocates the use of toolkits which allow existing verification tools to be adapted to a more flexible format so that they may be treated as components. A system incorporating such tools becomes another component that can be ..."
Abstract
-
Cited by 39 (2 self)
- Add to MetaCart
The Prosper (Proof and Specification Assisted Design Environments) project advocates the use of toolkits which allow existing verification tools to be adapted to a more flexible format so that they may be treated as components. A system incorporating such tools becomes another component that can be embedded in an application. This paper describes the Prosper Toolkit which enables this. The nature of communication between components is specified in a language-independent way. It is implemented in several common programming languages to allow a wide variety of tools to have access to the toolkit.
Boxes Go Bananas: Encoding Higher-Order Abstract Syntax with Parametric Polymorphism
, 2003
"... Higher-order abstract syntax is a simple technique for implement-ing languages with functional programming. Object variables and binders are implemented by variables and binders in the host lan-guage. By using this technique, one can avoid implementing common and tricky routines dealing with variab ..."
Abstract
-
Cited by 28 (3 self)
- Add to MetaCart
Higher-order abstract syntax is a simple technique for implement-ing languages with functional programming. Object variables and binders are implemented by variables and binders in the host lan-guage. By using this technique, one can avoid implementing common and tricky routines dealing with variables, such as capture-avoiding substitution. However, despite the advantages this technique provides, it is not commonly used because it is difficult to write sound elimination forms (such as folds or catamorphisms) for higher-order abstract syntax. To fold over such a datatype, one musteither simultaneously define an inverse operation (which may not exist) or show that all functions embedded in the datatype are parametric. In this paper,
Completeness and Cut-Elimination in the . . .
, 2004
"... In this paper we give a semantic proof of cut-elimination for ICTT. ICTT is an intuitionistic formulation of Church's theory of types defined by Miller, Scedrov, Nadathur and Pfenning in the late 1980s. It is the basis for the *prolog programming language. Our approach, extending techniques of Taka ..."
Abstract
- Add to MetaCart
In this paper we give a semantic proof of cut-elimination for ICTT. ICTT is an intuitionistic formulation of Church's theory of types defined by Miller, Scedrov, Nadathur and Pfenning in the late 1980s. It is the basis for the *prolog programming language. Our approach, extending techniques of Takahashi, Andrews and tableaux machinery of Fitting, Smullyan, Nerode and Shore, is to prove a completeness theorem for the cut-free fragment, and show, semantically, that cut is a derived rule. The technique used allows us to extract a generalization of the Takahashi-Sch"utte lemma on extending semivaluations in impredicative systems. We strengthen Andrews ' notion of Hintikka sets to intuitionistic logic in a way that also defines tableau-provability for intuitionistic type theory. We develop a corresponding model theory for ICTT and, after giving a completeness theorem without using cut we then show, using cut, how to establish completeness of more conventional term models. Our work

