]> matita.cs.unibo.it Git - helm.git/blob - helm/papers/calculemus-2003/slides/helm.eps
ocaml 3.09 transition
[helm.git] / helm / papers / calculemus-2003 / slides / helm.eps
1 %!PS-Adobe-3.0 EPSF-3.0
2 %%Creator: (ImageMagick)
3 %%Title: (helm.eps)
4 %%CreationDate: (Fri Mar 21 13:14:55 2003)
5 %%BoundingBox: 0 0 101 36
6 %%HiResBoundingBox: 0 0 101 36
7 %%DocumentData: Clean7Bit
8 %%LanguageLevel: 1
9 %%Pages: 1
10 %%EndComments
11
12 %%BeginDefaults
13 %%EndDefaults
14
15 %%BeginProlog
16 %
17 % Display a color image.  The image is displayed in color on
18 % Postscript viewers or printers that support color, otherwise
19 % it is displayed as grayscale.
20 %
21 /DirectClassPacket
22 {
23   %
24   % Get a DirectClass packet.
25   %
26   % Parameters:
27   %   red.
28   %   green.
29   %   blue.
30   %   length: number of pixels minus one of this color (optional).
31   %
32   currentfile color_packet readhexstring pop pop
33   compression 0 eq
34   {
35     /number_pixels 3 def
36   }
37   {
38     currentfile byte readhexstring pop 0 get
39     /number_pixels exch 1 add 3 mul def
40   } ifelse
41   0 3 number_pixels 1 sub
42   {
43     pixels exch color_packet putinterval
44   } for
45   pixels 0 number_pixels getinterval
46 } bind def
47
48 /DirectClassImage
49 {
50   %
51   % Display a DirectClass image.
52   %
53   systemdict /colorimage known
54   {
55     columns rows 8
56     [
57       columns 0 0
58       rows neg 0 rows
59     ]
60     { DirectClassPacket } false 3 colorimage
61   }
62   {
63     %
64     % No colorimage operator;  convert to grayscale.
65     %
66     columns rows 8
67     [
68       columns 0 0
69       rows neg 0 rows
70     ]
71     { GrayDirectClassPacket } image
72   } ifelse
73 } bind def
74
75 /GrayDirectClassPacket
76 {
77   %
78   % Get a DirectClass packet;  convert to grayscale.
79   %
80   % Parameters:
81   %   red
82   %   green
83   %   blue
84   %   length: number of pixels minus one of this color (optional).
85   %
86   currentfile color_packet readhexstring pop pop
87   color_packet 0 get 0.299 mul
88   color_packet 1 get 0.587 mul add
89   color_packet 2 get 0.114 mul add
90   cvi
91   /gray_packet exch def
92   compression 0 eq
93   {
94     /number_pixels 1 def
95   }
96   {
97     currentfile byte readhexstring pop 0 get
98     /number_pixels exch 1 add def
99   } ifelse
100   0 1 number_pixels 1 sub
101   {
102     pixels exch gray_packet put
103   } for
104   pixels 0 number_pixels getinterval
105 } bind def
106
107 /GrayPseudoClassPacket
108 {
109   %
110   % Get a PseudoClass packet;  convert to grayscale.
111   %
112   % Parameters:
113   %   index: index into the colormap.
114   %   length: number of pixels minus one of this color (optional).
115   %
116   currentfile byte readhexstring pop 0 get
117   /offset exch 3 mul def
118   /color_packet colormap offset 3 getinterval def
119   color_packet 0 get 0.299 mul
120   color_packet 1 get 0.587 mul add
121   color_packet 2 get 0.114 mul add
122   cvi
123   /gray_packet exch def
124   compression 0 eq
125   {
126     /number_pixels 1 def
127   }
128   {
129     currentfile byte readhexstring pop 0 get
130     /number_pixels exch 1 add def
131   } ifelse
132   0 1 number_pixels 1 sub
133   {
134     pixels exch gray_packet put
135   } for
136   pixels 0 number_pixels getinterval
137 } bind def
138
139 /PseudoClassPacket
140 {
141   %
142   % Get a PseudoClass packet.
143   %
144   % Parameters:
145   %   index: index into the colormap.
146   %   length: number of pixels minus one of this color (optional).
147   %
148   currentfile byte readhexstring pop 0 get
149   /offset exch 3 mul def
150   /color_packet colormap offset 3 getinterval def
151   compression 0 eq
152   {
153     /number_pixels 3 def
154   }
155   {
156     currentfile byte readhexstring pop 0 get
157     /number_pixels exch 1 add 3 mul def
158   } ifelse
159   0 3 number_pixels 1 sub
160   {
161     pixels exch color_packet putinterval
162   } for
163   pixels 0 number_pixels getinterval
164 } bind def
165
166 /PseudoClassImage
167 {
168   %
169   % Display a PseudoClass image.
170   %
171   % Parameters:
172   %   class: 0-PseudoClass or 1-Grayscale.
173   %
174   currentfile buffer readline pop
175   token pop /class exch def pop
176   class 0 gt
177   {
178     currentfile buffer readline pop
179     token pop /depth exch def pop
180     /grays columns 8 add depth sub depth mul 8 idiv string def
181     columns rows depth
182     [
183       columns 0 0
184       rows neg 0 rows
185     ]
186     { currentfile grays readhexstring pop } image
187   }
188   {
189     %
190     % Parameters:
191     %   colors: number of colors in the colormap.
192     %   colormap: red, green, blue color packets.
193     %
194     currentfile buffer readline pop
195     token pop /colors exch def pop
196     /colors colors 3 mul def
197     /colormap colors string def
198     currentfile colormap readhexstring pop pop
199     systemdict /colorimage known
200     {
201       columns rows 8
202       [
203         columns 0 0
204         rows neg 0 rows
205       ]
206       { PseudoClassPacket } false 3 colorimage
207     }
208     {
209       %
210       % No colorimage operator;  convert to grayscale.
211       %
212       columns rows 8
213       [
214         columns 0 0
215         rows neg 0 rows
216       ]
217       { GrayPseudoClassPacket } image
218     } ifelse
219   } ifelse
220 } bind def
221
222 /DisplayImage
223 {
224   %
225   % Display a DirectClass or PseudoClass image.
226   %
227   % Parameters:
228   %   x & y translation.
229   %   x & y scale.
230   %   label pointsize.
231   %   image label.
232   %   image columns & rows.
233   %   class: 0-DirectClass or 1-PseudoClass.
234   %   compression: 0-none or 1-RunlengthEncoded.
235   %   hex color packets.
236   %
237   gsave
238   /buffer 512 string def
239   /byte 1 string def
240   /color_packet 3 string def
241   /pixels 768 string def
242
243   currentfile buffer readline pop
244   token pop /x exch def
245   token pop /y exch def pop
246   x y translate
247   currentfile buffer readline pop
248   token pop /x exch def
249   token pop /y exch def pop
250   currentfile buffer readline pop
251   token pop /pointsize exch def pop
252   /Times-Roman findfont pointsize scalefont setfont
253   x y scale
254   currentfile buffer readline pop
255   token pop /columns exch def
256   token pop /rows exch def pop
257   currentfile buffer readline pop
258   token pop /class exch def pop
259   currentfile buffer readline pop
260   token pop /compression exch def pop
261   class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
262   grestore
263 } bind def
264 %%EndProlog
265 %%Page:  1 1
266 %%PageBoundingBox: 0 0 101 36
267 userdict begin
268 DisplayImage
269 0 0
270 101 36
271 12.000000
272 101 36
273 1
274 1
275 1
276 8
277 282827272727282926282A2B2929292B2D2C2C2B2B2C2D2D33323131323436383B3C3D
278 3D3E3E3F3F494C475B574956474E544F413B42433D3A39373634333333312B292E302D2C
279 302D2C2A2928282828242627282A2B2925242527282928262527272625252A2A2A292A2A
280 2B2C282A2C2C2B2A2B2C2B2B2B2C2D2F3031313133343638393A3E3E3F4042444647454F
281 4E5E5E57604D625E5449454848443E3C3A373534333237323134332F2F33302F2E2C2C2B
282 2B2B2C2E2E2D2B2B2C2C2F2D2A27262628292A292828272E2E2D2D2E2F30313032343533
283 333435343333343536383836383A3D4041424348494A4B4D4F5253535F606C716B695777
284 665651514E4A474443403D3A383636373535363532333735343332313131312F30312F2C
285 2B2F333433312F2F3031332E2D2C2B2B3131313132343536383A3C3C3B3A3B3C3D3C3C3B
286 3C3C3D3E3F3F40424447494A51525557595B5C5C61666B7D897F736E896F5C5D5F574E4D
287 4B494744413F3D3D393A3B3B3A393C403B3B393836363636333131343534363932333435
288 34312E2C31302F2E2E3434353637393B3C3D3F4141403F40413F3F404041434545484745
289 4546494C4E54575C6266696A6A6B666E8AA3978694967B686B6D605656504E4C49464543
290 4342444443434547474342403E3C3B3A3A3C36363C413F3C3D434342413E3B3735353433
291 323239393A3B3D3F414246484A4A4948494A4647484A4D50525453525150515356575B5E
292 646B737A7F81857D839ABBB7A1B89D8675726F635B5C585653504C4A48484A4A4947494D
293 4D494D4B494543413F3F423A3940433F3E42454442414041424339393837363E3E3F4143
294 4548494A4D4F4F4E4D4E4F4F4F4F50525455565657595C5D5E5D5D616162676F79838993
295 9599A0CADAC3D6AA9986796F6563676664605B56524F4E4E4E4B4C535C5B545655514D49
296 464443423E3F4544414A584E4F504F4C46403C3F3E3D3C3C42424345474A4C4E45474949
297 4848484951504F4D4C4B4B4B4D51575D5F5E5B59605C58575D69767E83929A97CBF3E1EE
298 BDAF9A85756E717674716C665F5A565454545256637171695D5B57524E4A484745454A4F
299 4A4A5E77888C8F8B7D674F414342414040474748494A4C4E4F3234283C282A363B50585A
300 4D392D3039372E3C395C583E2E454D3E4D4B4F47505545535C6AF4FFEBDCB49E8C868E83
301 94868157686963565151584E527CA995C2C89543586449524A515143483D5F59C3E4E5E5
302 D8E056435247474645444A4A4B4C4E50525443412C3827354648595C5D574C403A392F2E
303 47466462544D4F51344044505160687A647347F9FBFBDFD0C4B8A19087849C842E5C6B4D
304 5F624B5C5E534D524CA2BFE7D63D54504956435850656B525DD2D4FAC128333459484C4C
305 4B4A494F4F50515456585A5953313227445B585A5A5C60625B4D41363A5C5A6B6663655A
306 6243596B78788282AC939550F7FBFFF7D8A286757DB0ACBBB983536E586A4C57595A5F5E
307 5B5AC1DBD8CB345566565B635551595569CED2E0D7A22F605C5C51535251505053545557
308 595C5E5F675F362F285069615F5C5E656A65554741436A686F686C71636F45607C86858C
309 97B5C6BC9DF1FFFFF8E7BCB5A793AD654F6FB3386672795F6F62596470736CCAEACCDBC3
310 665F6A5A625261625474EA759DC4BC3E5F595458585756555559595A5C5E6062646A643B
311 332B546D636B6968696A64584F453F696C716D75777F854254747D858F9EA6D1DDE6F4FF
312 FCFBE6B9A99785A944657ED7897C6F6472676D6C68666C6ECFBDBAF6EF4A5A7A5F5C6D6E
313 686D63A53A9AD7C932566665625C5B5A59595F606061636566676A67433D31546C656A6B
314 6B6C6C6B6B6A51426B6F706B74728492475C82858B949A9FBAE2EBF3F0F1DED3C6B5A39E
315 CF616696B0BE646367756170726A687476D3857FDEBE7076726A71756C616F9BC0569CB4
316 902A726B5B5561605F5E5E6766666768696A6B6C6B4D4B39546C6C68696B6E71757B7F59
317 456F74706A75727B9347618883858A92A7AEC2C4D8D5CACCB7B89E91A0D4606FB1C7D350
318 64756872746D686B7166B97666D0E5D4765C706B656F767ECFB75083C29A2A6965757467
319 676665656B6B6B6B6B6C6D6E6F7055553F546D72727170707175787B523F6D7772708180
320 9AAD5261847D858E8DB0B79DA3B5C0A0C0A3B4A3A8C4E86176A1FBE05F6779746F717074
321 777871CE854A65C2CF556367707869748198393C8CBA853580616C6B6D6C6B6A6A727271
322 71707171727273506338526E7676786D7173758C925F4C767A7F7D8180AF8860587F8773
323 909AA1B4428FB0AF8EA0A89AA3AAED6344749483C7BFA5787A7A7A7A6D777777B4675877
324 A6C1AE7B69736C7B7DACAF34687E967D3D6E6A6F756F6F70707076767575747575757074
325 6F7D6066837F838982898A889BA0634B787C7D7B7E7F92C4AC97A8A7AFBFC9CBDF4A86A1
326 A48C91A18D8CA1DC49717B837CC1C99A6174797C81777F7A75A852547289979067537674
327 737C8C512D7075846A336E6F717275757575767C7C7C7B7A7A7A79737586866759746770
328 77737E81829CA86A497C7F7C7B7C7EBDCBB8889DA283B8889AD63F829EA190869C929ACD
329 DD3E928B8893B8C181538A7F83857E837D799F6162727992A27A5575836F858A355D7D77
330 7B62387C81837F7C7C7C7D7D82828281807F7E7D7A798B8751485F5A555951595A5F849A
331 73467E827C7D7C81C1CF6049735A5F6D6E86D544889E9A8B778F9CA7D39833898D858F8B
332 A87E5B8B888A857F827F829C5B60707289A1876B4D7E6F7D6E407D7067614C2E747A7E78
333 828282828388888888868482817D7F939B4D5C6F7985877C7E7979A0BB80437F857D8380
334 86CFDC9A507EA17E918C92C84282949691818BA3A5AE3B4C8994878671B1AF7D6C878B85
335 8486848A93445C807E777D7984407577703E4575707063554083858E8B86868787888E8F
336 8F8E8C8986857E84A4B2566F7F8F828781877F7CA3C1934481877E898389D6EF7C64928D
337 9F928482A14988909597917C92A2A534848A91969A85B5B683487E89878E8E898E834A5F
338 84867970687662605D57345D71805F4B4338797987858C8C8D8D8D94959594928F8B8985
339 85B6B55A677E8B8187838B8584B1D5A6488489808E8489FFD87D6793948894888A9773A7
340 958E8F8A6E87A09646918084929792968873417E8986908F898F784C5A797F7E775D5566
341 3D3C3A4673777E614541408486969393949494959899999896928F8C9086C4B05F5E838E
342 9092888B8384B7E1B34C868A81918488DCDD816E8E919E85888C8A87B3958F948F8AABB1
343 773D8291988F839691848A66848D838B8886927748648D8E8883695D533B5243607C8681
344 57353239818696919999999A9AA0A0A1A09E9A9794907FB3D26C6488889088958E8B80DD
345 CFB3438C9388829289CAD6776397928B8788968C7EC58166969C789775466F8D998F9299
346 9A8D7E7E894A8A8E8F86808F663F6B8B8C8D90754D463F33375A848E804F32303789899B
347 A19D9EA0A1A2A6A5A4A19E9995938A98D7E1716C999C9890948D9389E1E3C25087929487
348 8B8CCDD276629595918E8B938E7EAB66598B8A83A27E6A9F9E82988F8C92908376724286
349 9295918E915D32648E95929386713B33354B697F888859313144979AA08FA1A2A3A4A5AC
350 ABA8A5A29E9C9A8C96BCAF576591879794918D9B87C7D795578D8A8E888E9AB9BD746791
351 918D8893929689985A61959A897F4B48899D9BA39A979B968370674F757E9496847F5C41
352 65889495938A7E3023346890948C8B592E31448593A899A6A7A9AAABB0AFADABA9A8A7A7
353 D6CFEBF3D0D6CE96949EA2ACC4A8C7DDC4ACBA888DA7B1B5B6C19996B0AAA29AAB9CA295
354 8954658F827D887E7A7F7F9A999C9F977B59494A514E5A919663504A323D547798AAA69B
355 61494E7C9C8A5C3E47272F334E67A1B1ACACAEAFB0B4B3B1AFAEADACAC90778696938F7E
356 4CA5ACA5A0A2716673807472527491775B626E63646B645E5A51445764645576986C574A
357 44423D548FA0A5A89A775143483D3247838A533331302B375B869EA099A08C8698A79260
358 373A2A35302F4483A2B1B1B3B4B5BAB9B7B4B1AEACAB9F868A86827D92929CA3A1A1A78C
359 7F8E7975828CADB29183828486857E7D8181887B838A837C8E9A958C8180878995AEB1AD
360 ADAB9D897E8085838DA1A89A8A82908B8D97A5ACADADADADACADB2AF9F8E87838B8A878D
361 A8B8B6B7B8B9BABDBDBCBBB8B5B1AFA9A4B4AEB0A0B0B4B4B4B3B0B1A99FA8B1AAA9A4A4
362 A6A5B8ADA2A9A79CA1A8A8A5A3A6AAA7AAAFAEA5A49EA0A4AAB2B0B0A7A6AEB0ABA8ABAC
363 ABAAA2A5B1B1B0A8AAACABACAFB1B2B1B4B4B0ACACADADAAAEADB0B5B2AFB6BBBCBDBEBF
364 BEBFC0C1C0BDBAB8BDB1B3A7BCB5BCB2B6B5B8B6B3B8AEB1A8B2B8B5B3BBB1AAB9A6B0B1
365 A6ADB1ABA6ADAEAEACB4B0A9B0ADAEB7AEA8B5B7BBB5B3B6B3ACAFB8B2AEB6B6B5B5AEB3
366 B8BAB8B6B9BDB9B2BCB6B6BCBEBAB7B8B4BEB5B4BEBCB4C3BFC0C1C2C3C6C5C5C4C3C2C1
367 C1BDBDBDBDBDBDBDBDBFBEBDBDBCBBBABABCBCBCBBBBBBBABAB9B8B6B5B5B6B8B9B5B6B7
368 B8B8B8B8B7B9B8B7B6B7BABCBEBEBDBDBCBBBAB9B9BABABBBBBBBCBCBCBEBEBFBFBFC0C0
369 C0C1C1C1C0C0C0BFBFBEBEBFC0C1C2C2C3C6C6C6C6C6CAC9C9C8C7C6C6C5C3C3C3C3C3C3
370 C3C3C5C4C4C3C2C1C0C0C2C2C2C2C1C1C1C0C0BEBDBBBBBDBEC0BCBCBDBEBFBEBEBEBEBD
371 BCBCBCBFC1C3C4C3C3C2C1C0BFBFC0C1C1C1C2C2C2C2C3C3C4C4C4C5C5C5C6C6C6C5C5C5
372 C4C4C3C3C4C5C6C6C7C7CACACACACACFCFCECDCDCCCCCBCBCBCBCBCBCBCBCBCCCCCBCBCA
373 C9C9C8CACACAC9C9C9C8C8C7C6C5C4C4C5C6C7C4C4C5C6C7C7C6C6C5C4C3C3C4C5C7C9CB
374 CACAC9C8C8C7C7C8C8C9C9C9CACACACACACACBCBCCCCCCCDCDCDCCCCCBCBCBCACACBCCCC
375 CDCECED0D0D0D0D0D2D2D2D1D1D0D0D0D0D0D0D0D0D0D0D0D0D0CFCFCECECDCDCFCECECE
376 CDCDCDCCCBCBCAC9C9CACBCBC8C9CACBCBCBCBCBCAC9C9C8C9CACBCCCECECDCDCCCCCCCB
377 CCCDCDCDCECECECFCFCFCFD0D0D0D1D1D2D2D1D1D1D0D0D0CFD0D0D1D1D2D2D2D3D3D3D3
378 D3end
379 %%PageTrailer
380 %%Trailer
381 %%EOF