Results 11 -
17 of
17
Refining Refinement Types
- University of Durham
, 1997
"... We develop a theory of program specification using the notion of refinement type. This provides a notion of structured specification, useful for verification and program development. We axiomatise the satisfaction of specifications by programs as a generalised typing relation and give rules for refi ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We develop a theory of program specification using the notion of refinement type. This provides a notion of structured specification, useful for verification and program development. We axiomatise the satisfaction of specifications by programs as a generalised typing relation and give rules for refining specifications. A per semantics based on Henkin models is given, for which the system is proven to be sound and complete.
ATS/LF: a type system for constructing proofs as total functional programs
, 2004
"... The development of Applied Type System (ATS) [36, 31] stems from an earlier attempt to introduce dependent types into practical programming [38, 37]. While there is already a framework Pure Type System [4] (PTS) that offers a simple and general approach to designing and formalizing type systems, ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The development of Applied Type System (ATS) [36, 31] stems from an earlier attempt to introduce dependent types into practical programming [38, 37]. While there is already a framework Pure Type System [4] (PTS) that offers a simple and general approach to designing and formalizing type systems,
Attributive Types for Proof Erasure ⋆
"... Abstract. Proof erasure plays an essential role in the paradigm of programming with theorem proving. In this paper, we introduce a form of attributive types that carry an attribute to determine whether expressions assigned such types are eligible for erasure before run-time. We formalize a type syst ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. Proof erasure plays an essential role in the paradigm of programming with theorem proving. In this paper, we introduce a form of attributive types that carry an attribute to determine whether expressions assigned such types are eligible for erasure before run-time. We formalize a type system to support this form of attributive types and then establish its soundness. In addition, we outline an extension of the developed type system with dependent types and present some examples to illustrate its use in practice. 1
Categorical Logic
, 2001
"... This document provides an introduction to the interaction between category theory and mathematical logic which is slanted towards computer scientists. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This document provides an introduction to the interaction between category theory and mathematical logic which is slanted towards computer scientists.
in the type theory of Martin-Löf
, 2008
"... One may formulate the dependent product types of Martin-Löf type theory either in terms of abstraction and application operators like those for the lambdacalculus; or in terms of introduction and elimination rules like those for the other constructors of type theory. It is known that the latter rule ..."
Abstract
- Add to MetaCart
One may formulate the dependent product types of Martin-Löf type theory either in terms of abstraction and application operators like those for the lambdacalculus; or in terms of introduction and elimination rules like those for the other constructors of type theory. It is known that the latter rules are stronger than the former: we show that they are in fact strictly stronger. We also show, in the presence of the identity types, that the elimination rule for dependent products – which is a “higher-order ” inference rule in the sense of Schroeder-Heister – can be reformulated in a first-order manner. Finally, we consider the principle of function extensionality in type theory, which asserts that two elements of a dependent product type which are pointwise propositionally equal, are themselves propositionally equal. We demonstrate that the usual formulation of this principle fails to verify a number of very natural propositional equalities; and suggest an alternative formulation which rectifies this deficiency. 1
Defunctionalizing Focusing Proofs (Or, How Twelf Learned To Stop Worrying And Love The Ω-rule)
"... Abstract. In previous work, the author gave a higher-order analysis of focusing proofs (in the sense of Andreoli’s search strategy), with a role for infinitary rules very similar in structure to Buchholz’s Ω-rule. Among other benefits, this “pattern-based ” description of focusing simplifies the cut ..."
Abstract
- Add to MetaCart
Abstract. In previous work, the author gave a higher-order analysis of focusing proofs (in the sense of Andreoli’s search strategy), with a role for infinitary rules very similar in structure to Buchholz’s Ω-rule. Among other benefits, this “pattern-based ” description of focusing simplifies the cut-elimination procedure, allowing cuts to be eliminated in a connective-generic way. However, interpreted literally, it is problematic as a representation technique for proofs, because of the difficulty of inspecting and/or exhaustively searching over these infinite objects. In the spirit of infinitary proof theory, this paper explores a view of pattern-based focusing proofs as façons de parler, describing how to compile them down to first-order derivations through defunctionalization, Reynolds ’ program transformation. Our main result is a representation of pattern-based focusing in the Twelf logical framework, whose core type theory is too weak to directly encode infinitary rules—although this weakness directly enables so-called “higher-order abstract syntax ” encodings. By applying the systematic defunctionalization transform, not only do we retain the benefits of the higher-order focusing analysis, but we can also take advantage of HOAS within Twelf, ultimately arriving at a proof representation with surprisingly little bureaucracy. 1
Recursive Types via Fixpoint Objects
, 1992
"... This paper introduces a new dependently typed equational logic, FIX µ =, which contains both a type universe and a fixpoint object, building upon core material which was introduced in [CP90]. Within the logic FIX µ =, fixpoints are definable at the level of terms, inducing fixpoints at the level of ..."
Abstract
- Add to MetaCart
This paper introduces a new dependently typed equational logic, FIX µ =, which contains both a type universe and a fixpoint object, building upon core material which was introduced in [CP90]. Within the logic FIX µ =, fixpoints are definable at the level of terms, inducing fixpoints at the level of types by a coding through the type universe. Thus we are able to solve recursive domain equations with the aid of the fixpoint type. The logic has a clean categorical semantics, being modelled by a particular variety of category-with-attributes. We note a mild generalisation of information systems, from which we prove a representation theorem for Scott predomains, and use this to describe a concrete model of our logic. FIX µ = may be viewed as a programming metalogic into which programming languages with recursive types may be translated and reasoned about. We demonstrate this by proving computational adequacy results of FIX µ = for a PCF-style language with recursive types. Research supported by the CLICS project (EEC ESPRIT BR nr 3003).

