aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/pretyping.dep.ps
blob: 9246e91a5b0f11a4617fe0351ff7b9f4c5156f6b (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
686
687
688
%!PS-Adobe-2.0
%%Creator: dot version gviz 1.7.3b (Mon Feb 26 14:10:22 EST 2001)
%%For: (clrenard) Clement Renard
%%Title: G
%%Pages: (atend)
%%BoundingBox: 36 36 577 203
%%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 203
%%PageOrientation: Portrait
gsave
35 35 542 168 boxprim clip newpath
36 36 translate
0 0 1 beginpage
0.4796 set_scale
0 0 translate 0 rotate
[ /CropBox [36 36 577 203] /PAGES pdfmark
0.000 0.000 0.000 graphcolor
14.00 /Times-Roman set_font

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

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

%	Multcase -> Evarutil
newpath 391 234 moveto
402 234 414 234 425 234 curveto
stroke
newpath 425 232 moveto
435 234 lineto
425 237 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Evarutil -> Pretype_errors
newpath 494 223 moveto
511 216 535 206 554 198 curveto
stroke
newpath 553 196 moveto
563 194 lineto
555 200 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Evarutil -> Indrec
newpath 494 245 moveto
514 254 542 266 564 275 curveto
stroke
newpath 564 272 moveto
572 278 lineto
562 277 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Typing -> Pretype_errors
newpath 499 180 moveto
510 180 522 180 534 180 curveto
stroke
newpath 534 178 moveto
544 180 lineto
534 183 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Pretype_errors -> Rawterm
newpath 630 166 moveto
649 158 674 149 694 141 curveto
stroke
newpath 692 139 moveto
702 137 lineto
694 144 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Pretype_errors -> Inductiveops
newpath 648 180 moveto
657 180 665 180 674 180 curveto
stroke
newpath 674 178 moveto
684 180 lineto
674 183 lineto
closepath
gsave 0 setgray stroke grestore fill

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

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

%	Tacred -> Cbv
newpath 760 37 moveto
780 39 806 41 827 43 curveto
stroke
newpath 826 40 moveto
836 44 lineto
826 45 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Tacred -> Reductionops
newpath 752 47 moveto
764 55 778 63 778 63 curveto
795 75 819 96 837 111 curveto
stroke
newpath 838 109 moveto
844 117 lineto
835 112 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Cbv -> Instantiate
newpath 890 48 moveto
904 50 922 51 939 53 curveto
stroke
newpath 939 51 moveto
949 54 lineto
939 55 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Reductionops -> Instantiate
newpath 888 118 moveto
908 106 936 89 957 77 curveto
stroke
newpath 954 76 moveto
964 72 lineto
957 80 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Reductionops -> Termops
newpath 912 134 moveto
923 134 933 134 943 134 curveto
stroke
newpath 943 132 moveto
953 134 lineto
943 137 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Syntax_def -> Rawterm
newpath 638 126 moveto
653 126 670 126 685 126 curveto
stroke
newpath 685 124 moveto
695 126 lineto
685 129 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Retyping -> Reductionops
newpath 388 318 moveto
450 329 582 348 648 318 curveto
713 288 802 199 842 157 curveto
stroke
newpath 839 157 moveto
847 151 lineto
843 160 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Instantiate -> Evd
newpath 1028 57 moveto
1037 57 1046 57 1054 57 curveto
stroke
newpath 1054 55 moveto
1064 57 lineto
1054 60 lineto
closepath
gsave 0 setgray stroke grestore fill

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

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

%	Recordops -> Classops
newpath 497 60 moveto
516 52 541 41 561 33 curveto
stroke
newpath 559 31 moveto
569 30 lineto
561 36 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Classops -> Tacred
newpath 630 22 moveto
649 25 673 27 693 30 curveto
stroke
newpath 692 27 moveto
702 31 lineto
692 32 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Classops -> Rawterm
newpath 622 30 moveto
635 36 648 42 648 42 curveto
667 56 692 83 710 103 curveto
stroke
newpath 711 100 moveto
716 109 lineto
707 104 lineto
closepath
gsave 0 setgray stroke grestore fill

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

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

%	Pretyping -> Cases
newpath 84 245 moveto
93 245 102 245 110 245 curveto
stroke
newpath 110 243 moveto
120 245 lineto
110 248 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Cases -> Coercion
newpath 174 245 moveto
182 245 191 245 200 245 curveto
stroke
newpath 200 243 moveto
210 245 lineto
200 248 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Inductiveops -> Reductionops
newpath 766 168 moveto
782 162 801 155 818 149 curveto
stroke
newpath 817 147 moveto
827 146 lineto
818 152 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Pattern -> Reductionops
newpath 626 75 moveto
666 79 737 86 778 96 curveto
785 98 806 107 826 117 curveto
stroke
newpath 825 114 moveto
833 120 lineto
823 118 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Pattern -> Rawterm
newpath 621 82 moveto
641 91 671 102 694 112 curveto
stroke
newpath 694 109 moveto
703 115 lineto
693 114 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Indrec -> Inductiveops
newpath 620 279 moveto
631 274 642 269 648 264 curveto
666 250 692 223 710 204 curveto
stroke
newpath 708 203 moveto
716 197 lineto
711 206 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 381 193 moveto
397 201 418 211 435 218 curveto
stroke
newpath 435 215 moveto
443 222 lineto
433 220 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Evarconv -> Typing
newpath 392 180 moveto
404 180 416 180 427 180 curveto
stroke
newpath 427 178 moveto
437 180 lineto
427 183 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Evarconv -> Recordops
newpath 372 164 moveto
391 145 422 116 444 95 curveto
stroke
newpath 442 93 moveto
451 88 lineto
446 97 lineto
closepath
gsave 0 setgray stroke grestore fill

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

%	Detyping -> Rawterm
newpath 626 223 moveto
634 220 643 215 648 210 curveto
665 193 668 166 684 150 curveto
684 150 689 147 697 144 curveto
stroke
newpath 696 142 moveto
706 139 lineto
698 146 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Detyping -> Termops
newpath 632 230 moveto
673 226 739 219 778 210 curveto
825 199 868 180 912 164 curveto
912 164 932 156 951 149 curveto
stroke
newpath 950 147 moveto
960 145 lineto
952 151 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Coercion -> Retyping
newpath 269 259 moveto
285 269 306 282 324 292 curveto
stroke
newpath 325 290 moveto
332 297 lineto
322 294 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Coercion -> Evarconv
newpath 269 231 moveto
285 222 306 209 323 199 curveto
stroke
newpath 321 197 moveto
331 194 lineto
324 201 lineto
closepath
gsave 0 setgray stroke grestore fill
endpage
grestore
%%PageTrailer
%%EndPage: 1
%%Trailer
%%Pages: 1
end
restore
%%EOF