From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.science.mathematics.categories/1051 Path: news.gmane.org!not-for-mail From: Peter Selinger Newsgroups: gmane.science.mathematics.categories Subject: Paper Announcement: Control Categories and Duality Date: Tue, 23 Feb 1999 00:09:47 -0500 (EST) Message-ID: <199902230509.AAA07550@blackbox.math.lsa.umich.edu> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1241017524 29240 80.91.229.2 (29 Apr 2009 15:05:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Apr 2009 15:05:24 +0000 (UTC) To: categories@mta.ca (Categories) Original-X-From: cat-dist Tue Feb 23 21:01:35 1999 Original-Received: (from Majordom@localhost) by mailserv.mta.ca (8.9.3/8.9.3) id UAA00484 for categories-list; Tue, 23 Feb 1999 20:18:26 -0400 (AST) X-Authentication-Warning: mailserv.mta.ca: Majordom set sender to cat-dist@mta.ca using -f X-Mailer: ELM [version 2.4 PL25] Original-Sender: cat-dist@mta.ca Precedence: bulk Original-Lines: 84 Xref: news.gmane.org gmane.science.mathematics.categories:1051 Archived-At: Dear Category Theorists, The paper "Control Categories and Duality: on the Categorical Semantics of the Lambda-Mu Calculus" is now available from http://www.math.lsa.umich.edu/~selinger/papers.html http://hypatia.dcs.qmw.ac.uk/author/SelingerP This is a revised and improved version of a paper I presented at MFPS'98. Let me briefly summarize the part of the paper that I think will be the most interesting to category theorists; the actual abstract is appended at the end. Consider a category C with distributive finite products and coproducts and a distinguished object R, such that all exponentials of the form R^A exist. Let R^C denote the full subcategory of C consisting of objects of the form R^A. It is an old observation that R^C is cartesian-closed. This observation is at the heart of continuation passing style (CPS) interpretations of programming languages with control operators, and it has been used recently by Hofmann and Streicher to give a sound and complete categorical model of Parigot's lambda-mu calculus. (The lambda-mu calculus generalizes the simply-typed lambda calculus; it is a proof term calculus for propositional classical logic). In this paper, I give an independent, algebraic characterization of the structure of categories of the form R^C. By "independent", I mean that it does not depend on an ambient category C, and by "algebraic", that it is given in terms of operations and equations only. The crucial structure that R^C has, besides cartesian closure, is an operation called "classical disjunction" that takes R^A and R^B to R^(AxB). This operation is functorial in each argument, but not bifunctorial; it forms a premonoidal structure in the sense of Power and Robinson. Abstracting from R^C, I define the class of "control categories", which are cartesian-closed categories with a premonoidal structure and suitable axioms. The presence of an operation which is not bifunctorial leads to some interesting twists, as one has to be a bit careful about how one defines concepts such as weak structure-preserving functors and equivalences of categories. The main theorem is a structure theorem, which shows that every control category is equivalent to a category of the form R^C (and, of course, vice versa). An algebraic class of categories calls out for an internal language. I prove that the call-by-name lambda-mu calculus (with product and disjunction types) forms an internal language for control categories. Thus, these categories can be considered as models for (a certain kind of) proof theory of classical logic. Also, the call-by-value lambda-mu-calculus forms an internal language for the dual class of co-control categories. As a consequence of this categorical duality, it follows that there is a syntactic duality between the call-by-name and the call-by-value calculus, i.e., there are mutually inverse translations between call-by-name and call-by-value that preserve the categorical (and also the operational) semantics. Such dualities have been observed in a different setting by Filinski. In the case of the lambda-mu calculus, such a syntactic duality was conjectured by Streicher and Reus. Comments are welcome. Best wishes, -- Peter Selinger ---------------------------------------------------------------------- ABSTRACT: We give a categorical semantics to the call-by-name and call-by-value versions of Parigot's lambda-mu calculus with disjunction types. We introduce the class of control categories, which combine a cartesian-closed structure with a premonoidal structure in the sense of Power and Robinson. We prove, via a categorical structure theorem, that the categorical semantics is equivalent to a CPS semantics in the style of Hofmann and Streicher. We show that the call-by-name lambda-mu calculus forms an internal language for control categories, and that the call-by-value lambda-mu calculus forms an internal language for the dual co-control categories. As a corollary, we obtain a syntactic duality result: there exist syntactic translations between call-by-name and call-by-value which are mutually inverse and which preserve the operational semantics. This answers a question of Streicher and Reus.