aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/pretyping.dep.ps
blob: e6a242ac4022146c0daf18728e49234f7edf9947 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
%!PS-Adobe-2.0
%%Creator: dot version gviz 1.7.3b (Mon Feb 26 14:10:22 EST 2001)
%%For: (herbelin) Hugo Herbelin
%%Title: G
%%Pages: (atend)
%%BoundingBox: 36 36 577 201
%%EndComments
%%BeginProlog
save
/DotDict 200 dict def
DotDict begin

%%BeginResource: procset
/coord-font-family /Times-Roman def
/default-font-family /Times-Roman def
/coordfont coord-font-family findfont 8 scalefont def

/InvScaleFactor 1.0 def
/set_scale {
	dup 1 exch div /InvScaleFactor exch def
	dup scale
} bind def

% styles
/solid { } bind def
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
/bold { 2 setlinewidth } bind def
/filled { } bind def
/unfilled { } bind def
/rounded { } bind def
/diagonals { } bind def

% hooks for setting color 
/nodecolor { sethsbcolor } bind def
/edgecolor { sethsbcolor } bind def
/graphcolor { sethsbcolor } bind def
/nopcolor {pop pop pop} bind def

/beginpage {	% i j npages
	/npages exch def
	/j exch def
	/i exch def
	/str 10 string def
	npages 1 gt {
		gsave
			coordfont setfont
			0 0 moveto
			(\() show i str cvs show (,) show j str cvs show (\)) show
		grestore
	} if
} bind def

/set_font {
	findfont exch
	scalefont setfont
} def

% draw aligned label in bounding box aligned to current point
% alignfactor tells what fraction to place on the left.
% -.5 is centered.
/alignedtext {			% text labelwidth fontsz alignfactor
	/alignfactor exch def
	/fontsz exch def
	/width exch def
	/text exch def
	gsave
		% even if node or edge is dashed, don't paint text with dashes
		[] 0 setdash
		currentpoint newpath moveto
		text stringwidth pop
		alignfactor mul fontsz -.3 mul rmoveto
		text show
	grestore
} def

/boxprim {				% xcorner ycorner xsize ysize
		4 2 roll
		moveto
		2 copy
		exch 0 rlineto
		0 exch rlineto
		pop neg 0 rlineto
		closepath
} bind def

/ellipse_path {
	/ry exch def
	/rx exch def
	/y exch def
	/x exch def
	matrix currentmatrix
	newpath
	x y translate
	rx ry scale
	0 0 1 0 360 arc
	setmatrix
} bind def

/endpage { showpage } bind def

/layercolorseq
	[	% layer color sequence - darkest to lightest
		[0 0 0]
		[.2 .8 .8]
		[.4 .8 .8]
		[.6 .8 .8]
		[.8 .8 .8]
	]
def

/setlayer {/maxlayer exch def /curlayer exch def
	layercolorseq curlayer get
	aload pop sethsbcolor
	/nodecolor {nopcolor} def
	/edgecolor {nopcolor} def
	/graphcolor {nopcolor} def
} bind def

/onlayer { curlayer ne {invis} if } def

/onlayers {
	/myupper exch def
	/mylower exch def
	curlayer mylower lt
	curlayer myupper gt
	or
	{invis} if
} def

/curlayer 0 def

%%EndProlog
%%BeginSetup
14 default-font-family set_font
1 setmiterlimit
% /arrowlength 10 def
% /arrowwidth 5 def

