Countable nondeterminism and random assignment
Journal of the ACM (JACM)
Proc. of the European symposium on programming on ESOP 86
The programming language Oberon
Software—Practice & Experience
Towards fully abstract semantics for local variables
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Data refinement by calculation
Acta Informatica
Type systems for programming languages
Handbook of theoretical computer science (vol. B)
Data refinement of predicate transformers
Theoretical Computer Science
Two-categories and program structure: data types, refinement calculi, and predicate transformers
Two-categories and program structure: data types, refinement calculi, and predicate transformers
Handbook of logic in computer science (vol. 1)
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
An algebraic construction of predicate transformers
Science of Computer Programming - Special issue on mathematics of program construction
Correctness of data representations in Algol-like languages
A classical mind
Parametricity and local variables
Journal of the ACM (JACM)
Predicate transformers and higher-order programs
Theoretical Computer Science
Predicate transformer semantics of a higher-order imperative language with record subtyping
Science of Computer Programming
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Towards squiggly refinement algebra
PROCOMET '98 Proceedings of the IFIP TC2/WG2.2,2.3 International Conference on Programming Concepts and Methods
Dijkstras Predicate Transformers & Smyth's Power Domaine
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
Towards a Calculus of Data Refinement
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
Beyond Fun: Order and Membership in Polytypic Imperative Programming
MPC '98 Proceedings of the Mathematics of Program Construction
Reasoning about local variables with operationally-based logical relations
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
A categorical model for higher order imperative programming
Mathematical Structures in Computer Science
Representation independence, confinement and access control [extended abstract]
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Weakest Precondition Semantics for Refinement of Object-Oriented Programs
IEEE Transactions on Software Engineering
Forward Simulation for Data Refinement of Classes
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
On the secure implementation of security protocols
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
Ownership confinement ensures representation independence for object-oriented programs
Journal of the ACM (JACM)
Towards imperative modules: reasoning about invariants and sharing of mutable state
Theoretical Computer Science - Components and objects
Category Theoretic Models of Data Refinement
Electronic Notes in Theoretical Computer Science (ENTCS)
UTP'08 Proceedings of the 2nd international conference on Unifying theories of programming
Assertion-based encapsulation, object invariants and simulations
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
An observationally complete program logic for imperative higher-order functions
Theoretical Computer Science
Hi-index | 5.23 |
Using a set-theoretic model of predicate transformers and ordered data types, we give a semantics for an Oberon-like higher-order imperative language with record subtyping and procedure-type variables and parameters. Data refinement is shown to be sound for this language: It implies algorithmic refinement when suitably localized. All constructs are shown to preserve simulation, so data refinement can be carried out piecewise.