Results 1  10
of
11
Logical Relations for Monadic Types
, 2002
"... Logical relations and their generalizations are a fundamental tool in proving properties of lambdacalculi, e.g., yielding sound principles for observational equivalence. We propose a natural notion of logical relations able to deal with the monadic types of Moggi's computational lambdacalculus ..."
Abstract

Cited by 19 (7 self)
 Add to MetaCart
Logical relations and their generalizations are a fundamental tool in proving properties of lambdacalculi, e.g., yielding sound principles for observational equivalence. We propose a natural notion of logical relations able to deal with the monadic types of Moggi's computational lambdacalculus. The treatment is categorical, and is based on notions of subsconing and distributivity laws for monads. Our approach has a number of interesting applications, including cases for lambdacalculi with nondeterminism (where being in logical relation means being bisimilar), dynamic name creation, and probabilistic systems.
Constructive Data Refinement in Typed Lambda Calculus
, 2000
"... . A new treatment of data refinement in typed lambda calculus is proposed, based on prelogical relations [HS99] rather than logical relations as in [Ten94], and incorporating a constructive element. Constructive data refinement is shown to have desirable properties, and a substantial example of ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
. A new treatment of data refinement in typed lambda calculus is proposed, based on prelogical relations [HS99] rather than logical relations as in [Ten94], and incorporating a constructive element. Constructive data refinement is shown to have desirable properties, and a substantial example of refinement is presented. 1 Introduction Various treatments of data refinement in the context of typed lambda calculus, beginning with Tennent's in [Ten94], have used logical relations to formalize the intuitive notion of refinement. This work has its roots in [Hoa72], which proposes that the correctness of a concrete version of an abstract program be verified using an invariant on the domain of concrete values together with a function mapping concrete values (that satisfy the invariant) to abstract values. In algebraic terms, what is required is a homomorphism from a subalgebra of the concrete algebra to the abstract algebra. A strictly more general method is to take a homomorphic relatio...
Logical Relations and Data Abstraction
 Proc. Computer Science Logic, CSL 2000, Fischbachau. Springer LNCS 1862
, 1996
"... We prove, in the context of simple type theory, that logical relations are sound and complete for data abstraction as given by equational specifications. Specifically, we show that two implementations of an equationally specified abstract type are equivalent if and only if they are linked by a suita ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We prove, in the context of simple type theory, that logical relations are sound and complete for data abstraction as given by equational specifications. Specifically, we show that two implementations of an equationally specified abstract type are equivalent if and only if they are linked by a suitable logical relation. This allows us to introduce new types and operations of any order on those types, and to impose equations between terms of any order. Implementations are required to respect these equations up to a general form of contextual equivalence, and two implementations are equivalent if they produce the same contextual equivalence on terms of the enlarged language. Logical relations are introduced abstractly, soundness is almost automatic, but completeness is more difficult, achieved using a variant of Jung and Tiuryn's logical relations of varying arity. The results are expressed and proved categorically.
βηcomplete models for System F
, 2000
"... We show that Friedman's proof of the existence of nontrivial βηcomplete models of λ→ can be extended to system F. We isolate a set of conditions which are sufficient to ensure βηcompleteness for a model of F (and αcompleteness at the level of types), and we discuss which class ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
We show that Friedman's proof of the existence of nontrivial βηcomplete models of λ→ can be extended to system F. We isolate a set of conditions which are sufficient to ensure βηcompleteness for a model of F (and αcompleteness at the level of types), and we discuss which class of models we get. In particular, the model introduced in [5], having as polymorphic maps exactly all possible Scott continuous maps, is βηcomplete and is hence the first known complete nonsyntactic model of F. In order to have a suitable framework where to express the conditions and develop the proof, we also introduce the very natural notion of "polymax models" of System F.
Complete Lax Logical Relations for Cryptographic LambdaCalculi
 In Proceedings of CSL’2004, volume 3210 of LNCS