% make sure pdfmark is harmless for PS-interpreters other than Distiller
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
% make '<<' and '>>' safe on PS Level 1 devices
/languagelevel where {pop languagelevel}{1} ifelse
2 lt {
    userdict (<<) cvn ([) cvn load put
    userdict (>>) cvn ([) cvn load put
} if

%%EndResource
%%EndSetup
%%Page: 1 1
%%PageBoundingBox: 36 36 577 201
%%PageOrientation: Portrait
gsave
35 35 542 166 boxprim clip newpath
36 36 translate
0 0 1 beginpage
0.4796 set_scale
0 0 translate 0 rotate
[ /CropBox [36 36 577 201] /PAGES pdfmark
0.000 0.000 0.000 graphcolor
14.00 /Times-Roman set_font

%	Multcase
gsave 10 dict begin
355 272 36 18 ellipse_path
stroke
gsave 10 dict begin
355 273 moveto (Multcase) 51 14.00 -0.50 alignedtext
end grestore
end grestore

%	Evarutil
gsave 10 dict begin
468 272 33 18 ellipse_path
stroke
gsave 10 dict begin
468 273 moveto (Evarutil) 45 14.00 -0.50 alignedtext
end grestore
end grestore

%	Multcase -> Evarutil
newpath 391 272 moveto
402 272 414 272 425 272 curveto
stroke
newpath 425 270 moveto
435 272 lineto
425 275 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Pretype_errors
gsave 10 dict begin
596 272 51 18 ellipse_path
stroke
gsave 10 dict begin
596 273 moveto (Pretype_errors) 82 14.00 -0.50 alignedtext
end grestore
end grestore

%	Evarutil -> Pretype_errors
newpath 501 272 moveto
511 272 523 272 534 272 curveto
stroke
newpath 534 270 moveto
544 272 lineto
534 275 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Indrec
gsave 10 dict begin
596 326 28 18 ellipse_path
stroke
gsave 10 dict begin
596 327 moveto (Indrec) 35 14.00 -0.50 alignedtext
end grestore
end grestore

%	Evarutil -> Indrec
newpath 494 283 moveto
514 292 542 304 564 313 curveto
stroke
newpath 564 310 moveto
572 316 lineto
562 315 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Typing
gsave 10 dict begin
468 218 30 18 ellipse_path
stroke
gsave 10 dict begin
468 219 moveto (Typing) 40 14.00 -0.50 alignedtext
end grestore
end grestore

%	Typing -> Pretype_errors
newpath 493 229 moveto
510 236 534 246 554 254 curveto
stroke
newpath 555 252 moveto
563 258 lineto
553 256 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Rawterm
gsave 10 dict begin
731 164 36 18 ellipse_path
stroke
gsave 10 dict begin
731 165 moveto (Rawterm) 51 14.00 -0.50 alignedtext
end grestore
end grestore

%	Pretype_errors -> Rawterm
newpath 630 258 moveto
637 255 644 251 648 248 curveto
667 233 692 206 710 187 curveto
stroke
newpath 708 186 moveto
716 180 lineto
711 189 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Inductiveops
gsave 10 dict begin
731 245 46 18 ellipse_path
stroke
gsave 10 dict begin
731 246 moveto (Inductiveops) 72 14.00 -0.50 alignedtext
end grestore
end grestore

%	Pretype_errors -> Inductiveops
newpath 641 263 moveto
654 261 667 258 680 255 curveto
stroke
newpath 679 253 moveto
689 253 lineto
680 258 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Tacred
gsave 10 dict begin
731 56 29 18 ellipse_path
stroke
gsave 10 dict begin
731 57 moveto (Tacred) 38 14.00 -0.50 alignedtext
end grestore
end grestore

%	Cbv
gsave 10 dict begin
863 56 27 18 ellipse_path
stroke
gsave 10 dict begin
863 57 moveto (Cbv) 23 14.00 -0.50 alignedtext
end grestore
end grestore

%	Tacred -> Cbv
newpath 761 56 moveto
781 56 806 56 827 56 curveto
stroke
newpath 826 54 moveto
836 56 lineto
826 59 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Reductionops
gsave 10 dict begin
863 110 49 18 ellipse_path
stroke
gsave 10 dict begin
863 111 moveto (Reductionops) 77 14.00 -0.50 alignedtext
end grestore
end grestore

%	Tacred -> Reductionops
newpath 756 66 moveto
774 74 800 84 821 92 curveto
stroke
newpath 822 90 moveto
830 96 lineto
820 94 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Instantiate
gsave 10 dict begin
988 56 39 18 ellipse_path
stroke
gsave 10 dict begin
988 57 moveto (Instantiate) 58 14.00 -0.50 alignedtext
end grestore
end grestore

%	Cbv -> Instantiate
newpath 890 56 moveto
904 56 922 56 938 56 curveto
stroke
newpath 938 54 moveto
948 56 lineto
938 59 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Reductionops -> Instantiate
newpath 895 96 moveto
912 88 933 80 951 72 curveto
stroke
newpath 949 70 moveto
959 68 lineto
951 75 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Termops
gsave 10 dict begin
988 110 35 18 ellipse_path
stroke
gsave 10 dict begin
988 111 moveto (Termops) 49 14.00 -0.50 alignedtext
end grestore
end grestore

%	Reductionops -> Termops
newpath 912 110 moveto
923 110 933 110 943 110 curveto
stroke
newpath 943 108 moveto
953 110 lineto
943 113 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Syntax_def
gsave 10 dict begin
596 164 42 18 ellipse_path
stroke
gsave 10 dict begin
596 165 moveto (Syntax_def) 63 14.00 -0.50 alignedtext
end grestore
end grestore

%	Syntax_def -> Rawterm
newpath 638 164 moveto
653 164 670 164 685 164 curveto
stroke
newpath 685 162 moveto
695 164 lineto
685 167 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Retyping
gsave 10 dict begin
355 49 36 18 ellipse_path
stroke
gsave 10 dict begin
355 50 moveto (Retyping) 51 14.00 -0.50 alignedtext
end grestore
end grestore

%	Retyping -> Reductionops
newpath 389 43 moveto
469 30 670 2 778 26 curveto
801 31 798 69 814 86 curveto
817 89 820 91 824 92 curveto
stroke
newpath 825 90 moveto
833 96 lineto
823 94 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Evd
gsave 10 dict begin
1091 56 27 18 ellipse_path
stroke
gsave 10 dict begin
1091 57 moveto (Evd) 22 14.00 -0.50 alignedtext
end grestore
end grestore

%	Instantiate -> Evd
newpath 1028 56 moveto
1037 56 1046 56 1054 56 curveto
stroke
newpath 1054 54 moveto
1064 56 lineto
1054 59 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Recordops
gsave 10 dict begin
468 110 40 18 ellipse_path
stroke
gsave 10 dict begin
468 111 moveto (Recordops) 59 14.00 -0.50 alignedtext
end grestore
end grestore

%	Classops
gsave 10 dict begin
596 56 35 18 ellipse_path
stroke
gsave 10 dict begin
596 57 moveto (Classops) 49 14.00 -0.50 alignedtext
end grestore
end grestore

%	Recordops -> Classops
newpath 497 98 moveto
516 90 541 79 561 71 curveto
stroke
newpath 559 69 moveto
569 68 lineto
561 74 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Classops -> Tacred
newpath 631 56 moveto
650 56 673 56 692 56 curveto
stroke
newpath 691 54 moveto
701 56 lineto
691 59 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Classops -> Rawterm
newpath 622 68 moveto
635 74 648 80 648 80 curveto
667 94 692 121 710 141 curveto
stroke
newpath 711 138 moveto
716 147 lineto
707 142 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Pretyping
gsave 10 dict begin
46 114 37 18 ellipse_path
stroke
gsave 10 dict begin
46 115 moveto (Pretyping) 54 14.00 -0.50 alignedtext
end grestore
end grestore

%	Cases
gsave 10 dict begin
147 114 27 18 ellipse_path
stroke
gsave 10 dict begin
147 115 moveto (Cases) 32 14.00 -0.50 alignedtext
end grestore
end grestore

%	Pretyping -> Cases
newpath 84 114 moveto
93 114 102 114 110 114 curveto
stroke
newpath 110 112 moveto
120 114 lineto
110 117 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Coercion
gsave 10 dict begin
246 114 36 18 ellipse_path
stroke
gsave 10 dict begin
246 115 moveto (Coercion) 51 14.00 -0.50 alignedtext
end grestore
end grestore

%	Cases -> Coercion
newpath 174 114 moveto
182 114 191 114 200 114 curveto
stroke
newpath 200 112 moveto
210 114 lineto
200 117 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Inductiveops -> Reductionops
newpath 748 228 moveto
771 204 815 159 841 132 curveto
stroke
newpath 837 132 moveto
846 127 lineto
841 136 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Pattern
gsave 10 dict begin
596 110 30 18 ellipse_path
stroke
gsave 10 dict begin
596 111 moveto (Pattern) 39 14.00 -0.50 alignedtext
end grestore
end grestore

%	Pattern -> Reductionops
newpath 626 110 moveto
670 110 751 110 806 110 curveto
stroke
newpath 804 108 moveto
814 110 lineto
804 113 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Pattern -> Rawterm
newpath 621 120 moveto
641 129 671 140 694 150 curveto
stroke
newpath 694 147 moveto
703 153 lineto
693 152 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Indrec -> Inductiveops
newpath 619 316 moveto
630 311 641 306 648 302 curveto
663 293 683 279 700 267 curveto
stroke
newpath 699 265 moveto
708 261 lineto
702 269 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Evarconv
gsave 10 dict begin
355 180 37 18 ellipse_path
stroke
gsave 10 dict begin
355 181 moveto (Evarconv) 53 14.00 -0.50 alignedtext
end grestore
end grestore

%	Evarconv -> Evarutil
newpath 372 196 moveto
388 212 412 235 428 248 curveto
431 250 433 251 436 253 curveto
stroke
newpath 438 251 moveto
445 259 lineto
435 256 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Evarconv -> Typing
newpath 386 190 moveto
400 195 418 201 432 206 curveto
stroke
newpath 432 203 moveto
441 209 lineto
431 208 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Evarconv -> Recordops
newpath 378 166 moveto
395 156 418 141 436 130 curveto
stroke
newpath 434 128 moveto
444 125 lineto
437 132 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Detyping
gsave 10 dict begin
596 218 36 18 ellipse_path
stroke
gsave 10 dict begin
596 219 moveto (Detyping) 52 14.00 -0.50 alignedtext
end grestore
end grestore

%	Detyping -> Rawterm
newpath 625 207 moveto
645 199 673 188 694 179 curveto
stroke
newpath 693 177 moveto
703 175 lineto
695 181 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Detyping -> Inductiveops
newpath 630 225 moveto
645 228 663 232 679 235 curveto
stroke
newpath 680 233 moveto
689 237 lineto
679 237 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Coercion -> Retyping
newpath 269 100 moveto
285 91 306 78 323 68 curveto
stroke
newpath 321 66 moveto
331 63 lineto
324 70 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Coercion -> Evarconv
newpath 269 128 moveto
285 138 306 151 324 161 curveto
stroke
newpath 325 159 moveto
332 166 lineto
322 163 lineto
closepath
gsave 0 setgray stroke grestore fill
endpage
grestore
%%PageTrailer
%%EndPage: 1
%%Trailer
%%Pages: 1
end
restore
%%EOF