BRICS
BRICS LS-95-1
Basic Research in Computer Science
J. van Oosten: Basic Category Theory
Basic Category Theory
Jaap van Oosten
BRICS Lecture Series ISSN 1395-2048
LS-95-1 January 1995
Copyright c 1995, BRICS, Department of Computer Science University of Aarhus. All rights reserved. Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy.
See back inner page for a list of recent publications in the BRICS Lecture Series. Copies may be obtained by contacting: BRICS Department of Computer Science University of Aarhus Ny Munkegade, building 540 DK - 8000 Aarhus C Denmark Telephone: +45 8942 3360 Telefax: +45 8942 3255 Internet:
[email protected] BRICS publications are in general accessible through WWW and anonymous FTP: ! "# %$&'( )
Basic Category Theory
Jaap van Oosten
!#" %$% &%')(*') +,%(* (* .- !0/12$% 3,-4$%%567 18:9/12$% "1?%%5
@)ACBDFE GCHIDJIBLKMGMN:OMPRQCSLT,UV!WJI$-'2% (* ' 6 - 2% -)(C(* ! ! ! (* ? ')( "* - , 2%(* ** ! * . ?%)') ( ')>) 2%, 2 2% - ! 2%( '2') $% C 2
2%LF 16(*->% !F , '^ + )')(* *M - $ "* - ! >6 ,>6(* 2% $,$.- ') ?/ %6* - $%66 - $7 ,- !0 2% ,- $ '% 2% )6 #F C 2%'+ ,* ), 2%-, 2%0& 27 $ % ! 2%, 2% -? , 7 - !: 2% 2 1 $ '2% 2%- ')$%(*%6 2%02 F$%') 3 78 45 6 -9$ 6(* '+ ,* ,(* '2% 1 ?,$ 2% ! ') % (* $% 7:- $%') (* (* '2% % ; ? ! 2%("* > 2%(* - $% $% $ 7( ' (* $ (* (* '2% (*%5#* (*%6 !0 2%1 ("O >% $,* %>'$%(* /% $% 7 2%1 1P R Q 7 P " "Q ! 2%,% ') )-?%* 2% $%621C 7 % C $%% 2%- $'2 > $7 % = , 2 @ * (* 7% !# !S=%-%7) /17:- (* %= $%') ,2% 7'^+ , (* !0 2%1 * 1 !0 2%> * $% (* 1') 7(* (* % / :F '2% 7I%T ? ! 2%>(* %(* > !# 2% M') , 2 , 2%> $,* > !') " ')9M(*5 % ! %@ $%1 622 F % ?%$7 $,2* 7 U N 77 L * F 2%') ! 2%( 2%-- ? - 2%7 (*%(*6 (* % .- )7%)7)V 2 >') % $,* 7 2% F "* ! (*%61 $%)') ( W &) T,4 'a%?,X*Y#ZK[]\_^`Rab[DcVdK^`Zbe/[fI^`Rg#a"h_\jikY#Zbe/[Dl@Y#ZbaKmRaKYah ? &%(*%6FCn R* (*/G & (" " 2% $ '^+ %= % ^9M 2% ( ')( % (* -$ * (* R* $%626 (*%6? $ $% ,(* (* ! 2 2%1 $,$,* % W =*)Cn ( )')') $_+ 7 ?o(* Y h)/p/q#%^#,^* ( gk'^ d(* X*% DY#G ZK[]",\_^`R1aKm%$ YrV( 7s6r \_[+,q`%Y (*?F> (* .')-u-%'Dt * @ 7.F ",( 1 ! %$ 4 ( 76 2^9G / 3,'^ + $ 1 (* >* 1 ! ( a (* - 7%$,* .-#* 2 * L9 ')( * ("O 7 %( ') , 2%> * $% v
/
'N
UN
)%6 (* 2% 7 %(* (* ! 1 2%7(* '5 $%%(* (* 2% ' 2% ?5(*%6> 2%7 % (* (* (*') % (* ? $%% 2% (* $% ,
2% -? 7 LF
'N
#
$
$ 4 -') ') '+ , * % ,2%> 7 ! (" " N 7-% ! -'+^(* 2%1 2% -#C 2% ! (* >-* $$,* $%)') W tV ; , 1 3,2% % 1 1 %$ ? 5)ZK ^h/[ ' Y6mD [Dc - ? ",2%1 %$ - ( %76 >+, %?)(*%$$% > (* .- -t 1.F ",( '11 %$$7( - 76 G (* $% C7$* (* (* ! 2%& %, .- / * C !Y ( ) $') $%
*(*5:F) ?#Cn * * 6%$ ) , )' W /9 /=,V a (.,?*X* Y#ZK []\_5^ `R7aKmY(*r ) /^ ( aKmRca"huX^l ,ZK[D` /mRab[Dh)mD[ ?t 2% 9/, 2% (* ?Vt (* ) /9 / ( 1! , %6 ?)X*Y#ZK[]\_^`Rab[Dc [Dc %Yh)p )Zb` #mZ `D[Dc *sh h)Zb`D^,p #m Zbab^h1ZK^ X*Y#ZK[]\_^` Ve/[^` dK^`*Zbe/[fI^`Rg#a"h_\ X^l ,ZK[D` /mRab[Dh)Zba"cZ%F%= $%7% (* %
!#" %$% (*%6#G ?4I t 9.F ",1%$ ( 764 )'2$% DG9, W 44 4 2%55 ( ( ') ) 2% $%62- * ') $% ?7>(* ( ')$, ,2% ,(" 7$%)7 vKv
#"
%$
'&
(
*)
&
+
,-.#/0214365278 59:5/;
! @ ] I ? AB /A O 7%:- ? ,^lI[dYmZbckY#q#^ ,Z9d h)mZK^`Rc ?13, ("%$ (* 5 $%> ! (*(*%6 A )'2 RFD#TG ?%%,< ! 9C ;9F,A $% ( /G , !
7 & 62 a 2% (* 7 $% (* )5 (* - (*6(* 27 9 (* % ,2%2% * ! - ') 7(&% %?a2 (* *$ * / ')(* ( ' 7(*%6 -2%(* !0 2% 2% * (* * 7') $% *1 !0 ) (*%6(* ! ? 2%( '2 % ,% $7 !
%
2
vKvKv
v
" 'N v %(*
(* % , 7 '+ , * & , ')( $.- ') 17 ! v ," , 2% % 7%9* , > + ,* C !# $%) )% E $%(** ')1 !#' 6 (* 2 '+ ,* ! #" #" v v ," (*(* % , (*(* $ -% %7$') 17E $* ("O , " * (*(* & ' v )( v * v v /" ,A 6$, ,' 6 (* 17 $,$ $.- ') + / " 2% * 6( '(*6$, ' 6 (* / , 2%
%6$6-,F 3 G 7 2% -/.F 3 G %')( 7 6$, 1' + ,* , !#6$, ' 6 - 0 213 v ;," /17:- (* F$%') ;, > ^+ % (*%6u.F ') #G ') ,* % 1$ - '^+ (* ') ! 7:- (* 2 % \9
(* !SF.') #G* (*(* $ -7:- (* F$%') 4 87 56