Results 1  10
of
26
A Linear Logical Framework
, 1996
"... We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science  LICS'96 (E. Clarke editor), pp. 264275, New Brunswick, NJ, July 2730 1996. mal basis for a conservative extension of the LF logical framework. LLF c ..."
Abstract

Cited by 217 (44 self)
 Add to MetaCart
We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science  LICS'96 (E. Clarke editor), pp. 264275, New Brunswick, NJ, July 2730 1996. mal basis for a conservative extension of the LF logical framework. LLF combines the expressive power of dependent types with linear logic to permit the natural and concise representation of a whole new class of deductive systems, namely those dealing with state. As an example we encode a version of MiniML with references including its type system, its operational semantics, and a proof of type preservation. Another example is the encoding of a sequent calculus for classical linear logic and its cut elimination theorem. LLF can also be given an operational interpretation as a logic programming language under which the representations above can be used for type inference, evaluation and cutelimination. 1 Introduction A logical framework is a formal system desig...
The SizeChange Principle for Program Termination
, 2001
"... The \sizechange termination" principle for a rstorder functional language with wellfounded data is: a program terminates on all inputs if every innite call sequence (following program control ow) would cause an innite descent in some data values. Sizechange analysis is based only on local appr ..."
Abstract

Cited by 176 (11 self)
 Add to MetaCart
The \sizechange termination" principle for a rstorder functional language with wellfounded data is: a program terminates on all inputs if every innite call sequence (following program control ow) would cause an innite descent in some data values. Sizechange analysis is based only on local approximations to parameter size changes derivable from program syntax. The set of innite call sequences that follow program ow and can be recognized as causing innite descent is an !regular set, representable by a Buchi automaton. Algorithms for such automata can be used to decide sizechange termination. We also give a direct algorithm operating on \sizechange graphs" (without the passage to automata). Compared to other results in the literature, termination analysis based on the sizechange principle is surprisingly simple and general: lexical orders (also called lexicographic orders), indirect function calls and permuted arguments (descent that is not insitu) are all handled auto...
TypeBased Termination of Recursive Definitions
, 2002
"... This article The purpose of this paper is to introduce b, a simply typed calculus that supports typebased recursive definitions. Although heavily inspired from previous work by Giménez (Giménez 1998) and closely related to recent work by Amadio and Coupet (Amadio and CoupetGrimal 1998), the techn ..."
Abstract

Cited by 39 (3 self)
 Add to MetaCart
This article The purpose of this paper is to introduce b, a simply typed calculus that supports typebased recursive definitions. Although heavily inspired from previous work by Giménez (Giménez 1998) and closely related to recent work by Amadio and Coupet (Amadio and CoupetGrimal 1998), the technical machinery behind our system puts a slightly different emphasis on the interpretation of types. More precisely, we formalize the notion of typebased termination using a restricted form of type dependency (a.k.a. indexed types), as popularized by (Xi and Pfenning 1998; Xi and Pfenning 1999). This leads to a simple and intuitive system which is robust under several extensions, such as mutually inductive datatypes and mutually recursive function definitions; however, such extensions are not treated in the paper
Total Functional Programming
 Journal of Universal Computer Science
, 2004
"... We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambdadefinable function of positive integers). The phrase in parentheses refers to the apparatus which Chur ..."
Abstract

Cited by 29 (1 self)
 Add to MetaCart
We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambdadefinable function of positive integers). The phrase in parentheses refers to the apparatus which Church had developed to investigate this and other problems in the foundations of mathematics: the calculus of lambda conversion. Both the Thesis and the lambda calculus have been of seminal influence on the development of Computing Science. The main subject of this article is the lambda calculus but I will begin with a brief sketch of the emergence of the Thesis. The epistemological status of Church’s Thesis is not immediately clear from the above quotation and remains a matter of debate, as is explored in other papers of this volume. My own view, which I will state but not elaborate here, is that the thesis is empirical because it relies for its significance on a claim about what can be calculated by mechanisms. This becomes clearer in
Termination Checking with Types
, 1999
"... The paradigm of typebased termination is explored for functional programming with recursive data types. The article introduces , a lambdacalculus with recursion, inductive types, subtyping and bounded quanti cation. Decorated type variables representing approximations of inductive types ..."
Abstract

Cited by 28 (6 self)
 Add to MetaCart
