Results 11  20
of
42
The Formal Relationship Between Direct and ContinuationPassing Style Optimizing Compilers: A Synthesis of Two Paradigms
, 1994
"... Compilers for higherorder programming languages like Scheme, ML, and Lisp can be broadly characterized as either "direct compilers" or "continuationpassing style (CPS) compilers", depending on their main intermediate representation. Our central result is a precise correspondence between the two co ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
Compilers for higherorder programming languages like Scheme, ML, and Lisp can be broadly characterized as either "direct compilers" or "continuationpassing style (CPS) compilers", depending on their main intermediate representation. Our central result is a precise correspondence between the two compilation strategies. Starting from
Types as graphs: Continuations in type logical grammar
, 2005
"... Using the programminglanguage concept of CONTINUATIONS, we propose a new, multimodal analysis of quantification in Type Logical Grammar. Our approach provides a geometric view of insitu quantification in terms of graphs, and motivates the limited use of empty antecedents in derivations. Just as c ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
Using the programminglanguage concept of CONTINUATIONS, we propose a new, multimodal analysis of quantification in Type Logical Grammar. Our approach provides a geometric view of insitu 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, typelogical way to model evaluation order and side effects in natural language. We illustrate with an improved account of quantificational binding, weak crossover, whquestions, superiority, and polarity licensing.
Atranslation and Looping Combinators in Pure Type Systems
 Journal of Functional Programming
, 1994
"... We present here a generalization of Atranslation 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 Atranslation 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 nonautomated solution to this 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 9 (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 firstorder 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 NashWilliams 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 NashWilliams argument.
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 proofsasprograms 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 proofsasprograms 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 ictdirected backjumping’ (CBJ). A variant of this proof is formalized in Nuprl yielding a correctbyconstruction 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 proofsasprograms 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 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 7 (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 MartinLö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 MartinLö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 MartinLöf's Theory of Types with Explicit Substitution, we present the formal calculus in complete detail. It consists of MartinLof'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 5 (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 DavisPutnam 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 FCCBJ 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...
Certified higherorder recursive path ordering
 In RTA, LNCS
, 2006
"... Abstract. Recursive path ordering (RPO) is a wellknown reduction ordering introduced by Dershowitz [6], that is useful for proving termination of term rewriting systems (TRSs). Jouannaud and Rubio generalized this ordering to the higherorder case thus creating the higherorder recursive path order ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
Abstract. Recursive path ordering (RPO) is a wellknown reduction ordering introduced by Dershowitz [6], that is useful for proving termination of term rewriting systems (TRSs). Jouannaud and Rubio generalized this ordering to the higherorder case thus creating the higherorder recursive path ordering (HORPO) [8]. They proved that this ordering can be used for proving termination of higherorder TRSs which essentially comes down to proving wellfoundedness of the union of HORPO and βreduction relation of simply typed lambda calculus (λ →), [1]. This result entails wellfoundedness of RPO and termination of λ →. This paper describes author’s undertaking of providing a complete, axiomfree, fully constructive formalization of those results in the theorem prover Coq. Formalization is complete and hence it contains all the dependant results for λ → , multisets and multiset extension of the relation. Also decidability of HORPO has been proven and due to constructive nature of this proof a certified algorithm to verify whether two terms can be oriented with HORPO can be extracted from this proof. 1