Next: Digression: Tarski's High School Up: Isomorphisms of Types: from Previous: Isomorphisms of Types: from
An historical survey of results
There has been a very interesting work dedicated to the characterization of the isomorphisms holding in some special classes of categories [Sol83], even since 1981. In his work, Soloviev focuses on a special class of categories, called cartesian closed categories, where for any two objects AA and BB there exists a product , an exponent , and a special object T called the terminal object, with a set of additional properties that make them very well suited as models of the typed -calculus (see for example [Sza78, LS86] and Chapter 8 of [AL91]).
If categorical tools are increasingly used to give semantics to programming languages, especially to functional ones, this is also due to a close connection between this class of categories and the typed -calculus. It is by now a very well known fact that the models of -calculus with products and unit type are exactly the cartesian closed categories (shortly, ccc's), or, equivalently, that this calculus is the internal language of ccc's (see [Min77, LS86, AL91]).
Due to this connection, this categorical problem coincides with the characterization of isomorphisms in typed lambda calculus, which is particularly interesting for the case of ccc's. It is a simple exercise in basic category theory to show that in any ccc, the following isomorphisms hold:
Table 1: The theories of valid isomorphisms for ccc's.
In 1981, Soloviev showed, using techniques developed in number theory several years before, that these are exactly the isomorphisms holding in all ccc's. It is worthwhile to present here in some more details the connection with number theory used by Soloviev, as it is another interesting case of connection between very different branches of Mathematics.
If we take the table of isomorphisms of types above and we read it by taking T as the number 1, type variables as numerical variables, AABB as the regular product AB of two numerical expressions A and B, and finally AABB as the exponent , then the isomorphisms above become very well-known numerical identities that are taught in high-school algebra classes. The reason for this is that natural numbers can be used to build a cartesian closed category: to each n we associate a finite set with n elements, and as morphisms between two objects m and n we take the usual set theoretic functions between the associated finite sets. In this category, the terminal object is the singleton associated with 1, while the product and exponent correspond directly to numerical product and exponentiation. Using these facts, it is easy to show that two objects are isomorphic in the category of finite sets if and only if they are equal as numerical expressions. This means that we have reduced the problem of characterizing isomorphic types in the category of finite sets to the problem of finding all valid numerical equation between expressions built out of product, exponentiation and the constant 1 only. This number theoretic problem is a particular case of what is known under the name of Tarski's High School Algebra Problem, and has as a solution exactly the set of equations of the Table 1 above. This remarkable fact allows us to conclude Soloviev's argument as follows: on one side, we have a set of isomorphisms that is valid in all ccc's; on the other hand, we have found a special ccc where only these isomorphisms hold. Hence, there cannot be any other isomorphism holding in all ccc's, and we are done.
Next: Digression: Tarski's High School Up: Isomorphisms of Types: from Previous: Isomorphisms of Types: from Roberto Di Cosmo
Mon Aug 30 11:21:44 MET DST 1999