The paradigm of typebased termination is explored for functional programming with recursive data types. The article introduces , a lambdacalculus with recursion, inductive types, subtyping and bounded quanti cation. Decorated type variables representing approximations of inductive types are used to track the size of function arguments and return values. The system is shown to be type safe and strongly normalizing. The main novelty is a bidirectional type checking algorithm whose soundness is established formally.
Termination Analysis and SpecializationPoint Insertion in Offline Partial Evaluation
 ACM Trans. Program. Lang. Syst
, 2004
"... interpretation or constraint solving analyses may be used to detect both modalities of sizechange behavior, and can be found in the literature [Chin and Khoo 2002; Hughes et al. 1996]. We develop analyses for the current context in Section 5, in the style of Jones et al. [1993, Section 14.3]. ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
interpretation or constraint solving analyses may be used to detect both modalities of sizechange behavior, and can be found in the literature [Chin and Khoo 2002; Hughes et al. 1996]. We develop analyses for the current context in Section 5, in the style of Jones et al. [1993, Section 14.3].
Finding lexicographic orders for termination proofs in Isabelle/HOL
 Theorem Proving in Higher Order Logics: TPHOLs 2007, volume 4732 of Lecture Notes in Computer Science
, 2007
"... Abstract. We present a simple method to formally prove termination of recursive functions by searching for lexicographic combinations of size measures. Despite its simplicity, the method turns out to be powerful enough to solve a large majority of termination problems encountered in daily theorem pr ..."
Abstract

Cited by 14 (5 self)
 Add to MetaCart
Abstract. We present a simple method to formally prove termination of recursive functions by searching for lexicographic combinations of size measures. Despite its simplicity, the method turns out to be powerful enough to solve a large majority of termination problems encountered in daily theorem proving practice. 1
A partial formalisation of a dependently typed language as an inductiverecursive family
 IN PROCEEDINGS OF THE TYPES MEETING 2006
, 2007
"... It is demonstrated how a dependently typed lambda calculus (a logical framework) can be formalised inside a language with inductiverecursive families. The formalisation does not use raw terms; the welltyped terms are defined directly. It is hence impossible to create illtyped terms. As an exampl ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
It is demonstrated how a dependently typed lambda calculus (a logical framework) can be formalised inside a language with inductiverecursive families. The formalisation does not use raw terms; the welltyped terms are defined directly. It is hence impossible to create illtyped terms. As an example of programming with strong invariants, and to show that the formalisation is usable, normalisation is proved. Moreover, this proof seems to be the first formal account of normalisation by evaluation for a dependently typed language.
Miniagda: Integrating sized and dependent types
 In Partiality and Recursion (PAR
, 2010
"... Sized types are a modular and theoretically wellunderstood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make termination checking robust and suitable for strong abstrac ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
Sized types are a modular and theoretically wellunderstood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make termination checking robust and suitable for strong abstractions like higherorder functions and polymorphism. To study the application of sized types to proof assistants and programming languages based on dependent type theory, we have implemented a core language, MiniAgda, with explicit handling of sizes. New considerations were necessary to soundly integrate sized types with dependencies and pattern matching, which was made possible by modern concepts such as inaccessible patterns and parametric function spaces. This paper provides an introduction to MiniAgda by example and informal explanations of the underlying principles. 1
A predicative strong normalisation proof for a λcalculus with interleaving inductive types
 TYPES FOR PROOF AND PROGRAMS, INTER40 A. ABEL AND T. ALTENKIRCH NATIONAL WORKSHOP, TYPES '99, SELECTED PAPERS. LECTURE NOTES IN COMPUTER SCIENCE
, 1999
"... We present a new strong normalisation proof for a λcalculus with interleaving strictly positive inductive types λ^µ which avoids the use of impredicative reasoning, i.e., the theorem of KnasterTarski. Instead it only uses predicative, i.e., strictly positive inductive definitions on the metaleve ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
We present a new strong normalisation proof for a λcalculus with interleaving strictly positive inductive types λ^µ which avoids the use of impredicative reasoning, i.e., the theorem of KnasterTarski. Instead it only uses predicative, i.e., strictly positive inductive definitions on the metalevel. To achieve this we show that every strictly positive operator on types gives rise to an operator on saturated sets which is not only monotone but also (deterministically) set based  a concept introduced by Peter Aczel in the context of intuitionistic set theory. We also extend this to coinductive types using greatest fixpoints of strictly monotone