Results 11 - 20
of
42
The Formal Relationship Between Direct and Continuation-Passing Style Optimizing Compilers: A Synthesis of Two Paradigms
, 1994
"... Compilers for higher-order programming languages like Scheme, ML, and Lisp can be broadly characterized as either "direct compilers" or "continuation-passing style (CPS) compilers", depending on their main intermediate representation. Our central result is a precise correspondence between the two co ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
Compilers for higher-order programming languages like Scheme, ML, and Lisp can be broadly characterized as either "direct compilers" or "continuation-passing style (CPS) compilers", depending on their main intermediate representation. Our central result is a precise correspondence between the two compilation strategies. Starting from
A-translation and Looping Combinators in Pure Type Systems
- Journal of Functional Programming
, 1994
"... We present here a generalization of A-translation to a class of Pure Type Systems. We apply this translation to give a direct proof of the existence of a looping combinator in a large class of inconsistent type systems, class which includes type systems with a type of all types. This is the first no ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
We present here a generalization of A-translation to a class of Pure Type Systems. We apply this translation to give a direct proof of the existence of a looping combinator in a large class of inconsistent type systems, class which includes type systems with a type of all types. This is the first non-automated solution to this problem.
Types as graphs: Continuations in type logical grammar
- JOURNAL OF LOGIC, LANGUAGE AND INFORMATION
"... Using the programming-language concept of CONTINUATIONS, we propose a new, multimodal analysis of quantification in Type Logical Grammar. Our approach provides a geometric view of in-situ quantification in terms of graphs, and motivates the limited use of empty antecedents in derivations. Just as ..."
Abstract
-
Cited by 9 (7 self)
- Add to MetaCart
Using the programming-language concept of CONTINUATIONS, we propose a new, multimodal analysis of quantification in Type Logical Grammar. Our approach provides a geometric view of in-situ quantification in terms of graphs, and motivates the limited use of empty antecedents in derivations. Just as continuations are the tool of choice for reasoning about evaluation order and side effects in programming languages, our system provides a principled, type-logical way to model evaluation order and side effects in natural language. We illustrate with an improved account of quantificational binding, weak crossover, wh-questions, superiority, and polarity licensing.
Search algorithms in type theory
, 2000
"... In this paper, we take an abstract view of search by describing search procedures via particular kinds of proofs in type theory. We rely on the proofs-as-programs interpretation to extract programs from our proofs. Using these techniques we explore, in depth, a large family of search problems by par ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
In this paper, we take an abstract view of search by describing search procedures via particular kinds of proofs in type theory. We rely on the proofs-as-programs interpretation to extract programs from our proofs. Using these techniques we explore, in depth, a large family of search problems by parameterizing the speci cation of the problem. A constructive proof is presented which has as its computational content a correct search procedure for these problems. We show how a classical extension to an otherwise constructive system can be used to describe a typical use of the nonlocal control operator call/cc. Using the classical typing of nonlocal control we extend our purely constructive proof to incorporate a sophisticated backtracking technique known as ‘con ict-directed backjumping’ (CBJ). A variant of this proof is formalized in Nuprl yielding a correct-by-construction implementation of CBJ. The extracted program has been translated into Scheme and serves as the basis for an implementation of a new solution to the Hamiltonian circuit problem. This paper demonstrates a nontrivial application of the proofs-as-programs paradigm by applying the technique to the derivation of a sophisticated search algorithm; also, it shows the generality of the resulting implementation by demonstrating its application in a new problem
A proof of Higman's lemma by structural induction
, 1993
"... This paper gives an example of such an inductive proof for a combinatorial problem. While there exist other constructive proofs of Higman's lemma (see for instance [10, 14]), the present argument has been recorded for its extreme formal simplicity. This simplicity allows us to give a complete descri ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
This paper gives an example of such an inductive proof for a combinatorial problem. While there exist other constructive proofs of Higman's lemma (see for instance [10, 14]), the present argument has been recorded for its extreme formal simplicity. This simplicity allows us to give a complete description of the computational content of the proof, first in term of a functional program, which follows closely the structure of the proof, and then in term of a program with state. The second program has an intuitive algorithmic meaning. In order to show that these two programs are equivalent, we introduce an intermediary program, which is a first-order operational interpretation of the functional program. The relation between this program and the program with state is simple to establish. We can thus claim that we understand completely the computational behaviour of the proof. It is possible to give still another description of this algorithm, in term of process computing in parallel. In this form, the connection with Nash-Williams non constructive argument is quite clear (though this algorithm was found first only as an alternative description of the computational content of the inductive proof). This inductive proof was actually found from the usual non constructive argument by using the technique described in [3]. These two facts give strong indication that this algorithm can be considered as the computational content of the Nash-Williams argument.
A Confluent Lambda-Calculus With a Catch/throw Mechanism
"... We derive a confluent -calculus with a catch/throw mechanism (called ct -calculus) from M. Parigot's -calculus. We also present several translations from one calculus into the other which are morphisms for the reduction. We use them to show that the ct-calculus is a retract of -calculus (these calc ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We derive a confluent -calculus with a catch/throw mechanism (called ct -calculus) from M. Parigot's -calculus. We also present several translations from one calculus into the other which are morphisms for the reduction. We use them to show that the ct-calculus is a retract of -calculus (these calculi are isomorphic if we consider only convertibility). As a by-product, we obtain the subject reduction property for the ct -calculus, as well as the strong normalization for ct-terms typable in the second order classical natural deduction. 1 Introduction In the last four years, several extensions of the -calculus with some catch/throw mechanism have been proposed by H. Nakano (1994a; 1994b; 1995) and by M. Sato (1997) and Y. Kameyama (1997; 1998). In these papers, the authors consider the catch/throw mechanism as "intrinsically non-deterministic" and thus investigate non-confluent calculi or confine themselves to some specific evaluation strategy. For instance in (Nakano, 1994b), the non-...
A Strong Normalization Result for Classical Logic
- Annals of Pure and Applied Logic
, 1995
"... In this paper we give a strong normalization proof for a set of reduction rules for classical logic. These reductions, more general then the ones usually considered in literature, are inspired to the reductions of Felleisen's lambda calculus with continuations. 1 Introduction Recently, in the logic ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
In this paper we give a strong normalization proof for a set of reduction rules for classical logic. These reductions, more general then the ones usually considered in literature, are inspired to the reductions of Felleisen's lambda calculus with continuations. 1 Introduction Recently, in the logic and theoretical computer science community, there has been an ever growing interest in the computational features of classical logic. The problem on which research is beginning to focus now is not the theoretical possibility of having constructive content present in classical proofs, established in old and well known results, but the practical applicability of such results. It was Kreisel in [12] who first pinpointed the presence of constructive content in classical proofs by proving the equality of the sets of \Sigma 0 1 -sentences provable respectively in intuitionistic and classical logic. Friedman in [7] showed how to get the computational content of a classical proof of a \Sigma 0 1 ...
Higman's Lemma in Type Theory
- PROCEEDINGS OF THE 1996 WORKSHOP ON TYPES FOR PROOFS AND PROGRAMS
, 1997
"... This thesis is about exploring the possibilities of a limited version of Martin-Löf's type theory. This exploration consists both of metatheoretical considerations and of the actual use of that version of type theory to prove Higman's lemma. The thesis is organized in two papers, one in which type t ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
This thesis is about exploring the possibilities of a limited version of Martin-Löf's type theory. This exploration consists both of metatheoretical considerations and of the actual use of that version of type theory to prove Higman's lemma. The thesis is organized in two papers, one in which type theory itself is studied and one in which it is used to prove Higman's lemma. In the first paper, A Lambda Calculus Model of Martin-Löf's Theory of Types with Explicit Substitution, we present the formal calculus in complete detail. It consists of Martin-Lof's logical framework with explicit substitution extended with some inductively defined sets, also given in complete detail. These inductively defined sets are precisely those we need in the second paper of this thesis for the formal proof of Higman's lemma. The limitations of the formalism come from the fact that we do not introduce universes. It is known that for other versions of type theory, the absence of universes implies the impossib...
The Logic of Search Algorithms: Theory and Applications
- In Principles and Practice of Constraint Programming { CP97
, 1997
"... . Many search algorithms have been introduced without correctness proofs, or proved only with respect to an informal semantics of the algorithm. We address this problem by taking advantage of the correspondence between programs and proofs. We give a single proof of the correctness of a very general ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
. Many search algorithms have been introduced without correctness proofs, or proved only with respect to an informal semantics of the algorithm. We address this problem by taking advantage of the correspondence between programs and proofs. We give a single proof of the correctness of a very general search algorithm, for which we provide Scheme code. It is straightforward to implement service functions to implement algorithms such as Davis-Putnam for satisfiability or forward checking (FC) for constraint satisfaction, and to incorporate conflictdirected backjumping (CBJ) and heuristics for variable and value ordering. By separating the search algorithm from problem features, our work should enable the much speedier implementation of sophisticated search methods such as FC-CBJ in new domains, and we illustrate this by sketching an implementation for the Hamiltonian Circuit problem. 1 Introduction The constraint satisfaction community has an excellent record of introducing intelligent se...

