[Haskell-beginners] Category question

Jay Sulzberger jays at panix.com
Mon May 28 19:43:33 CEST 2012



On Mon, 28 May 2012, Manfred Lotz <manfred.lotz at arcor.de> wrote:

> On Mon, 28 May 2012 10:57:11 -0400
> Brent Yorgey <byorgey at seas.upenn.edu> wrote:
>
>> On Mon, May 28, 2012 at 04:14:40PM +0200, Manfred Lotz wrote:
>>>
>>> For me id: A -> A could be defined by: A morphism id: A -> A is
>>> called identity morphism iff for all x of A we have  id(x) = x.
>>
>> This is not actually a valid definition; the notation id(x) = x does
>> not make sense.  It seems you are assuming that morphisms represent
>> some sort of function, but that is only true in certain special
>> categories.
>>
>
> Ok, it is a valid definition only in a certain context. In the
> far wider context of category theory this indeed makes no sense.
>
>
>
>>> My point is that in the books about category theory those two
>>> statements are stated as axioms, and id is (in many books) just
>>> self understood or defined as I have defined it above.
>>>
>>> If in a book about category the author would say that for each
>>> object A there must exist a morphism id: A -> A (called identity
>>> morphism) which is defined by idB . f = f and f . idA = f then this
>>> would be clearer (and better, IMHO).
>>
>> This is exactly what category theory books do (or should) say.  Do you
>> have a particular example of a book which does not state things in
>> this way?
>>
>
> In 'Conceptual Mathematics' by F. William Lawvere, Stephen H. Schanuel
> they define an identity map with fa = a for each a in A.
> Then on page 17 they define category and say
>
> ...
> Identity Maps: (one per object) 1A: A -> A
> ...
> Rules for a category
> 1. The identity laws:
> where they say g . 1A = g and 1B . f = f
> 2. associatlve laws
> ...
>
> It seems that this definition of a category is not as general as it
> could be. Here 1. is something which follows easily from the definition
> of an identity map.

No.  The point is that, by definition, a category, call it C, is
a struct with two sets, Obj(C) and Mor(C), and further operations:

1. head: Mor(C) -> Obj(C)

2. tail: Mor(C) -> Obj(C)

3. id: Obj(C) -> Mor(C)

4. *: Mor(C) x Mor(C) -> Mor(C)

where head and tail and id are everywhere defined single valued
maps.  They are all maps of sets.  *, read "composition of
morphisms" is a map of sets, with signature as displayed, but is
not usually everywhere defined.  We have then several
"equational" axioms, which C is required to satisfy to be a
category.

(set theoretical note: We have, partly implicitly, ruled out
categories which are not "small".  See standard texts for this
locus of difficulty.)

By the axioms, any object b of C must have defined its associated
identity morphism id[b].  For many categories, b will always be
an actual set, and id[b] will be the unique map of sets defined
by

   (id[b])(x) = x , for all x in b

where (id[b])(x) is read "the result of applying id[b] to the element x of b".

But, as explained, many categories have objects which are not
sets.  Indeed, often, no object is a set.

The definition of category never mentions whether or not the
objects are sets.  And, as we have seen, there are many
categories whose objects are not sets.  (Perhaps categorically
better: many categories are not directly presented as having
objects which are sets.)

to repeat: The concept "category" is larger in extension than the
concept "category whose objects are sets and whose morphisms are
maps of sets".

ad representations of categories:

   http://en.wikipedia.org/wiki/Yoneda_Lemma
   [page was last modified on 1 April 2012 at 05:17]

>
>
> I guess that this made me think of idA as idA(x) = x for each x of A.
> Later when I saw other (more general) definitions I did not read
> carefully to realize the difference.
>
>
> Thanks a lot for making this clear to me.
>
>
> -- 
> Manfred

I will let stand my restatement of what you already know ;)

oo--JS.



More information about the Beginners mailing list