On observational equivalence and algebraic specification
Journal of Computer and System Sciences
Type systems for programming languages
Handbook of theoretical computer science (vol. B)
On the equivalence of data representations
Artificial intelligence and mathematical theory of computation
Categorical combinators, sequential algorithms, and functional programming (2nd ed.)
Categorical combinators, sequential algorithms, and functional programming (2nd ed.)
Correctness of data representations in Algol-like languages
A classical mind
Kripke logical relations and PCF
Information and Computation
A characterization of lambda definability in categorical models of implicit polymorphism
Theoretical Computer Science
Foundations of programming languages
Foundations of programming languages
Logical relations, data abstraction, and structured fibrations
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Types, Abstractions, and Parametric Polymorphism, Part 2
Proceedings of the 7th International Conference on Mathematical Foundations of Programming Semantics
An Axiomatic Approach to Binary Logical Relations with Applications to Data Refinement
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
A New Characterization of Lambda Definability
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
An Abstract Notion of Application
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Logical Relations and Inductive/Coinductive Types
Proceedings of the 12th International Workshop on Computer Science Logic
Second-Order Logical Relations (Extended Abstract)
Proceedings of the Conference on Logic of Programs
A Relational Account of Call-by-Value Sequentially
LICS '97 Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science
Full Abstraction and Universality via Realisability
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Logical relations for monadic types†
Mathematical Structures in Computer Science
Axiomatic criteria for quotients and subobjects for higher-order data types
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Abstraction barrier-observing relational parametricity
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
Hi-index | 0.00 |
We study a weakening of the notion of logical relations, called prelogical relations, that has many of the features that make logical relations so useful as well as further algebraic properties including composability. The basic idea is simply to require the reverse implication in the definition of logical relations to hold only for pairs of functions that are expressible by the same lambda term. Prelogical relations are the minimal weakening of logical relations that gives composability for extensional structures and simultaneously the most liberal definition that gives the Basic Lemma. Prelogical predicates (i.e., unary prelogical relations) coincide with sets that are invariant under Kripke logical relations with varying arity as introduced by Jung and Tiuryn, and prelogical relations are the closure under projection and intersection of logical relations. These conceptually independent characterizations of prelogical relations suggest that the concept is rather intrinsic and robust. The use of prelogical relations gives an improved version of Mitchell's representation independence theorem which characterizes observational equivalence for all signatures rather than just for first-order signatures. Prelogical relations can be used in place of logical relations to give an account of data refinement where the fact that prelogical relations compose explains why stepwise refinement is sound.