Typed homomorphic relations extended with subtypes

  • Gary T. Leavens
  • Don Pigozzi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 598)

Abstract

Typed homomorphic relations on heterogeneous algebras are generalized to allow relationships between elements in the carrier sets of different types. Such relations are needed for the model theory of incomplete, hierarchical specifications with subtypes. Typed logical relations are generalized similarly. These tools help give a simple model-theoretic account of subtyping among abstract data types as observed by terms of a simply-typed lambda-calculus with subtypes.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Ame87]
    Pierre America. Inheritance and Subtyping in a Parallel Object-Oriented Language. In Jean Bezivin et al., editors, ECOOP '87, European Conference on Object-Oriented Programming, Paris, France, pages 234–242, New York, N.Y., June 1987. Springer-Verlag. Lecture Notes in Computer Science, Volume 276.Google Scholar
  2. [Ame89]
    Pierre America. A Behavioural Approach to Subtyping in Object-Oriented Programming Languages. Technical Report 443, Philips Research Laboratories, Nederlandse Philips Bedrijven B. V., April 1989. Revised from the January 1989 version.Google Scholar
  3. [BTCGS89]
    V. Breazu-Tannen, T. Coquand, C. A. Gunter, and A. Scedrov. Inheritance and Explicit Coercion (Preliminary Report). In Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California, pages 112–129. IEEE, June 1989. Revised version to appear in Information and Computation. Also appears as University of Pennsylvania, Department of Computer and Information Science, Logic and Computation 1, MS-CIS-89-01.Google Scholar
  4. [BW90]
    Kim B. Bruce and Peter Wegner. An Algebraic Model of Subtype and Inheritance. In Francois BanÇilhon and Peter Buneman, editors, Advances in Database Programming Languages, pages 75–96. Addison-Wesley, Reading, Mass., 1990.Google Scholar
  5. [Car84]
    Luca Cardelli. A Semantics of Multiple Inheritance. In D. B. MacQueen G. Kahn and G. Plotkin, editors, Semantics of Data Types: International Symposium, Sophia-Antipolis, France, volume 173 of Lecture Notes in Computer Science, pages 51–66. Springer-Verlag, New York, N.Y., June 1984. A revised version of this paper appears in Information and Computation, volume 76, numbers 2/3, pages 138–164, February/March 1988.Google Scholar
  6. [Fri75]
    H. Friedman. Equality between Functional. In R. Parikh, editor, Logic Colloquium, Symposium on Logic Held at Boston, 1972–73, volume 453 of Lecture Notes in Mathematics, pages 22–37. Springer-Verlag, New York, N.Y., 1975.Google Scholar
  7. [GM87]
    Joseph A. Goguen and Jose Meseguer. Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation and Coercion Problems. Technical Report CSLI-87-92, Center for the Study of Language and Information, March 1987. Appears in Second Annual Symposium on Logic in Computer Science, Ithaca, NY, June, 1987, pages 18–29.Google Scholar
  8. [Gun90]
    Carl A. Gunter. Structures and Techniques for the Semantics of Programming Languages. Technical report, Department of Computer and Information Science, University of Pennsylvania, September 1990.Google Scholar
  9. [Hes88]
    Wim H. Heselink. A Mathematical Approach to Nondeterminism in Data Types. TOPLAS, 10(1):87–117, January 1988.Google Scholar
  10. [Lea90]
    Gary T. Leavens. Modular Verification of Object-Oriented Programs with Subtypes. Technical Report 90-09, Department of Computer Science, Iowa State University, Ames, Iowa, 50011, July 1990.Google Scholar
  11. [Lea91]
    Gary T. Leavens. Modular Specification and Verification of Object-Oriented Programs. IEEE Software, 8(4):72–80, July 1991.Google Scholar
  12. [LW90]
    Gary T. Leavens and William E. Weihl. Reasoning about Object-oriented Programs that use Subtypes (extended abstract). ACM SIGPLAN Notices, 25(10):212–223, October 1990. OOPSLA ECOOP '90 Proceedings, N. Meyrowitz (editor).Google Scholar
  13. [Mey88]
    Bertrand Meyer. Object-oriented Software Construction. Prentice Hall, New York, N.Y., 1988.Google Scholar
  14. [Nip86]
    Tobias Nipkow. Non-deterministic Data Types: Models and Implementations. Acta Informatica, 22(16):629–661, March 1986.CrossRefGoogle Scholar
  15. [Rey80]
    John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, volume 94 of Lecture Notes in Computer Science, pages 211–258. Springer-Verlag, January 1980.Google Scholar
  16. [Sta85]
    R. Statman. Logical Relations and the Typed λ-Calculus. Information and Control, 65(2/3):85–97, May/June 1985.Google Scholar
  17. [WPP+83]
    Martin Wirsing, Peter Pepper, Helmut Partsch, Walter Dosch, and Manfred Broy. On Hierarchies of Abstract Data Types. Acta Informatica, 20(1):1–33, October 1983.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 1992

Authors and Affiliations

  • Gary T. Leavens
    • 1
  • Don Pigozzi
    • 2
  1. 1.Department of Computer ScienceIowa State UniversityAmesUSA
  2. 2.Department of MathematicsIowa State UniversityAmesUSA

Personalised recommendations