Mathematical Universes

Reading “Conceptual Mathematics” by F. William Lawvere & Stephen H. Schanuel.

Our goal in this book is to explore the consequences of a new and fundamental insight about the nature of mathematics which has led to better methods for understanding and using mathematical concepts. While the insight and methods are simple, they are not as familiar as they should be; they will require some effort to master, but you will be rewarded with a clarity of understanding that will be helpful in unraveling the mathematical aspect of any subject matter.
The basic notion which underlies all the others is that of a category, a ‘mathematical universe’. There are many categories, each appropriate to a particular subject matter, and there are ways to pass from one category to another. We will begin with an informal introduction to the notion and with some examples.

Conceptual Mathematics, 2nd Edition: a First Introduction To Categories
F. William Lawvere and Stephen H. Schanuel
Cambridge University Press, 2012

Thus begins Lawvere & Schaneul’s “Preview” (Session 1) where we are given our first glimpse of category theory. We are treated to several charmingly intuitive diagrams, demonstrating how one categorical notion—”multiplication of objects”—is expressed in several familiar contexts: space and time (physics), restaurant menus (business), 3-dimensional shapes (geometry), sentences and deductions (logic), and, “perhaps the simplest of all”, numbers (abstract sets). The elegant diagrams are beautifully illustrative, and Lawvere & Schanuel end the Preview with these tantalizing words: “I hope these pictures seem suggestive to you. Our goal is to learn to use them as precise instruments of understanding and reasoning, not merely as intuitive guides.” So we are promised nothing less than a precise picture language for “unraveling the mathematical aspect of any subject matter”, in the spirit of Leibniz’ Characteristica Universalis. Exciting stuff!

The first exercise encourages us to think of further examples of multiplication of objects. As a LISP programmer, my first thought was of a CONS cell, which is just a pair of LISP objects:

(SETQ X (CONS 'A 'B)) => (A . B)
(CAR X) => A
(CDR X) => B

Where CONS constructs a new cell (pair) from its arguments, and CAR and CDR extract the 1st and 2nd elements, respectively. (I suppose a Python programmer would think of tuples.) One thing that is exciting for me as a LISP programmer is the possibility of building a bridge between the “imperative” universe of programming languages, and the “declarative” universe of program specifications:

The contrast between function and procedure is a reflection of the general distinction between describing properties of things and describing how to do things, or, as it is sometimes referred to, the distinction between declarative knowledge and imperative knowledge. In mathematics we are usually concerned with declarative (what is) descriptions, whereas in computer science we are usually concerned with imperative (how to) descriptions….

Declarative and imperative descriptions are intimately related, as indeed are mathematics and computer science. For instance, to say that the answer produced by a program is “correct” is to make a declarative statement about the program. There is a large amount of research aimed at establishing techniques for proving that programs are correct, and much of the technical difficulty of this subject has to do with negotiating the transition between imperative statements (from which programs are constructed) and declarative statements (which can be used to deduce things). In a related vein, an important current area in programming-language design is the exploration of so-called very high-level languages, in which one actually programs in terms of declarative statements. The idea is to make interpreters sophisticated enough so that, given “what is” knowledge specified by the programmer, they can generate “how to” knowledge automatically. This cannot be done in general, but there are important areas where progress has been made.

Structure and Interpretation of Computer Programs, 2nd Edition
Harold Abelson and Gerald Jay Sussman
The MIT Press, 1996

So one of the big promises of category theory for computer programmers like me is the possibility of negotiating this transition between “what is” knowledge (mathematics) and “how to” knowledge (informatics). Perhaps this will be as simple as passing from one category to another? Or perhaps a more sophisticated bridge will be needed? Anyway, it’s this possibility of category theory acting as a Rosetta Stone that really excites me personally, but given its vast scope, category theory really has something for every scientist and philosopher.

I wasn’t entirely sure what the second exercise was getting at (it doesn’t seem to have anything to do with multiplication of objects), but I imagine an ancient Egyptian level would satisfy the requirements of experimentally determining whether two points are “level” without reference to “height” (distance from an imaginary plane of reference). Perhaps the point of this exercise was just to illustrate how the “same” notion can be formalized in different, yet equivalent, conceptual vocabularies, viz. distance vs angles.

About this entry