Category theory, or its equivalent

There is a branch of modern mathematics known as Category Theory which may fairly be caricatured as the general theory of abstractions, or as the abstract theory of generalisations. I actually rather like it, but find that it isn't general or abstract enough; ironically, my remedy to this is to make it both more concrete and more specific – my general formalisation of mathematics in terms of relations (rather than sets and functions thereon) lets it be so and yet be more general and abstract.

Category theory generally concerns itself with composing morhpisms between objects; at least some schools of fairly orthodox category theory allow that a so-called object can be identified with the identity morphism on it, a stance which I take to the extreme of not treating objects specially at all – hence, for example, not regarding a functor as anything more special than a transformation which can be combined with itself and, when it can be combined with a transformation, yields the transformation with which it was combined.

An orthodox category can be encoded as an associative binary operator * on its morphisms; if this is compose = (: ({morphisms}: a*b ←b :{morphisms}) ←a :{morphisms}) then we can define

post
= (: (compose(a):b←b:) ←a :{morphisms})
= (: {morphism b: a*b is defined} ←a :)
pre
= (: (transpose(compose, b):a ←a:) ←b :{morphisms})
= (: {morphism a: a*b is defined} ←b :)
{identities}
= {morphism i: b in post(i) implies i*b = b and a in pre(i) implies a*i = i}
hom-set
= (: (: post(a)∩pre(b) ←b :{morphisms}) ←a :{morphisms})
= (: (: {morphism c: a*c and c*b are defined} ←b :{morphisms}) ←a :{morphisms})

and specify a category by the requirements: post(a*b) = post(a), pre(a*b) = pre(b) and every morphism m has a unique identity in pre(m) and a unique identity in post(m).

This gets messy when I proceed to define composition among relations to ignore right values of its left operand that aren't left values of its right operand, and vice versa; a relation can be composable before or after many identities (one way out is to say we have only one identity, the global identity on all values); it also interferes with a natural formulation of categoric transformations which allows several functors as distinct identities before or after a given transformation. At the same time, the whole business of binary operators begs to be Curried and expressed in terms that only concern themselves with the morphisms; and the associativity property begs for us to be considering bulk actions – taking a list and returing the composite of the whole.

I wrote quite a bit of mess about arrow worlds in which I began exploring how to do category theory another way; it is now my intent to do a tidier (and more general) job of that. My previous analysis involved a convolution called arrow lands which can largely be converted to a discussion of directed graphs; this provided the framework within which to characterise a category's composition and specify such characteristics of transformations (and functors) as don't depend on composition itself. It is arguable that analysis should have applied to the hom-sets rather than to the morphisms themselves. The analysis then moved on to considering a category's composition as a constrained binary operator – it only combines things if they are suitably linked in the directed graphs; and the composite fits into the directed graph as a substitute for its components. Having now explored what the relevant digraph theory reduces to when expressed in terms of relations, I no longer consider it worth discussing separately from the composition.

Our composition then presents two aspects. On the one hand, a relation which tells us which morphisms it is willing to compose; from which we can infer which lists of morphisms it is willing to compose. On the other hand, we have its bulk action, which actually will compose any such list. Both are naturally encoded in a binary operator, which thus necessarily occupies the fundamental position. Equally, it is the binary operator which must satisfy various criteria for the whole categoric project to be applicable. In the terminology I introduce to specify those criteria, I'll describe a binary operator, *, as categoric precisely if:

Note that orthodoxy adds requirements relating to identities, and identifies a category as its collection of objects (identity operands) equipped with the binary operator. One particular requirement is the uniqueness of identities in each morphism's pre and post; I replace this by my equivalent of orthodoxy's study of the inclusion morphisms that embed objects in one another.


Valid CSSValid HTML 4.01 Written by Eddy.