Results 1 - 10
of
18
Logical Relations for Monadic Types
, 2002
"... Logical relations and their generalizations are a fundamental tool in proving properties of lambda-calculi, 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 lambda-calculus ..."
Abstract
-
Cited by 17 (7 self)
- Add to MetaCart
Logical relations and their generalizations are a fundamental tool in proving properties of lambda-calculi, 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 lambda-calculus. 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 lambda-calculi with non-determinism (where being in logical relation means being bisimilar), dynamic name creation, and probabilistic systems.
Lax Logical Relations
- In 27th Intl. Colloq. on Automata, Languages and Programming, volume 1853 of LNCS
, 2000
"... Lax logical relations are a categorical generalisation of logical relations; though they preserve product types, they need not preserve exponential types. But, like logical relations, they are preserved by the meanings of all lambda-calculus terms. We show that lax logical relations coincide with th ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
Lax logical relations are a categorical generalisation of logical relations; though they preserve product types, they need not preserve exponential types. But, like logical relations, they are preserved by the meanings of all lambda-calculus terms. We show that lax logical relations coincide with the correspondences of Schoett, the algebraic relations of Mitchell and the pre-logical relations of Honsell and Sannella on Henkin models, but also generalise naturally to models in cartesian closed categories and to richer languages.
Constructive Data Refinement in Typed Lambda Calculus
, 2000
"... . A new treatment of data refinement in typed lambda calculus is proposed, based on pre-logical 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 pre-logical 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...
Specification Refinement with System F
- In Proc. CSL'99, volume 1683 of LNCS
, 1999
"... . Essential concepts of algebraic specification refinement are translated into a type-theoretic setting involving System F and Reynolds' relational parametricity assertion as expressed in Plotkin and Abadi's logic for parametric polymorphism. At first order, the type-theoretic setting provides a ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
. Essential concepts of algebraic specification refinement are translated into a type-theoretic setting involving System F and Reynolds' relational parametricity assertion as expressed in Plotkin and Abadi's logic for parametric polymorphism. At first order, the type-theoretic setting provides a canonical picture of algebraic specification refinement. At higher order, the type-theoretic setting allows future generalisation of the principles of algebraic specification refinement to higher order and polymorphism. We show the equivalence of the acquired type-theoretic notion of specification refinement with that from algebraic specification. To do this, a generic algebraic-specification strategy for behavioural refinement proofs is mirrored in the type-theoretic setting. 1 Introduction This paper aims to express in type theory certain essential concepts of algebraic specification refinement. The benefit to algebraic specification is that inherently first-order concepts are tra...
Algebraic specification and program development by stepwise refinement (Extended Abstract)
- 9th international workshop, LOPSTR ’99
, 1999
"... . Various formalizations of the concept of "refinement step" as used in the formal development of programs from algebraic specifications are presented and compared. 1 Introduction Algebraic specification aims to provide a formal basis to support the systematic development of correct programs fro ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
. Various formalizations of the concept of "refinement step" as used in the formal development of programs from algebraic specifications are presented and compared. 1 Introduction Algebraic specification aims to provide a formal basis to support the systematic development of correct programs from specifications by means of verified refinement steps. Obviously, a central piece of the puzzle is how best to formalize concepts like "specification", "program" and "refinement step". Answers are required that are simple, elegant and general and which enjoy useful properties, while at the same time taking proper account of the needs of practice. Here I will concentrate on the last of these concepts, but first I need to deal with the other two. For "program", I take the usual approach of algebraic specification whereby programs are modelled as many-sorted algebras consisting of a collection of sets of data values together with functions over those sets. This level of abstraction is commens...
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.
On the ubiquity of certain total type structures
- UNDER CONSIDERATION FOR PUBLICATION IN MATH. STRUCT. IN COMP. SCIENCE
, 2007
"... It is a fact of experience from the study of higher type computability that a wide range of approaches to defining a class of (hereditarily) total functionals over N leads in practice to a relatively small handful of distinct type structures. Among these are the type structure C of Kleene-Kreisel co ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
It is a fact of experience from the study of higher type computability that a wide range of approaches to defining a class of (hereditarily) total functionals over N leads in practice to a relatively small handful of distinct type structures. Among these are the type structure C of Kleene-Kreisel continuous functionals, its effective substructure C eff, and the type structure HEO of the hereditarily effective operations. However, the proofs of the relevant equivalences are often non-trivial, and it is not immediately clear why these particular type structures should arise so ubiquitously. In this paper we present some new results which go some way towards explaining this phenomenon. Our results show that a large class of extensional collapse constructions always give rise to C, C eff or HEO (as appropriate). We obtain versions of our results for both the “standard” and “modified” extensional collapse constructions. The proofs make essential use of a technique due to Normann. Many new results, as well as some previously known ones, can be obtained as instances of our theorems, but more importantly, the proofs apply uniformly to a whole family of constructions, and provide strong evidence that the above three type structures are highly canonical mathematical objects.
Complete Lax Logical Relations for Cryptographic Lambda-Calculi
- 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 lambda-calculus. 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 lambda-calculus. 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 (non-lax) at various other types, and show that they are sound and complete for contextual equivalence at all types.
A higher-order simulation relation for System F
- Proc. 3rd Intl. Conf. on Foundations of Software Science and Computation Structures. ETAPS 2000
, 2000
"... The notion of data type specification refinement is discussed in a setting of System F and the logic for parametric polymorphism of Plotkin and Abadi. At first order, one gets a notion of specification refinement up to observational equivalence in the logic simply by using Luo's formalism. This pap ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
The notion of data type specification refinement is discussed in a setting of System F and the logic for parametric polymorphism of Plotkin and Abadi. At first order, one gets a notion of specification refinement up to observational equivalence in the logic simply by using Luo's formalism. This paper generalises this notion to abstract data types whose signatures contain higher-order and polymorphic functions. At higher order, the tight connection in the logic between the existence of a simulation relation and observational equivalence ostensibly breaks down. We show that an alternative notion of simulation relation is suitable. This also gives a simulation relation in the logic that composes at higher order, thus giving a syntactic logical counterpart to recent advances on the semantic level.

