Interaction categories and the foundations of typed concurrent programming

We propose Interaction Categories as a new paradigm for the semantics of functional and concurrent computation. Interaction categories have speciications as objects , processes as morphisms, and interaction as composition. We introduce two key examples of interaction categories for concurrent computation and indicate how a general axiomatisation can be developed. The upshot of our approach is that traditional process calculus is reconstituted in functorial form, and integrated with type theory and functional programming. A second contribution of the paper is to propose a way of combining the Propositions-as-Types and Veriication paradigms based on the notion of Speciication Structure. We describe speciication structures for liveness properties and deadlock-freedom, and illustrate our ideas using a standard example from concurrency theory.

[1]  Haskell B. Curry,et al.  Combinatory Logic, Volume I , 1959 .

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  Dana S. Scott,et al.  Outline of a Mathematical Theory of Computation , 1970 .

[4]  Donald Yau,et al.  Categories , 2021, 2-Dimensional Categories.

[5]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[6]  Gérard Boudol,et al.  Algèbre de Processus et Synchronisation , 1984, Theor. Comput. Sci..

[7]  Pierre-Louis Curien Categorical Combinators, Sequential Algorithms, and Functional Programming , 1993, Progress in Theoretical Computer Science.

[8]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[9]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[10]  C. A. R. Hoare,et al.  A Model for Communicating Sequential Processes , 1980, On the Construction of Programs.

[11]  Gerhard Gentzen,et al.  Investigations into Logical Deduction , 1970 .

[12]  Robin Milner,et al.  A Finite Delay Operator in Synchronous CCS. , 1982 .

[13]  J. Girard,et al.  Proofs and types , 1989 .

[14]  Steven J. Vickers,et al.  Quantales, observational logic and process semantics , 1993, Mathematical Structures in Computer Science.

[15]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[16]  S. Shelah,et al.  Annals of Pure and Applied Logic , 1991 .

[17]  Radha Jagadeesan,et al.  Games and Full Completeness for Multiplicative Linear Logic , 1994, J. Symb. Log..

[18]  Robin Milner,et al.  Definition of standard ML , 1990 .

[19]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[20]  William A. Howard,et al.  The formulae-as-types notion of construction , 1969 .

[21]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[22]  R. Street,et al.  Review of the elements of 2-categories , 1974 .

[23]  C. Pollard,et al.  Center for the Study of Language and Information , 2022 .

[24]  Bart Jacobs,et al.  Semantics of Weakening and Contraction , 1994, Ann. Pure Appl. Log..

[25]  Gérard Berry,et al.  Synchronous programming of reactive systems: an introduction to ESTEREL , 1988 .

[26]  Robert de Simone,et al.  Higher-Level Synchronising Devices in Meije-SCCS , 1985, Theor. Comput. Sci..

[27]  Robin Milner,et al.  Edinburgh LCF , 1979, Lecture Notes in Computer Science.

[28]  Lawrence C. Paulson,et al.  Logic and computation - interactive proof with Cambridge LCF , 1987, Cambridge tracts in theoretical computer science.

[29]  Samson Abramsky,et al.  Computational Interpretations of Linear Logic , 1993, Theor. Comput. Sci..

[30]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[31]  Samson Abramsky Interaction categories and communicating sequential processes , 1994 .

[32]  Peter Aczel,et al.  Non-well-founded sets , 1988, CSLI lecture notes series.

[33]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[34]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[35]  Roy L. Crole,et al.  Categories for Types , 1994, Cambridge mathematical textbooks.

[36]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[37]  R. J. van Glabbeek,et al.  Comparative Concurrency Semantics and Refinement of Actions , 1996 .

[38]  Patrick Saint-Dizier,et al.  Review of Prolog and natural-language analysis: CSLI lecture notes 10 by Fernando C. N. Pereira and Stuart M. Shieber. Center for the Study of Language and Information 1987. , 1988 .

[39]  Simon Thompson,et al.  Type theory and functional programming , 1991, International computer science series.

[40]  Radha Jagadeesan,et al.  New foundations for the geometry of interaction , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[41]  C. A. R. Hoare,et al.  Algebra and models , 1993, SIGSOFT '93.

[42]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[43]  Pierre-Louis Curien,et al.  Categorical Combinators , 1986, Inf. Control..

[44]  Rajagopal Nagarajan,et al.  Modelling SIGNAL in Interaction Categories , 1993, Theory and Formal Methods.

[45]  Rajagopal Nagarajan,et al.  A typed calculus of synchronous processes , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[46]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[47]  Samson Abramsky,et al.  Proofs as Processes , 1992, Theor. Comput. Sci..

[48]  Samson Abramsky Interaction categories (extended abstract) , 1994, FME 1994.

[49]  William C. Frederick,et al.  A Combinatory Logic , 1995 .

[50]  P. Freyd Algebraically complete categories , 1991 .

[51]  Dana S. Scott,et al.  Some Domain Theory and Denotational Semantics in Coq , 2009, TPHOLs.