ࡱ> 5   {`!\S/4@DeFY,-KGZHD?p- *Sx̽kG&TRۚ}Q{PgnfvmgYZ&UN;&3,#o|^Qi9'nLWw0'9q✷=~|z_QoѣO/_'?=g?wVޞ1{o=o_o{_[[G'G|N`/ٿ#m)o_]xe=:yǏ'?>oGۇGo7 nm߼ݟsq㫋_|p;'O^ųÓOxu7Zۏn.> /R壏K{FWfIwm`gW}r~~}sqxvvu{y {W/?_'wG%x:osr{w&wwZh# cmK@q7{_Oqwkv?xk?0!ֿ?xusA&]‹_:psu9JP;'Z'Ewލ&Ξ>z(C/}a>oO/??j{h; ٗk/^_I1Ͼ[;Y*4j_hn^^]o&Fo_fr&pwNp^a5ow?^|}jmuqXgWWo!V(O>w;}~N?h뗗_>?xEm^^q5>I/W/P/^|?_lL=*r(w곯p>1C4Z_~qonpx^zuuy}M+ëVNWY/~rwBXjԔǃmLJ^l-^x%H{o-_Or1ۜ//g/o?Zy.U#KjM뫋E(ӫ \mg7/0W~p(F?;]ogzq6ےʇx[fV@Nn˧]0o!wu՗f;?olCj~ʭg?i, ~oBX p_}us{`k߷z"ͫ֏:~tuu*ݶr{qwN^8ȜUA+Nz}wɫ/ܜ}uⓋvf'V2Y[jWǗ/y|b66MNy1i٫'Q6;!I.αiY+ϖ2=R?Pb/yֹߴI}Ֆ|Coo? /?<`ć?ms9ދo]u0g@msq%ŏC;L]/!ՏP@ʹ˛7l[&'o<{u;9᳗_DC2in1c5seWBu8SkǀoR OkJ^N3z0h |{; M"yuӎ>>f"&=G^cEkW'dO^.zS\J']mAj_ 96 wY>)lg^~E x?)xQ,j,7<2j }H;kݹqϯ__K(FegU׏X?K7Ys,22I7}u7-//{ywÛF uquuof/14d-L˓[2ѿmmM!q 15y84rg,bOyG !2G}@O&P"p[<ŭcyx}~vs{X4"~իÓ/ѫg'_|~t뫳?^ygM"w/~~zq]'qܬ~sYҜfkVFyriߗM8#9rW?'z>طC͟ݗ;p`l\o瓯^}r ̄ί:JzL}O:CFn~/m]"8XInS (`:/g2):g4Gg*q6t5t{&l<ڬgp15 {f6o~v'/WPki׿_OUmN;de8//xuw"ᄒ_~vFep9 'F*"T"J3rX`Z%)i"9k)xr|ϼ#q2FT颭pOnxIҥK`9٠\v˙rOs7Fʙ>`=9',k+kGf'aef Bc Y({w~MD<0qM|㛇!=9u\g_/g;}J.dϞ~ڸ"ELOMc?6}o0ҽk̑ZkY떓Ygi-BMC{@~ѽ=U]ي/'O16On0pN2\Ʋ8.[WTC>m?_󳱴&\]_X*A?'(s~u}{2ڕeo.}7\g( Z,tg4Ѕ_~vH,UMvՎq !?|[7NVV:>eXaXGo֪t5.17W{sOE?a%zb!"NC9;!jj>6^-U,b3Z_>Xn,ϢzV?rkIJ9bOR~o'xmW'esPiJD0ڇYc{ ~9aA5  kc(>~:뮠>ns$UJC2uGۭVw\QTj`g FlCzd;R^&,%_oD\~"~:#ܮI݆|oYk~۠o#d]Y yM7]0nݏnOo0hP~6߿o KUy1oߞs&߁Zԏ/ ôT?tMPLIXgVsٱ`Vf*L& 'R4ZCB7kIztݛi^m_'<ߝA; _l3߻V{,m9llJAjh6B?\>P+%\>{]ǰ{;pF(Onh@\7muC#T ]V ψ7tuKz3؁^]G=_ֽ}ۅ׺#]ƴކ Q6>(BR92K!-<-'?=yc}({?>?|m˼8|6p바Mc;{?-4eߣK;N,O^>%}8UѾ껿//I6 o}9kiɛecO~F[ZJ`4:˽푡DYy|0iެ{ӆmⴃ}G3dFwo|zp&ߛϬߧx<4Z}hϚ}M7~K[`yP^+[}{{r$J#͑x28s=XW.CM"g/)~t9'A1 i[O?_燿M/.~ Z}ko{xjOjX:`zb4'<^`O]ab6\.49So's+(i7lP.Q!-lC|M(ն|.%-=NmvIy@$4OG7%Fk2x}NB4M=͡gŔXUjSElk*Gɢ {(el tUkOC)h-z$rZktXm|i&ax3 CeVR&I'4(hw*I( s_[ob4۔;b}sa]a'/Cͧ_\HsV,x65bm4W'&3EjumƆje;5ʣEtl`mA%6]`©%u̢O  apM0]TІ*]Mx^ s٭_bS:c\5̷0_Z9u} ]4T1_nڿ1/rϵhϤ\EɮlBHƘ2ILg8&C #aJs9)k-;s9Uȁ[AN1 ޣGdƥ8cr}sT A+G?i1o 2mmC#2)b@TbA5%,(4leFT&vװ`^ʃ dx\sUkYl:>1i$iS#ve޵AMMG=m8),2!) rO>e-l@ A}Y; +e0K*Oe_8EawlsEu$AhCf@ 茟E{_<љ-Ne!6=VelAsAVԜDjͬ*YH%lH4.^ZJ{ʚI`{sdBy 붙Pf[쇷hmqcv.qu#XX2 ͨ dl¶j&`~߅㺴ѵL~?w$(BRđ7&/X:QX[oDe >xIGaq}ĈLGpq~aP| t6HJ7ݖk'f Zfne_ZVdlLҋ})wʮKְNb.&9vǹoXBY#峆 Z.AyepjcUb*D׸1jL x+5E -J뎱%JL+B >J ЅTHe)p,b]:b*10s+(jj K&6QZd?1Q5fDAK%-J ˦PvS `<`IvFBVvT5|%2MPk`]=lMF݂@,9ȆwUG$UQڰj:MW(H`q5dl`l\k:|׼k:Edc+ 5HM5 k/N+ NlzS~Wt4 7}} Enʚq"E?F**ZZ"&KbNhPR*MlVSZ-6杽[ 2E@~naUj7,U] aMCJtvsb)w[@d,͢ekT7ZעM ET;L$\GB JzqW5)bՊ!ػVgW|V(gauY OɔkfjŽ9_V8t_Mg(Ҷ#3&<-VjP/C!@32^lŘqpZ5-&uָuڗ#WcՂ핫[%eu $&b7s/5hǑoҹe-JfJT&hXl0U>~^gm(8e'bFt%wK'G0mvpBOuڢY0z7<|+7tbB}ywĢ~P MZv4=Ӻ;zLʲ{tPҶ}ʃnHCÞ-e+6jE".IYᄐ|-'-;fpϓv쩫+YMjMsr2pX;P'ZMȒB> ֔PA)RT *`:dˮDޘZ?Q|f?&糍,eJKDIlC}ozt'˶QU=*P}r$}"aU[sR䔤%/?Yy7D myr٭IEe'hofS!\׈m݌^MQ>_>IF^c*aާ^vSl{]Hb_k;H`1X 8 "H+HCW`Zщ Q}}tN1g #ړ`&{JlUO't9-uV,5zrC l蚾*孥Jc =7KդD&G= ޺-l;VW*0UٳMܘ\ ,3yy;[!MZ/g5" M}U))ODUþqQ}7Oκx&,#֎E=:M:1U I[RIݒb2W gRws98sz>v00.-% HgAsj4a,$1 .RWh( 洔ǑF(iqB;Eɒjq9 wD[&^Gg :%#0魳1V鍬Ҷ]&ĹL̲nG GG#䣡mg{2@ڡnrR`Qogkm89x΅&%%ltRbM;}aͯ¡LSwVJQ8 NbEKex NN c^n N C[e)+WVug5^Ja#.+'%pIL8iV]?pUmbmђiHo%n2 ,bHUu2D;AM>".ܬ+tw1V49)4#<S,f.  L7LU{w>6f>)ko8vpf;z-(xH;kgKTXC\oLg?u 5m*GTezo xbj5Ų 'Cjj!>3g?A|aԪ3#U0Gz3ڜxi TJYs/y]>IļmQo!T6'[VLXڒ5iW~fR8&'R]òE+k5~^>/7&u*:_בkcg] l]hs?LKeuD6oIq;kۦۅۙrZå]X$/؅ L:lM$d~| K]=6G懇QU/ESa9 Nʥ(ڱ!kaluVuAOg "X ,HPê'ՒW&u `0|ܐR!zVW[*J=6fFpp < .@s"<'dS"?8^ (+}Bye&KNzxEWX{M gBV`(V(ZyISTgJ{zRRwf(Յ#Tʢ[kxqpKN! W@ ދp |9a@Z 0#tRbz`+aUc\Z)P7T@)SxJZe֜c7u)"l+S;A0JY1ˮ[uǛ_ct1G|dLڔAݦŢ5,ee <.Ӓb W"q*,iiAUEK*pN:}`n={U۪T[z{GJY*pBT骛V HRW9lje doÑ $7`IJeD 9Zꐮpi-`oNbTEԖ"y!u@UmEѦ%keM(mq: q$zIsk +R ۫ev>J Nvľ#&wf:ƍljSf26%8Z1!嚀XnP c&|R&C5 Ro!8պi`( K bh!*NpYCA犸W "FHlqU$/Tb#-A/Ƀ)0)` +#355p22PecPmgI]=.?7ʢ7u%t.*Y[׊bXPk `mC[xۘmQS?\X۬9Oếp1]-l\*Ya52F޼)d YeUȀypԩeI@TSKD 1ή*XCh`LM/!)Vy'Z7 OQe)yf4#hT! R/ZvVRc7 3A>kH \J5E[B Zo(BtzwLT^WL-_O%zD#^1ULkMGNK%{s -cq>&>=Wی]jL>%@jdwa}DwT_tS%ȢN-WScY/!:n6զ-ƥ+޽Gl@r U.t;EU)+`I*";>9Wo;$W. ɸP#1+9 )ÊR W |Il{"IHkH>ւr.@F}%0[5@h൫O='VV|R%',KGHP8d]*WA4N;Shߨa@ J}&0KG-l ^8hGhzX dƛL$<Nr. >#eKCnfR''c/RWacv-sȐKUj/`IxMcJ#4x41" f$SY,U]8mHʄ$,0:x+/y"HE+*DF[6 2_O]B纾&+D[/4LXo,^ɻ3-{;Cu>SUP.{Vo.c'rƹSCٰry u9&zƝ"ez;KnWFog~8Wk/kcjR+7+Rkt rB, ]ܘ)FBB3ĜJgà*fӗ ۅ7$r` HF2gL*oM}u&G7J ;"@^3'9_I=SW$WՄ#Q]oST~Se{Umrw+vytLTN6iCPGR@ftM匂 \̫شUv\A!rPT^7hh+#Dt&Fuqbsʶݽ U;+MXIlSgtC\f>Q"Bڒ A7 QwcDz9~9A!)'=x/8/8zˎ Nۣ÷YiQ'UĽ>b}slJn->J)dp|DO $ ̵"a3CK]|(W_Du52̦e?&-_˗DCǀ7IuU8q(!r&7z(4,1_Pu2f`wm?8S#v;D1 ?֙ Z(X0EfU=,(^Qgs+ag k.gB1I_7^&39l!+x*j03_&Ezk=Bae@_5f4 uhXS$աeETc6LqWu_/$Ekn>M@m䴚Nn,%+ss^r9e9}(]pIB:%p"~e= 2>K;WmXF'SׄU_`[,6xpR t7*@C)9*LTyn( L9X %^[w:p2R`БI$*H\IMk(UE\%[I| b ygx0L I-DKýKqܾUƷV{kadRMJSMF1$O>xmP5n 7ܳ2P_8ƴ b:'1"&zT]f I^#MV%״%:+`1V)դ]NWũ"V&D^~V_:tIt#T~n+׭NXXYq/kk/;7h cRNYjHr|A/Xyٕ܄*Zt*n8^%| ,ᝧNkz'7wu&|Zq b&nhbfu0}MNZ9a[]ox ]]9ʼnqvvTybմcQd/Wĺ74fFǥVţG ުG(ijr3sWddXnib/jM( U}A'>_G9G]6>\ݺqAj׽ 3;K+z(D7zgod"B/Nf0Ɉ&zf% \NGhp|؜z1[XJıȬ<:MD c|+Z ! SR,Bhzh=&`$j1nqUZQNDXZ 9mA EuDsNyiQfE$&M6W^-H£^(R*ΐ1,xD m%.Ĉ0lV!A`q|N'^6|'%Gռs+E^&AڂX#aHH-(+-m%eB\LJ*2І7p (D3tTs XvYK.km٪hނ,="=; JAUA0UFy NJeF8QNLFcxHJ\Zm"޻KB D|q5zKL=]ĵe[4-fJ 42 u w)[gw7FZM*AYu U/B~D=r z HO{hwK=\ԣVJxHw0jj M)։2efMEHh$LvqK'FcQ=W[}Rmw @qTK hښ( q}2%SZ?@2zpi 0 Ȉ`x":̍즲`4h-,'鹄 RųQ)x5_H ܦ H%/GR9D7?]&"d70ӓ),n]!-FjU d"٩oDH?c;FJPD9^(QI@M=JCz4k!܃;܍ȂvqE0^I품"L@YpPU<2>9_7SEfFus#2xB1)urF^2G9%*W1(/ybi=Yo*LÔEPj΅[#RUJ";1YI]蝚5T,ﺘ)HQ:Ar-S$%L:s~/#ɥxFffM5n\KT.ׄzd "5T&JN!26dWϫW Ȫ2i:n+d/RLɼMVM <DROBQ?3K 0 Xr$eb:i :xTIuB\0Y\1@D rHHP۩&\bL6]iIrG^U|fh |陱+dW=qL&Jl))rC2x$>8xΤiW*DU9D`~& S2pU&T j!DT&K#f# l&uNOmEl۩L9[FO-`܅S`EyBHٖb`VRCM.Qt$[c>W'R$QxApxK&]Fe%b8VW^!Ä0(TJ`6SzOzζ)*T ި10O[(b!O9.yv)Ay( [E]XPMX$ٰ:@DLAv(KX<(-w$zIuelVn ^2Y@_olU bvIyS9tiD+VXUfaVa`6wpӌ-lF:"z@Qӡi$(VZfxŭoN$|¾>{Xo.TB|kaLo=g5`cD~ֈi8&cx @ @ !C⏞Wj2<gROwa퓺)_ħT*;$' jNPqA gHb1L$1#=ѣgBuc Pj9yoYM$)GPkq|'c! `R-YiE;y <HgL! 8h/I (ZY]Jhh+zIo"T51MFKgnE\~doVyD@>IyUzg Udwˠҗ+fFA䃱TxT\i4@<" @z@v'iGCD_ Fd8Hgfq`jBJ̮Ӂs!F5oĶȬ7i VU{#d 3Uh۠Mw9N`2{LI3\71p UNOq"B4nx2YF#ϙ>FA[<./y鏠%fxT[ Ѧc[ԙ[S$y&5vzM(vχPKA3Ӵ/f#K\y!K=#q+Hgn$ )!ή{ዟ%gnȕ*bnĔ \~dth,~pw~GX+* nFV(瞵jUmFsgmYvO9:{RI?vkO}dAb`M 6IR%tIxyJl10\Ԫ 1-$fIO{^sauғ"zal.^׺#V]/]֨Ds A爔(q QcsD :$$[X_I/M HpkٞiSFcCRQ}TKW)CR>w?Kg]\TU@C gR+Ml XTᩉDS5ճ1@7pil ȡT)USg%6ƀIjozV2O tX(${|fܢZ^s|LLmNOA#w+qd9Yq JD>#7-╸"J[HB*4!;Ku뎉HSΙ7-1Ј渗1JOhW *J%ORE&BA2y#RЊzY"YX,*M_t6LqnU߰9ۘmh"B .@ag8+L4bMYu+j; 1QO̩YZz_Mct}^qM`U0z/o$E\rl;/"ŗWdPG*7-`HX&l."XGIuXn.zy4=Gs3\RV}s)v9bJEsq $7E_8֛ދx&V@lwK Ҕ3KG4 tuk!=~ 0&:!)tr^bKz&6р.1,b'"Lhv|Aިy_U C6c!/Jfp+{"ԉhh^U56hjƊ4V*1-Lu461=l΅>#Hfi' Yİ9bU/9MCMK:¨/~菑(jTf, $A!FԍHq'Ӵұ;VwC5:h)yz("9C! _dn+b7e=Ꝥ`&Q&LI_aE{SCܞ}.S>vuߐ &gu,{Mԓ*/G&YY*Yn#JGm C2|J!6Y"W8(އ^vK9+=wT펆Uu4sPQYC =BX &hX iҷiȰݓcM_{T;YU<6sARdjOm+Έ^γkVg(S $j¯-1L da6sd˕e!0u[^\aI]],}0J%({?hŕBT$stl޳j́ @z[_;Muu!d ^ v`z |^/ Uj]w eEQJKғ笑P+!(KKMw >Gĝ26Z?и1zX.!VB`?_0|QA sGcȥXVȠh V/@I_`<$]lv{YPHʝt)>Z*As0AnA</8|x,]]E#H!vt}S7;J" 91R^|qA2TapC=,טpNAF}ny)rϢhͺ$nDU?G`LC YOGGg.=)utd4eE:`5Q~j].(9a弑."LR]^iZ1H$Q/ ?H:BHוz%ҦN +&ؒؖ/?$1Ið A$#%VH!i_ԋ&җRRK4=fU^90ԤP(9mCj4p#r& 0QfnQ+r/] sg.3&X 8D`+ E4]&1J/ ?Ue NEz 84ubVɖ%PMpX 8\+)2-g)IqgQ-sN#~̡9ğBήߊeu?`rnwHn9`G:cwI._"(DYNwHg'0'.!܊0uB_fY *?Hޯ>hj-$pS"7, hRZ8ܠ <~Ro&n&LPBHY%F NGiHIR~ $GG,@՝*NbN*79l*mzTNEL^|ԝ"S8R2ɏ7E/.Q3C^,e`SdV@Z-/ebdYQ1eVF?،RT/8C4t 3Q#٩E%͝=W{._0[N5N< 8AbKJe<?4CԿQ.'b%']:oGދ}!lދ⽈;15m^ ދEPs]mas^ąSQʋ"z#0Vׁ1p%xe <=XU"Ax% ^,T[!dh$S沔A:ӫVvN^C 7,~jiqq=x2Kt'"'t=&>8y=3 n ƬAfqĀ7Iqs= zp> /&eCVJ7Ϩ !UlnTb* ;MCZʉObUz^0i* |=d4ڐ{bI\xM\rS%$)@7-}Yi!胴||k· '#>.·yШ7YFcZˤ+c# 6י26LD&5h)Zܱ{^3 qd4LnNk&NGո;[Gˤ(zi'ɑ,%w0!"]M "[¿D5V[V#&=miva >&Ji嶻k#3E FXgd_W<^%E:L.q jk=h~K>l|3M*|Pxه$ݕvHQ(Sǐҳ2k*]qA/,+8EdTQ&%֒` #Dh o2{4 4FDbi{-dqj{ i& v0)HTO&w{\KҖ4#&#g^2l;M; 9?lHrf%Yh6sQYȮ֎:e'qu::''mfft +lj3yA425$m)ѐ#f<UƒB&a4#nlA=>ؖyG-yOl) a{X 9~zYvI4ʛ,Tq5#/SC䪏V 85}r oFRh%;9[O/i)!Q94N Ϥ8@%#DU5yLȬV3*" |h2Ahz" w:⽌R<(%#SA&Igx2-E#Bexj)S%x%@|X|P5;LlQ0QE. B+JzqDx9@#2!A`dp ߁$q[iX&!}pkK `^Ο{@;I=6_LhH؃/$Mþ zt0ao%NU)Rez P' Vyƕġk9(Ȓ,n輇.W'{L_1R?xx<@wY⃡:MSVfnc J3C C&zFt@~Q=$J# @dQRodd+'Gu =  5:!=eE75Ǩ1i;dwEYRPԺJ 7?y%H0KxPU#3hFF̗mF`1\Z =݀I@"lV ".l@1=]hpBL0 +5+PjdDLӬ+1!dD8>'dA] Fa!=\ w8a|D0SX6H``"VP>̙`6K08픬٘5@ nIiGR݀ Vx.f+q;F !1R1S)[\^+%(A00u*m/Vr_k_(jJfxZ+=Qĥ9N [{0X$]X N#r 4)"Gllg@ɕ$77'(2{x vVF4+W$ h"5X(RqKrÉkbIYLUN%* R-~+S m=.gDq8?04<SPhf&c4YH4ee$pFK3vĻK Q[m@5$;YaE.$ )^GT]g^$5Yn|-u": l+žY)L\q(Z#ݐs4@38/bj-W,`:M."ɧ\4izG֗+ے#%EѨPZ}y} yK貾yrAbpOL&{{k뱬vn#^gD$]xJ1(?~(1W4bvJYTz=s>(ٌc%^Z$[ZXhg驐O_ۑc4wAΉÍA=8z[!r5eYw"ƫIZXVPS ٟբr]si:TY.b +b{$c{W:c|,=RU_T˕}V5Z)^ߖ 61gJĿGN¦zK1&{[-pd/IZ@,d u ߖ4@!0]bp"۹@CB][eEGU1־ȿŢmx1:֪*e۱"V-5 狈̶o+$b8 2λYv +C#"{*Jrcqq=,U_KIqh)~3O&nu8jP"i ߽WYzu*I!%%ƒa bѣY5l>ز6M`˱6n[M$䲆kXhXӊI`f# ԝvќR3+MA#:c۫eVV>M鰔/bFm'jUXS,]3Eg5zs3W_GyH 9Z$uzMFL7\_jIIB#ŤRٲj8Ne>iŨsQ\#╫*(+"Q< lewJ/@z`"^D=+Mz A$ek62Yqsy `sU 6&_JgFڈKViVJrEV:1 `nS@1h\KQ([-b!G{]|ՖWf,\@r'HΖNWmOnsƯ@ s!Vt#G]wpӉ nY4Cg˕Uytl}mpꯠ2bl2]F&5'w) o#d`uveHbb rάn5`w P]̥$ ۃP_g:o8<@㯭%!#m_攍-2Vz׉k">Εq)FKb2o 92-4FBIT->'mVV{dQ%[(TK/^rѺ@6 fYZz7ٕGEٛNE`2jИw1D5R.{fY>;Xץ:і5#RsQoҹUƂ/g Gn #* O񀜊c5{_"Fs-=skRŨ#>/rE!cqHC()5OwꄚI pt*fPQ:&ʖ2:53WX8aH$XToAQ 'Ė!ͨ(N*hq]U[#VZջæ58ފEA:=UܨY[I)2dCRC(X{e&w5d]b$LLa)65Lh*/S(Z^,+uRzҊf| {l %Q3(5^RÜXYA{BݵH`kJ4XRGL"R|fba5ծGP~V:i)FDzsI.DZaTj}kpBPB9`إlİ.\`LrQ?ZzI\X@SR0D?c6 mh %0@d͇'I>sϣ3!y@baBCYRFfspQ۪e?b=Sx(ÉR+r2SyD'jq9;;,ĠTe|Ru-uē,/UosF0Mҥ4]H3kN%4\.IVuiDuY%D|Va[C{ZKȇ64֋zqJjZƟ|Xto)9KEM0 eT1%|^;. - וL=?guZ;Xk6p9?%u((D[H#f}80c:LK$HҠ>H3gc50nu Z{ڀV̠^M'&5SLw4A)#{Eߺi)#(ԩX_miEj:јiQH#I\9 A/B#r hu(|"z `._tG":^/V>mv7#I?"6O-o/ISq$^eF?seA h҈W:_vuXMUDZ"Q烁-0BHR86#`<PdvTvH <ΨnerV՛',fFXYH[| 7,*7}jE}`I'%?;8r($ړ&yua{3A& q3]p) [R"\wt>PʦXc**:^l^ʅtmVu*jʢU\cD|lMVTLB._?M_? ſ?=$U0A"5+PWu21Or0.K11` @( ]8{fѦZU.k#*(S7LSfK/!ZꪄlW=m,"K|uF/q^4)w:|[Ydy]7Ν|x ݷ Y2ްjV+?H<e{N_d$-/܋feyH2z aK#'>R8/Ģ&/{bWlu^$V}Hju3_LmfK D7J2z!*C;Bܸ٤0<,z|4q7ut^ќJ碔zH,Ĺ-זF8["F`|oHM,L޽Ҳ/6Y"_I5hmܻTύ6=_ FIG$fY.354p>ؔ9#Op5Zabd 2Ҕ TV٩`iQQEF Tvߙ!Ev_hI)|Ѷ_発5$[]ȎÈ?FH,Y&@uF1yaI. D}(UM6M8x*!O<\b(Dϓjq@]i2@u\ۿjEQYӖNL=7TV{r梯 Qhڎ ٺZ.oz{8n ?md/I>Cl9 ꒐7S02vcbKQ#6%̊"'Cnq`FH5KHS?/Z#iEΔɵ8yZ{A##nFԵj 玍i؂_W1d快8PH%UĚIqR>t!2x[l\T|gڣ98QnFAk*HIha C/wM:뮬_}H~t$\@x1}CBw=4bo)f1FkIfuJ %`V!?$-X|kLe'wJ1*3FRW:&"ϒ:V _uxrZ")?\@e @3k`M {3z\TCN+"=9<*my&KzFOۛե[>]v k//kx6Uz o~uE63=@7o4_ wvv 'FT/*H_|j\}l=NkL~=0d[ˣɈtEO F+OUʱahWWUJY9 OQ /C}.!JcGDD[bbgҪ+-Ok};P"xyF>˻HG"#[SV%L|tW1CF5Ie _LIo$*zpXCvʭurvQ!1Yb[JY4(ҕh":.IRݺ45ֺMr}!HcvΖ@>pʠ0e-)c9>,,l En(dfmD677axЛm3_ICTy)nrw\2aWoDX XEAv_/$ٓQݽgv~\/j uaJ#ĬbQ"@5٭ h=3Uvjupt+:h !gb.R'i4%j$(35Dr~ioϴF%`*'xkKffuδѬyC:l* 6І&.!`9dX=/FDeT~|aPHqe?j\]Y,WS2h& dŐ~mFT4͔uHIғ/d[J֍`mjn=σ;mZoU]ӂ4G;eWN+J+]5 }z@F-Nʻ{.ce*~RKȲ!¢ Tn ĝ+MnmnSxuت9!·Mj^؆NۙIJE:|u;˜ګRnk'Ip~RH% |WT-ߤQT"ļF0%?>ԋ3j ƨ0u[EnOAߛjPv=O=h n(z0^ 5/5i"{iE&TRڗW6`޿tR)Z:/uUjrFARTܾRCz^$sQn.+Y>K@$,i Vo8H F!ԿRnjRmg==d E޳!hSoWNYehkEuOX^ZP>/(W A4S|Wx.!$U@PۆZ?)tئΩ6˨Sst򴔴0Ké% 6Tpaj59sY"[ΰ[0I ;_[rOOZl8(TE)GȲ1ɘ|Sy*4G7P6nPFt];ND@UmGAIglH}BP5х@.TB'mWv9kQM;`0xq伫.mUie\5? - H^ ukHt%p$c1녶w_^ ә@/#d5 mX]S5X=b,ԍkN6[e)֞t2,.dujsCYda,p*`n6Ta=YdBT5Rbq6Ki˛HSRP?X49|ÇA6C u <ȴ7<ՇQK-}@5#C.KY"9qӊ.w;7 2S쑩iŠDwjpj{\bXTC=u>@ϲPPH\&۔z,_~Yg,i4#>5aMExň&# 5,WCD6U4'wtb9WmGtP".wx#u#BdnLnVQ&5{d=!m/7 Y${&x*2gNq8OQ#!PfQr L&6d%׋ ]SIebsS`^VHٔ=ۄNr=ajg"WVRiDǜ45ʽia=TzG ( Dô72&S㋅'gGvޒ Y}piP͔RjԽ@[;P~ Yʂ>~cj;: `gysEA!eaf$^Ԟ_xL*4لK}z=8H?!R ^±iW)$|@Tc@v2_4;BX"!܉\G*HKĮ3-be%+-!P=<ȴYAZMu&AQXL־d6)>C+AZiR;'>dUYNP1{ bd+RI401 嫬 r:NzqVI-G|uGԅCNbɗ~ovp J(m:+fi9u\(PAG6s` %m@ff*A 'f8ᖅ~I|lA}?CFr`uRړ{e(~ɩ;-M \Y?b=rjB!v`_șDu&s1eE(|,b* '@%oqɩѳUjdTPvWd[ꢏ VpJrpmjQ{=e7cDwp8qxm6';6z'~ ۇw b PؚXFm5R)z mXE.`3H|JT$PN )iSkXϯ˴UrAot0G̦мH+nΦ6,#םMB[ݻ$Ȥr۱=PD^ %t1uhe:7OPn^pHSF@2z عPסU%d:|:d%Cg1U.ɔjccWvJj r0Zyc :hs"q.lrCS$oǩ$l*^6# KW^ !CY5E)hjZ)ה!kJ+,w.7+y2hjCuuOZ TZ5ZGR\wuhfQ 3BcUKIR-o yc!Ϡ' ϗ)U%*oU6b%#=]+5Ż&i&3\3>[E)ou}[sXIKeD U#xwtR)SaY .۪Lg&V@8TU'Ob["Կԩ.L^um$#qnij~*֜Q5%JG9iɧ D'a>`x>5"W~nķZ_oY[wVotD+]u e|[\\|C9*8s }4a?,ιZ2*&{T o)=niH%7il٦1ȩ2x[T ,+(7Fc~V]쨯8M4ЊˢJŋԌ`.ՔC!=W@ zjs7HYK50Q.yvIsܗoc j|۬1.,1Y?f9t>b{ixe0tEs9i"."wF5̮nm7;vP>{Y*Oݬ y5B#O Ogr~Ζ ;R$Sդqsw:g /EX6.L$ՐyB#Rm*YK0MnJٹf5j)3VLS)|lQ(0"O>SD5%3EsA\Ni0lYY5p_$Gfg@ȝGf-rVQp=JJlԺ򉊾.e)h"5^PiR.\0%紪1xcVf^[qc%ET*RHd‹'R62a7GC*y r#9(-1lC#2Wd;uiE*6e\iN(R2YKIf|dwg`&/uAWg!%jY3.nX jJ#擀F^ͥ Gё<&+t~4Y^غd󘛢thEV$Jmڜ_&([u+ S ;!u~ռǡV8Mp^mdMBA|7Vĺ:NZBI O/2U=)2<\`8ӨZ2+_ *A< A%>i|S+ÆR/b긭SI96d$o>}U^[~T*Ȓ^WS_͗0GˌIO %`*K|)T4O拸6BUTf_E%>jj*t@թD(^EUp[CdأKB3Ǎ#++GZWQj%Z(s]R@sL<=4e*rVfa6T?IQ1!+OJ K(||-Tw0TLOeq(!%YTL7jJ_Z?1r̢t(7Gm O+t-yU_%b QolʒԘS+%|NrFl-U[pjΣ?]k-5;Fʽ*2GYhQ[JSLbK696Q2r2kXXΠIxa0FL++e/2SUlSBw& @VFkg`&vrhyӤ?B]?mv; ^OT8T.~+kB_!SmUg{T`DʯYIaF-FGVj}9+d֮QiTތ>\aQ4M \qWq%oGEJʡAm -{#_)GCV1eƭ@ q$5C"GXC7C^@TD[i,4,3bMe8e5Q#9[$#d _-IVue+sD-0Ip2xUX_?"GxAKA#*ǭQ].y<6i 1U+ehsr9x!B* W$trflT-I,\$w,nfZd^dpP9TL;YK{t^zVS vKLw$;V{V&k͖-ۂ^ +~Y=W|o^-Sh u K U\D=$J _ɨ5Jܾj!'4Y,UCbMU꫈$oib]]+;@zHw%bD#яCbZadBE U΃zk{5,f =TʏY~2i#&X%nsh q| f7l>@re9>FhY95\W֨1A>rb-0Z5?>F; !3;Et%qˌH]UOq ZU5%X Nvc>av"6Q aѾqѳGx=G0WGS3UXO;ڌBh_H[FrL꼜蜏o%X󆓷KA#DɴDZbO~7C@W >9<70 X]`!b ϑB("RЧJ . ]Ŵ B|QI O3m֊UE8=H6!|5nݎW[=%!SF)k`"ɪCi9Zq,DQQ:(.vUIW6CdvU PcQ+a`4Kb<ª# {՘?QU"<"MN/&>+x}٬ e$9^maI5eĪVm^m1p{qGu(޷Roj\, 7MUƠUzՐ!7{r>H ,D`hB 5{_Έ{gJ?/N}/ GJoy%|N++M< ucb.dhטJjSǵ.bͺ*_A)'󰓵(H=9Go, 8sZ(ə \.W&HqsY刘уY>\*ALӆGHo=W툾cX Daγ=JH_)$bۮ9B򐶎(< j bU_Q$Z`PK]vЮˁaʫ~(v8 8 fJ,it -38Wdx!!{8vq]g!:3WeC·ل:gj"EىHȈ2ZaX 3o=%E"f{U˵̝&\~q.4l2<$3=i|*.ަZSi[̂MWFSV?H#S&ás7sNbWsYd[GHh`G< 0i-Z}0\5U^݅v1Kj/#0ÚuWc)K7[d)]YI+()dZ^%Z]`tI7H#QLBuV#eJyM=Xv/ɤT|DlO$l<zHڊjWN?Uw!ϙK-{"y'dN$דa%_!dQEf=9^4xtg|v[=H;`C] hA=hvP^ b=8 ,MR8XE@GޣzI PW/ ?ڻ/N*ٗt>x2N/֛kťEbxjfKI< W ?IP4Xϊ3\m4vRj (T0ImZțS)CJ=8P&_DUX/#WСR~@ara%,Vysvr^gP٪LVydzw;0nH uÆ2YiUl7Hٟ/ tu9d;;ɚ\@]32M|YVߌ8%L{ث{o͕$g 9R21jO43i&d6\+{:@۔6t@V),5`r+_]C;L?.S#˄Lo~UntG O)( Kɩ2z. aV M&`RLTI =c|#E=l/'eZڷUp]RTJJ 8TB] t{ML `Ee #-W#0@뎎=X&&o7_^C5V&Û/)^E$nȚD"p90g63"Y'mfue; ,G#im$RM62p>= J*Pa-Ғ}o:F 2)&5, ˣD(ry3DNL=ݙn,;E ozF.!zQ23i}[I3T(^8~H|ƱMΦU@XRHkc;-tV4+o0,lu2lڗj(%Et2R׬Ps:ӒPKܖ}]VBռ`ڕ#֓Y{@q~!i,ڦ@ZZlIZXk)ͪF9@Q$4ϫG,j7@{ObS]'1oîË,]Y+W7R/a^Ƶc/L)'kMj(9ɴfZ'{6u\.JjmU8]Vi |ߪk\ c|сS*U GzI<֋CRmӛ-,^'S)/{Z-E7vI#i+/gA/{ٳӰS],bć;{zpm,oi% EXJ5_I<)2"s^g\{uL)'Ųc3u S#ĻaY $ګLG*IK‭rV!>J[QԦ 3^$sfDʡMB%n&$H _Ѥ\Ѥ Ѥ ѤhB7ŹmՕ m$ }}l&+(6/_H-]b"/XٿLvB 'X m[ H 6ҋr /Vw՘fwsڳHFӪNۤq!^Q$ K˖cn~T|ԑVDbF//i dSg h\>˗M-yNrDa'|J!T,E$i%)ȩΉx =4Pt[P.adÂK;rI/c!T1%rI.Y% z`]M8[Gtgn|'dګ7۪~yx~Ʀ7Ź-d,Bo.Dg!Rq/%Y [c?H#g_Z룈ČA}}A?H@=HෂJ"!Q3W}$T4j"U,h"<,D,aHKM^y$CGH$^VpaFH"R)ދ'RA^P$ѶzHf:"}滀ѲE"ߓDkn%Q$fHdX{(!H#!]o+?ǣ ֫t͏&>c .2smz1[,4]+/J"~,Y%$N}4p?œexΡw0ٖjAiEQEBU;@Mۣoy۵yfVnԟ1ʆ z*1_bTP̱CA;tu@JǕi4Bjj|$K* &1TFX(XjTh]Xz.&W;r?jC1+ִKEׅG C]I<Ge+"^s3yYY~H%ÊӊF D6#2:Sq70`Md:`f2 *<;`Nfg]m~<ʋd 2?Vr!V"("RÓBt@M*xXiO5}˽]:|0Zʻ1'ׄUUÖ:?$?gS4uXP wք Z@,ѵ,: v FdXq'\kT6I\^K[n߽}%N54mZAJ5Hy#^-w)'a e=}*-fh3:d*,%P{:upǜSEdt=s4d*ˎױC{&S؁*7A' A˜ w|vˏ`ZPl>pg/]7mM9 9o<*hf~WނF=qV6"C:/Q̀䳕a->KlLi25poxkυ]80V 5C=5n+usmz~84=$1lMNz9["voj+߽>KM }[Jiټޠr~Co#xD/P㺖Y.IcwsYt);ar~( Ľ 0w 3s[uق\w;+g)PpM F,ʸfVp@i*\k)lݍ=/7ÆION.VPd\ir1t~Ě/_B)&ڌ>hk^Ƨ KۂJ?N;$< (_DL`B]6R-K}_W!6 < 4[j?`6LI[BvHpH}[˅Q>mVvon SRl<-s)mzJvWP:lp t%>z^FR\MY7R7 2Q򵴟q/T؏~&yW[5S[= nF_Ӫif}"5lس$h-52Q4gl LT;^4jQň߻7ZŵFj⒅=!Wy֯G>/_nU b sZDg:SKͫJ6vi_PAzD]j'+rNr {U!ucic|箎3LYMIFzuWU[$CA 7swЬRFL\qBY0 x[}\E Ҥ{:8{lWuL cvzk̈c KSR> GfD?XНC]I,1e叛y=1yB@pr.B*M쐈N"֡ϓD88[7lVm<(-Z6 YY:@Ha?o,|nֲks&m߿L>>pKu,~;F&'{D BrդsװHu&ײ-_&r"14~ڜH3> p53s4/h_K~+y{Og4}?[Ep`Y\+"OncR 9ةw-U̐l . b1@d51m*>a0=: ~HoVV(Yvl<|\s'8HD}PzSLh>Fyǐxr:ZJ!6o)MQYQ\͙I267GN.ڰH1^~rՊc:SSMzv(\{1k!s`q-/{ W{ 吘.Soeԋ "#:k#mPUGiY=02r}A1Dj昔d3/yy ɩF)4JQLh.+"TT4r;s)4/0yij9 s"fjԛ~mbT!6dBR'c]AH1lx]@tD1m>>Ӏ=f䢥dj](+M'zcy))YB1)՜VzNn"z[ľ2"AzѠ[ jX #}aqL_`mi$_ bLR .q<ھשdΟu9z=w{Zn.OL%^A̛ab+ri}"aLxik]4npTERahDp ZΥ N~IވӫWˆ$-jTg<ǁgP7)"GxֵpJiΜT x%Kr7US>*T2u$\tB$o^s|)kZ`-v*F L1*B{&d riɋ0D%.VM(9 $ML'j>n@sWMS3G;;7?(|̅0A @\*&Y=ȋm'_>q/RSd  oƦX\B΃BoTVc1#-PS r`L^M82MC@7ť˝TEguCMEq`fIy*CUS Xd O6`nnz 007cLD3ŃbH]E8*gHx`d $SǛk*2O_XVw CnHòh9<޹?mec)t9RYSmJԢ,Xn3 qt,/`fΊh󝠡+J5GAZw:&i cY*yAxS^/qrI6ѝ+lCgĈs:svPce%s}PB_>ʹ2dnZrN$R]8 `*σQ$dz%27SvFޒmR8rNvo%o.ǷGȝ?20K ^.l9XƧ^_)Ht>''DVA:mXuKvqe=QtM Af&H_w~17k[NUɆ$LIڢ 4@GWU3.Nϵ4DΞ?mS+T zVp(x{jc'&0F}ŦXH4{)*㑕b+ArV;Vt,o'cYjT1ko[4rvOWlrF)+6/]բT Dk9DGfzr}FCȖsoOABmHƴCQҪCj#9Z*KdW*YϽsg:M{wlcnhʼ@k6j$:&m"qU"]2hЈq)6R*LtXJwq%9';##xKoF8y;YTַlC:TQ,Q; 7`̓sݴn֜kխZ8S@ka[&fh6 *2amEF \L!Uk ?="2j"HdM`{&m9U"叿'Qk<]*y mrр.hmEqx_,*\:s8'R7 $.KZTyU]MsBC/_`z62%u%XVYz0k_ߪĀ2T\,řptl8o =$K^IhqÞ*xBxi>`扺N|3q5Q}zr$uUk#k}ZaCKqu^-G_K]1GdQM=ۥ4#ֶ[W$Jt9Ãj&kLzc~+CU44_ &.s6\J.4cwD5nlA]ЦjY` N0*FES4g*,u,uTmҝ6#´qD."šTWF>BdSW*,"*l_d,Fnξd(x0ho# fRDmV]x,UCktˑlb9Eb"wH( ijXO+͏(xҾ3^|õXC"5v%>{K*$#UVU-UV*QoWW18Kc.Z FE<o]ܷ_G6[%?~kHHAՔѬ%vXNb%U\HA_}L`ojz*(d1M')%di-he$Ī',šx+9N'Jup2j.c!%$1V'eױΊN]c%ӖDyx-ս冮{UD&iR."+krノS)dJVbgtNֵFmw^mXRt٣2PUv)v]28qG j KS] &7U^⠤y[2[O\W(F+PJtϵbzL VʷMiՕ: 35=|F55d˶1ueF_Gu^ا;$trtZ "wvmu*57eJ\%_k,ْN]$䭸$uj]j%nԐoJw ٨1!2y.J83򞋶|SSE-Ew:Ty,;jMƩĹ" Pt\W|-DkX5[A4~s $ɼ LƋUP2wN\w)+鞡ӽE=s^LW∶`i,* eIFƿ-yqkj-^AL* 3Ucg.R-iAWA㙔"TYf/M`Β59Up<Ȋj޶;|gml~tڤi_KeI4ڳ5 \^+,퍼[>gֺLEmn#Nĕlr ׈J>яm.GG'?N.p岔*-De ~XMĭ`f}=$ULjq1ťTq^WWGFn=5ժ+V"lXkU+xKP\jR(mi2f)9]5[b*,^}p+bdɽo]#JN^ ^ :~Q."N\wl]Z/X#z2jȱ$b|ІѰD}riQ245#dԍNj4| d`Ai6$bN= յYN1hNu}&i༒#djfeX>3*DpC:NzYdKCs6>M"SvVT q?q,>(WG* {[7 T' Z*ZgjFnN E-ҷ<5b8Ymft^(2old֪ɉc}XUج:mMZ 64T1/vM1<&$}5ªr[וLϙ=63i8II\]*)$*|C6/&Kr꜖[s ەWbbway٩M :¯D4#%F:l;ɕ^Ҷ.V' Rg#FM0G;]2O= +G(։䒫zGHszQmts.q5=hȕ`F\ђ__v收)6}ɀ]7{NFsmij*}*Ò6zd'i0um`F- QFKN/)kg|?|nfj?{jJ%r)@ V6cB5U3_]ivTvӘVW9|8ۘ]UQ>-WjQjG#㇦VdrԪecGk+= F5H:flU:Ē*'jjuD~e9M&%^yH6ꢣHU΋6=/ˑ_k`ITSz=ܴj[hbH__w a(O ɲVP^HIC b]gzHW<HU&u ui rH;h93RA sEFnD+G%~ =1 A kud=RDe-PU WaIߵt(:_rV:)7bQ 1\رsZ)Yֽ=$/bYW\I u>32BkPűKNm7[ְ芍b8dbA}r_dսnW^\ej]4$5 uK\˷zɨn=+'q{_su4H{|3)>e}K8+F(i;K#VI_Ot(TwVḺKl&kkɊqz_[u֫IXLu!Nh՛īZ Iax.DS֩I+5*n>Y|2cu T*\_Y""Z"rXK$uɰZ/]4!4sUSmOZ驵84aFVu\ i|=^( ߳iֿLmEJ0c#rgӶ^fVNQeVYb$.ϊe(jgARn\ 'ĵV9>ӼZqѥr낓[W)x^m*1AʥNDXxx;و9D`Vn]F ^T2wFD7kVWzuktm\KkdP-/jnPAl&F>65PT#ġoAǵ&EJ|% 9Š=A^.G ~(/g4{IϗTJJ+_ӐpXa. UeĚ 3_ȡҲ&.Tr۪)vn}bI V\F=WKuSyUWL1wOm%-ܘo\䬒qMgd:Y7]3nb^9)mөCUF{ul W']'͌Z:t5T*hc$|-LC&nxKz$z}DQ.& [r*m\W?EI'5}bjZꊊNI:utbYŞ=66N`"Q5 tQ[5Zǃ֩\8u5hO_/5cjUrѬt]d#۪/fH0%G\Rji<9Cqih}45R*]~J&1Au^eykIC/0V6TLxRZ5:ĸh1vE.PEH&_4cAnz .^p4]bYkǸ'ϠS76R U??մ |ۏwݫgQhX˭#Y T{ƌUAGX4+9Fq)r1Y')`m1t0 W'#fZC{5QiѷibSp1LtgZ$cT- >j 6q(2*V|@AyN5˫t:U]Wb۳f<%{Bm ]_iΩ/XtHQ}_xllt`Ʒ"g;=Lq[׬*3#﹪vPrz:z/"IwvjviQ^yVVbS\)|ӪV,ipjhݺF_CKP4zF͘b0AͪP6cs)bx}:]kMSE{< a-= m]2g PqD`Ǵlr@Cz*5jo5U~BhVЍVMѫda:@՗h!Y4.Ε[ق5i8zRlXlܰ!tMZwrdoa=Dg*y91EկcceJ/w|)hsʵe}u,V+8_ec'ڀ ,GzնM^qt6Q5Oư-݃~gt2*5&>/ot΁arGĉr_r}u|w8AuPn$'\bqq]^W?t;2_g!+; "ݿXcԁHth "u5QyuˋqZlRҕ ['G y&s$셝(qKِS&Q/ |A\:9dRg_\/l5PaV[nm膒|:6~fA;#k+ZNWDxJb&N늮?DbNYii4ub@hj#U);wKZxx>!nل6>yFo3%.H=1}t]lʱ7EWsJ!9yZW0Z ,xsşce3aTSDfTbIv![|7n Xل5D(([~WNbKK *hxM-ftK4iN'oXN$v@grs!c*N|9 *ƣh'·:>󕪎&,OڥdiJuھ}he<4DΗw{RKx:ͳP/( JD:9uΚӋRN\JU oBX;=B-E: BUd9t*QJ%jJű,C[ u>C'xQ? :T6 Q qYmP#isD32 oV+L^ I4t^ c#24*mJu*ꪳ]ACGRn\DYTNڑ(FTTic*U⣝$DuCJ3PZ Q5MtBR|oH@"TLݹ6sUJ'XsJ"mWdž_'&ʍ5^a *oe7?zVue0d=̈!et [2bcxYQ0A5Kγq`̤t x3g@?^fmt'#N獺hbJZz~K*|YIRA>6;u"[URK:=sGaYoLKT0쀑H},㸄TiC ޕTE| %nPE2^, lqF$;f@%HŨ؜UC/S;mFU,{+S_6J!x֞ Oub$KoEu:n֫NgzSJ-a EzOio5&6]ȉZ PqVN6/7`vPQ1ںZM5'.6:հSYl.E͘qU/f;l8Fx-l&,ԶjJ\Z*:.5B1SxidZEv&AAF: jnj= lHh,t8gYK9>K`qHtz&sfluf5/4dg b-R6ڎBۆtQZMK."aTw91-ʊ"gu5;鼫5q:r ֞O>%LRiU.Tj.u xwC%63$@^ձN0.  'xFEe9*[JDt@20eHx]2v%6IEunlߩ*vfygM%%L#bQȇeR֪䲡4 StϴkM^|UNO Ȩ8 ً5zCh[=f7SknnM1Ce;d$x}gO ?ۙF+YEwm]8ڣg26dO@S.xiky^;z>o][2ڛ`2\7|ȬWˆm\ݒl45ST,H)5)v5q%\AV4ݥVQQ=%.9Qk)MDUcK/uۖzfyp;: 0v֐$Vd5=ȀRld/c:߸I&D-%VW4"E( zWMS4JA'mӰ"jE ky<%+?V:rݾ j}wd-j*!f)#5XR n4*DJ,OT #46ޫSM;<%'ЩOFl˵>D=]756Jm#3364KXb3%QQKVIE9 ٺ8ht\ l<(*m8 M%ft MU-f#YuGvjmbT "g&4i\kjܩDžh5L4;Aʼn;WifZ2]ՖN%HTڴFRXQNbhs<: ԰+Cfh i%1i1ꭦD%贆BwbYHZ# h()BDG 9ګagm"("n h"y>oi׭QG-]n͌FU?oiilm}K kAb\(d&ߒ]s!wTm#"#(ON|Ӕ%ȱQˆԢ;AJVrK#DZ$ED֫"fҫb%SPrQIZn2T^` NҔ"Jɞ70FWx4d6"!6N=i=ē8AJlݚoc9@[3"%I5O[-X1&śj9g)u m.}.ri-+TxUs'׫{Zw/91E5\mf1 kR~äv`yvCb#h̷(9Z\Ѻ r2ʰo4Ǝ ɑrPJ K'b3rq VL&(JkDw-+cȮ)[Q/Xb(qb$UEMk ]4}@[1DT!utӱǘRZ\ZLX.1-Ʋ^(ͿRt5KUMQ֐]3hSd2'7XdNдr䩿$R%%쩉RF:הpY_ Rr'U, u1e4&9&3'U2E0M;#ˡ]);i6(hyQ:VrZ)T?) 5*N%w[\M +#Ŕ[2 ʧMQ3P\>*e|!}>źO4{׵:`g߭}O}ز Ip=\“ܓ r3]t:cxC/@w=`)u-u'SZ?[~9m6}):;ɿ]9;C>I"_^\NbkK @v7) yMUmf3mNqHɽMmݠӸ]j8r&{356/oԛj mBВ.u:T҈*5Y ڤsf\AKp\Otm[VxzU]S3QyYӌFOۡ7~ۚ$6[qw_"UlLMV?_vMe"1Q[Yx9(ӱkͷʱŕڐ ׈#fZTd6SrK"\)PeFvkNCF~&9rD4PٺoS)O2ՐJ*,f'/ԕ*~y#y&OEE 0A +MعdHהu <6|Yvj 1ϕSEc713v"sӲMkdʠ!V)/reqlgEld%ӉNb+e+PJնAͤ6_}f&SCD>i: g4k7pk|PdѲ˘X.[*e5MF: SPb="7VpԇI8jm(7ƆbbKZʆZp\^{1d\ى^yys(WUvظˎYʤu^&cFBW FXaEpIy]9QlQˀFؚ`NJjʑR Zak=49\."7FfmMsnRVL04bg&Gv]u3UMh4ЭN  6)$f|66M^3c)3zk隺Ͳjl)Niɗe۱ i˼~=9Nd-PcWny#T|ccvsB]1  I>4:\t-&b#LQme$IB{ Z ̰8Ϯ:S>HMAg*8jOM|AZ]fF5tJB:)SLE#;6{)-8pGMt[X烞Uqb3t!HT^dJW981?'3|;m.pF}`ܑ # Ѫ<~r$kΔ1A^UutQא혘rO9JłJf^S^SZ;jNvQÙKքZ9ኊi$ Š+&Ŕ[^A.J5mͷ4t$UȴsQc3*Odn(j cu #?t\!aХ+˕T-d&ςanrcxIgɘn("ۘAXMS_v[r͌ $lǑ4aK_4w"g1.ǎĸZ Qv:r-!GR4d&R6Mlj'][s}hge"{8%7Vp|c>~_},a6Dע/*3;,Z?[WXG#9[մ[Pu[Â˩9JN[_mSgy Hg9ED,znΊe| _:qC)H7iWtwcrhUކ~.InfHB9xOʾEY:땙ɪɎKTR (DLUn9r i815j:JOtΌi֭jmpλj}Y~2{tEE%;ԕm/G ɞorg e6lզ?749/or@n^`rTWvhsI#$JW-dvHw}J+hMNZCu+Ν,jr'eQW50F2c 4@nsDpdyџy4t[1J P+6la RښhUؐ9ds6sk ˻sJ j_(yqn8"-\KzݩAy՟Z>KQ'.H#\-,96gϣrN?Щ.{'e@/{IKCkěCVU&MJ][ dFɛhd%SE^&|bo+jɺ= M7Ĕrx%2XrS5%jCjFltۛ#2^vMکk|_˵Hrc%?EԼ T>EImE1zgtzӔ҈/WծwTpI.TAW+iT"U eLR\N`>'E鋦H j7sy[pˑ#'!9y)4")_XvUZo?[jJ VH&#yzzVϾȋC6ʉvՁoi ׉vYՙ:f{:ʍ2y-8@iɌhl%2jȭOc+J,r]2ső:c }tEb#k:jаGaG AyJsM4R'{t#'[!BuOQ5ZИ%^M%a[pёTͮei^!U+/73i)iVbЉ&,KzvǙBQG{쿨 նdGU[΄2Te֨Կf/ѺvX*q=]%+<2sV1ILL+L)82*}\e~,ٓ`ѹƈcË+ZB٪M`}[İ9BH l/2sXб?zP7{^R Y5*92!/!țd U#&gIUcRrB]YfvPa"$T=T*NZh@zuNr ddy%=XTi&'%&DK4bn1 \e[ĉs F͝VԆo f=SL".ˉf٥Yq9nSt!tqĞgsX9*m[QeK]kKbcS[MQkH-[R˭١\ ھ-b˿δe,ІY92J9dߔ_d \FkH9Gub',o1Oϵӎlۧ&tlG!tjtb9ąN2'juUlqWv7zV-ě(Jaap&|6ۄMnPZ"˭/#jYVϰ~QM ]ge."WaI׵UN qV<,j fy1Z6 9+;Qr{0'ֵ+$՜86hKİeH0+F:$H E߂q~"֨,m4)4HU đSَ =R` j?aCJ5a/k\׆\n;a=ȖP",)*QS%n &.VyOPhVayk%r Ua[SiyP gYղ%u4Gi$v9% 舮o5JɑeGZMUpfM[# zȡh ELAцB ^(.Hu-]YîW+H;NykhZ<'-9RQ(Vc9~sjՄe\ 0SiO iCQϡ)%hB j %8&LL$8A',t'یV&}хz\KעgӱQdƗŗ "+]wR"WI3&~- \~ā\;t@h:O 2n.'_-*1{晵h!hLH*JUM1;fRR(ZV̌K̑vA֧XM6R`/#+!)Vjl),iN-_}eʉ[G#]5nW^Zb[rcN|5M)y̤iHR:afH>{]+NgaN*L%~> U T\ 䦯]OqkOg{b"lձ:bԈNUQ˜8FБa,l{Kۦ,=%|{r|KfLPØ\WuwkRi>M &MWL NJ)$R ZłKbSS|=YޅX$][׾ E[UWD0C_.f./7Ŧ$4Ŕ1ZXsD*XAѯ(8r@VxVq-)9S2w)*O9D QXjYpduZ~zT1TCF5YDPJLGj⌔'ΔTѡ]k~X ,bBeG|WJ]3# 3@ JPqkG f/"0Ŏ{cz;]^ICCY}ٯ-#e`GKMN9XTe`I$\>ʴY2+IU°)M1 <j/,-:|Am>dV,iJ,wV-VCtas\º Yp5!cUl!22*԰ Q޿Qn9vM ti&F=缹L];u}]LsǾWbwswr޼x";#3{=A Sw{ԹΝA=x<Ʀm6e+&zU'4evTi:V2i2?ǤiU&m?ii֦8uvc۽{M7 /2`|/ L,krrI~y4|hu`p6÷=\0@60'wGm1|b4s o4Ǘaσ70X};Ɵ5?41}o;Xe2at`hG1{p%ÁL5XxhO' _(/2%V/d6g_I_ͭG[ZJPW"ƆW _>0<+&wc U pWCxw}2Rh]J)Pv:5iIoM@mfZR "h9ߢ5ҤP2RUk@ 5s+@[ߺts=/tzfjH?&ᝌ1+J7u.MIUIoգ>:蓃gFqt`+s$!ެ"J+FwiK/r(WW_k8FOa1жq@z?=ZR:|TKYa G>p 88IsiÁO)up&™?81P!C?Ͽ'㽓#qA>E M$Byk{-/MJ(/D9q,L1UD:<|qplH't9 %bׯ54iIE &8m9g(g+.߄> |?8ώ.p .B w? 81{4H'au{K{.|d(Q«&%Nx-= ,\<;ᅣ/VK_͸ ߹l*J`<[q1cË ѫ_Bs>ap~NG8i "1O/e &DEd6r=. /8 wȣX(Р6k0 O'gg+|BW`pcFPTK{)K= !6ncь 7dscHY7EiFlfB2d6ZX C 6t΄tōt <y&+8&am}`u&ц*=gp^{?`;+<#<6!{3xrt7ѝn1ϝCO'+s{oH5%4J J,J} +~g9̯QC34jw1_O 'SEE""b|s1-}Žqc1ni_!CF f< ," G_0Qx`㣟 #%01͟ ~xxxx ~1.RY`p`,3ƲSLV"2~ Va}?pp/puwwn;³W9x­ wV+(&Xw"ww#wk>^9bӌ3(ggPb WFW?5jsgQE_'<< <<8R`H!Yt<Hg"cPGw>r8fM82mm--́F 6f@̯̯lXZFpoB@i!tcʭBZ-Q5XXyo ns` `+` xh(PcV&l`cF!(||pX; 0MA=6mob:<N +Z 'xN<žwg$߄g03`i\t<yE 䙰EY(sQF_..G]qp5ŵ d閐[@mfANT! ׁ\\2r? Nǻ3 3amkcXc43o aE<"dy45R...wt1_p_AJUH5(.nB>nA{x hW7]\/:۸c0sh= ;8hf ?0=h77asxC.-9n\#v߽y|``_`?s8$a3dQlXa 8(pߨa_`fQ7D{ ݑn=+مQ+cxh:; yYXy}.q-Ś;ށ05o oL887S <\^ ~O1Zx;pkZ.`m`plqZ(5Q>k]ɻ^"BYx'~ mku|6?:{pgkWoMݐ7 !-g9zckW#_8`J+P&@٬8x2r%+/WLV?Xa?D Vg ~?c7=|$O;~"F  ^+!`ı "||qe;-r_nONH׎H6HV1"Lnlo}I_KƂu,PƘ4,0# xwa@CGfMol0[[cEQ6;GYmܶ66f)6D( Fx[VXLo3<rKȝ-!rk+֭!088<Y5n[[@~m8f_o9PA.L:@N̞Yu!׆_:a|5x"캈g]!inF-` nSE8 Ўz Q&<6GD gsM7f8KzGjo5|}pạĜo^0Z"bX,~ x=0Ly0i0Yb+} <_A b ;c3Fcc~1>h]Q'8 N³y_8 <{ aEG|q(PnPw>n_PE |o3ދ X7πxp' C;ux Rp2~)x~ ~NNg\TzMh`- ow࿇w^ЯL~Ȋ!7,!dуCB&??w?twc};6 &X__G|7 XW߄woF7#!#7B#dB훱ྃ2nGۻu}5pp9z)e/ x"<.;L\r*A^e܁o܁܉=7Q@?eS!ac/S:6ha0S`n(Vb~cf£ǀ36a;OO*#g-Wss`;˞^Ӟ~0lCy^i?$xs~ < s_a.΄gY<_SxI$$X @>o=<8~ o?<4.Bz++[^2hE)/&-Xe9?D`3'=];ہې5wfLM|f&`!~\X&#~YaV?!w>܇!C({;~>pp;pD">}3޽oF8MBFў)ǚ_Sī^0^>q ëkވo{oނS{&Ȅ[ގ4Zyx;mTo*9e6;PNl*ʪ>9 T?߇@vd׭-p! oĻ 1>܄5MX? 6Fg,0~Ɯr{-c\-2r kFk}``k`K &&gNn¸v)_lx7DbN[b#pzr< ]6tnKa<+6+s@n,Zm-46Hk@':q-p p5PHA|Wan7B"܍Ӏ@]4 ;ߘйt} C" E7#Tƛ͐wK`+`k`|c[Ŀ-o p` CcXm۶X nuX |8m$ENXk >' vvzt{OSlYY|x+c ll lxv`8 x~2OA"2ƀ["_ǭfݚ a+`Kp[T K`SL_hnZźz(63`T+|"yv 0(+LG@y* 3 Ġ~q%ѱ 8D_:: =<}X.m±Xtll4mV`26c|89%0lg;!HO>A cOxF1} 491qDp=ߣX/h`>7'Db|?cKXr<ƒ1>:+x.D$9ONvFE3?}/ >g D xcřx~6ž8p>pcGx.Az.E~y {-~:u(kQנ쿎z 5P?_|^i>ãڀMj $ЂHx" ҫ(MDG .J Xx _/ו|]sڜϙsf1X+),]L}eI&2G^m+_LVV%&®dvX!_I5x}5BCHD}$8EտQxQ_N:Q:S5{K?~JDUHD} W?i>M %HhDy%>Y}pџu{`ke2.-I{2m=mYcwyKIkwiG=E H{o?rom=h6F+{KL`k?B;pV'McC4@}ģ"{Žq֖udPdV0r?00`V!xϯCY^s/q3=_E~YwfZ7Y((3;^Ҿr"m#{d?h$ oi;>#m:yRfeQgu4\s9LlYn8XL &i<&.0!BP/CǫDo..™̨ Df$FESH)/MԛhNҿYT;9+o+oޟ͜똯߫6_}{1sVڿ{/v%IFOǫxэ󗥑]YkIߋH2S9Q&Ih|g4|V9xRFcR 5ZŠ.i񔫏D4BiMh^cғPKK#GV @?$֯#t]b%;~֓F]2Et"QbĢ6jr^hFM5QզϵO"hmugNVۈbuHL}4@C$qLNcS&ɨķ :!QID]cQ2PQJZe#haq^'v*ocфCCh椵Zg5/3&͉S3ьI%+W9f2(R(P\sV+` "?z̭ -ͥT khA[f+!-PʅR^)璤)vњ!ǃZCy!reP1v,$׈2 O8"iCA,PG+o%1R噃e (DrjJM9J e?G\x-HD9 (&JR(e8p@E)B|jHaBA G!0Wg"<1|@ZeeM$ňe1bD34ъ5OQx0̕@f1b}%Śn&k-^ Y<1zhy)QGOz=ГkF/"0h__gt]g"}x;ӂ^`l;j%BZ(H(R<|Qa(O;gO:q8sQ\[uGQ)( 䇣w<TvTAUM:S^Jz5FN>zٞ5iִgY۞ek g{;]Y=Y{{k ]}N{> Fo YS༻raS<OWfF$>ypù owqyX}jZl qaݫzx$><xNs}kH$&~6v4#l7{ěHrmX۲?i3cgdȭHI˯/kя?Q:ڠ5ZVXS3Z з|{D.⒋"ƹu.bo1^'Y2֊X!/ boH_LZB.Yx}Q{W{ʞ;UӺk(ҢnM}8:x I"A:9:j5P};w(((UhhhhOxx#yv#yn9js_'OO=3w yu΋~gyQڃ97) W$~ᔭ_~\%Wo~>e0F,3,RQQAT7"VQJz;S3o(wYuqՍa+sq%OW.QG{Ϊ7m7'~w/tڋy\  ߒe7[.KI[$y3Ա,Hזb e|Y<>,݇97-R,|tnw'%>[B%o۸V\g>#}1Oq)s(5ugȗYJӾ̾L̠gM2ݽQ>uF>wJT/soB|C->J19G\c{-%F눣]5H*m9Sg%eV9Rj&ik5mWҧgZ^W4Lzrc=m즽={eI?=,'>8Eh=Qb&/1|K{{i~{DZ[geydLJɔD&;&`ݱSOl'h[F-؄Vzl)MCx2&e2Q[XeXʵїei9Y7N[XF,%~)R`9V`%cr i+;ckNۀXXHFmg;A?wb(.|˹j.!lj 3:QYQc>t&ə|HSSqx!L&(SP;c*> Εw9aC K/l{?8|C|sHs ؓ/p[e΍<ȫ>-?/ΖD3 Y`d~ǯ"7S/[MkUs_fd|]!2e/臾ͤQf+i311@w`'ߓ axwڐ'$>xC;q0MpE䍠HޣFpӼu}Oҏloi7;crUbM0oY:(7d"LDI],ҰEFe(WrvwwX{2](F )L9CNS4O9k֫kboNGswLǎi}锽SLӮSg B/ YEfDkiTynÞKowosߣ[:_SWdTq~VQø*>WpYjqq陜Rm-]bJqF1NNE#8u_bPQh0IqP(Ds^ZEģ>~i`n>/ Nvhvj.z1ӷmm+}K:2WW\>om"4*i)alz|5驔KT=koz~oso (GԯaRM*bJ5Xї$ғoDF rptn*HT+ 8-ޗs+ϵ*q?8O*31X1~q{HߍR~;@>т){>>J~(Jj{JΤ+EJ1BBRB۩Pt)ơQyY)|#L[yF0c=b 竵0[)2x*˱k/ ~+q2b-1Ud)1_w t-ӊ0u ӏBj{Ͻ'ׂF*I[X˹v7`L3]EP,8bnb,Y0km!ꜗnquίjB.YJʿ"y//(se}\ڕ(\pޯngEߢKܻR4@ٻ98&=)IiǙGpԯ1whǙǙǘǘGGG<* Jwqtv&A\*}dONkhptsX?/ :u~zW)sX//jյK\{Dη,]pqryFn;!.`XvAÄ] V$K*^h#EH^13\vdl+(Az;~ꙡ]Ji2k? #=2JY>n:~acU(ˌ+l*ˬ*z93< ?GҔRO*^'CY|Nha/LOqot/2r8v٬"?q0^=jlse-otry7=UU3X5: xr؟mB^eR^٦y;4bN泛;~Lf?yyiLLx~c;y(Q̸?;^xO ?ȇ  |{|WV"OoZdZd<<>՘ gIW7o^1'cݱƹkZƻkjOejc:cEF%%Es({KHʍ$#rfBbNdK0Wo̽x栒H$!yIh"cQFDFʠVP#od[ jMj&=8A](uDWND\AD8Q8ՂAZ $?r+J}jjv Qۉpqls/y|TP'10&Dk{x)NR¡ΫC.{-{)0)KqzlF}FqGj/;>Qy1q#JDx>/`PӉjk{3QDD|kF6's1/`36qt!}CW`fwZͮt kZ:zA DQ(Y{zo(ItBZ 16ݭ8/N$}֒a[[fY3c^n҂QQ!)|56#moiVl&ο5rV1|KLRnwۍ]!&r+VοPӿW0Yi$zc-! /BcxPR46ҶwvV9&;AAAz|VVaI_?8Q ss!i&Cev{ 0iGq ?r~389\eΕ[,-2E%7粈SoX//9]Y :upϔe>Y)frǕ-)q0)߯Y U1r/D"QH.ūr~`˜i<)t|9Ogi ?2zO2|Γc\csϽy~3~{dwϏy͏'T9d9@rsU';gv}O B8ǟ8?EDG"{h丏sU>;}o~$9D?$$9HDQd|G=R~q#4y=|2 9^Y~(#.ޓQ.w]᤽Iv>߱oZW[3˟>DdD?H?FcD(>0H?tzf9ӉT:J'D<"IH"zȞ'7 wJ+tϖ7윕oVQ[HĔDLY̭tfevOEV) OܫoT'2I F `Dx|`T2ֈ»Z8yQIfq\E|lz_QKڙI{3iw,:S1"cd1@veUϠ^hkmviᤇApY-BN$~ 19F{Gi^=Pc\u"S~2N{Fd^i83+I|jDJT8OĠkᤇK4VG0zWۈ[̄_טqI '-\~g&ygWpOe^)tF=$~ Ϡ#<#gtNވs5ҪW2N<.ݘ 8"$C0ן}i/ݾߟ zZ2m%f2LlqF,5 39N9Nt?D!Zzjbf=Iқqn!foIf܆1NA2dyCyey|TZh<̘^k}Oj%K"ZLKmơ.׎-u-ִZ3gv2Kft$--Bk}d23ZٌWӉ4ffM| S?U["]k{p_Cd:m )2jc̞b$cL2@A,FsSw!N2d+f8?LSY>e~mVfEYTSHYmƊ켏d$c7D !C<LJX#F'{Yv{~b]!7p Wpzvy=O%w^7pScO8Z^pF,[E,oU1ax#卖<׿7o<@ي nƃhhAÔiIG奵~TVꈡLj4#7JV&iDiJ7IwTAR;XPWK&=Y*!E |(JR"꾳3x3@{oey!Q-\Eo%qw-G_AoaN_fHos%Sh{*3k*SNDLZ82k|q!ŗԙA(ok@o͈0cqψOćZ2y2C,=ч15۟{#C*yy t[$ *Rê%uRjűk%5T Wӌqrۆc1W%?\T{R(aVhB۝$j6xH*YRފRV*}Vx87^.{am/7%&}Qmg|47ruZH/K $&2j$iڡo'dV[yQF?y(uKBĻ-di &x(߂FKjEh>W# y)ADPW 'o hU~e%oYq2̪#C-C:mfE`*PE"[8\46KV~2Acl7K,4RkfdqueyF>{Q^o7B#OE>o}(h_#fo7+91JڟRogؒbq=kL7V\Ҙ/یr''rX$7 cB_UZOSĮ$xVIeB|#5<%3Wx`E=m{Ig<Ч Չ6;覅W~ Myh$4R8h? }vHIj(L.:lnZHa.3*6Hs>Knx\"{_=K,Zl| ,ffq4Kؖb5CZ17ta40x gɳd:#,Mgf{ !?$VzK1Γ&{QECiaXH!J7֛|Q.r_#=2³B,%g m> d4&`**yg pw3%Pƌ(̨`)1Th 2)g~+a̶̲(`mgVF!qF' uks ycyBZ?㤴G',ySnjϘΆ`U(S,@.eى ZsY65 ik\/<#qZ~:! Q1>y}*i?7z_]\c1(\.ͥqz`p ;/U3a0Ab1\XxgO0/O2?O3K̃K̇̋c؏B+h\Aݙ̉/;; H #=1a;IQMchk m{<-_cyJV0~`nuI5W2/ |AT=s\7- [6[ Hwe~+o,pCOɏ蝏Ra(%BL{L\8 %!vi/"ʣfÍ켧]Ĩj!ua=bOLm}b\X'xb_1X2&PoHd:rMe7M{޳oG^~[~ ;3VO1F͐ΣPh?-n*yox#{mQ2»CnUҋ~wvhg^v 2u")Foe-߉UF$Q:Ȩ]/[d3#l^6D$wBlmպ--.KFWM_](rUܔ0BuKJP8mVJoVS־-gcvRon|iƻ_n޵ŻTzOyr;̓)l-BBPbOYA"ѨֶJ1VkCR%0kj[JMkD[%U'o$G=8oI?kVKO{Z*/^ uNHGh(]c:BCڏQ4.CHq({:{6V:mӶR~ p_OpН֏7*l,-+Ujٽё(6Z틫 Zz|+T=z$/>\`Y{ff` R>&- {p_/̴>?" ddD|?" ddDg Z"  DM AX n?" dd@   @@``PR   D   ` p>ZMA::>MA:44 V(    T_@@@@ 1g  T Click to edit Master title style! !4  N,a@@@@ c1B  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  Nn@@@@ CI  \*-DDD   Nq@@@@ C"I   ^*-DDD   N4|@@@@ C%1I  ^*-DDD H  0nF! ? 3380___PPT10. N Default Design>0 w=o= !=(  x  c $`<4p     05 tWhat the Research Is 2  Dp  0] The aim of my research is to use machine learning techniques to detect patterns within logical theorems and use them to guide automated theorem provers. 2 .   D  0h]  tThe Intended Outcome 2  D  0 !' NThe primary aim is to extend the range of theorems that can be proved automatically in reasonable time. A secondary aim is to develop an understanding of structure within theorems and how this may be exploited in theorem proving heuristics. 2  D  04×(] * xThe Stage the Work is at 2  D   0\͗7* 4 xIn initial experiments I ve run theorem prover for a short time, collected data, then run to completion. I applied machine learning to generate a classifier to predict whether or not a theorem will be proved without needing to run the proof process to completion. Results are promising but inconclusive. I now plan to extend the work to learning heuristic selection from theorem data. 2 .(  R D   0 ]e  m The Challenge 2   D   0`c  Using computers to search for logical proofs of theorems has many applications ranging from pure maths to hardware and software verification. But the power of computer theorem provers falls well short of the initial promise of early work. The main challenge is the enormous size of the search space containing the proof being looked for. Much progress in search heuristics has been made but different heuristics work better with different theorems and determining which heuristic to pick for a new theorem is not straight forward. 2 .  [ D   0(4]F6 #Preliminary Results and Conclusions$ 2$ # D  0l 2  !Logic Systems and Theorem Provers" 2""  D  0  2 +gIn logic there is a trade off between expressive power in stating theorems and the decidability of the proof process. The simplest logic is propositional logic where theorems are boolean expressions and the proof process is described as satisfiability or SAT. SAT is decidable but propositional logic is too simple to express many mathematical ideas and problems. Even at this level, for general expressions SAT is NP-complete and there is unlikely to be a polynomial time algorithm to solve it. First order logic adds existential and universal quantifiers and allows functions so is significantly more powerful than propositional logic. It is semi-decidable. Most automatic theorem provers work in first order logic. Beyond first order logic, higher order logics are widely used and are particularly useful for expressing complex hardware and software verification conditions but cannot generally be solved automatically. Instead proof assistants are used which require expert human intervention in the process. Much work is being done on combining automated first order logic provers with higher order logic proof assistants.h 2h|  3      * D  0R29 *Automatic Theorem Proving and the E-prover+ 2+"$  D  0H,2% h  A breakthrough in the automation of theorem proving in first order logic was the publication by Robinson in 1965 of the method of resolution. In simple terms, the proof approach to a theorem is as follows. If a theorem is to be true in all circumstances, then the negation of the theorem must be impossible (never true). The negated theorem is expressed as a set of logical clauses all of which must be true for the whole expression to be true. A set of rules, or logical calculus, is used to generate new clauses implied by the existing clauses. If, eventually, an empty clause which must always be false is generated then the negation of the theorem is false and the theorem is true. Resolution is a simple means of generating new clauses that Robinson showed to be a complete and sound basis for automated theorem proving in first order logic. Unfortunately the number of new clauses generated can rapidly grow to an enormous size and this is particularly true where the clauses are encoding equality as a logical concept. The answer is to treat equality as a special case, impose order on the parts of the logical expression (literals and terms), use a set of rules rather than just resolution and remove redundant clauses efficiently at an early stage. An efficient solver using such an approach is  E written mainly by Stephan Schulz at Munich. This is the prover that I have been working with.z 2z.T   DH  01&2' A Proof in Robbins Algebra  A Success for Automated Theorem Proving!F 2FE D  0T['2, $Despite becoming increasingly sophisticated and useful in a range of fields such as software verification and security protocols, automated theorem proving has not become a tool for mathematicians in the way that computer algebra packages have. A notable exception was the proof in 1996 by McCune of a conjecture by Robbins in Boolean algebra which had eluded human mathematicians for over sixty years. Though the likes of Andrew Wiles are probably safe for the time being, the original aim of theorem proving, to do maths, has been given a fillip.% 2%$ D  0b-2. TMachine Learning  Support Vector Machines+ 2+* Dm  0$f-/28 kMachine learning involves using a computer to find a relationship between measurable features of a problem (eg temperature of a patient etc) and some outcome, typically a classification (the patient has measles or does not have measles). Rather than analytically model the relationship; instead, parameter values in a model are estimated by looking at historic data (the learning process). If this is done correctly, the same parameters can be used to classify previously unseen data. In a support vector machine the numerical values are transformed to new values in a multi-dimensional space which may be of different dimension to the original feature set. In the new space the values can be partitioned in a linear fashion and classification is determined by which side of the partition a transformed point lies. Following advice from Sean Holden, an expert in the field, I have so far used the program SVMlite to generate classifiers in the form of support vector machines. At the same time I have passed the data on to Sean Holden and Andrew Naish at the Cambridge Computer Lab who are able to apply more sophisticated methods.l 2lZl      Q D  04r):2; ~ Finding Features in Proof States! 2!  D  0,g;2dB In theorem proving a  proof state is the collection of logical clauses, divided into processed and unprocessed sets, that provide a snap shot of the proof process. The initial proof state generally consists of the negated theorem to be proved together with the associated axioms all of which are in an unprocessed state. As the search for a proof progresses the number of clauses increases and some are moved to a processed set. The proof state also contains information as to how the generated clauses arose. To apply machine learning to theorem proving requires a means of measuring features in the proof state, either for the original theorem and axioms or by running the prover for a short while to reach a more complex proof state. Possible features are clause related (eg clause length), or involve whole sets of clauses. My initial runs used 16 features, the number was increased to 60 in later runs. 2H  ^   D  0J3[ 2James Bridge supervised by Professor Larry Paulson3(23 2 DP  C (ACUnibig'  0CD2*E nAcknowledgements 2 D  0E2G ,I have received much guidance from my supervisor Larry Paulson and from Sean Holden. Andrew Naish has analysed the data I have generated using his own software and Stephan Schulz, the author of E has provided ideas and patiently answered my e-mails despite having a full-time job outside of academia.- 2-.\   D ! 0h6C PWorking with approximately 1200 theorems in the SET classification of the TPTP library led to a classifier that was correct 70% of the time but the sample was skewed so the base line would be 57%. The tentative conclusion is that useful results may be obtained from machine learning but that more work is needed on feature selection and learning methods. Rather than remain with classifying theorems into solvable or not, the new work will be applied to the more useful area of heuristic selection. 2  DH  0nF! ? 3380___PPT10. r0'6M1(4J b/ 0DArialNew RomanLLOh+'0hR `h    $08<Applying Machine Learning to an Automatic Theorem ProverJames BridgeJames Bridge26Microsoft Office PowerPoint@py@`@74G(Q  (a&    """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___www184a&A q(qHʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___www⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼ݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻݻ⻼⻼⻼⻼⻼⻼⻼ݻݻݻݻݻݻݻݻݻݻݻݻݻݻ &"&,2$/4@DeFY,-KGdS 0AA@3ʚ;ʚ;g42d2dd0pA%pP<4ddddA10L 80___PPT10 pp6Applying Machine Learning to Automatic Theorem Proving77B6  dC0 BB %dB(  x  c $t<4p     0(5 {The Nature of the Research 2  Dp  0] The aim of my research is to use machine learning techniques to detect patterns within logical theorems and use them to guide automated theorem provers. 2 .   D  0Эh]  $The Intended Outcome of the Research% 2% $ D  0 !' NThe primary aim is to extend the range of theorems that can be proved automatically in reasonable time. A secondary aim is to develop an understanding of structure within theorems and how this may be exploited in theorem proving heuristics. 2  D  0H(] * ~The Present Status of the Work 2  D   0p7* 4 xIn initial experiments I ve run theorem prover for a short time, collected data, then run to completion. I applied machine learning to generate a classifier to predict whether or not a theorem will be proved without needing to run the proof process to completion. Results are promising but inconclusive. I now plan to extend the work to learning heuristic selection from theorem data. 2 .(  R D   0 ]e  }The Challenge to be Addressed 2  D   0tc  Using computers to search for logical proofs of theorems has many applications ranging from pure maths to hardware and software verification. But the power of computer theorem provers falls well short of the initial promise of early work. The main challenge is the enormous size of the search space containing the proof being looked for. Much progress in search heuristics has been made but different heuristics work better with different theorems and determining which heuristic to pick for a new theorem is not straight forward. 2 .  [ D   0<4]F6 #Preliminary Results and Conclusions$ 2$ # D  0l 2  !Logic Systems and Theorem Provers" 2""  Dq  0  2 gIn logic there is a trade off between expressive power in stating theorems and the decidability of the proof process. The simplest logic is propositional logic where theorems are Boolean expressions and the proof process is described as satisfiability or SAT. SAT is decidable but propositional logic is too simple to express many mathematical ideas and problems. Even at this level, for general expressions SAT is NP-complete and there is unlikely to be a polynomial time algorithm to solve it. First order logic adds existential and universal quantifiers and allows functions so is significantly more powerful than propositional logic. It is semi-decidable. Most automatic theorem provers work in first order logic. Beyond first order logic, higher order logics are widely used and are particularly useful for expressing complex hardware and software verification conditions but cannot generally be solved automatically. Instead proof assistants are used which require expert human intervention in the process. Much work is being done on combining automated first order logic provers with higher order logic proof assistants.h 2hb      * D  02s *Automatic Theorem Proving and the E-prover+ 2+"$  D2  0+2! B Automated theorem proving does not reproduce the complex but relatively short proofs that human mathematicians produce. Instead simple logic rules are applied to many clauses until a contradiction is reached. Theorems are proved by demonstrating a contradiction if the negation of the theorem is assumed. One such rule that may be applied is resolution (showed to be complete and sound in 1965 by Robinson). Though more complicated rules are now applied, such solvers are often described as being resolution based. The problem with only applying resolution as a rule in a nave manner is that the number of new clauses generated can rapidly grow to an enormous size and this is particularly true where the clauses are encoding equal  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  8 !"#$%&'()*+,-./0123479:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz|}~Root EntrydO)6PicturesdSCurrent User DSummaryInformation(RPowerPoint Document(þDocumentSummaryInformation8Ԗ0Ԗ"DTimes New RomanLLԖ0Ԗ@.D  @n?" dd@  @@``  &$&,2$/4@DeFY,-KGdS 0AA@3ʚ;ʚ;g42d2dd0VpA%pP<4ddddA10L 80___PPT10 pp6Applying Machine Learning to Automatic Theorem Proving77B6  D0 CxC %C(  x  c $t<4p     0(5 {The Nature of the Research 2  Dp  0] The aim of my research is to use machine learning techniques to detect patterns within logical theorems and use them to guide automated theorem provers. 2 .   D  0Эh]  $The Intended Outcome of the Research% 2% $ D  0 !' NThe primary aim is to extend the range of theorems that can be proved automatically in reasonable time. A secondary aim is to develop an understanding of structure within theorems and how this may be exploited in theorem proving heuristics. 2  D  0H(] * ~The Present Status of the Work 2  D   0p7* 4 xIn initial experiments I ve run theorem prover for a short time, collected data, then run to completion. I applied machine learning to generate a classifier to predict whether or not a theorem will be proved without needing to run the proof process to completion. Results are promising but inconclusive. I now plan to extend the work to learning heuristic selection from theorem data. 2 .(  R D   0 ]e  }The Challenge to be Addressed 2  D   0tc  Using computers to search for logical proofs of theorems has many applications ranging from pure maths to hardware and software verification. But the power of computer theorem provers falls well short of the initial promise of early work. The main challenge is the enormous size of the search space containing the proof being looked for. Much progress in search heuristics has been made but different heuristics work better with different theorems and determining which heuristic to pick for a new theorem is not straight forward. 2 .  [ D   0<4]F6 #Preliminary Results and Conclusions$ 2$ # D  0l 2  !Logic Systems and Theorem Provers" 2""  Dq  0  2 gIn logic there is a trade off between expressive power in stating theorems and the decidability of the proof process. The simplest logic is propositional logic where theorems are Boolean expressions and the proof process is described as satisfiability or SAT. SAT is decidable but propositional logic is too simple to express many mathematical ideas and problems. Even at this level, for general expressions SAT is NP-complete and there is unlikely to be a polynomial time algorithm to solve it. First order logic adds existential and universal quantifiers and allows functions so is significantly more powerful than propositional logic. It is semi-decidable. Most automatic theorem provers work in first order logic. Beyond first order logic, higher order logics are widely used and are particularly useful for expressing complex hardware and software verification conditions but cannot generally be solved automatically. Instead proof assistants are used which require expert human intervention in the process. Much work is being done on combining automated first order logic provers with higher order logic proof assistants.h 2hb      * D  02s *Automatic Theorem Proving and the E-prover+ 2+"$  D2  0+2! B Automated theorem proving does not reproduce the complex but relatively short proofs that human mathematicians produce. Instead simple logic rules are applied to many clauses until a contradiction is reached. Theorems are proved by demonstrating a contradiction if the negation of the theorem is assumed. One such rule that may be applied is resolution (showed to be complete and sound in 1965 by Robinson). Though more complicated rules are now applied, such solvers are often described as being resolution based. The problem with only applying resolution as a rule in a nave manner is that the number of new clauses generated can rapidly grow to an enormous size and this is particularly true where the clauses are encoding equality as a logical concept. One answer is to treat equality as a special case. Other improvements to make provers practical are to impose order on the parts of the logical expression (literals and terms), use a set of rules rather than just resolution and remove redundant clauses efficiently at an early stage. An efficient solver using such an approach is  E written mainly by Stephan Schulz at Munich. This is the prover that I have been working with. 2HD  1   DH  01)2* A Proof in Robbins Algebra  A Success for Automated Theorem Proving!F 2FE D  0\[+2f0 HDespite becoming increasingly sophisticated and useful in a range of fields such as software verification and security protocols, automated theorem proving has not become a tool for mathematicians in the way that computer algebra packages have. A notable exception was the proof in 1996 by McCune of a conjecture by Robbins in Boolean algebra which had eluded human mathematicians for over sixty years. This story made the New York Times. Though the likes of Andrew Wiles are probably safe for the time being, the original aim of theorem proving, to do maths, has been given a fillip.I 2IH D  0]021 TMachine Learning  Support Vector Machines+ 2+* Dm  0g12; kMachine learning involves using a computer to find a relationship between measurable features of a problem (eg temperature of a patient etc) and some outcome, typically a classification (the patient has measles or does not have measles). Rather than analytically model the relationship; instead, parameter values in a model are estimated by looking at historic data (the learning process). If this is done correctly, the same parameters can be used to classify previously unseen data. In a support vector machine the numerical values are transformed to new values in a multi-dimensional space which may be of different dimension to the original feature set. In the new space the values can be partitioned in a linear fashion and classification is determined by which side of the partition a transformed point lies. Following advice from Sean Holden, an expert in the field, I have so far used the program SVMlite to generate classifiers in the form of support vector machines. At the same time I have passed the data on to Sean Holden and Andrew Naish at the Cambridge Computer Lab who are able to apply more sophisticated methods.l 2lZl      Q D  0s;2< ~ Finding Features in Proof States! 2!  D  0D-=2*D In theorem proving a  proof state is the collection of logical clauses, divided into processed and unprocessed sets, that provide a snap shot of the proof process. The initial proof state generally consists of the negated theorem to be proved together with the associated axioms all of which are in an unprocessed state. As the search for a proof progresses the number of clauses increases and some are moved to a processed set. The proof state also contains information as to how the generated clauses arose. To apply machine learning to theorem proving requires a means of measuring features in the proof state, either for the original theorem and axioms or by running the prover for a short while to reach a more complex proof state. Possible features are clause related (eg clause length), or involve whole sets of clauses. My initial runs used 16 features, the number was increased to 60 in later runs. 2H  ^   D  0 J3[ 2James Bridge supervised by Professor Larry Paulson3(23 2 DP  C (ACUnibig'  0D2E nAcknowledgements 2 D  06F2wH ,I have received much guidance from my supervisor Larry Paulson and from Sean Holden. Andrew Naish has analysed the data I have generated using his own software and Stephan Schulz, the author of E has provided ideas and patiently answered my e-mails despite having a full-time job outside of academia.- 2-.\   D ! 0(6C PWorking with approximately 1200 theorems in the SET classification of the TPTP library led to a classifier that was correct 70% of the time but the sample was skewed so the base line would be 57%. The tentative conclusion is that useful results may be obtained from machine learning but that more work is needed on feature selection and learning methods. Rather than remain with classifying theorems into solvable or not, the new work will be applied to the more useful area of heuristic selection. 2  D " 0Pt"#2# vApplying Theorem Proving 2 D # 0Ht$2( zThe obvious and original application is checking mathematical theorems as a tool for mathematicians but this has proved an elusive goal (with some exceptions one of which is described below). But theorem provers can be applied to any problem where you want to prove that a complicated process doesn t alter some desired invariant or an outcome follows from the input conditions. Computer software and hardware are obvious candidates but other applications include security protocols (for example Cohen s TAPS system), commonsense reasoning in AI and even geometric proofs and the generation of consistent three dimensional models from images. 2.   DLB $ c $DJLB % c $DL3L3JH  0nF! ? 3380___PPT10. rrMQNM1(4J b/ 0DArialNew RomanLLԖ0Ԗ"DTimes New RomanLLԖ0Ԗ@.D  @n?" dd@  @@``  ՜.+,0    xCustom þ) ArialTimes New RomanDefault Design7Applying Machine Learning to Automatic Theorem Proving  Fonts UsedDesign Template Slide Titles$_㟾 James BridgeJames Bridgeity as a logical concept. One answer is to treat equality as a special case. Other improvements to make provers practical are to impose order on the parts of the logical expression (literals and terms), use a set of rules rather than just resolution and remove redundant clauses efficiently at an early stage. An efficient solver using such an approach is  E written mainly by Stephan Schulz at Munich. This is the prover that I have been working with. 2HD  1   DH  01)2* A Proof in Robbins Algebra  A Success for Automated Theorem Proving!F 2FE D  0\[+2f0 HDespite becoming increasingly sophisticated and useful in a range of fields such as software verification and security protocols, automated theorem proving has not become a tool for mathematicians in the way that computer algebra packages have. A notable exception was the proof in 1996 by McCune of a conjecture by Robbins in Boolean algebra which had eluded human mathematicians for over sixty years. This story made the New York Times. Though the likes of Andrew Wiles are probably safe for the time being, the original aim of theorem proving, to do maths, has been given a fillip.I 2IH D  0]021 TMachine Learning  Support Vector Machines+ 2+* Di  0g12; gMachine learning involves using a computer to find a relationship between measurable features of a problem (eg temperature of a patient etc) and some outcome, typically a classification (the patient has measles or does not have measles). Rather than analytically model the relationship; instead, parameter values in a model are estimated by looking at historic data (the learning process). If this is done correctly, the same parameters can be used to classify previously unseen data. In a support vector machine the numerical values are transformed to new values in a multi-dimensional space which may be of different dimension to the original feature set. In the new space the values can be partitioned in a linear fashion and classification is determined by which side of the partition a transformed point lies. Following advice from Sean Holden, an expert in the field, I have so far used the program SVMlite to generate classifiers in the form of support vector machines. At the same time I have passed the data on to Sean and to Andrew Naish at the Cambridge Computer Lab who are able to apply more sophisticated methods.h 2hZl      Q D  0s;2< ~ Finding Features in Proof States! 2!  D  0D-=2*D In theorem proving a  proof state is the collection of logical clauses, divided into processed and unprocessed sets, that provide a snap shot of the proof process. The initial proof state generally consists of the negated theorem to be proved together with the associated axioms all of which are in an unprocessed state. As the search for a proof progresses the number of clauses increases and some are moved to a processed set. The proof state also contains information as to how the generated clauses arose. To apply machine learning to theorem proving requires a means of measuring features in the proof state, either for the original theorem and axioms or by running the prover for a short while to reach a more complex proof state. Possible features are clause related (eg clause length), or involve whole sets of clauses. My initial runs used 16 features, the number was increased to 60 in later runs. 2H  ^   D  0 J3[ 2James Bridge supervised by Professor Larry Paulson3(23 2 DP  C (ACUnibig'  0D2E nAcknowledgements 2 D  06F2wH ,I have received much guidance from my supervisor Larry Paulson and from Sean Holden. Andrew Naish has analysed the data I have generated using his own software and Stephan Schulz, the author of E has provided ideas and patiently answered my e-mails despite having a full-time job outside of academia.- 2-.\   D ! 0(6C PWorking with approximately 1200 theorems in the SET classification of the TPTP library led to a classifier that was correct 70% of the time but the sample was skewed so the base line would be 57%. The tentative conclusion is that useful results may be obtained from machine learning but that more work is needed on feature selection and learning methods. Rather than remain with classifying theorems into solvable or not, the new work will be applied to the more useful area of heuristic selection. 2  D " 0Pt"#2# vApplying Theorem Proving 2 D # 0Ht$2( zThe obvious and original application is checking mathematical theorems as a tool for mathematicians but this has proved an elusive goal (with some exceptions one of which is described below). But theorem provers can be applied to any problem where you want to prove that a complicated process doesn t alter some desired invariant or an outcome follows from the input conditions. Computer software and hardware are obvious candidates but other applications include security protocols (for example Cohen s TAPS system), commonsense reasoning in AI and even geometric proofs and the generation of consistent three dimensional models from images. 2.   DH  0nF! ? 3380___PPT10. rQܚ-H1(4J b/ 0DArialNew RomanLLԖ0Ԗ"DTimes New RomanLLԖ0Ԗ@.D  @n?" dd@  @@``  '#',2$/4@DeFY,-KGdS 0AA@3ʚ;ʚ;g42d2dd0pA%pP<4ddddA10L 80___PPT10 pp6Applying Machine Learning to Automatic Theorem Proving77B6  KD0 CC &KC(  x  c $t<4p     0(5 {The Nature of the Research 2  Dp  0] The aim of my research is to use machine learning techniques to detect patterns within logical theorems and use them to guide automated theorem provers. 2 .   D  0Эh]  $The Intended Outcome of the Research% 2% $ D  0 !' NThe primary aim is to extend the range of theorems that can be proved automatically in reasonable time. A secondary aim is to develop an understanding of structure within theorems and how this may be exploited in theorem proving heuristics. 2  D  0H(] * ~The Present Status of the Work 2  D   0p7* 4 xIn initial experiments I ve run theorem prover for a short time, collected data, then run to completion. I applied machine learning to generate a classifier to predict whether or not a theorem will be proved without needing to run the proof process to completion. Results are promising but inconclusive. I now plan to extend the work to learning heuristic selection from theorem data. 2 .(  R D   0 ]e  }The Challenge to be Addressed 2  D   0tc  Using computers to search for logical proofs of theorems has many applications ranging from pure maths to hardware and software verification. But the power of computer theorem provers falls well short of the initial promise of early work. The main challenge is the enormous size of the search space containing the proof being looked for. Much progress in search heuristics has been made but different heuristics work better with different theorems and determining which heuristic to pick for a new theorem is not straight forward. 2 .  [ D   0<4]F6 #Preliminary Results and Conclusions$ 2$ # D  0l 2  !Logic Systems and Theorem Provers" 2""  Dq  0  2 gIn logic there is a trade off between expressive power in stating theorems and the decidability of the proof process. The simplest logic is propositional logic where theorems are Boolean expressions and the proof process is described as satisfiability or SAT. SAT is decidable but propositional logic is too simple to express many mathematical ideas and problems. Even at this level, for general expressions SAT is NP-complete and there is unlikely to be a polynomial time algorithm to solve it. First order logic adds existential and universal quantifiers and allows functions so is significantly more powerful than propositional logic. It is semi-decidable. Most automatic theorem provers work in first order logic. Beyond first order logic, higher order logics are widely used and are particularly useful for expressing complex hardware and software verification conditions but cannot generally be solved automatically. Instead proof assistants are used which require expert human intervention in the process. Much work is being done on combining automated first order logic provers with higher order logic proof assistants.h 2hb      * D  02s *Automatic Theorem Proving and the E-prover+ 2+"$  D2  0+2! B Automated theorem proving does not reproduce the complex but relatively short proofs that human mathematicians produce. Instead simple logic rules are applied to many clauses until a contradiction is reached. Theorems are proved by demonstrating a contradiction if the negation of the theorem is assumed. One such rule that may be applied is resolution (showed to be complete and sound in 1965 by Robinson). Though more complicated rules are now applied, such solvers are often described as being resolution based. The problem with only applying resolution as a rule in a nave manner is that the number of new clauses generated can rapidly grow to an enormous size and this is particularly true where the clauses are encoding equality as a logical concept. One answer is to treat equality as a special case. Other improvements to make provers practical are to impose order on the parts of the logical expression (literals and terms), use a set of rules rather than just resolution and remove redundant clauses efficiently at an early stage. An efficient solver using such an approach is  E written mainly by Stephan Schulz at Munich. This is the prover that I have been working with. 2HD  1   DH  01)2* A Proof in Robbins Algebra  A Success for Automated Theorem Proving!F 2FE D  0\[+2f0 HDespite becoming increasingly sophisticated and useful in a range of fields such as software verification and security protocols, automated theorem proving has not become a tool for mathematicians in the way that computer algebra packages have. A notable exception was the proof in 1996 by McCune of a conjecture by Robbins in Boolean algebra which had eluded human mathematicians for over sixty years. This story made the New York Times. Though the likes of Andrew Wiles are probably safe for the time being, the original aim of theorem proving, to do maths, has been given a fillip.I 2IH D  0]021 TMachine Learning  Support Vector Machines+ 2+* Di  0g12; gMachine learning involves using a computer to find a relationship between measurable features of a problem (eg temperature of a patient etc) and some outcome, typically a classification (the patient has measles or does not have measles). Rather than analytically model the relationship; instead, parameter values in a model are estimated by looking at historic data (the learning process). If this is done correctly, the same parameters can be used to classify previously unseen data. In a support vector machine the numerical values are transformed to new values in a multi-dimensional space which may be of different dimension to the original feature set. In the new space the values can be partitioned in a linear fashion and classification is determined by which side of the partition a transformed point lies. Following advice from Sean Holden, an expert in the field, I have so far used the program SVMlite to generate classifiers in the form of support vector machines. At the same time I have passed the data on to Sean and to Andrew Naish at the Cambridge Computer Lab who are able to apply more sophisticated methods.h 2hZl      Q D  0s;2< ~ Finding Features in Proof States! 2!  D  0D-=2*D In theorem proving a  proof state is the collection of logical clauses, divided into processed and unprocessed sets, that provide a snap shot of the proof process. The initial proof state generally consists of the negated theorem to be proved together with the associated axioms all of which are in an unprocessed state. As the search for a proof progresses the number of clauses increases and some are moved to a processed set. The proof state also contains information as to how the generated clauses arose. To apply machine learning to theorem proving requires a means of measuring features in the proof state, either for the original theorem and axioms or by running the prover for a short while to reach a more complex proof state. Possible features are clause related (eg clause length), or involve whole sets of clauses. My initial runs used 16 features, the number was increased to 60 in later runs. 2H  ^   D  0 J3[ 2James Bridge supervised by Professor Larry Paulson3(23 2 DP  C (ACUnibig'  0D2E nAcknowledgements 2 D  06F2wH ,I have received much guidance from my supervisor Larry Paulson and from Sean Holden. Andrew Naish has analysed the data I have generated using his own software and Stephan Schulz, the author of E has provided ideas and patiently answered my e-mails despite having a full-time job outside of academia.- 2-.\   D ! 0(6C PWorking with approximately 1200 theorems in the SET classification of the TPTP library led to a classifier that was correct 70% of the time but the sample was skewed so the base line would be 57%. The tentative conclusion is that useful results may be obtained from machine learning but that more work is needed on feature selection and learning methods. Rather than remain with classifying theorems into solvable or not, the new work will be applied to the more useful area of heuristic selection. 2  D " 0Pt"#2# vApplying Theorem Proving 2 D # 0Ht$2( zThe obvious and original application is checking mathematical theorems as a tool for mathematicians but this has proved an elusive goal (with some exceptions one of which is described below). But theorem provers can be applied to any problem where you want to prove that a complicated process doesn t alter some desired invariant or an outcome follows from the input conditions. Computer software and hardware are obvious candidates but other applications include security protocols (for example Cohen s TAPS system), commonsense reasoning in AI and even geometric proofs and the generation of consistent three dimensional models from images. 2.   D & 09I/3I  5th June 2007, 2      DH  0nF! ? 3380___PPT10. r`b'1(4J b/ 0DArialNew RomanLLԖ0Ԗ"DTimes New RomanLLԖ0Ԗ@.D  @n?" dd@  @@``  '#',2$/4@DeFY,-KGdS 0AA@3ʚ;ʚ;g42d2dd0pA%pP<4ddddA10L 80___PPT10 pp6Applying Machine Learning to Automatic Theorem Proving77B6  r'z'),1(4J b/ 0DArialNew RomanLLԖ0ԖDTimes New RomanLLԖ0Ԗ@.D  @n?" dd@  @@``  '#',2$/4@DeFY,-KGdS 0AA@3ʚ;ʚ;g42d2d`,0pA%pP<4ddddA10L 80___PPT10 pp6Applying Machine Learning to Automatic Theorem Proving77B6  sD0 CC &sC(  x  c $Ǒ<4p     0xґ5 {The Nature of the Research 2  Dp  0ԑ] The aim of my research is to use machine learning techniques to detect patterns within logical theorems and use them to guide automated theorem provers. 2 .   D  0h]  $The Intended Outcome of the Research% 2% $ D  0!' NThe primary aim is to extend the range of theorems that can be proved automatically in reasonable time. A secondary aim is to develop an understanding of structure within theorems and how this may be exploited in theorem proving heuristics. 2  D  0D6(] * ~The Present Status of the Work 2  D   0|67* 4 In initial experiments I ve run a theorem prover for a short time, collected data, then run to completion. I then applied machine learning to generate a classifier to predict whether or not a theorem will be proved without needing to run the proof process to completion. Results are promising but inconclusive. I now plan to extend the work to learning heuristic selection from theorem data. 2 H*  =    D   0x6 ]e  }The Challenge to be Addressed 2  D   0h6c  Using computers to search for logical proofs of theorems has many applications ranging from pure maths to hardware and software verification. But the power of computer theorem provers falls well short of the initial promise of early work. The main challenge is the enormous size of the search space containing the proof being looked for. Much progress in search heuristics has been made but different heuristics work better with different theorems and determining which heuristic to pick for a new theorem is not straight forward. 2 .  [ D   0$64]F6 #Preliminary Results and Conclusions$ 2$ # D  026 2  !Logic Systems and Theorem Provers" 2""  Dq  0<6 2 gIn logic there is a trade off between expressive power in stating theorems and the decidability of the proof process. The simplest logic is propositional logic where theorems are Boolean expressions and the proof process is described as satisfiability or SAT. SAT is decidable but propositional logic is too simple to express many mathematical ideas and problems. Even at this level, for general expressions SAT is NP-complete and there is unlikely to be a polynomial time algorithm to solve it. First order logic adds existential and universal quantifiers and allows functions so is significantly more powerful than propositional logic. It is semi-decidable. Most automatic theorem provers work in first order logic. Beyond first order logic, higher order logics are widely used and are particularly useful for expressing complex hardware and software verification conditions but cannot generally be solved automatically. Instead proof assistants are used which require expert human intervention in the process. Much work is being done on combining automated first order logic provers with higher order logic proof assistants.h 2hb      * D  0H62s *Automatic Theorem Proving and the E-prover+ 2+"$  D2  0\62! B Automated theorem proving does not reproduce the complex but relatively short proofs that human mathematicians produce. Instead simple logic rules are applied to many clauses until a contradiction is reached. Theorems are proved by demonstrating a contradiction if the negation of the theorem is assumed. One such rule that may be applied is resolution (showed to be complete and sound in 1965 by Robinson). Though more complicated rules are now applied, such solvers are often described as being resolution based. The problem with only applying resolution as a rule in a nave manner is that the number of new clauses generated can rapidly grow to an enormous size and this is particularly true where the clauses are encoding equality as a logical concept. One answer is to treat equality as a special case. Other improvements to make provers practical are to impose order on the parts of the logical expression (literals and terms), use a set of rules rather than just resolution and remove redundant clauses efficiently at an early stage. An efficient solver using such an approach is  E written mainly by Stephan Schulz at Munich. This is the prover that I have been working with. 2HD  1   DH  0x6)2* A Proof in Robbins Algebra  A Success for Automated Theorem Proving!F 2FE D  0Ԋ6+2f0 HDespite becoming increasingly sophisticated and useful in a range of fields such as software verification and security protocols, automated theorem proving has not become a tool for mathematicians in the way that computer algebra packages have. A notable exception was the proof in 1996 by McCune of a conjecture by Robbins in Boolean algebra which had eluded human mathematicians for over sixty years. This story made the New York Times. Though the likes of Andrew Wiles are probably safe for the time being, the original aim of theorem proving, to do maths, has been given a fillip.I 2IH D  06021 TMachine Learning  Support Vector Machines+ 2+* Di  0d612; gMachine learning involves using a computer to find a relationship between measurable features of a problem (eg temperature of a patient etc) and some outcome, typically a classification (the patient has measles or does not have measles). Rather than analytically model the relationship; instead, parameter values in a model are estimated by looking at historic data (the learning process). If this is done correctly, the same parameters can be used to classify previously unseen data. In a support vector machine the numerical values are transformed to new values in a multi-dimensional space which may be of different dimension to the original feature set. In the new space the values can be partitioned in a linear fashion and classification is determined by which side of the partition a transformed point lies. Following advice from Sean Holden, an expert in the field, I have so far used the program SVMlite to generate classifiers in the form of support vector machines. At the same time I have passed the data on to Sean and to Andrew Naish at the Cambridge Computer Lab who are able to apply more sophisticated methods.h 2hZl      Q D  06;2< ~ Finding Features in Proof States! 2!  D  06-=2*D In theorem proving a  proof state is the collection of logical clauses, divided into processed and unprocessed sets, that provide a snap shot of the proof process. The initial proof state generally consists of the negated theorem to be proved together with the associated axioms all of which are in an unprocessed state. As the search for a proof progresses the number of clauses increases and some are moved to a processed set. The proof state also contains information as to how the generated clauses arose. To apply machine learning to theorem proving requires a means of measuring features in the proof state, either for the original theorem and axioms or by running the prover for a short while to reach a more complex proof state. Possible features are clause related (eg clause length), or involve whole sets of clauses. My initial runs used 16 features, the number was increased to 60 in later runs. 2H  ^   D  06J3[ 2James Bridge supervised by Professor Larry Paulson3(23 2 DP  C (ACUnibig'  0H6D2E nAcknowledgements 2 D  066F2wH ,I have received much guidance from my supervisor Larry Paulson and from Sean Holden. Andrew Naish has analysed the data I have generated using his own software and Stephan Schulz, the author of E has provided ideas and patiently answered my e-mails despite having a full-time job outside of academia.- 2-.\   D ! 0X66C PWorking with approximately 1200 theorems in the SET classification of the TPTP library led to a classifier that was correct 70% of the time but the sample was skewed so the base line would be 57%. The tentative conclusion is that useful results may be obtained from machine learning but that more work is needed on feature selection and learning methods. Rather than remain with classifying theorems into solvable or not, the new work will be applied to the more useful area of heuristic selection. 2  D " 07"#2# vApplying Theorem Proving 2 D # 07$2( zThe obvious and original application is checking mathematical theorems as a tool for mathematicians but this has proved an elusive goal (with some exceptions one of which is described below). But theorem provers can be applied to any problem where you want to prove that a complicated process doesn t alter some desired invariant or an outcome follows from the input conditions. Computer software and hardware are obvious candidates but other applications include security protocols (for example Cohen s TAPS system), commonsense reasoning in AI and even geometric proofs and the generation of consistent three dimensional models from images. 2.   D & 0|79I/3I  5th June 2007, 2      DH  0nF! ? 3380___PPT10. r],09,cu1(4J b/ 0DArialNew RomanLL$ Ԗ0ԖDTimes New RomanLL$ Ԗ0Ԗ@.D  @n?" dd@  @@`` ( #',2$/4@DeFY,-KGdS 0AA@3ʚ;ʚ;g42d2d0pA%pP<4ddddA10L  80___PPT10 pp6Applying Machine Learning to Automatic Theorem Proving77B6  MD0 CC &YC(  x  c $@<4p     05 {The Nature of the Research 2  Dp  0ģ] The aim of my research is to use machine learning techniques to detect patterns within logical theorems and use them to guide automated theorem provers. 2 .   D  0h]  $The Intended Outcome of the Research% 2% $ D  0!' NThe primary aim is to extend the range of theorems that can be proved automatically in reasonable time. A secondary aim is to develop an understanding of structure within theorems and how this may be exploited in theorem proving heuristics. 2  D  0((] * ~The Present Status of the Work 2  D   0\7* 4 In initial experiments I ve run a theorem prover for a short time, collected data, then run to completion. I then applied machine learning to generate a classifier to predict whether or not a theorem will be proved without needing to run the proof process to completion. Results are promising but inconclusive. I now plan to extend the work to learning heuristic selection from theorem data. 2 .*  W D   0  0e  }The Challenge to be Addressed 2  D   0c  Using computers to search for logical proofs of theorems has many applications ranging from pure maths to hardware and software verification. But the power of computer theorem provers falls well short of the initial promise of early work. The main challenge is the enormous size of the search space containing the proof being looked for. Much progress in search heuristics has been made but different heuristics work better with different theorems and determining which heuristic to pick for a new theorem is not straight forward. 2 .  [ D   0D4]F6 #Preliminary Results and Conclusions$ 2$ # D  0<  2  !Logic Systems and Theorem Provers" 2""  Dq  0  2 gIn logic there is a trade off between expressive power in stating theorems and the decidability of the proof process. The simplest logic is propositional logic where theorems are Boolean expressions and the proof process is described as satisfiability or SAT. SAT is decidable but propositional logic is too simple to express many mathematical ideas and problems. Even at this level, for general expressions SAT is NP-complete and there is unlikely to be a polynomial time algorithm to solve it. First order logic adds existential and universal quantifiers and allows functions so is significantly more powerful than propositional logic. It is semi-decidable. Most automatic theorem provers work in first order logic. Beyond first order logic, higher order logics are widely used and are particularly useful for expressing complex hardware and software verification conditions but cannot generally be solved automatically. Instead proof assistants are used which require expert human intervention in the process. Much work is being done on combining automated first order logic provers with higher order logic proof assistants.h 2hb      * D  02s *Automatic Theorem Proving and the E-prover+ 2+"$  D2  0.2! B Automated theorem proving does not reproduce the complex but relatively short proofs that human mathematicians produce. Instead simple logic rules are applied to many clauses until a contradiction is reached. Theorems are proved by demonstrating a contradiction if the negation of the theorem is assumed. One such rule that may be applied is resolution (showed to be complete and sound in 1965 by Robinson). Though more complicated rules are now applied, such solvers are often described as being resolution based. The problem with only applying resolution as a rule in a nave manner is that the number of new clauses generated can rapidly grow to an enormous size and this is particularly true where the clauses are encoding equality as a logical concept. One answer is to treat equality as a special case. Other improvements to make provers practical are to impose order on the parts of the logical expression (literals and terms), use a set of rules rather than just resolution and remove redundant clauses efficiently at an early stage. An efficient solver using such an approach is  E written mainly by Stephan Schulz at Munich. This is the prover that I have been working with. 2HD  1   DH  01)2* A Proof in Robbins Algebra  A Success for Automated Theorem Proving!F 2FE D  0tN+2f0 HDespite becoming increasingly sophisticated and useful in a range of fields such as software verification and security protocols, automated theorem proving has not become a tool for mathematicians in the way that computer algebra packages have. A notable exception was the proof in 1996 by McCune of a conjecture by Robbins in Boolean algebra which had eluded human mathematicians for over sixty years. This story made the New York Times. Though the likes of Andrew Wiles are probably safe for the time being, the original aim of theorem proving, to do maths, has been given a fillip.I 2IH D  0]021 TMachine Learning  Support Vector Machines+ 2+* Di  0g12; gMachine learning involves using a computer to find a relationship between measurable features of a problem (eg temperature of a patient etc) and some outcome, typically a classification (the patient has measles or does not have measles). Rather than analytically model the relationship; instead, parameter values in a model are estimated by looking at historic data (the learning process). If this is done correctly, the same parameters can be used to classify previously unseen data. In a support vector machine the numerical values are transformed to new values in a multi-dimensional space which may be of different dimension to the original feature set. In the new space the values can be partitioned in a linear fashion and classification is determined by which side of the partition a transformed point lies. Following advice from Sean Holden, an expert in the field, I have so far used the program SVMlite to generate classifiers in the form of support vector machines. At the same time I have passed the data on to Sean and to Andrew Naish at the Cambridge Computer Lab who are able to apply more sophisticated methods.h 2hZl      Q D  0z;2< ~ Finding Features in Proof States! 2!  D  0,-=2*D In theorem proving a  proof state is the collection of logical clauses, divided into processed and unprocessed sets, that provide a snap shot of the proof process. The initial proof state generally consists of the negated theorem to be proved together with the associated axioms all of which are in an unprocessed state. As the search for a proof progresses the number of clauses increases and some are moved to a processed set. The proof state also contains information as to how the generated clauses arose. To apply machine learning to theorem proving requires a means of measuring features in the proof state, either for the original theorem and axioms or by running the prover for a short while to reach a more complex proof state. Possible features are clause related (eg clause length), or involve whole sets of clauses. My initial runs used 16 features, the number was increased to 60 in later runs. 2H  ^   D  0J3[ 2James Bridge supervised by Professor Larry Paulson3(23 2 DP  C (ACUnibig'  0D2E nAcknowledgements 2 D  0<6F2wH ,I have received much guidance from my supervisor Larry Paulson and from Sean Holden. Andrew Naish has analysed the data I have generated using his own software and Stephan Schulz, the author of E has provided ideas and patiently answered my e-mails despite having a full-time job outside of academia.- 2-.\   D ! 06C PWorking with approximately 1200 theorems in the SET classification of the TPTP library led to a classifier that was correct 70% of the time but the sample was skewed so the base line would be 57%. The tentative conclusion is that useful results may be obtained from machine learning but that more work is needed on feature selection and learning methods. Rather than remain with classifying theorems into solvable or not, the new work will be applied to the more useful area of heuristic selection. 2  D " 0tʕ"#2# vApplying Theorem Proving 2 D # 00ӕ$2( zThe obvious and original application is checking mathematical theorems as a tool for mathematicians but this has proved an elusive goal (with some exceptions one of which is described below). But theorem provers can be applied to any problem where you want to prove that a complicated process doesn t alter some desired invariant or an outcome follows from the input conditions. Computer software and hardware are obvious candidates but other applications include security protocols (for example Cohen s TAPS system), commonsense reasoning in AI and even geometric proofs and the generation of consistent three dimensional models from images. 2.   D & 09I/3I  5th June 2007, 2      D<  c $ ? 3380___PPT10. ru2z{u1