Results

**11 - 15**of**15**### Under consideration for publication in Math. Struct. in Comp. Science Logical Relations for Monadic Types †

, 2005

"... 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. Th ..."

Abstract
- 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, mono factorization systems, and monad morphisms. 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

### Logical Relations, Data Abstraction, and Structured Fibrations

"... We develop a notion of equivalence between interpretations of the simply typed -calculus together with an equationally dened abstract data-type, and we show that two interpretations are equivalent if and only if they are linked by a logical relation. We show that our construction generalises from th ..."

Abstract
- Add to MetaCart

We develop a notion of equivalence between interpretations of the simply typed -calculus together with an equationally dened abstract data-type, and we show that two interpretations are equivalent if and only if they are linked by a logical relation. We show that our construction generalises from the simply typed -calculus to include the linear -calculus and calculi with additional type and term constructors, such as those given by sum types or by a strong monad for modelling phenomena such as partiality or nondeterminism. This is all done in terms of category theoretic structure, using - brations to model logical relations following Hermida, and adapting Jung and Tiuryn's logical relations of varying arity to provide the completeness results, which form the heart of the work.

### Semantic and Syntactic Approaches to Simulation Relations

, 2003

"... Simulation relations are tools for establishing the correctness of data refinement steps. In the simply-typed lambda calculus, logical relations are the standard choice for simulation relations, but they su#er from certain shortcomings; these are resolved by use of the weaker notion of pre-logic ..."

Abstract
- Add to MetaCart

Simulation relations are tools for establishing the correctness of data refinement steps. In the simply-typed lambda calculus, logical relations are the standard choice for simulation relations, but they su#er from certain shortcomings; these are resolved by use of the weaker notion of pre-logical relations instead. Developed from a syntactic setting, abstraction barrier-observing simulation relations serve the same purpose, and also handle polymorphic operations. Meanwhile, second-order prelogical relations directly generalise pre-logical relations to polymorphic lambda calculus (System F). We compile the main refinement-pertinent results of these various notions of simulation relation, and try to raise some issues for aiding their comparison and reconciliation.

### An Ideal Model for Pointwise Relational Programming

, 2000

"... 1 Introduction Point-free relation calculus and its categorical generalizations have been fruitful in development of calculi of functional programming, especially for formulation and proof of general principles such as theories of optimization problems and polytypic patterns of recursion on inductiv ..."

Abstract
- Add to MetaCart

1 Introduction Point-free relation calculus and its categorical generalizations have been fruitful in development of calculi of functional programming, especially for formulation and proof of general principles such as theories of optimization problems and polytypic patterns of recursion on inductive data types (e.g., see [2-5] and many citations therein). In such a programming calculus, the idea is to start with a relation R: B \Gamma! C that serves as a specification, and to construct a chain R ' R0 ' : : : ' f (1) of inclusions, leading to a function f expressed in the target programming language. A rich calculus can be based on inclusion of category Fun of total functions in the category Rel of binary relations, and these categories can be seen as a standard model for a practical axiomatics--laws useful for program transformation--that is largely applicable to more refined models such as CPOs [15].