Proc. of the European symposium on programming on ESOP 86
The data refinement calculator for Z specifications
Information Processing Letters
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
The Z notation: a reference manual
The Z notation: a reference manual
Interfaces and specifications for the Smalltalk-80 collection classes
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Structure Preserving Encoding of Z in Isabelle/HOL
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
A Theory of Structured Model-Based Specifications in Isabelle/HOL
TPHOLs '97 Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics
Isomorphisms - A Link Between the Shallow and the Deep
TPHOLs '99 Proceedings of the 12th International Conference on Theorem Proving in Higher Order Logics
On the Semantic Relation of Z and HOL
ZUM '98 Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
Designing an Object-Oriented Programming Language with Behavioural Subtyping
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
Hi-index | 0.00 |
We report on an analysis of the inheritance relationships in the Eiffel Base Libraries, a library of container data structures. If inheritance is behaviorally conforming, then polymorphism can be used safely, and the inheritance hierarchy can be considered part of the interface of the library to its clients. We describe a theory of object-oriented specification in higher-order logic that we used to specify part of the Eiffel Base Libraries. With the theorem prover Isabelle/HOL, we mechanically prove conformance relationships between those specifications. This work allows us to draw conclusions about the design of the Eiffel Base Libraries, and about the feasibility of using an interactive theorem prover to apply a strictly formal theory to the specification of a commercial product.