Quotient Types: A Modular Approach
In this paper we introduce a new approach to axiomatizing quotient types in type theory. We suggest replacing the existing monolithic rule set by a modular set of rules for a specially chosen set of primitive operations. This modular formalization of quotient types turns out to be much easier to use and free of many limitations of the traditional monolithic formalization. To illustrate the advantages of the new approach, we show how the type of collections (that is known to be very hard to formalize using traditional quotient types) can be naturally formalized using the new primitives. We also show how modularity allows us to reuse one of the new primitives to simplify and enhance the rules for the set types.
Unable to display preview. Download preview PDF.
- 1.Stuart F. Allen. A Non-Type-Theoretic Semantics for Type-Theoretic Language. PhD thesis, Cornell University, 1987.Google Scholar
- 2.Stuart F. Allen. A Non-type-theoretic Definition of Martin-Löf’ s Types. In Proceedings of the Second Symposium on Logic in Computer Science, pages 215–224. IEEE, June 1987.Google Scholar
- 3.Roland Backhouse. A note of subtypes in Martin-Löf’ s theory of types. Technical Report CSM-90, University of Essex, November 1984.Google Scholar
- 4.Roland Backhouse. On the meaning and construction of the rules in Martin-Löf’ s theory of types. In A. Avron, editor, Workshop on General Logic, Edinburgh, February 1987, number ECS-LFCS-88-52. Department of Computer Science, University of Edinburgh, May 1988.Google Scholar
- 6.Ken Birman, Robert Constable, Mark Hayden, Jason J. Hickey, Christoph Kreitz, Robbert van Renesse, Ohad Rodeh, and Werner Vogels. The Horus and Ensemble projects: Accomplishments and limitations. In DARPA Information Survivability Conference and Exposition (DISCEX 2000), pages 149–161. IEEE, 2000.Google Scholar
- 7.Robert L. Constable. Mathematics as programming. In Proceedings of the Workshop on Programming and Logics, Lectures Notes in Computer Science 164, pages 116–128. Springer-Verlag, 1983.Google Scholar
- 8.Robert L. Constable. Types in logic, mathematics, and programming. In S. R. Buss, editor, Handbook of Proof Theory, chapter X, pages 683–786. Elsevier Science B.V., 1998.Google Scholar
- 9.Robert L. Constable, Stuart F. Allen, H.M. Bromley, W.R. Cleaveland, J.F. Cremer, R.W. Harper, Douglas J. Howe, T.B. Knoblock, N.P. Mendler, P. Panangaden, James T. Sasaki, and Scott F. Smith. Implementing Mathematics with the NuPRL Development System. Prentice-Hall, NJ, 1986.Google Scholar
- 10.Pierre Courtieu. Normalized types. In L. Fribourg, editor, Computer Science Logic, Proceedings of the 10th Annual Conference of the EACSL, volume 2142 of Lecture Notes in Computer Science, pages 554–569. Springer-Verlag, 2001. http://link.springer-ny.com/link/service/series/0558/tocs/t2142.htm.Google Scholar
- 11.Jason J. Hickey. NuPRL-Light: An implementation framework for higer-order logics. In William McCune, editor, Proceedings of the 14th International Conference on Automated Deduction, volume 1249 of Lecture Notes on Artificial Intelligence, pages 395–399, Berlin, July 13–17 1997. Springer. CADE’97. An extended version of the paper can be found at http://www.cs.caltech.edu/~jyh/papers/cade14_nl/default.html.
- 12.Jason J. Hickey. The MetaPRL Logical Programming Environment. PhD thesis, Cornell University, Ithaca, NY, January 2001.Google Scholar
- 13.Jason J. Hickey, Brian Aydemir, Yegor Bryukhov, Alexei Kopylov, Aleksey Nogin, and Xin Yu. A listing of MetaPRL theories. http://metaprl.org/theories.pdf.
- 14.Jason J. Hickey, Aleksey Nogin, Alexei Kopylov, et al. MetaPRL home page. http://metaprl.org/.
- 15.Martin Hofmann. Extensional concepts in intensional Type theory. PhD thesis, University of Edinburgh, Laboratory for Foundations of Computer Science, July 1995.Google Scholar
- 18.Alexei Kopylov and Aleksey Nogin. Markov’s principle for propositional type theory. In L. Fribourg, editor, Computer Science Logic, Proceedings of the 10th Annual Conference of the EACSL, volume 2142 of Lecture Notes in Computer Science, pages 570–584. Springer-Verlag, 2001. http://link.springer-ny.com/link/service/series/0558/tocs/t2142.htm.Google Scholar
- 19.Xiaoming Liu, Christoph Kreitz, Robbert van Renesse, Jason J. Hickey, Mark Hayden, Kenneth Birman, and Robert Constable. Building reliable, high-performance communication systems from components. In 17 th ACM Symposium on Operating Systems Principles, December 1999.Google Scholar
- 20.Per Martin-Löf. Constructive mathematics and computer programming. In Proceedings of the Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153–175, Amsterdam, 1982. North Holland.Google Scholar
- 21.J. McCarthy. A basis for a mathematical theory of computation. In P. Braffort and D. Hirschberg, editors, Computer Programming and Formal Systems, pages 33–70. Amsterdam: North-Holland, 1963.Google Scholar
- 22.Aleksey Nogin. Quotient types — A modular approach. Department of Computer Science http://cs-tr.cs.cornell.edu/Dienst/UI/1.0/Display/ncstrl.cornell/ TR2002-1869 TR2002-1869, Cornell University, April 2002. See also http://nogin.org/papers/quotients.html.
- 23.Aleksey Nogin and Jason Hickey. Sequent schema for derived rules. Accepted to TPHOLs 2002, 2002.Google Scholar
- 24.Bengt Nordström and Kent Petersson. Types and specifications. In IFIP’93. Elsvier, 1983.Google Scholar
- 26.Frank Pfenning and Rowan Davies. Judgmental reconstruction of modal logic. Mathematical Structures in Computer Science, 11(4), August 2001.Google Scholar
- 27.Simon Thompson. Type Theory and Functional Programming. Addison-Wesley, 1991.Google Scholar
- 28.Anne Sjerp Troelstra. Metamathematical Investigation of Intuitionistic Mathematics, volume 344 of Lecture Notes in Mathematics. Springer-Verlag, 1973.Google Scholar