Hostname: page-component-848d4c4894-p2v8j Total loading time: 0.001 Render date: 2024-05-21T15:00:03.923Z Has data issue: false hasContentIssue false

An Isbell duality theorem for type refinement systems

Published online by Cambridge University Press:  20 March 2017

PAUL-ANDRÉ MELLIÈS
Affiliation:
CNRS, Université Paris Diderot, Sorbonne Paris Cité, Paris, France Email: mellies@pps.univ-paris-diderot.fr
NOAM ZEILBERGER
Affiliation:
School of Computer Science, University of Birmingham, Birmingham, U.K. Email: noam.zeilberger@gmail.com

Abstract

Any refinement system (= functor) has a fully faithful representation in the refinement system of presheaves, by interpreting types as relative slice categories, and refinement types as presheaves over those categories. Motivated by an analogy between side effects in programming and context effects in linear logic, we study logical aspects of this ‘positive’ (covariant) representation, as well as of an associated ‘negative’ (contravariant) representation. We establish several preservation properties for these representations, including a generalization of Day's embedding theorem for monoidal closed categories. Then, we establish that the positive and negative representations satisfy an Isbell-style duality. As corollaries, we derive two different formulas for the positive representation of a pushforward (inspired by the classical negative translations of proof theory), which express it either as the dual of a pullback of a dual or as the double dual of a pushforward. Besides explaining how these constructions on refinement systems generalize familiar category-theoretic ones (by viewing categories as special refinement systems), our main running examples involve representations of Hoare logic and linear sequent calculus.

Type
Paper
Copyright
Copyright © Cambridge University Press 2017 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Andreoli, J.-M. (1992). Logic programming with focussing proofs in Linear Logic. Journal of Logic and Computation 2 (3) 297347.CrossRefGoogle Scholar
Atkey, R., Johann, P. and Ghani, N. (2012). Refining inductive types. Logical Methods in Computer Science 8 (2:9).Google Scholar
Bénabou, J. (2000). Distributors at work. Notes from a course at TU Darmstadt in June 2000, taken by Thomas Streicher.Google Scholar
Borceux, F. (1994). Handbook of Categorical Algebra 2: Categories and Structures. Cambridge University Press.Google Scholar
Čubrić, D., Dybjer, P. and Scott, P. (1998). Normalization and the Yoneda Embedding. Mathematical Structures in Computer Science 8 (2) 153192.CrossRefGoogle Scholar
Day, B.J. (1970). On closed categories of functors. Lecture Notes in Mathematics 137, 138.Google Scholar
Fiore, M. (2002). Semantic analysis of normalisation by evaluation for typed Lambda calculus (Extended Abstract). In: Proceedings of the 4th International Conference on Principles and Practice of Declarative Programming 26–37.Google Scholar
Gentzen, G. (1969). Untersuchungen über das logische Schliessen (Investigations into Logical Inference), Ph.D. thesis, Universität Göttingen. English translation in Szabo, M. (ed.) The Collected Papers of Gerhard Gentzen, Amsterdam: North Holland.Google Scholar
Ghani, N., Johann, P. and Fumex, C. (2013). Indexed induction and coinduction, fibrationally. Logical Methods in Computer Science 9 (3:6) 131.Google Scholar
Girard, J.-Y. (1987). Linear logic. Theoretical Computer Science 50 (1) 1102.Google Scholar
Gordon, M. and Collavizza, H. (2010). Forward with Hoare. In: Jones, C., Roscoe, A.W. and Wood, K.R. (eds.) Reflections on the Work of C.A.R. Hoare, Springer.Google Scholar
Hasegawa, M. (1999). Categorical glueing and logical predicates for models of linear logic. Technical Report RIMS-1223, Research Institute for Mathematical Sciences, Kyoto University.Google Scholar
Hermida, C. (November 1993). Fibrations, Logical predicates and indeterminates, Ph.D. thesis, University of Edinburgh.CrossRefGoogle Scholar
Hermida, C. and Jacobs, B. (1998). Structural induction and coinduction in a fibrational setting. Information and Computation 145 (2) 107152.CrossRefGoogle Scholar
Hoare, C.A.R. (1969). An axiomatic basis for computer programming. Communications of the ACM 12 (10).Google Scholar
Isbell, J. (1966). Structure of categories. Bulletin of the American Mathematical Society 72 619655.Google Scholar
Jacobs, B. (1999). Categorical Logic and Type Theory. Studies in Logic and the Foundations of Mathematics, vol. 141, North Holland.Google Scholar
Katsumata, S.-Y. (2002). A semantic formulation of ⊤⊤-lifting and logical predicates for computational metalanguage. CSL 2005.Google Scholar
Kelly, M. (1982). Basic Concepts in Enriched Category Theory. Cambridge University Press.Google Scholar
Lambek, J. (1969). Deductive Systems and Categories II, Lecture Notes in Mathematics, vol. 87, Springer-Verlag.Google Scholar
Lawvere, F.W. (1969). Adjointness in foundations. Dialectica 23 281296.Google Scholar
Lawvere, F.W. (1970). Equality in hyperdoctrines and comprehension schema as an adjoint functor. In: Proceedings of the AMS Symposium on Pure Mathematics XVII 1–14.Google Scholar
Lawvere, F.W. (2005). Taking categories seriously. Reprints in Theory and Applications of Categories 8 124.Google Scholar
Leinster, T. (2004). Higher Operads, Higher Categories. London Mathematical Society Lecture Note Series, vol. 298, Cambridge University Press.CrossRefGoogle Scholar
Mac Lane, S. (1971). Categories for the Working Mathematician, Springer.Google Scholar
Maltsiniotis, G. (2005). La théorie de l'homotopie de Grothendieck, Astérisque.Google Scholar
Melliès, P.-A. (2012). Game semantics in string diagrams. In: Proceedings of the 27th Annual IEEE Conference on Logic in Computer Science 481–490.Google Scholar
Melliès, P.-A. and Zeilberger, N. (2013). Type refinement and monoidal closed bifibrations. Unpublished manuscript. arXiv:1310.0263.Google Scholar
Melliès, P.-A. and Zeilberger, N. (2015). Functors are type refinement systems. In: Proceedings of the 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming 3–16.Google Scholar
Melliès, P.-A. and Zeilberger, N. (2016). A bifibrational reconstruction of Lawvere's presheaf hyperdoctrine. In: Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science 555–564.Google Scholar
Nanevski, A., Morrisett, G. and Birkedal, L. (2008). Hoare type theory, polymorphism and separation. Journal of Functional Programming 18 (5–6) 865911.Google Scholar
Pfenning, F. (2008). Church and curry: Combining intrinsic and extrinsic typing. Studies in Logic 17 303338.Google Scholar
Thielecke, H. (1997). Categorical structure of continuation passing style, Ph.D. thesis, University of Edinburgh.Google Scholar