Ulf's  >  Worlds  >  Mathematics  >     
                     
  Numbers    Sets    Relations    Algebras    X    
     
 

Sets with a Relation: Relations and Their Categories

Different kinds of relations have been used as formal semantic models of values in programming languages. Especially an entire group of relations is used to model the different types of values in the language. These relations are connected by functions (or by relations) as a model of program functions/procedures. The combination of relations and connections between them gives a category.

One wants to be able to express in the model (some of) the following operations:

  • x and (x): cartesian product (for lazy tuples) and smash products (eager tuples)
  • + and (+): categorial sum (lazy "disjoint union") and coalesced sum (eager union)
  • -> and o->: non-strict function space constructor and strict (call by value) function space constructor
There are two approaches: find a category closed these operations on relations (esp., find a CCC = cartesian closed category), or find a catagory ("universal domain") which is isomorphic to its own function space and cartesian product. Much attention has been given to the category Poset of partial ordered sets (ordered by ``definedness'') and monotone mappings. Several proposed subcategories of Poset drop some of Poset's relations and/or functions.
The following image shows (a 200% magnification of) my attempt of Aug. 22, 1998 to structure my knowledge about relational models and put them onto one page (letter size). On the right side is shows stylized examples for many combinations of interesting properties.

 
 
Location: http://www.cs.mun.ca/~ulf/two/m-relcat.html (previously gloss/relcat.html) © Ulf Schünemann; ulf@cs.mun.ca; 121001-220605