Abstract
We give syntax and a PER-model semantics for a typed λ-calculus with subtypes and singleton types. The calculus may be seen as a minimal calculus of subtyping with a simple form of dependent types. The aim is to study singleton types and to take a canny step towards more complex dependent subtyping systems. Singleton types have applications in the use of type systems for specification and program extraction: given a program P we can form the very tight specification {P} which is met uniquely by P. Singletons integrate abbreviational definitions into a type system: the hypothesis x: {M} asserts x=M. The addition of singleton types is a non-conservative extension of familiar subtyping theories. In our system, more terms are typable and previously typable terms have more (non-dependent) types.
Preview
Unable to display preview. Download preview PDF.
References
David R. Aspinall. Algebraic specification in a type-theoretic setting. Forthcoming PhD thesis, Department of Computer Science, University of Edinburgh, 1995.
Kim B. Bruce and Giuseppe Longo. A modest model of records, inheritance and bounded quantification. Information and Computation, 87:196–240, 1990.
Val Breazu-Tannen, Thierry Coquand, Carl A. Gunter, and Andre Scedrov. Inheritance as implicit coercion. Information and Computation, 93:172–221, 1991.
Luca Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138–164, 1988.
Luca Cardelli. Structural subtyping and the notion of power type. In Fifteenth Annual ACM Symposium on Principles of Programming Languages, 1988.
Pierre-Louis Curien and Giorgio Ghelli. Coherence of subsumption, minimum typing and type-checking in F≤. Mathematical Structures in Computer Science, 2:55–91, 1992.
Luca Cardelli and Giuseppe Longo. A semantic basis for Quest. Journal of Functional Programming, 1(4):417–458, 1991.
Susumu Hayashi. Singleton, union and intersection types for program extraction. Information and Computation, 109, 1994.
R. Hindley and G. Longo. Lambda calculus models and extensionality. Z. Math. Logik Grundlag. Math., 26:289–310, 1980.
Robert Harper and Robert Pollack. Type checking with universes. Theoretical Computer Science, 89:107–136, 1991.
Stefan Kahrs, Donald Sannella, and Andrzej Tarlecki. The definition of Extended ML. Technical Report ECS-LFCS-94-300, LFCS, Department of Computer Science, University of Edinburgh, 1994.
Paula Severi and Erik Poll. Pure Type Systems with Definitions. In Logical Foundations of Computer Science, LFCS'94, Lecture Notes in Computer Science 813, pages 316–328. Springer-Verlag, 1994.
Donald T. Sannella, Stefan Sokolowski, and Andrzej Tarlecki. Toward formal development of programs from algebraic specifications: Parameterisation revisited. Acta Informatica, 29:689–736, 1992.
Donald Sannella and Martin Wirsing. A kernel language for algebraic specification and implementation. In Proceedings of International Conference on Foundations of Computation Theory, Borgholm, Sweden, Lecture Notes in Computer Science 158. Springer-Verlag, 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aspinall, D. (1995). Subtyping with singleton types. In: Pacholski, L., Tiuryn, J. (eds) Computer Science Logic. CSL 1994. Lecture Notes in Computer Science, vol 933. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022243
Download citation
DOI: https://doi.org/10.1007/BFb0022243
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60017-6
Online ISBN: 978-3-540-49404-1
eBook Packages: Springer Book Archive