Abstract
It is informally understood that the purpose of modal type constructors in programming calculi is to control the flow of information between types. In order to lend rigorous support to this idea, we study the category of classified sets, a variant of a denotational semantics for information flow proposed by Abadi et al. We use classified sets to prove multiple noninterference theorems for modalities of a monadic and comonadic flavour. The common machinery behind our theorems stems from the the fact that classified sets are a (weak) model of Lawvere's theory of axiomatic cohesion. In the process, we show how cohesion can be used for reasoning about multi-modal settings. This leads to the conclusion that cohesion is a particularly useful setting for the study of both information flow, but also modalities in type theory and programming languages at large.
- Martín Abadi, Anindya Banerjee, Nevin Heintze, and Jon G Riecke. 1999. A core calculus of dependency. In Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL ’99. ACM Press, New York, New York, USA, 147–160. Google Scholar
Digital Library
- Samson Abramsky and Nikos Tzevelekos. 2011. Introduction to Categories and Categorical Logic. In New Structures for Physics, Bob Coecke (Ed.). Springer-Verlag, 3–94.Google Scholar
- Steve Awodey. 2010. Category Theory. Oxford University Press. Google Scholar
Digital Library
- Nick Benton, Gavin M. Bierman, and Valeria de Paiva. 1998. Computational types from a logical perspective. Journal of Functional Programming 8, 2 (1998), 177–193. Google Scholar
Digital Library
- Francis Borceux. 1994. Handbook of Categorical Algebra. Cambridge University Press, Cambridge.Google Scholar
- William J. Bowman and Amal Ahmed. 2015. Noninterference for free. In Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming - ICFP 2015. ACM Press, New York, New York, USA, 101–113. Google Scholar
Digital Library
- Stephen Brookes and Shai Geva. 1992. Computational comonads and intensional semantics. In Applications of Categories in Computer Science, M. P. Fourman, Peter T Johnstone, and Andrew M Pitts (Eds.). Vol. 177. Cambridge University Press, Cambridge, 1–44.Google Scholar
- Ranald Clouston, Alěs Bizjak, Hans Bugge Grathwohl, and Lars Birkedal. 2016. The guarded lambda calculus: Programming and reasoning with guarded recursion for coinductive types. Logical Methods in Computer Science 12, 3 (2016), 1–39.Google Scholar
- Roy L. Crole. 1993. Categories for Types. Cambridge University Press.Google Scholar
- Pierre-Louis Curien, Marcelo Fiore, and Guillaume Munch-Maccagnoni. 2016. A theory of effects and resources: adjunction models and polarised calculi. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL 2016. ACM Press, New York, New York, USA, 44–56. Google Scholar
Digital Library
- Rowan Davies and Frank Pfenning. 1996. A modal analysis of staged computation. In Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’96). 258–270. Google Scholar
Digital Library
- Rowan Davies and Frank Pfenning. 2001. A modal analysis of staged computation. J. ACM 48, 3 (2001), 555–604. Google Scholar
Digital Library
- Dorothy E Denning. 1976. A lattice model of secure information flow. Commun. ACM 19, 5 (1976), 236–243. Google Scholar
Digital Library
- Marco Gaboardi, Shin-ya Katsumata, Dominic Orchard, Flavien Breuvart, and Tarmo Uustalu. 2016. Combining effects and coeffects via grading. In Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming - ICFP 2016. ACM Press, New York, New York, USA, 476–489. Google Scholar
Digital Library
- J. A. Goguen and J. Meseguer. 1982. Security Policies and Security Models. In 1982 IEEE Symposium on Security and Privacy. IEEE, 11–11.Google Scholar
- Nevin Heintze and Jon G Riecke. 1998. The SLam calculus: programming with secrecy and integrity. In Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL ’98. ACM Press, New York, New York, USA, 365–377. Google Scholar
Digital Library
- Claudio Hermida, Uday S. Reddy, and Edmund P. Robinson. 2014. Logical relations and parametricity - A Reynolds Programme for category theory and programming languages. Electronic Notes in Theoretical Computer Science 303 (2014), 149–180. Google Scholar
Digital Library
- Martin Hofmann. 1999. Type Systems for Polynomial-Time Computation. Habilitation thesis. Technischen Universität Darmstadt. http://www.lfcs.inf.ed.ac.uk/reports/99/ECS- LFCS- 99- 406/Google Scholar
- Peter T. Johnstone. 2003. Sketches of an Elephant: A Topos Theory Compendium. Clarendon Press.Google Scholar
- G. A. Kavvos. 2017a. Dual-context calculi for modal logic. In 2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). IEEE.Google Scholar
Cross Ref
- G. A. Kavvos. 2017b. Dual-context calculi for modal logic (technical report). Technical Report. University of Oxford. http://www.lambdabetaeta.eu/papers/dualcalc.pdfGoogle Scholar
- Neelakantan R. Krishnaswami. 2013. Higher-order functional reactive programming without spacetime leaks. In Proceedings of the 18th ACM SIGPLAN international conference on Functional programming - ICFP ’13. ACM, ACM Press, New York, New York, USA, 221. Google Scholar
Digital Library
- Leonard J. LaPadula and D. Elliott Bell. 1996. Secure Computer Systems: Mathematical Foundations. Journal of Computer Security 4, 2-3 (1996), 239–263.Google Scholar
- F. William Lawvere. 2007. Axiomatic cohesion. Theory and Applications of Categories 19, 3 (2007), 41–49. http://www.tac. mta.ca/tac/volumes/19/3/19- 03.pdfGoogle Scholar
- F. William Lawvere and M. Menni. 2015. Internal choice holds in the discrete part of any cohesive topos satisfying stable connected codiscreteness. Theory and Applications of Categories 30, 26 (2015), 909–932. http://www.tac.mta.ca/tac/ volumes/30/26/30- 26.pdfGoogle Scholar
- Daniel R. Licata and Michael Shulman. 2016. Adjoint Logic with a 2-Category of Modes. In Proceedings of LFCS 2016. 219–235.Google Scholar
- Daniel R. Licata, Michael Shulman, and Mitchell Riley. 2017. A Fibrational Framework for Substructural and Modal Logics. In 2nd International Conference on Formal Structures for Computation and Deduction (FSCD 2017) (Leibniz International Proceedings in Informatics (LIPIcs)), Dale Miller (Ed.), Vol. 84. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 25:1—-25:22.Google Scholar
- Saunders Mac Lane. 1978. Categories for the Working Mathematician. Graduate Texts in Mathematics, Vol. 5. Springer New York, New York, NY.Google Scholar
- Kenji Miyamoto and Atsushi Igarashi. 2004. A Modal Foundation for Secure Information Flow. In Proceedings of the Workshop on Foundations of Computer Security (FCS’04). 187–203.Google Scholar
- Eugenio Moggi. 1991. Notions of computation and monads. Information and Computation 93, 1 (1991), 55–92. Google Scholar
Digital Library
- Andreas Nuyts and Dominique Devriese. 2018. Degrees of Relatedness. In Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science - LICS ’18. ACM Press, New York, New York, USA, 779–788. Google Scholar
Digital Library
- Andreas Nuyts, Andrea Vezzosi, and Dominique Devriese. 2017. Parametric quantifiers for dependent type theory. Proceedings of the ACM on Programming Languages 1, ICFP (2017). Google Scholar
Digital Library
- Tomas Petricek, Dominic Orchard, and Alan Mycroft. 2014. Coeffects: A calculus of context-dependent computation. Proceedings of the 19th ACM SIGPLAN international conference on Functional programming - ICFP ’14 (2014), 123–135. Google Scholar
Digital Library
- Benjamin C. Pierce. 2002. Types and Programming Languages. The MIT Press. Google Scholar
Digital Library
- Gordon D. Plotkin. 1977. LCF considered as a programming language. Theoretical Computer Science 5, 3 (1977), 223–255.Google Scholar
Cross Ref
- Vineet Rajani and Deepak Garg. 2018. Types for Information Flow Control: Labeling Granularity and Semantic Models. In 31st IEEE Symposium on Computer Security Foundations (CSF 2018). arXiv: 1805.00120Google Scholar
- John Rushby. 1986. The Bell and La Padula Security Model. Draft report, Computer Science Laboratory, SRI (1986), 1–19.Google Scholar
- Andrei Sabelfeld and David Sands. 2001. A per model of secure information flow in sequential programs. Higher-Order and Symbolic Computation 14 (2001), 59–91. Google Scholar
Digital Library
- Naokata Shikuma and Atsushi Igarashi. 2008. Proving Noninterference by a Fully Complete Translation to the Simply Typed lambda-calculus. Logical Methods in Computer Science 4, 3 (2008), 10.Google Scholar
Cross Ref
- Michael Shulman. 2018. Brouwer’s fixed-point theorem in real-cohesive homotopy type theory. Mathematical Structures in Computer Science 28, 6 (2018), 856–941.Google Scholar
- Thomas Streicher. 2006. Domain-theoretic Foundations of Functional Programming. World Scientific. Google Scholar
Digital Library
- Stephen Tse and Steve Zdancewic. 2004. Translating dependency into parametricity. In Proceedings of the ninth ACM SIGPLAN international conference on Functional programming - ICFP ’04. ACM Press, New York, New York, USA, 115. Google Scholar
Digital Library
- Tarmo Uustalu and Varmo Vene. 2008. Comonadic Notions of Computation. Electronic Notes in Theoretical Computer Science 203, 5 (2008), 263–284. Google Scholar
Digital Library
Index Terms
Modalities, cohesion, and information flow
Recommendations
Modal Type Theory Based on the Intuitionistic Modal Logic
Logical Foundations of Computer ScienceAbstractThe modal intuitionistic epistemic logic was proposed by Artemov and Protopopescu as the intuitionistic version of belief logic. We construct the modal lambda calculus which is Curry-Howard isomorphic to as the type-theoretical representation of ...
Normalization for Multimodal Type Theory
LICS '22: Proceedings of the 37th Annual ACM/IEEE Symposium on Logic in Computer ScienceWe prove normalization for MTT, a general multimodal dependent type theory capable of expressing modal type theories for guarded recursion, internalized parametricity, and various other prototypical modal situations. We prove that deciding type checking ...
Translating dependency into parametricity
ICFP '04: Proceedings of the ninth ACM SIGPLAN international conference on Functional programmingAbadi et al. introduced the dependency core calculus (DCC) as a unifying framework to study many important program analyses such as binding time, information flow, slicing, and function call tracking. DCC uses a lattice of monads and a nonstandard ...






Comments