Results 21  30
of
38
A First Order Logic of Effects
 Theoretical Computer Science
, 1996
"... In this paper we describe some of our progress towards an operational implementation of a modern programming logic. The logic is inspired by the variable type systems of Feferman, and is designed for reasoning about imperative functional programs. The logic goes well beyond traditional programming l ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
In this paper we describe some of our progress towards an operational implementation of a modern programming logic. The logic is inspired by the variable type systems of Feferman, and is designed for reasoning about imperative functional programs. The logic goes well beyond traditional programming logics, such as Hoare's logic and Dynamic logic in its expressibility, yet is less problematic to encode into higher order logics. The main focus of the paper is too present an axiomatization of the base first order theory. 1 Introduction VTLoE [34, 23, 35, 37, 24] is a logic for reasoning about imperative functional programs, inspired by the variable type systems of Feferman. These systems are two sorted theories of operations and classes initially developed for the formalization of constructive mathematics [12, 13] and later applied to the study of purely functional languages [14, 15]. VTLoE builds upon recent advances in the semantics of languages with effects [16, 19, 28, 32, 33] and go...
Lazy Lambda Calculus: Theories, Models and Local Structure Characterisation
 AUTOMATA, LANGUAGES AND PROGRAMMING, LNCS 623
, 1994
"... Lambda Calculus is commonly thought to be the basis for functional programming. However, there is a fundamental mismatch between the "standard" theory of sensible Lambda Calculus (as in e.g. [Bar84]) and the practice of lazy evaluation which is a distinctive feature of functional programming. This ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Lambda Calculus is commonly thought to be the basis for functional programming. However, there is a fundamental mismatch between the "standard" theory of sensible Lambda Calculus (as in e.g. [Bar84]) and the practice of lazy evaluation which is a distinctive feature of functional programming. This paper proposes modification of a number of key notions in the sensible theory along the lines of laziness. Starting from the strongly unsolvables as the meaningless terms, we define and investigate properties of lazy (or weakly sensible) λtheories, lazy λmodels and a number of lazy behavioural preorders on λterms. In the second part, we show that all these notions have a natural place in a class of lazy psemodels. A major result of this paper is a new local structure theorem for lazy psemodels. This characterizes the ordering between denotations of λterms in the model by a new lazy behavioural preorder.
LCF Should Be Lifted
, 1988
"... : When observing termination of closed terms at all types in Plotkin's interpreter for PCF [11], the standard cpo model A V is not adequate. We define a new model, A Y , with lifted functional types and prove its adequacy for this notion of observation. We prove that with the addition of a parallel ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
: When observing termination of closed terms at all types in Plotkin's interpreter for PCF [11], the standard cpo model A V is not adequate. We define a new model, A Y , with lifted functional types and prove its adequacy for this notion of observation. We prove that with the addition of a parallel conditional and a convergence testing operator to the language, the model becomes fully abstract; with the addition of an existentiallike operator, the language becomes universal. Using the model as a guide, we develop a sound logic for the language. 1 Introduction The denotational semantics most appropriate for a programming language depends crucially upon the observations one makes about computations. In general, an observation is some important behavior of the interpreter [8]. For example, in the arithmetic, higherorder programming language PCF [11, 13], one usually chooses to observe the results of arithmetic expressionsthat a term of integer type reduces to a numeral. One may also...
Natural Semantics for NonDeterminism
, 1993
"... We present a natural semantics for the untyped lazy calculus plus McCarthy's amb, a nondeterministic choice operator. The natural semantics includes rules for both convergent behaviour (dened inductively) and divergent behaviour (dened coinductively). This semantics is equivalent to a small ste ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We present a natural semantics for the untyped lazy calculus plus McCarthy's amb, a nondeterministic choice operator. The natural semantics includes rules for both convergent behaviour (dened inductively) and divergent behaviour (dened coinductively). This semantics is equivalent to a small step reduction semantics that corresponds closely to our operational intuitions about McCarthy's amb. We present equivalences for convergent and divergent behaviour based on the natural semantics and prove a Context Lemma for the convergence equivalence. We then give a theory l 8 , based on the equivalences for convergent and divergent behaviour. Since it is able to distinguish between programs that dier only in their divergent behaviour, the theory is more discriminating than equational theories based on current domaintheoretic models. It is therefore more suitable for reasoning about functional programs containing McCarthy's amb. Contents 1 Introduction 2 2 Related Work 3 3 ...
The Discriminating Power of Multiplicities in the λCalculus
, 1996
"... The λcalculus with multiplicities is a refinement of the lazy λcalculus where the argument in an application comes with a multiplicity, which is an upper bound to the number of its uses. This introduces potential deadlocks in the evaluation. We study the discriminating power of this calculus over ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
The λcalculus with multiplicities is a refinement of the lazy λcalculus where the argument in an application comes with a multiplicity, which is an upper bound to the number of its uses. This introduces potential deadlocks in the evaluation. We study the discriminating power of this calculus over the usual λterms. We prove in particular that the observational equivalence induced by contexts with multiplicities coincides with the equality of LévyLongo trees associated with λterms. This is a consequence of the characterization we give of the corresponding observational precongruence, as an intensional preorder involving etaexpansion, namely Ong's lazy PlotkinScottEngeler preorder.
Final Semantics for untyped λcalculus
 IN LNCS, VOLUME 902
