Results 1  10
of
15
Proving congruence of bisimulation in functional programming languages
 Information and Computation
, 1996
"... Email: howe research.att.com We give a method for proving congruence of bisimulationlike equivalences in functional programming languages. The method applies to languages that can be presented as a set of expressions together with an evaluation relation. We use this method to show that some genera ..."
Abstract

Cited by 106 (1 self)
 Add to MetaCart
Email: howe research.att.com We give a method for proving congruence of bisimulationlike equivalences in functional programming languages. The method applies to languages that can be presented as a set of expressions together with an evaluation relation. We use this method to show that some generalizations of Abramsky's applicative bisimulation are congruences whenever evaluation can be specified by a certain natural form of structured operational semantics. One of the generalizations handles nondeterminism and diverging computations.] 1996 Academic Press, Inc. 1.
Pure Pattern Type Systems
 In POPL’03
, 2003
"... We introduce a new framework of algebraic pure type systems in which we consider rewrite rules as lambda terms with patterns and rewrite rule application as abstraction application with builtin matching facilities. This framework, that we call “Pure Pattern Type Systems”, is particularly wellsuite ..."
Abstract

Cited by 43 (20 self)
 Add to MetaCart
We introduce a new framework of algebraic pure type systems in which we consider rewrite rules as lambda terms with patterns and rewrite rule application as abstraction application with builtin matching facilities. This framework, that we call “Pure Pattern Type Systems”, is particularly wellsuited for the foundations of programming (meta)languages and proof assistants since it provides in a fully unified setting higherorder capabilities and pattern matching ability together with powerful type systems. We prove some standard properties like confluence and subject reduction for the case of a syntactic theory and under a syntactical restriction over the shape of patterns. We also conjecture the strong normalization of typable terms. This work should be seen as a contribution to a formal connection between logics and rewriting, and a step towards new proof engines based on the CurryHoward isomorphism.
Lambda calculus with patterns
, 1990
"... The calculus is an extension of the calculus with a pattern matching facility. The form of the argument of a function can be specified and hencecalculus is more convenient than ordinary calculus. We explore the basic theory of calculus, establishing results such as confluence. In doing so, we f ..."
Abstract

Cited by 27 (1 self)
 Add to MetaCart
The calculus is an extension of the calculus with a pattern matching facility. The form of the argument of a function can be specified and hencecalculus is more convenient than ordinary calculus. We explore the basic theory of calculus, establishing results such as confluence. In doing so, we find some requirements for patterns that guarantee confluence. Our work can be seen as giving some foundations for implementations of functional programming languages.
Operational Theories of Improvement in Functional Languages (Extended Abstract)
 In Proceedings of the Fourth Glasgow Workshop on Functional Programming
, 1991
"... ) David Sands y Department of Computing, Imperial College 180 Queens Gate, London SW7 2BZ email: ds@uk.ac.ic.doc Abstract In this paper we address the technical foundations essential to the aim of providing a semantic basis for the formal treatment of relative efficiency in functional langu ..."
Abstract

Cited by 21 (9 self)
 Add to MetaCart
) David Sands y Department of Computing, Imperial College 180 Queens Gate, London SW7 2BZ email: ds@uk.ac.ic.doc Abstract In this paper we address the technical foundations essential to the aim of providing a semantic basis for the formal treatment of relative efficiency in functional languages. For a general class of "functional" computation systems, we define a family of improvement preorderings which express, in a variety of ways, when one expression is more efficient than another. The main results of this paper build on Howe's study of equality in lazy computation systems, and are concerned with the question of when a given improvement relation is subject to the usual forms of (in)equational reasoning (so that, for example, we can improve an expression by improving any subexpression). For a general class of computation systems we establish conditions on the operators of the language which guarantee that an improvement relation is a precongruence. In addition, for...
HigherOrder Rewriting
 12th Int. Conf. on Rewriting Techniques and Applications, LNCS 2051
