Skip to main content

Manifest Fields and Module Mechanisms in Intensional Type Theory

  • Conference paper
Types for Proofs and Programs (TYPES 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5497))

Included in the following conference series:

Abstract

Manifest fields in a type of modules are shown to be expressible in intensional type theory without strong extensional equality rules. These intensional manifest fields are made available with the help of coercive subtyping. It is shown that, for both Σ-types and dependent record types, the with-clause for expressing manifest fields can be introduced by means of the intensional manifest fields. This provides not only a higher-order module mechanism with ML-style sharing, but a powerful modelling mechanism in formalisation and verification of OO-style program modules.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)

    Book  MATH  Google Scholar 

  2. Aczel, P.: Simple overloading for type theories (manuscript, 1994)

    Google Scholar 

  3. The Agda proof assistant (version 2) (2008), http://appserv.cs.chalmers.se/users/ulfn/wiki/agda.php

  4. Allen, S., et al.: Innovations in computational type theory using Nuprl. Journal of Applied Logic 4(4) (2006)

    Google Scholar 

  5. Aspinall, D.: Subtyping with singleton types. In: Pacholski, L., Tiuryn, J. (eds.) CSL 1994. LNCS, vol. 933. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  6. Bailey, A.: The Machine-checked Literate Formalisation of Algebra in Type Theory. PhD thesis, University of Manchester (1999)

    Google Scholar 

  7. Betarte, G., Tasistro, A.: Extension of Martin-Löf’s type theory with record types and subtyping. In: Sambin, G., Smith, J. (eds.) Twenty-five Years of Constructive Type Theory, Oxford University Press, Oxford (1998)

    Google Scholar 

  8. Burstall, R., Lampson, B.: Pebble, a kernel language for modules and abstract data types. In: Plotkin, G., MacQueen, D.B., Kahn, G. (eds.) Semantics of Data Types 1984. LNCS, vol. 173. Springer, Heidelberg (1984)

    Chapter  Google Scholar 

  9. Callaghan, P., Luo, Z.: An implementation of LF with coercive subtyping and universes. Journal of Automated Reasoning 27(1), 3–27 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  10. Constable, R., et al.: Implementing Mathematics with the NuPRL Proof Development System. Prentice-Hall, Englewood Cliffs (1986)

    Google Scholar 

  11. Constable, R., Hickey, J.: Nuprl’s class theory and its applications. In: Foundations of Secure Computation. IOS Press, Amsterdam (2000)

    Google Scholar 

  12. The Coq Development Team. The Coq Proof Assistant Reference Manual (Version 8.1), INRIA (2007)

    Google Scholar 

  13. Coquand, T., Pollack, R., Takeyama, M.: A logical framework with dependently typed records. Fundamenta Informaticae 65(1-2) (2005)

    Google Scholar 

  14. Courant, J.: Strong normalisation with singleton types. Electronic Notes in Theoretical Computer Science 70(1) (2002)

    Google Scholar 

  15. Goguen, H.: A Typed Operational Semantics for Type Theory. PhD thesis, University of Edinburgh (1994)

    Google Scholar 

  16. Harper, R., Lillibridge, M.: A type-theoretic approach to higher-order modules with sharing. In: POPL 1994 (1994)

    Google Scholar 

  17. Hayashi, S.: Singleton, union and intersection types for program extraction. Information and Computation 109(1/2), 174–210 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  18. Kamin, S.: Inheritance in Smalltalk-80: a denotational definition. In: POPL 1988 (1988)

    Google Scholar 

  19. Lampson, B., Burstall, R.: Pebble, a kernel language for modules and abstract data types. Information and Computation 76(2/3) (1988)

    Google Scholar 

  20. Leroy, X.: Manifest types, modules and separate compilation. In: POPL 1994 (1994)

    Google Scholar 

  21. Luo, Y.: Coherence and Transitivity in Coercive Subtyping. PhD thesis, University of Durham (2005)

    Google Scholar 

  22. Luo, Z.: A higher-order calculus and theory abstraction. Information and Computation 90(1) (1991)

    Google Scholar 

  23. Luo, Z.: Computation and Reasoning: A Type Theory for Computer Science. Oxford University Press, Oxford (1994)

    MATH  Google Scholar 

  24. Luo, Z.: Coercive subtyping in type theory. In: van Dalen, D., Bezem, M. (eds.) CSL 1996. LNCS, vol. 1258. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  25. Luo, Z.: Coercive subtyping. J. of Logic and Computation 9(1), 105–130 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  26. Luo, Z.: Coercions in a polymorphic type system. Mathematical Structures in Computer Science 18(4) (2008)

    Google Scholar 

  27. Luo, Z., Adams, R.: Structural subtyping for inductive types with functorial equality rules. Mathematical Structures in Computer Science 18(5) (2008)

    Google Scholar 

  28. Luo, Z., Luo, Y.: Transitivity in coercive subtyping. Information and Computation 197(1-2), 122–144 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  29. Luo, Z., Pollack, R.: LEGO Proof Development System: User’s Manual. LFCS Report ECS-LFCS-92-211, Dept. of Computer Science, Univ. of Edinburgh (1992)

    Google Scholar 

  30. Luo, Z., Soloviev, S.: Dependent coercions. In: CTCS 1999, ENTCS 1929 (1999)

    Google Scholar 

  31. MacQueen, D.: Modules for standard ML. In: ACM Symp. on Lisp and Functional Programming (1984)

    Google Scholar 

  32. Martin-Löf, P.: Intuitionistic Type Theory. Bibliopolis (1984)

    Google Scholar 

  33. The Matita proof assistant (2008), http://matita.cs.unibo.it/

  34. Milner, R., Harper, R., Tofts, M., MacQueen, D.: The Definition of Standard ML (revised). MIT, Cambridge (1997)

    Google Scholar 

  35. Nordström, B., Petersson, K., Smith, J.: Programming in Martin-Löf’s Type Theory: An Introduction. Oxford University Press, Oxford (1990)

    MATH  Google Scholar 

  36. Pierce, B.C., Turner, D.N.: Simple type-theoretic foundations for object-oriented programming. J. of Functional Programming 4(2), 207–247 (1994)

    Article  MATH  Google Scholar 

  37. Pollack, R.: Dependently typed records in type theory. Formal Aspects of Computing 13, 386–402 (2002)

    Article  MATH  Google Scholar 

  38. Sacerdoti-Coen, C., Tassi, E.: Working with mathematical structures in type theory. In: Miculan, M., Scagnetto, I., Honsell, F. (eds.) TYPES 2007. LNCS, vol. 4941, pp. 157–172. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  39. Saïbi, A.: Typing algorithm in type theory with inheritance. In: POPL 1997(1997)

    Google Scholar 

  40. Soloviev, S., Luo, Z.: Coercion completion and conservativity in coercive subtyping. Annals of Pure and Applied Logic 113(1-3), 297–322 (2002)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Luo, Z. (2009). Manifest Fields and Module Mechanisms in Intensional Type Theory. In: Berardi, S., Damiani, F., de’Liguoro, U. (eds) Types for Proofs and Programs. TYPES 2008. Lecture Notes in Computer Science, vol 5497. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02444-3_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02444-3_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02443-6

  • Online ISBN: 978-3-642-02444-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics