32
!"#$%&’()"* ,&%() (- !&./0#$’ 1)($-)$ !"#$%&" ($ )"&*" +,&#- ./01 2$/#3 )"%4- +5 63/37"- 2"%08 9:8- ;<<=

CLiCS: Categorical Logic in Computer Science

Embed Size (px)

DESCRIPTION

This talk is about Categorical Logic, a branch of Category Theory, a newer subfield of Algebra, established in the late forties/early fifties by Eilenberg and MacLane. One of its most exciting applications is to theoretical computer science and I plan to discuss it, from a very personal perspective.

Citation preview

Page 1: CLiCS: Categorical Logic in Computer Science

! !

!!"#$%&'()"*+,&%()+(-+!&./0#$'+

1)($-)$

!"#$%&"'($')"&*"

+,&#-'./01'2$/#3')"%4-'+5

63/37"-'2"%08'9:8-';<<=

Page 2: CLiCS: Categorical Logic in Computer Science

! !

!"#$%&'

! >8":'&?'0":$@3%&0"#'#3@&0A

! B3C'(&('&:'037$'"D3,:A

! 5EE#&0":&3/?':3'037E,:$%'?0&$/0$

! 2F'$G"7E#$H'I&"#$0:&0"'0":$@3%&$?

! +3/0#,?&3/?'J')%3?E$0:?

'''''''''0"*$":?H'*$%F'E$%?3/"#'*&$CE3&/:-'E,D'08":A

Page 3: CLiCS: Categorical Logic in Computer Science

! !

()#'*+,%-)$./+*%-0.1)#2'1)#%-)$.%3')4.%&.&'5.4'##%&*4

! >8&08'4&/('3K'7":8A

! 5#@$D%"':3'L8$3%F'3K'+":$@3%&$?

! +":$@3%&$?':3'+":$@3%&0"#'M3@&0

! +":$@3%&0"#'M3@&0':3'+37E,:$%'60&$/0$

! >8&08'4&/('3K'037E,:$%'?0&$/0$A

Page 4: CLiCS: Categorical Logic in Computer Science

! !

6$*'7,).#+.()#'*+,8.92'+,8! N5D?:%"0:O'5#@$D%"H''"%$"'3K'7":8$7":&0?':8":'?:,(&$?'"#@$D%"&0'?:%,0:,%$?-'?,08'"?'!"#$%&-'"'(!&-')'*+,&-'-#,$+*&-'.*/0#"1&%2/*&-'"/('2+!*3"2&1

! 5D?:%"0:'N&/?:$"('3K''$#$7$/:"%FO'"#@$D%"H':,%/'3K':8$';<:8'0$/:,%F-'*"/'($%'>"$%($/':$G:D334'P23($%/'5#@$D%"P-'Q=R<1

! 63,%0$?H'#&/$"%'"#@$D%"-'E$%7,:":&3/'@%3,E?-'(&3E8"/:&/$'$S,":&3/?-111

''''''''''''''''''''''''''''''''''''''08$04'C&4&E$(&"

Page 5: CLiCS: Categorical Logic in Computer Science

! !

()#'*+,8.92'+,8! :%$'&7',*.;.<)-/)&'.=>[email protected]'&',)$.92'+,8.+E.F)#",)$.:G"%H)$'&-'4IC

! 1+,'.#2)&.).-+&H'&%'&#.$)&*")*'J.3%)*,)1.-2)4%&*.1'#2+3+$+*8K#'-2&+$+*8

" <%$'4#+&'40.:%$'&7',*.;.L#''&,+3.=>?AMBN..)$*'7,)%-.#+O+$+*8P..(),#)&.;.:%$'&7',*.=>?AQBN..2+1+$+*%-)$.)$*'7,)P.D,+#2'&3%'-RS4.=>?ATB..CL",.G"'$G"'4.O+%&#4.3S)$*'7,'.2+1+$+*%G"'S.)&3.1+,'P.U)&.=>?AVB.)3W+%&#.E"&-#+,4.E+,.2+1+#+O8.#2'+,8I

" X,'83N.9%',&'8N./)17'RN.1+4#$8./)5H','.=>?QYS4B.O',H)4%H'&'44.+E.)3W+%&#.E"&-#+,4N.!"#$%&'(!")*)&%(!

Page 6: CLiCS: Categorical Logic in Computer Science

! !

()#'*+,8.92'+,8

!"#$%&$'(")&*+(,(-#&".&/.'(,01$.2&/.$*1&34&5"*+(5"*$%"0&

%3.%(6*#7*+(3,$(#8&93,(&$563,*".*&*+".&*+(&5"*+(5"*$%"0&

%3.%(6*#&*+(5#(0:(#&$#&+3;&*+(1&,(0"*(&*3&("%+&3*+(,8

<363032$%"0&#6"%(#&%35(&;$*+&%3.*$./3/#&5"6#=&;+$0(&:(%*3,&

#6"%(#&%35(&;$*+&0$.(",&*,".#43,5"*$3.#=&43,&(>"560(8&

93,6+$#5#=&$(&&+3;&&#*,/%*/,(#&*,".#43,5&$.*3&3*+(,#&$#&*+(&;"1&*3&

3,2".$?(&*+(&5"*+(5"*$%"0&('$4$%(8

@(*,"%*3,#&%"00&A<&"B#*,"%*&C3.#(.#(

<+(&0".2/"2(&34&A<&$#&;(00D"%%(6*('&$.&"00&B,".%+(#&34&9"*+=&*+(&6,">$#&".'&*+(&

6+$03#36+1&0(##&#38&

Page 7: CLiCS: Categorical Logic in Computer Science

! !

()#'*+,%'40.).O%-#",'

Page 8: CLiCS: Categorical Logic in Computer Science

! !

()#'*+,8.92'+,8

! ()#'*+,80.).-+$$'-#%+&.+E.+7W'-#4.)&3.+E.1+,O2%414N.4)#%4E8%&*.+7H%+"4.$)54

! X"&-#+,40.#2'.&)#",)$.&+#%+&.+E.1+,O2%41.7'#5''&.-)#'*+,%'4

! F)#",)$.#,)&4E+,1)#%+&40.#2'.&)#",)$.&+#%+&.+E.1+,O2%414.7'#5''&.E"&-#+,4

! (+&4#,"-#+,40.O,+3"-#4N.4"14N.$%1%#4N.3")$4IIII

! 63W"&-#%+&40.)&.)74#,)-#.H',4%+&.+E.'G")$%#8

! Z+5.3+'4.#2%4.,'$)#'4.#+.$+*%-J

Page 9: CLiCS: Categorical Logic in Computer Science

! !

()#'*+,%-)$./+*%-J

! =<)#2'1)#%-)$B./+*%-."4")$$8.3%H%3'3.%&0.<+3'$.#2'+,8N.[,++E.#2'+,8N.\'-",4%+&.#2'+,8.)&3.L'#.#2'+,8

! ()#'*+,8.#2'+,8."4'3.E+,..<+3'$.#2'+,8.)&3..[,++E.#2'+,8N.7+#2.),'.!"#$%&'(!")*+$,"-#(!+

! 92%4.#)$R0.-)#'*+,%-)$.$+*%-.1')&4.-)#'*+,%-)$..'&&/.#2'+,8

! [,++E.#2'+,8.%4..Z%$7',#S4.7,)%&-2%$30.SO,++E4S.)4.+7W'-#4.+E.1)#2'1)#%-)$.4#"38

! ()#'*+,%-)$.$+*%-./)5H','S4.4'1%&)$.%3')0

...............................$+*%-])$*'7,)]*'+1'#,8

Page 10: CLiCS: Categorical Logic in Computer Science

! !

()#'*+,%-)$.[,++E.92'+,8

! 6.-2)&*'.%&.O),)3%*10.1+3'$.#2'+,8..)7+"#.52'#2',.#2'+,'14.),'.#,"'.+,.&+#I.=!"#$%&'(!").1+3'$.#2'+,8.-+&4%3',4.#,"#2E"$&'44.%&.3%EE','&#.-)#'*+,%'4B

! .[,++E.#2'+,8.)7+"#.52'#2',.3%EE','&#.O,++E4.-)&.7'.-+&4%3','3.S#2'.4)1'S

! ()#'*+,%-)$.O,++E.#2'+,8.1+3'$4.O,++E4N."4%&*.-)#'*+,%'4N.4+.#2)#.8+".-)&.#)$R.)7+"#.4)1'&'44.+E.O,++E4."4%&*.1)#2'1)#%-)$.#++$4

! ^)4'3.+&.#2'.(",,8_Z+5),3.-+,,'4O+&3'&-'

Page 11: CLiCS: Categorical Logic in Computer Science

! !

:`#'&3'3.(",,8_Z+5),3.-+,,'4O+&3'&-'

! 9%1'$%&'0.aYS4.(",,8.)&)$+*8N.>?Q?.Z+5),3.O,'O,%&#N.>?V>.ZI^I.Z)4R'$$.H+$"1'N./)5H','.#2'4%4N./)17'R;L-+##.7++R.>?VQ

! ^)4%-.%3')0.#8O'4.),'.E+,1"$)'K+7W'-#4.%&."..'&.'("#$.-)#'*+,8N.#',14.),'.O,++E4K1+,O2%414.%&.4)1'.-)#'*+,8N$+*%-)$.-+&4#,"-#+,4.),'.)OO,+O,%)#'.-)#'*+,%-)$.-+&4#,"-#%+&4I.<+4#$80.,'3"-#%+&.%4.O,++E.&+,1)$%b)#%+&

! 9,)&4E',.,'4"$#4K#++$4.E,+1.$+*%-.#+.(9.#+.(L!

Page 12: CLiCS: Categorical Logic in Computer Science

! !

Page 13: CLiCS: Categorical Logic in Computer Science

! !

Page 14: CLiCS: Categorical Logic in Computer Science

! !

420*!#"'/2+15"##)167*#"8'

73($#?'($%&*":&3/?TE%33K?-'/3:'C8$:8$%':8$3%$7?'"%$':%,$'3%'/3:

5"##)&'($K&/&:$#F'K&%?:U0#"??'0&:&V$/?

9#:;W?$?'$G:$/($('+,%%FUB3C"%('&?373%E8&?7

<781'&1'01!##,;1'23($#&/@'($%&*":&3/?',?$K,#'&/'#&/@,&?:&0?-'K,/0:&3/"#'E%3@%"77&/@-'037E&#$%?11

<781'&1'01'-%#"02(0;1>&($?E%$"(',?$'3K'#3@&0T"#@$D%"'&/'+6''7$"/?'/$C'&7E3%:"/:'E%3D#$7?':3'?3#*$'C&:8'3,%'K"*3%&:$':33#?-'"?'C$##'"?'X3D?'K3%'7":8$7":&0&"/?'J'#3@&0&"/?1

<781&#11+'00+*1'-%2/01#(1-2071'0&*+);

Page 15: CLiCS: Categorical Logic in Computer Science

! !

=$//*&&*&>?%%#"0$('0'*&1#)1420*!#"'/2+1=*-2(0'/&

Y23($#?'K3%':8$',/:FE$('#"7D("U0"#0,#,?

YLFE$('E%3@%"77&/@'#"/@,"@$'J'E3#F73%E8&?7

YI$E$/($/:'LFE$'L8$3%F

YZE$%":&3/"#'6$7"/:&0?'J'[,##'"D?:%"0:&3/'%$?,#:?

Y\"7$'6$7"/:&0?

U)%33K':8$3%F'3K'+#"??&0"#'M3@&0T23("#'#3@&0?

U]KK$0:'K,##'037E,:":&3/-'73D&#$T@%&('037E,:&/@-'$:0

U)%"0:&0"#'&7E"0:

U500$E:"/0$'3K'7$:83(3#3@F'&/'7":8

Page 16: CLiCS: Categorical Logic in Computer Science

! !

!"#$%&'

! >8":'&?'0":$@3%&0"#'#3@&0A

! B3C'(&('&:'037$'"D3,:A

! 5EE#&0":&3/?':3'037E,:$%'?0&$/0$

! 2F'C3%4H'I&"#$0:&0"'0":$@3%&$?

! )%3?E$0:?'J'+3/0#,?&3/?

'''''''''0"*$":?H'*$%F'E$%?3/"#'*&$CE3&/:-'E,D'08":A

Page 17: CLiCS: Categorical Logic in Computer Science

! !

0..)(!"#(&-+*&/*!"#$%&'($+*(-*12

! ?$7"/:&0?T($?&@/'3K'E%3@%"77&/@'#"/@,"@$?H

M&?E-'2M-'ZP+"7M-'92&@*++-'NM,"AO-'$:01

! +37E&#$%?-'E%3*&/@'3E:&7&V":&3/?'&/'03($-'111

! 0":$@3%&0"#'?$7"/:&0?'3K'?E$0&K&0":&3/'NC3%4'3/'./?:&:,:&3/?-'O

''''''''''''''''''''''''''''''''''''''''?$0,%&:F-'N+2W-'2&0%3?3K:-'$:0O

''''''''''''''''''''''''''''''''''''''''03/0,%%$/0F̂

! 23($#&/@'(":"D"?$?'N?4$:08$?AO

! N":'#"%@$O'K,/0:&3/"#'E%3@%"77&/@-'#"/@,"@$'($?&@/'NLFE$'8"04$%F'_'6)`O

! [3%7"#'7$:83(?'"/('8&@8'"??,%"/0$

! '&/:$%"0:&*$':8$3%$7'E%3*&/@'NBZM-'.?"D$##$-'+3S-')!6-'LC$#K-'BZM#&@8:11O

Page 18: CLiCS: Categorical Logic in Computer Science

! !

[,+W'-#4N.X+,"140.).41)$$.4)1O$'..

! (/%(L0.()#'*+,%-)$./+*%-.%&.(+1O"#',.L-%'&-'N.c.)&3.cc.

E,+1.!-#.V?_d'-?AN.,'O+,#0.2##O0KK555I3%4%I"&%*'I%#KO',4+&K<+**%:K[\!e:(9LK-$%-4K

! 6[[L:<.c.)&3.cc0.6O,.>??V_<),.MYYM.)&3.e)&Ya_d'-YA

! /cF:6\0.<)8.>??V_6O,MYYM

! (<fK['&&.<)&%E'4#.L'-",%#82##O0KK555I-%4I"O'&&I'3"KgO$-$"7K14K

! D,'8.O,+W'-#0

! /!D!L[Z:\:0.3%*%#)$.$%7,),%'4K1)#2'1)#%-)$.R&+5$'3*'

Page 19: CLiCS: Categorical Logic in Computer Science

! !

!"#$%&'

! >8":'&?'0":$@3%&0"#'#3@&0A

! B3C'(&('&:'037$'"D3,:A

! 5EE#&0":&3/?':3'037E,:$%'?0&$/0$

! 2F'$G"7E#$H'I&"#$0:&0"'0":$@3%&$?

! +3/0#,?&3/?'J')%3?E$0:?

'''''''''

Page 20: CLiCS: Categorical Logic in Computer Science

! !

92'.4)1'.O%-#",'III

Page 21: CLiCS: Categorical Logic in Computer Science

! !

III3%EE','&#.$+*%-

! /%&'),./+*%-N.).O,++E.#2'+,'#%-.$+*%-.3'4-,%7'3.78.e')&_hH'4.D%,),3.%&.>?VQI

! ^)4%-.%3')0.)44"1O#%+&4.-)&&+#.7'.3%4-),3'3.+,.3"O$%-)#'3I.92'8.1"4#.7'."4'3.'`)-#$8.+&-'iW"4#.$%R'.3+$$),.7%$$4III

! !#2',.)OO,+)-2'4.#+.)--+"&#%&*.E+,.$+*%-)$.,'4+",-'4I.D,')#.5%&.+E./%&'),./+*%-0.

! 6--+"&#.E+,.,'4+",-'4.52'&.8+".5)&#.#+N.+#2',5%4'.E)$$.7)-R.+&.#,)3%#%+&)$.$+*%-N

! .6]j^.%EE..k6.l+.^

Page 22: CLiCS: Categorical Logic in Computer Science

! !

<8.'`)1O$'0.d%)$'-#%-).-)#'*+,%'4

F%-'.H',4%+&.+E.(",,8.Z+5),3.-+,,'4O+&3'&-'.E+,.c&#"%#%+&%4#%-./cF:6\./!Dc(

! m28.%4.%#.&%-'J

! D+3'$S4..d%)$'-#%-).%&#',O,'#)#%+&.=>?AVB

!

Page 23: CLiCS: Categorical Logic in Computer Science

! !

d%)$'-#%-).-)#'*+,%'4

! m2)#J.X)1+"4.#++$.%&.O,++E.#2'+,8N.#2'.d%)$'-#%-).%&#',O,'#)#%+&.42+54.#2)#.+&'.-)&.#,)&4$)#'.-$)44%-)$.),%#21'#%-.E+,1"$)'.%&#+.G")&#%E%',_E,''.+&'4.i.5%#2.-),'I

! /%7',)$%b'3.Z%$7',#.O,+*,)11'

! m+"$3.$%R'.#+."&3',4#)&3.'`)-#$8.528.#2'.%&#',O,'#)#%+&.5+,R4II)&3.2+5.%#.,'$)#'4.#+.+#2',.4'1%_-+&4#,"-#%H'.+&'4.$%R'.,')$%b)7%$%#8

Page 24: CLiCS: Categorical Logic in Computer Science

! !

.d%)$'-#%-).-)#'*+,%'4

! D+)$0.#+.7'.)4.-+&4#,"-#%H'.)4.O+44%7$'.52%$'.7'%&*.)7$'.#+.%&#',O,'#.)$$.+E.-$)44%-)$.),%#21'#%-

! 6&.%&#',&)$.-)#'*+,%-)$.H',4%+&.+E.#2'.d%)$'-#%-)N.1+3'$$%&*.#2'.1)%&.-+&&'-#%H'N.%1O$%-)#%+&

Page 25: CLiCS: Categorical Logic in Computer Science

! !

d%)$'-#%-).-)#'*+,%'4.

Page 26: CLiCS: Categorical Logic in Computer Science

! !

m2)#.%4.#2'.O+%&#J

! X%,4#N.#2'.-+&4#,"-#%+&.'&34."O.)4.).1+3'$.+E./%&'),./+*%-N.%&4#')3.+E.-+&4#,"-#%H'.$+*%-I92'&.%#.)$$+54."4.#+.4''.52','.#2'.)44"1O#%+&4.%&.D+3'$S4.),*"1'&#.),'."4'3

! c#.W"4#%E%'4.$%&'),.$+*%-.%&.#',14.+E.1+,'.#,)3%#%+&)$.$+*%-.)&3.-+&H',4'$8.'`O$)%&4.#2'.1+,'.#,)3%#%+&)$.5+,R.%&.#',14.+E.).S1+3',&S.=$%&'),N.,'4+",-'.-+&4-%+"4B.3'-+1O+4%#%+&.+E.-+&-',&4I

! 92'+,'14=VTKV?B0.d%)$'-#%-).-)#'*+,%'4.O,+H%3'.1+3'$4.+E.$%&'),.$+*%-.)4.5'$$.)4.)&.%&#',&)$.,'O,'4'&#)#%+&.+E.#2'.3%)$'-#%-).%&#',O,'#)#%+&I.<+3'$%&*.#2'.'`O+&'&#%)$.k.c4.2),3N.E%,4#.1+3'$.#+.3+.%#I

Page 27: CLiCS: Categorical Logic in Computer Science

! !

d%)$'-#%-).-)#'*+,%'40.MY.8'),4.$)#',

! c#.5)4..O,'##80.O,+3"-'4.1+3'$4.+E.c&#"%#%+&%4#%-.)&3.-$)4%-)$.$%&'),.$+*%-.)&3.4O'-%)$.-+&&'-#%H'4.#2)#.)$$+5."4.#+.*'#.7)-R.#+."4")$.$+*%-

! :`#'&3'3.%#.%&.).&"17',.+E.3%,'-#%+&4i).,+7"4#.O,++E.-)&.7'.O"42'3.%&.1)&8.5)84I.

! D+#."4'3.%&.(L.)4.).1+3'$.+E.['#,%.&'#4=M.O234BN.%#.2)4.).&+&_-+11"#)#%H'.H',4%+&.E+,./)17'R.-)$-"$"4.=$%&*"%4#%-4BN.%#.2)4.7''&."4'3.)4.).1+3'$.+E.4#)#'.)&3.'H'&.+E.G")&#"1.*,+"O4I

! 6$4+."4'3.E+,.*'&',%-.1+3'$4.=5%#2.L-2)$RY@B

Page 28: CLiCS: Categorical Logic in Computer Science

! !

MY.8'),4.$)#',

! MYYV0.,'44",*'&-'.+&.-+&&'-#%+&4.7'#5''&.3%EE','&#.E"&-#%+&)$.%&#',O,'#)#%+&4.=!$%H)N.D',&'4#.)&3.9,%E+&+HBNH%).L2%,)2)#)S4.5+,R.=96(.H+$.>TBI

! :`#'&4%+&.#+.2%*2',_+,3',.$+*%-.H%).#+O+4.#2'+,8N.^+3%$.^%',%&*.O23.#2'4%4.=MYYVBN

92'.(+O'&2)*'&.%&#',O,')#)#%+&

Page 29: CLiCS: Categorical Logic in Computer Science

! !

(+&-$"4%+&4

! m+,R%&*.%&.%&#',3%4-%O$%&),8.),')4.%4.2),3N.7"#.,'5),3%&*

! 92'.E,+&#%',.7'#5''&.$+*%-N.-+1O"#%&*.)&3.-)#'*+,%'4.%4.).E"&.O$)-'.#+.7'

! <)#2'1)#%-4.#')-2'4.8+".).5)8.+E.#2%&R%&*N.1+,'.#2)&.4O'-%E%-.#2'+,'14

! X)$$.%&.$+H'.5%#2.8+",.%3')4.)&3.'&W+8.#)$R%&*.#+.1)&8.)7+"#.#2'1II

Page 30: CLiCS: Categorical Logic in Computer Science

! !

L8"/4'F3,a

Page 31: CLiCS: Categorical Logic in Computer Science

! !

[,+4O'-#4J

! L#%$$.5)&#.#+.4''.1+,'.5+,R.+&.Z+OE.)$*'7,)4.)&3.3%)$'-#%-).-)#'*+,%'40.G")&#"1.1'-2)&%-4.)&8+&'J

! L)1'.)7+"#.4#)#'.1+3'$%&*.)&3.4'O),)#%+&.$+*%-0.).-+"O$'.+E.%3')4.&+#.5,%##'&.)&852','

! 6$4+.)7+"#.4"O',.O+5',.*)1'4.)&3..,'$)#%+&42%O4.7'#5''&.E"&-#%+&)$.%&#',O,'#)#%+&4

Page 32: CLiCS: Categorical Logic in Computer Science

! !

L+1'.,'E','&-'4

Godel's Collected Works, eds Feferman and DawsonCategories for the Working Mathematician Saunders MacLaneThe Curry-Howard Correspondence ed de Groote, Gallier's paperProofs and Types – Jean-Yves Girardhttp://www.cs.bham.ac.uk/~vdp/publications/papers.html