, 2004
"... Security properties are profitably expressed using notions of contextual equivalence, and logical relations are a powerful proof technique to establish contextual equivalence in typed lambda calculi, see e.g. Sumii and Pierce's logical relation for a cryptographic lambdacalculus. We clarify Sumii a ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Security properties are profitably expressed using notions of contextual equivalence, and logical relations are a powerful proof technique to establish contextual equivalence in typed lambda calculi, see e.g. Sumii and Pierce's logical relation for a cryptographic lambdacalculus. We clarify Sumii and Pierce's approach, showing that the right tool is prelogical relations, or lax logical relations in general: relations should be lax at encryption types, notably. To explore the difficult aspect of fresh name creation, we use Moggi's monadic lambdacalculus with constants for cryptographic primitives, and Stark's name creation monad. We define logical relations which are lax at encryption and function types but strict (nonlax) at various other types, and show that they are sound and complete for contextual equivalence at all types.
Axiomatics for Data Refinement in Call By Value Programming Languages
"... We give a systematic category theoretic axiomatics for modelling data refinement in call by value programming languages. Our leading examples of call by value languages are extensions of the computational calculus, such as FPC and languages for modelling nondeterminism, and extensions of the first ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We give a systematic category theoretic axiomatics for modelling data refinement in call by value programming languages. Our leading examples of call by value languages are extensions of the computational calculus, such as FPC and languages for modelling nondeterminism, and extensions of the first order fragment of the computational calculus, such as a CPS language. We give a category theoretic account of the basic setting, then show how to model contexts, then arbitrary type and term constructors, then signatures, and finally data refinement. This extends and clarifies Kinoshita and Power's work on lax logical relations for call by value languages.
A Generalisation of Prelogical Predicates to Simply Typed Formal Systems
 In ICALP
, 2004
"... We generalise the notion of prelogical predicates [HS02] to arbitrary simply typed formal systems and their categorical models. We establish the basic lemma of prelogical predicates and composability of binary prelogical relations in this generalised setting. This generalisation takes place in ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We generalise the notion of prelogical predicates [HS02] to arbitrary simply typed formal systems and their categorical models. We establish the basic lemma of prelogical predicates and composability of binary prelogical relations in this generalised setting. This generalisation takes place in a categorical framework for typed higherorder abstract syntax and semantics [Fio02,MS03].
Specification Refinement with System F, The HigherOrder Case
, 2000
"... . A typetheoretic counterpart to the notion of algebraic specification refinement is discussed for abstract data types with higherorder signatures. The typetheoretic setting consists of System F and the logic for parametric polymorphism of Plotkin and Abadi. For firstorder signatures, this setti ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. A typetheoretic counterpart to the notion of algebraic specification refinement is discussed for abstract data types with higherorder signatures. The typetheoretic setting consists of System F and the logic for parametric polymorphism of Plotkin and Abadi. For firstorder signatures, this setting immediately gives a natural notion of specification refinement up to observational equivalence via the notion of simulation relation. Moreover, a proof strategy for proving observational refinements formalised by Bidoit, Hennicker and Wirsing can be soundly imported into the type theory. In lifting these results to the higherorder case, we find it necessary firstly to develop an alternative simulation relation and secondly to extend the parametric PERmodel interpretation, both in such a way as to observe data type abstraction barriers more closely. 1 Introduction One framework in algebraic specification that has particular appeal and applicability is that of stepwise specification refi...
Patterns and Lax Lambda Laws for Relational and Imperative Programming

"... Pointfree relation calculi have been fruitful in functional programming, but in specific applications pointwise expressions can be more convenient and comprehensible than pointfree ones. To integrate pointwise with pointfree, de Moor and Gibbons [AMAST 2000] give a relational semantics for lamb ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Pointfree relation calculi have been fruitful in functional programming, but in specific applications pointwise expressions can be more convenient and comprehensible than pointfree ones. To integrate pointwise with pointfree, de Moor and Gibbons [AMAST 2000] give a relational semantics for lambda terms with noninjective pattern matching. Alternative semantics has
βηcomplete models for System F
, 2000
"... We show that Friedman's proof of the existence of nontrivial βηcomplete models of λ→ can be extended to system F. We isolate a set of conditions which are sufficient to ensure βηcompleteness for a model of F (and αcompleteness at the level of types), and we di ..."
Abstract
 Add to MetaCart
We show that Friedman's proof of the existence of nontrivial βηcomplete models of λ→ can be extended to system F. We isolate a set of conditions which are sufficient to ensure βηcompleteness for a model of F (and αcompleteness at the level of types), and we discuss which class of models we get. In particular, the model introduced in [5], having as polymorphic maps exactly all possible Scott continuous maps, is βηcomplete and is hence the first known complete nonsyntactic model of F. In order to have a suitable framework where to express the conditions and develop the proof, we also introduce the very natural notion of "polymax models" of System F. 1