, 1995
"... Proof principles for reasoning about various semantics of untyped λcalculus are discussed. The semantics are determined operationally by fixing a particular reduction strategy on terms and a suitable set of values, and by taking the corresponding observational equivalence on terms. These principl ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Proof principles for reasoning about various semantics of untyped λcalculus are discussed. The semantics are determined operationally by fixing a particular reduction strategy on terms and a suitable set of values, and by taking the corresponding observational equivalence on terms. These principles arise naturally as coinduction principles, when the observational equivalences are shown to be induced by the unique mapping into a final Fcoalgebra, for a suitable functor F . This is achieved either by induction on computation steps or exploiting the properties of some, computationally adequate, inverse limit denotational model. The final F coalgebras cannot be given, in general, the structure of a "denotational" λmodel. Nevertheless the "final semantics" can count as compositional in that it induces a congruence. We utilize the intuitive categorical setting of hypersets and functions. The importance of the principles introduced in this paper lies in the fact that they often allow...
The Discriminating Power of Multiplicities in the LambdaCalculus
, 1996
"... The calculus with multiplicities is a refinement of the lazy calculus where the argument in an application comes with a multiplicity, which is an upper bound to the number of its uses. This introduces potential deadlocks in the evaluation. We study the discriminating power of this calculus over th ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The calculus with multiplicities is a refinement of the lazy calculus where the argument in an application comes with a multiplicity, which is an upper bound to the number of its uses. This introduces potential deadlocks in the evaluation. We study the discriminating power of this calculus over the usual terms. We prove in particular that the observational equivalence induced by contexts with multiplicities coincides with the equality of L'evyLongo trees associated with terms. This is a consequence of the characterization we give of the corresponding observational precongruence, as an intensional preorder involving jexpansion, namely Ong's lazy PlotkinScottEngeler preorder. 1 Introduction The calculus with multiplicities was introduced in [5] for the purpose of studying the relationship between the calculus and Milner's ßcalculus [13]. It is a "resource conscious" refinement of the calculus, based on the following observation: in an application MN the argument N is infini...
Algebraic Reasoning and Completeness in Typed Languages
 In Proc. 20th ACM Symposium on Principles of Programming Languages
, 1992
"... : We consider the following problem in proving observational congruences in functional languages: given a callbyname language based on the simplytyped calculus with algebraic operations axiomatized by algebraic equations E, is the set of observational congruences between terms exactly those prov ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
: We consider the following problem in proving observational congruences in functional languages: given a callbyname language based on the simplytyped calculus with algebraic operations axiomatized by algebraic equations E, is the set of observational congruences between terms exactly those provable from (fi), (j), and E? We find conditions for determining whether fijEequational reasoning is complete for proving the observational congruences between such terms. We demonstrate the power and generality of the theorems by presenting a number of easy corollaries for particular algebras. 1 Introduction The (fi) and (j) axioms form the basis for proving equations in callbyname functional languages. In these languages, (fi) and (j) yield sound program optimizations. For example, consider a version of the callbyname language PCF [11, 15] which is described in Appendix A. Our version of PCF includes simplytyped calculus, numerals 0; 1; 2; : : :, successor and predecessor, addition, ...
Meaningless Terms in Rewriting
, 1999
"... We present an axiomatic approach to the concept of meaninglessness in finite and transfinite term rewriting and lambda calculus. We justify our axioms in several ways. They can be intuitively justified from the viewpoint of rewriting as computation. They are shown to imply important properties of me ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We present an axiomatic approach to the concept of meaninglessness in finite and transfinite term rewriting and lambda calculus. We justify our axioms in several ways. They can be intuitively justified from the viewpoint of rewriting as computation. They are shown to imply important properties of meaninglessness: genericity of the class of meaningless terms, confluence modulo equality of meaningless terms, the consistency of equating all meaningless terms, and the construction of Bohm trees and models of rewrite systems. Finally, we show that they can be easily verified for many existing notions of meaninglessness and easily refuted for some notions that are known not to be good characterizations of meaninglessness. 1 Introduction The concept of a meaningless term in a rewrite system originates with the lambda calculus [Bar84, Bar92]. There exist terms in the lambda calculus that, in certain precisely definable senses, cannot be distinguished from each other and cannot contribute info...
Interpreting functions as πcalculus processes: a tutorial
, 1999
"... This paper is concerned with the relationship betweencalculus and ��calculus. Thecalculus talks about functions and their applicative behaviour. This contrasts with the ��calculus, that talks about processes and their interactive behaviour. Application is a special form of interaction, and there ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper is concerned with the relationship betweencalculus and ��calculus. Thecalculus talks about functions and their applicative behaviour. This contrasts with the ��calculus, that talks about processes and their interactive behaviour. Application is a special form of interaction, and therefore functions can be seen as a special form of processes. We study how the functions of thecalculus (the computable functions) can be represented as ��calculus processes. The ��calculus semantics of a language induces a notion of equality on the terms of that language. We therefore also analyse the equality among functions that is induced by their representation as ��calculus processes. This paper is intended as a tutorial. It however contains some original contributions. The main ones are: the use of wellknown Continuation Passing Style transforms to derive the encodings into ��calculus and prove their correctness; the encoding of typedcalculi.