, 1999
"... This paper will appear in the proceedings of the 10th international conference on rewriting techniques and applications (RTA'99). c flSpringer Verlag. ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
This paper will appear in the proceedings of the 10th international conference on rewriting techniques and applications (RTA'99). c flSpringer Verlag.
From SOS Rules to Proof Principles: An Operational Metatheory for Functional Languages
 In Proc. POPL'97, the 24 th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages
, 1997
"... Structural Operational Semantics (SOS) is a widely used formalism for specifying the computational meaning of programs, and is commonly used in specifying the semantics of functional languages. Despite this widespread use there has been relatively little work on the imetatheoryj for such semantics. ..."
Abstract

Cited by 17 (1 self)
 Add to MetaCart
Structural Operational Semantics (SOS) is a widely used formalism for specifying the computational meaning of programs, and is commonly used in specifying the semantics of functional languages. Despite this widespread use there has been relatively little work on the imetatheoryj for such semantics. As a consequence the operational approach to reasoning is considered ad hoc since the same basic proof techniques and reasoning tools are reestablished over and over, once for each operational semantics speciøcation. This paper develops some metatheory for a certain class of SOS language speciøcations for functional languages. We deøne a rule format, Globally Deterministic SOS (gdsos), and establish some proof principles for reasoning about equivalence which are sound for all languages which can be expressed in this format. More speciøcally, if the SOS rules for the operators of a language conform to the syntax of the gdsos format, then ffl a syntactic analogy of continuity holds, which rel...
Termination Proofs for Higherorder Rewrite Systems
 IN 1ST INTERNATIONAL WORKSHOP ON HIGHERORDER ALGEBRA, LOGIC AND TERM REWRITING
, 1994
"... This paper deals with termination proofs for HigherOrder Rewrite Systems (HRSs), introduced in [12]. This formalism combines the computational aspects of term rewriting and simply typed lambda calculus. The result is a proof technique for the termination of a HRS, similar to the proof technique "Te ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
This paper deals with termination proofs for HigherOrder Rewrite Systems (HRSs), introduced in [12]. This formalism combines the computational aspects of term rewriting and simply typed lambda calculus. The result is a proof technique for the termination of a HRS, similar to the proof technique "Termination by interpretation in a wellfounded monotone algebra", described in [8, 19]. The resulting technique is as follows: Choose a higherorder algebra with operations for each function symbol in the HRS, equipped with some wellfounded partial ordering. The operations must be strictly monotonic in this ordering. This choice generates a model for the HRS. If the choice can be made in such a way that for each rule the interpretation of the left hand side is greater than the interpretation of the right hand side, then the HRS is terminating. At the end of the paper some applications of this technique are given, which show that this technique is natural and can easily be applied.
Interaction Nets and Term Rewriting Systems
, 1998
"... Term rewriting systems provide a framework in which it is possible to specify and program in a traditional syntax (oriented equations). Interaction nets, on the other hand, provide a graphical syntax for the same purpose, but can be regarded as being closer to an implementation since the reductio ..."
Abstract

Cited by 13 (7 self)
 Add to MetaCart
Term rewriting systems provide a framework in which it is possible to specify and program in a traditional syntax (oriented equations). Interaction nets, on the other hand, provide a graphical syntax for the same purpose, but can be regarded as being closer to an implementation since the reduction process is local and asynchronous, and all the operations are made explicit, including discarding and copying of data. Our aim is to bridge the gap between the above formalisms by showing how to understand interaction nets in a term rewriting framework. This allows us to transfer results from one paradigm to the other, deriving syntactical properties of interaction nets from the (wellstudied) properties of term rewriting systems; in particular concerning termination and modularity. Keywords: term rewriting, interaction nets, termination, modularity. 1 Introduction Term rewriting systems provide a general framework for specifying and reasoning about computation. They can be regarde...
Confluence of Extensional and NonExtensional λcalculi with Explicit Substitutions
 Theoretical Computer Science
"... This paper studies confluence of extensional and nonextensional calculi with explicit substitutions, where extensionality is interpreted by jexpansion. For that, we propose a scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. O ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
This paper studies confluence of extensional and nonextensional calculi with explicit substitutions, where extensionality is interpreted by jexpansion. For that, we propose a scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. Our method makes it possible to treat at the same time many wellknown calculi such as oe , oe * , OE , s , AE , f , d and dn . Keywords: functional programming, calculi, explicit substitutions, confluence, extensionality. 1 Introduction The calculus is a convenient framework to study functional programming, where the evaluation process is modeled by fireduction. The main mechanism used to perform fireduction is substitution, which consists of the replacement of formal parameters by actual arguments. The correctness of substitution is guaranteed by a systematic renaming of bound variables, inconvenient which can be simply avoided in the calculus `a la de Bruijn by using natur...
Stable Results and Relative Normalization
 Journal of Logic and Computation 10(3), Special Issue: Type Theory and Term Rewriting
, 2000
"... In orthogonal expression reduction systems, a common generalization of term rewriting and #calculus, we extend the concepts of normalization and needed reduction by considering, instead of the set of normal forms, a set S of "results". When S satisfies some simple axioms, we prove the correspondin ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
In orthogonal expression reduction systems, a common generalization of term rewriting and #calculus, we extend the concepts of normalization and needed reduction by considering, instead of the set of normal forms, a set S of "results". When S satisfies some simple axioms, we prove the corresponding generalizations of some fundamental theorems: the existence of needed redexes, that needed reduction is normalizing, the existence of minimal normalizing reductions, and the optimality theorem. 1 Introduction Since a normalizable term in a rewriting system may have an infinite reduction, it is important to have a normalizing strategy which enables one to construct reductions to normal form. It is well known that the leftmostoutermost strategy is normalizing in the #calculus [10]. Normalization by Needed Reduction For Orthogonal Term Rewriting Systems (OTRSs), a general normalizing strategy, called the needed strategy, was found by Huet and Levy in [18]. The needed strategy always contr...