From 37191f82d959769e24166fd8225e0ff86f717586 Mon Sep 17 00:00:00 2001 From: Stefano Zacchiroli Date: Thu, 26 Jan 2006 09:56:55 +0000 Subject: [PATCH 1/1] - added components diagram with KLOCs - fixed some dangling references --- helm/papers/matita/libraries-clusters.png | Bin 0 -> 82440 bytes ...rariesCluster.ps => libraries-clusters.ps} | 1129 +++++++++-------- helm/papers/matita/matita2.tex | 16 +- 3 files changed, 631 insertions(+), 514 deletions(-) create mode 100644 helm/papers/matita/libraries-clusters.png rename helm/papers/matita/{librariesCluster.ps => libraries-clusters.ps} (60%) diff --git a/helm/papers/matita/libraries-clusters.png b/helm/papers/matita/libraries-clusters.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e52763ea3eb90923f3cddd386b670a3ffac781 GIT binary patch literal 82440 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 literal 0 HcmV?d00001 diff --git a/helm/papers/matita/librariesCluster.ps b/helm/papers/matita/libraries-clusters.ps similarity index 60% rename from helm/papers/matita/librariesCluster.ps rename to helm/papers/matita/libraries-clusters.ps index c6ee33271..ed37f5fe5 100644 --- a/helm/papers/matita/librariesCluster.ps +++ b/helm/papers/matita/libraries-clusters.ps @@ -1,9 +1,9 @@ %!PS-Adobe-2.0 %%Creator: dot version 2.2.1 (Fri Sep 30 13:22:44 UTC 2005) -%%For: (sacerdot) Claudio Sacerdoti Coen,,, +%%For: (zacchiro) Stefano Zacchiroli,,, %%Title: G %%Pages: (atend) -%%BoundingBox: 35 35 933 1263 +%%BoundingBox: 35 35 1079 1753 %%EndComments save %%BeginProlog @@ -230,10 +230,10 @@ def %%EndSetup %%Page: 1 1 -%%PageBoundingBox: 36 36 933 1263 +%%PageBoundingBox: 36 36 1079 1753 %%PageOrientation: Portrait gsave -35 35 898 1228 boxprim clip newpath +35 35 1044 1718 boxprim clip newpath 36 36 translate 0 0 1 beginpage 0 0 translate 0 rotate @@ -244,22 +244,22 @@ gsave 10 dict begin filled 0.000 0.000 1.000 sethsbcolor 0.000 0.000 0.929 sethsbcolor -newpath 436 778 moveto -865 778 lineto -865 1162 lineto -436 1162 lineto +newpath 486 1080 moveto +918 1080 lineto +918 1624 lineto +486 1624 lineto closepath fill 0.000 0.000 1.000 sethsbcolor -newpath 436 778 moveto -865 778 lineto -865 1162 lineto -436 1162 lineto +newpath 486 1080 moveto +918 1080 lineto +918 1624 lineto +486 1624 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 sethsbcolor -444 788 moveto +497 1090 moveto (Terms at the content and presentation level) [14.64 10.56 7.92 18.72 9.36 6 10.56 6.72 6 6.72 12 10.56 6 10.56 12 12 6.72 10.56 12 6.72 6 10.56 12 12 6 12 7.92 10.56 9.36 10.56 12 6.72 10.56 6.72 6.72 12 12 6 6.72 10.56 12 10.56 6.72] xshow @@ -270,22 +270,22 @@ gsave 10 dict begin filled 0.000 0.000 1.000 sethsbcolor 0.000 0.000 0.929 sethsbcolor -newpath 84 814 moveto -334 814 lineto -334 1094 lineto -84 1094 lineto +newpath 68 1116 moveto +360 1116 lineto +360 1516 lineto +68 1516 lineto closepath fill 0.000 0.000 1.000 sethsbcolor -newpath 84 814 moveto -334 814 lineto -334 1094 lineto -84 1094 lineto +newpath 68 1116 moveto +360 1116 lineto +360 1516 lineto +68 1516 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 sethsbcolor -92 1068 moveto +76 1490 moveto (Partially specified terms) [13.44 10.56 7.92 6.72 6.72 10.56 6.72 6.72 12 6 9.36 12 10.56 10.56 6.72 7.92 6.72 10.56 12 6 6.72 10.56 7.92 18.72 9.36] xshow @@ -296,22 +296,22 @@ gsave 10 dict begin filled 0.000 0.000 1.000 sethsbcolor 0.000 0.000 0.929 sethsbcolor -newpath 220 296 moveto -482 296 lineto -482 770 lineto -220 770 lineto +newpath 280 416 moveto +574 416 lineto +574 1072 lineto +280 1072 lineto closepath fill 0.000 0.000 1.000 sethsbcolor -newpath 220 296 moveto -482 296 lineto -482 770 lineto -220 770 lineto +newpath 280 416 moveto +574 416 lineto +574 1072 lineto +280 1072 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 sethsbcolor -227 306 moveto +287 426 moveto (Fully specified terms) [13.44 12 6.72 6.72 12 6 9.36 12 10.56 10.56 6.72 7.92 6.72 10.56 12 6 6.72 10.56 7.92 18.72 9.36] xshow @@ -322,22 +322,22 @@ gsave 10 dict begin filled 0.000 0.000 1.000 sethsbcolor 0.000 0.000 0.929 sethsbcolor -newpath 490 16 moveto -888 16 lineto -888 400 lineto -490 400 lineto +newpath 582 16 moveto +1034 16 lineto +1034 560 lineto +582 560 lineto closepath fill 0.000 0.000 1.000 sethsbcolor -newpath 490 16 moveto -888 16 lineto -888 400 lineto -490 400 lineto +newpath 582 16 moveto +1034 16 lineto +1034 560 lineto +582 560 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 sethsbcolor -802 26 moveto +948 26 moveto (Utilities) [17.28 6.72 6.72 6.72 6.72 6.72 6.72 10.56 9.36] xshow @@ -346,1005 +346,1100 @@ end grestore % acic_content gsave 10 dict begin -554 848 75 25 ellipse_path +610 1170 81 45 ellipse_path stroke gsave 10 dict begin -493 840 moveto +549 1176 moveto (acic_content) [10.56 10.56 6.72 10.56 12 10.56 12 12 6.72 10.56 12 6.72] xshow +566 1148 moveto +(3.6 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic_acic gsave 10 dict begin -283 636 54 25 ellipse_path +353 890 64 45 ellipse_path stroke gsave 10 dict begin -243 628 moveto +313 896 moveto (cic_acic) [10.56 6.72 10.56 12 10.56 10.56 6.72 10.56] xshow +309 868 moveto +(2.4 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % acic_content -> cic_acic -newpath 530 824 moveto -517 809 500 789 487 770 curveto -470 742 482 725 458 704 curveto -420 669 395 687 347 668 curveto -341 665 335 663 329 660 curveto +newpath 602 1124 moveto +593 1069 576 983 565 972 curveto +521 926 486 961 427 936 curveto +421 933 415 930 409 927 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 330 657 moveto -320 655 lineto -327 663 lineto +newpath 410 924 moveto +400 922 lineto +407 930 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 330 657 moveto -320 655 lineto -327 663 lineto +newpath 410 924 moveto +400 922 lineto +407 930 lineto closepath stroke end grestore % cic_disambiguation gsave 10 dict begin -554 936 109 25 ellipse_path +610 1298 115 45 ellipse_path stroke gsave 10 dict begin -459 928 moveto +515 1304 moveto (cic_disambiguation) [10.56 6.72 10.56 12 12 6.72 9.36 10.56 18.72 12 6.72 12 12 10.56 6.72 6.72 12 12] xshow +567 1276 moveto +(1.4 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic_disambiguation -> acic_content -newpath 554 910 moveto -554 902 554 893 554 884 curveto +newpath 610 1252 moveto +610 1244 610 1235 610 1226 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 558 884 moveto -554 874 lineto -551 884 lineto +newpath 614 1226 moveto +610 1216 lineto +607 1226 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 558 884 moveto -554 874 lineto -551 884 lineto +newpath 614 1226 moveto +610 1216 lineto +607 1226 lineto closepath stroke end grestore % cic_unification gsave 10 dict begin -239 848 86 25 ellipse_path +259 1170 92 45 ellipse_path stroke gsave 10 dict begin -167 840 moveto +187 1176 moveto (cic_unification) [10.56 6.72 10.56 12 12 12 6.72 7.92 6.72 10.56 10.56 6.72 6.72 12 12] xshow +215 1148 moveto +(3.4 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic_disambiguation -> cic_unification -newpath 484 916 moveto -433 902 364 883 312 869 curveto +newpath 525 1267 moveto +469 1247 399 1221 344 1201 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 313 866 moveto -302 866 lineto -311 872 lineto +newpath 345 1197 moveto +334 1197 lineto +342 1204 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 313 866 moveto -302 866 lineto -311 872 lineto +newpath 345 1197 moveto +334 1197 lineto +342 1204 lineto closepath stroke end grestore % whelp gsave 10 dict begin -404 736 44 25 ellipse_path +497 1018 58 45 ellipse_path stroke gsave 10 dict begin -374 728 moveto +467 1024 moveto (whelp) [17.28 12 10.56 6.72 12] xshow +459 996 moveto +(.3 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic_disambiguation -> whelp -newpath 513 912 moveto -498 902 481 889 469 874 curveto -444 843 426 801 415 771 curveto +newpath 553 1258 moveto +540 1246 527 1232 519 1216 curveto +497 1172 493 1116 493 1074 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 418 770 moveto -412 761 lineto -412 772 lineto +newpath 497 1074 moveto +493 1064 lineto +490 1074 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 418 770 moveto -412 761 lineto -412 772 lineto +newpath 497 1074 moveto +493 1064 lineto +490 1074 lineto closepath stroke end grestore % content_pres gsave 10 dict begin -759 936 76 25 ellipse_path +827 1298 82 45 ellipse_path stroke gsave 10 dict begin -697 928 moveto +765 1304 moveto (content_pres) [10.56 12 12 6.72 10.56 12 6.72 12 12 7.92 10.56 9.36] xshow +783 1276 moveto +(4.5 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % content_pres -> acic_content -newpath 712 916 moveto -681 903 642 886 610 872 curveto +newpath 770 1265 moveto +741 1248 705 1226 675 1208 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 612 869 moveto -601 868 lineto -609 875 lineto +newpath 676 1205 moveto +666 1203 lineto +673 1211 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 612 869 moveto -601 868 lineto -609 875 lineto +newpath 676 1205 moveto +666 1203 lineto +673 1211 lineto closepath stroke end grestore % utf8_macros gsave 10 dict begin -804 366 75 25 ellipse_path +944 506 81 45 ellipse_path stroke gsave 10 dict begin -743 358 moveto +883 512 moveto (utf8_macros) [12 6.72 7.92 12 12 18.72 10.56 10.56 7.92 12 9.36] xshow +906 484 moveto +(.2 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % content_pres -> utf8_macros -newpath 764 910 moveto -770 872 781 799 781 736 curveto -781 736 781 736 781 542 curveto -781 493 790 437 797 401 curveto +newpath 842 1253 moveto +859 1198 885 1102 885 1018 curveto +885 1018 885 1018 885 762 curveto +885 691 907 612 924 561 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 800 401 moveto -799 391 lineto -794 400 lineto +newpath 927 562 moveto +927 551 lineto +921 560 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 800 401 moveto -799 391 lineto -794 400 lineto +newpath 927 562 moveto +927 551 lineto +921 560 lineto closepath stroke end grestore % grafite_parser gsave 10 dict begin -526 1128 81 25 ellipse_path +582 1570 87 45 ellipse_path stroke gsave 10 dict begin -459 1120 moveto +515 1576 moveto (grafite_parser) [12 7.92 10.56 7.92 6.72 6.72 10.56 12 12 10.56 7.92 9.36 10.56 7.92] xshow +539 1548 moveto +(1.8 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % lexicon gsave 10 dict begin -554 1024 50 25 ellipse_path +610 1426 58 45 ellipse_path stroke gsave 10 dict begin -518 1016 moveto +574 1432 moveto (lexicon) [6.72 10.56 12 6.72 10.56 12 12] xshow +572 1404 moveto +(.8 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % grafite_parser -> lexicon -newpath 533 1103 moveto -536 1090 541 1074 545 1059 curveto +newpath 591 1524 moveto +593 1510 596 1495 599 1481 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 548 1059 moveto -547 1049 lineto -542 1058 lineto +newpath 602 1481 moveto +601 1471 lineto +596 1480 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 548 1059 moveto -547 1049 lineto -542 1058 lineto +newpath 602 1481 moveto +601 1471 lineto +596 1480 lineto closepath stroke end grestore % grafite gsave 10 dict begin -139 936 46 25 ellipse_path +135 1298 58 45 ellipse_path stroke gsave 10 dict begin -107 928 moveto +103 1304 moveto (grafite) [12 7.92 10.56 7.92 6.72 6.72 10.56] xshow +97 1276 moveto +(.5 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % grafite_parser -> grafite -newpath 472 1108 moveto -463 1106 453 1103 444 1102 curveto -430 1099 324 1102 312 1094 curveto -276 1066 309 1031 277 998 curveto -250 968 231 980 195 962 curveto -192 960 189 958 186 956 curveto +newpath 524 1535 moveto +515 1531 504 1527 494 1524 curveto +476 1519 339 1527 323 1516 curveto +273 1477 323 1427 281 1380 curveto +256 1351 236 1364 203 1344 curveto +197 1340 193 1336 189 1333 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 188 953 moveto -178 950 lineto -184 959 lineto +newpath 192 1331 moveto +182 1326 lineto +187 1336 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 188 953 moveto -178 950 lineto -184 959 lineto +newpath 192 1331 moveto +182 1326 lineto +187 1336 lineto closepath stroke end grestore % lexicon -> cic_disambiguation -newpath 554 998 moveto -554 990 554 981 554 972 curveto +newpath 610 1380 moveto +610 1372 610 1363 610 1354 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 558 972 moveto -554 962 lineto -551 972 lineto +newpath 614 1354 moveto +610 1344 lineto +607 1354 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 558 972 moveto -554 962 lineto -551 972 lineto +newpath 614 1354 moveto +610 1344 lineto +607 1354 lineto closepath stroke end grestore % lexicon -> content_pres -newpath 593 1007 moveto -624 994 668 976 702 960 curveto +newpath 657 1398 moveto +687 1381 728 1356 761 1337 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 704 963 moveto -712 956 lineto -701 956 lineto +newpath 763 1340 moveto +770 1332 lineto +760 1334 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 704 963 moveto -712 956 lineto -701 956 lineto +newpath 763 1340 moveto +770 1332 lineto +760 1334 lineto closepath stroke end grestore % library gsave 10 dict begin -283 736 46 25 ellipse_path +353 1018 64 45 ellipse_path stroke gsave 10 dict begin -251 728 moveto +321 1024 moveto (library) [6.72 6.72 12 7.92 10.56 7.92 12] xshow +309 996 moveto +(2.1 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic_unification -> library -newpath 249 823 moveto -255 808 263 788 269 771 curveto +newpath 286 1126 moveto +297 1108 311 1088 322 1069 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 273 772 moveto -273 761 lineto -266 769 lineto +newpath 325 1070 moveto +327 1060 lineto +319 1067 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 273 772 moveto -273 761 lineto -266 769 lineto +newpath 325 1070 moveto +327 1060 lineto +319 1067 lineto closepath stroke end grestore % tactics gsave 10 dict begin -250 936 45 25 ellipse_path +282 1298 69 45 ellipse_path stroke gsave 10 dict begin -219 928 moveto +251 1304 moveto (tactics) [6.72 10.56 10.56 6.72 6.72 10.56 9.36] xshow +233 1276 moveto +(10.0 klocs) +[12 12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % tactics -> cic_unification -newpath 247 911 moveto -246 902 245 893 244 884 curveto +newpath 274 1253 moveto +273 1244 271 1235 269 1226 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 247 883 moveto -242 874 lineto -241 884 lineto +newpath 272 1225 moveto +267 1216 lineto +266 1226 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 247 883 moveto -242 874 lineto -241 884 lineto +newpath 272 1225 moveto +267 1216 lineto +266 1226 lineto closepath stroke end grestore % tactics -> whelp -newpath 216 918 moveto -187 903 147 881 143 874 curveto -122 837 114 808 143 778 curveto -159 762 318 775 339 770 curveto -348 768 357 764 365 760 curveto +newpath 230 1267 moveto +198 1247 161 1224 157 1216 curveto +129 1162 115 1123 157 1080 curveto +168 1069 413 1077 427 1072 curveto +436 1069 444 1065 452 1059 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 367 763 moveto -374 755 lineto -364 757 lineto +newpath 454 1062 moveto +460 1053 lineto +450 1056 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 367 763 moveto -374 755 lineto -364 757 lineto +newpath 454 1062 moveto +460 1053 lineto +450 1056 lineto closepath stroke end grestore % cic gsave 10 dict begin -339 454 28 25 ellipse_path +353 634 64 45 ellipse_path stroke gsave 10 dict begin -325 446 moveto +339 640 moveto (cic) [10.56 6.72 10.56] xshow +309 612 moveto +(4.2 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % grafite -> cic -newpath 128 911 moveto -112 874 86 800 86 736 curveto -86 736 86 736 86 636 curveto -86 556 150 554 219 516 curveto -258 495 274 502 310 480 curveto -310 480 311 480 311 479 curveto +newpath 122 1253 moveto +108 1198 86 1102 86 1018 curveto +86 1018 86 1018 86 890 curveto +86 869 86 861 96 844 curveto +110 822 230 728 301 674 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 313 482 moveto -319 473 lineto -309 476 lineto +newpath 303 677 moveto +309 668 lineto +299 671 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 313 482 moveto -319 473 lineto -309 476 lineto +newpath 303 677 moveto +309 668 lineto +299 671 lineto closepath stroke end grestore % grafite_engine gsave 10 dict begin -183 1024 84 25 ellipse_path +181 1426 90 45 ellipse_path stroke gsave 10 dict begin -113 1016 moveto +111 1432 moveto (grafite_engine) [12 7.92 10.56 7.92 6.72 6.72 10.56 12 10.56 12 12 6.72 12 10.56] xshow +138 1404 moveto +(1.2 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % grafite_engine -> tactics -newpath 193 998 moveto -200 986 210 975 219 965 curveto +newpath 191 1380 moveto +200 1364 213 1350 227 1338 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 221 968 moveto -226 958 lineto -216 963 lineto +newpath 229 1341 moveto +234 1331 lineto +224 1336 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 221 968 moveto -226 958 lineto -216 963 lineto +newpath 229 1341 moveto +234 1331 lineto +224 1336 lineto closepath stroke end grestore % grafite_engine -> grafite -newpath 170 999 moveto -165 990 160 980 156 970 curveto +newpath 165 1381 moveto +162 1371 158 1361 155 1351 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 159 968 moveto -151 961 lineto -153 971 lineto +newpath 158 1350 moveto +151 1342 lineto +152 1353 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 159 968 moveto -151 961 lineto -153 971 lineto +newpath 158 1350 moveto +151 1342 lineto +152 1353 lineto closepath stroke end grestore % urimanager gsave 10 dict begin -355 366 70 25 ellipse_path +380 506 76 45 ellipse_path stroke gsave 10 dict begin -299 358 moveto +324 512 moveto (urimanager) [12 7.92 6.72 18.72 10.56 12 10.56 12 10.56 7.92] xshow +342 484 moveto +(.2 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic -> urimanager -newpath 344 429 moveto -345 420 347 411 348 402 curveto +newpath 363 589 moveto +364 580 366 570 368 561 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 351 402 moveto -350 392 lineto -345 401 lineto +newpath 371 561 moveto +370 551 lineto +365 560 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 351 402 moveto -350 392 lineto -345 401 lineto +newpath 371 561 moveto +370 551 lineto +365 560 lineto closepath stroke end grestore % xml gsave 10 dict begin -553 174 33 25 ellipse_path +652 234 58 45 ellipse_path stroke gsave 10 dict begin -534 166 moveto +633 240 moveto (xml) [12 18.72 6.72] xshow +614 212 moveto +(.5 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic -> xml -newpath 314 440 moveto -300 431 283 417 275 400 curveto -256 358 250 334 275 296 curveto -327 216 445 188 509 178 curveto +newpath 315 596 moveto +307 585 299 573 294 560 curveto +273 499 261 470 294 416 curveto +357 312 500 266 584 246 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 509 181 moveto -519 177 lineto -509 175 lineto +newpath 585 249 moveto +594 244 lineto +584 243 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 509 181 moveto -519 177 lineto -509 175 lineto +newpath 585 249 moveto +594 244 lineto +584 243 lineto closepath stroke end grestore % cic_proof_checking gsave 10 dict begin -339 542 110 25 ellipse_path +405 762 116 45 ellipse_path stroke gsave 10 dict begin -243 534 moveto +309 768 moveto (cic_proof_checking) [10.56 6.72 10.56 12 12 7.92 12 12 7.92 12 10.56 12 10.56 10.56 12 6.72 12 12] xshow +361 740 moveto +(5.8 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic_proof_checking -> cic -newpath 339 516 moveto -339 508 339 499 339 490 curveto +newpath 387 717 moveto +383 707 379 697 375 687 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 343 490 moveto -339 480 lineto -336 490 lineto +newpath 378 686 moveto +371 678 lineto +372 689 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 343 490 moveto -339 480 lineto -336 490 lineto +newpath 378 686 moveto +371 678 lineto +372 689 lineto closepath stroke end grestore % getter gsave 10 dict begin -431 454 42 25 ellipse_path +501 634 64 45 ellipse_path stroke gsave 10 dict begin -403 446 moveto +473 640 moveto (getter) [12 10.56 6.72 6.72 10.56 7.92] xshow +457 612 moveto +(2.0 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % cic_proof_checking -> getter -newpath 349 516 moveto -361 501 377 487 391 477 curveto +newpath 415 716 moveto +423 700 436 686 449 674 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 393 480 moveto -400 472 lineto -390 474 lineto +newpath 451 677 moveto +456 667 lineto +446 672 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 393 480 moveto -400 472 lineto -390 474 lineto +newpath 451 677 moveto +456 667 lineto +446 672 lineto closepath stroke end grestore % getter -> urimanager -newpath 411 431 moveto -403 421 392 409 383 398 curveto +newpath 465 596 moveto +452 583 438 568 425 554 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 386 396 moveto -376 391 lineto -381 401 lineto +newpath 427 551 moveto +418 546 lineto +422 556 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 386 396 moveto -376 391 lineto -381 401 lineto +newpath 427 551 moveto +418 546 lineto +422 556 lineto closepath stroke end grestore % registry gsave 10 dict begin -679 262 52 25 ellipse_path +789 362 58 45 ellipse_path stroke gsave 10 dict begin -641 254 moveto +751 368 moveto (registry) [7.92 10.56 12 6.72 9.36 6.72 7.92 12] xshow +751 340 moveto +(.6 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % getter -> registry -newpath 432 428 moveto -436 392 448 327 489 296 curveto -501 287 604 291 617 288 curveto -622 287 627 285 631 284 curveto +newpath 504 588 moveto +510 537 527 456 581 416 curveto +594 406 707 412 721 408 curveto +727 406 733 403 739 400 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 633 287 moveto -641 280 lineto -630 280 lineto +newpath 741 403 moveto +748 395 lineto +738 397 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 633 287 moveto -641 280 lineto -630 280 lineto +newpath 741 403 moveto +748 395 lineto +738 397 lineto closepath stroke end grestore % logger gsave 10 dict begin -544 366 45 25 ellipse_path +649 506 58 45 ellipse_path stroke gsave 10 dict begin -513 358 moveto +618 512 moveto (logger) [6.72 12 12 12 10.56 7.92] xshow +611 484 moveto +(.1 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % getter -> logger -newpath 457 434 moveto -472 422 492 406 509 393 curveto +newpath 542 598 moveto +560 582 583 563 601 547 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 511 396 moveto -517 387 lineto -507 390 lineto +newpath 604 549 moveto +609 540 lineto +599 544 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 511 396 moveto -517 387 lineto -507 390 lineto +newpath 604 549 moveto +609 540 lineto +599 544 lineto closepath stroke end grestore % metadata gsave 10 dict begin -415 636 58 25 ellipse_path +501 890 64 45 ellipse_path stroke gsave 10 dict begin -371 628 moveto +457 896 moveto (metadata) [18.72 10.56 6.72 10.56 12 10.56 6.72 10.56] xshow +458 868 moveto +(1.9 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % metadata -> cic -newpath 436 612 moveto -456 586 479 546 459 516 curveto -438 483 414 498 379 480 curveto -376 478 374 477 371 475 curveto +newpath 520 846 moveto +525 834 529 821 531 808 curveto +535 787 543 732 531 716 curveto +503 676 471 703 427 680 curveto +420 676 415 673 411 669 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 372 472 moveto -362 469 lineto -368 477 lineto +newpath 414 667 moveto +404 662 lineto +409 672 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 372 472 moveto -362 469 lineto -368 477 lineto +newpath 414 667 moveto +404 662 lineto +409 672 lineto closepath stroke end grestore % hmysql gsave 10 dict begin -659 366 50 25 ellipse_path +785 506 58 45 ellipse_path stroke gsave 10 dict begin -623 358 moveto +749 512 moveto (hmysql) [12 18.72 12 9.36 12 6.72] xshow +747 484 moveto +(.1 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % metadata -> hmysql -newpath 470 626 moveto -531 616 569 623 617 568 curveto -658 521 662 446 661 402 curveto +newpath 563 876 moveto +625 861 715 835 737 808 curveto +794 738 797 628 792 561 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 665 402 moveto -661 392 lineto -658 402 lineto +newpath 795 561 moveto +791 551 lineto +789 561 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 665 402 moveto -661 392 lineto -658 402 lineto +newpath 795 561 moveto +791 551 lineto +789 561 lineto closepath stroke end grestore % whelp -> metadata -newpath 407 711 moveto -409 699 410 685 411 672 curveto +newpath 498 973 moveto +499 964 499 955 499 946 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 414 672 moveto -412 662 lineto -408 672 lineto +newpath 502 946 moveto +500 936 lineto +496 946 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 414 672 moveto -412 662 lineto -408 672 lineto +newpath 502 946 moveto +500 936 lineto +496 946 lineto closepath stroke end grestore % library -> metadata -newpath 311 715 moveto -330 701 356 681 377 664 curveto +newpath 394 982 moveto +412 966 433 948 452 932 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 379 667 moveto -385 658 lineto -375 661 lineto +newpath 455 934 moveto +460 925 lineto +450 929 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 379 667 moveto -385 658 lineto -375 661 lineto +newpath 455 934 moveto +460 925 lineto +450 929 lineto closepath stroke end grestore % library -> cic_acic -newpath 283 710 moveto -283 698 283 685 283 672 curveto +newpath 353 972 moveto +353 964 353 955 353 946 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 287 672 moveto -283 662 lineto -280 672 lineto +newpath 357 946 moveto +353 936 lineto +350 946 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 287 672 moveto -283 662 lineto -280 672 lineto +newpath 357 946 moveto +353 936 lineto +350 946 lineto closepath stroke end grestore % cic_acic -> cic_proof_checking -newpath 298 611 moveto -304 600 312 587 319 576 curveto +newpath 371 846 moveto +375 836 379 826 383 816 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 322 577 moveto -324 567 lineto -316 574 lineto +newpath 386 818 moveto +387 807 lineto +380 815 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 322 577 moveto -324 567 lineto -316 574 lineto +newpath 386 818 moveto +387 807 lineto +380 815 lineto closepath stroke end grestore % extlib gsave 10 dict begin -553 86 42 25 ellipse_path +654 106 63 45 ellipse_path stroke gsave 10 dict begin -525 78 moveto +626 112 moveto (extlib) [10.56 12 6.72 6.72 6.72 12] xshow +611 84 moveto +(1.1 klocs) +[12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % hgdome gsave 10 dict begin -553 262 54 25 ellipse_path +651 362 60 45 ellipse_path stroke gsave 10 dict begin -513 254 moveto +611 368 moveto (hgdome) [12 12 12 12 18.72 10.56] xshow +613 340 moveto +(.2 klocs) +[6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % hgdome -> xml -newpath 553 236 moveto -553 228 553 219 553 210 curveto +newpath 651 316 moveto +651 308 651 299 652 290 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 557 210 moveto -553 200 lineto -550 210 lineto +newpath 656 290 moveto +652 280 lineto +649 290 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 557 210 moveto -553 200 lineto -550 210 lineto +newpath 656 290 moveto +652 280 lineto +649 290 lineto closepath stroke end grestore % hmysql -> registry -newpath 664 341 moveto -666 328 669 312 672 298 curveto +newpath 786 460 moveto +786 446 787 432 787 418 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 675 298 moveto -674 288 lineto -669 297 lineto +newpath 791 418 moveto +787 408 lineto +784 418 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 675 298 moveto -674 288 lineto -669 297 lineto +newpath 791 418 moveto +787 408 lineto +784 418 lineto closepath stroke end grestore % registry -> xml -newpath 649 241 moveto -630 228 605 211 586 197 curveto +newpath 751 327 moveto +734 311 715 292 697 276 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 588 194 moveto -578 191 lineto -584 200 lineto +newpath 700 274 moveto +690 269 lineto +695 279 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 588 194 moveto -578 191 lineto -584 200 lineto +newpath 700 274 moveto +690 269 lineto +695 279 lineto closepath stroke end grestore % xml -> extlib -newpath 553 148 moveto -553 140 553 131 553 122 curveto +newpath 653 188 moveto +653 180 653 171 653 162 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 557 122 moveto -553 112 lineto -550 122 lineto +newpath 657 162 moveto +653 152 lineto +650 162 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 557 122 moveto -553 112 lineto -550 122 lineto +newpath 657 162 moveto +653 152 lineto +650 162 lineto closepath stroke end grestore @@ -1354,49 +1449,53 @@ gsave 10 dict begin filled 0.584 0.220 0.933 nodecolor 0.584 0.220 0.933 nodecolor -newpath 641 768 moveto -505 768 lineto -505 704 lineto -641 704 lineto +newpath 748 1064 moveto +612 1064 lineto +612 972 lineto +748 972 lineto closepath fill 0.584 0.220 0.933 nodecolor -newpath 641 768 moveto -505 768 lineto -505 704 lineto -641 704 lineto +newpath 748 1064 moveto +612 1064 lineto +612 972 lineto +748 972 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 nodecolor -513 742 moveto +620 1038 moveto (Dependency) [17.28 10.56 12 10.56 12 12 10.56 12 10.56 12] xshow -529 714 moveto +636 1010 moveto (Analyzer) [17.28 12 10.56 6.72 12 10.56 10.56 7.92] xshow +639 982 moveto +( .3 klocs) +[6 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % DependencyAnalyzer -> metadata -newpath 522 704 moveto -501 691 477 675 457 662 curveto +newpath 616 972 moveto +596 958 574 942 555 928 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 458 659 moveto -448 657 lineto -455 665 lineto +newpath 557 925 moveto +547 922 lineto +553 931 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 458 659 moveto -448 657 lineto -455 665 lineto +newpath 557 925 moveto +547 922 lineto +553 931 lineto closepath stroke end grestore @@ -1406,45 +1505,49 @@ gsave 10 dict begin filled 0.584 0.220 0.933 nodecolor 0.584 0.220 0.933 nodecolor -newpath 566 560 moveto -490 560 lineto -490 524 lineto -566 524 lineto +newpath 680 794 moveto +582 794 lineto +582 730 lineto +680 730 lineto closepath fill 0.584 0.220 0.933 nodecolor -newpath 566 560 moveto -490 560 lineto -490 524 lineto -566 524 lineto +newpath 680 794 moveto +582 794 lineto +582 730 lineto +680 730 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 nodecolor -498 534 moveto +601 768 moveto (Getter) [17.28 10.56 6.72 6.72 10.56 7.92] xshow +590 740 moveto +( .3 klocs) +[6 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % Getter -> getter -newpath 508 524 moveto -494 512 477 496 463 483 curveto +newpath 598 730 moveto +582 714 563 695 546 678 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 465 480 moveto -455 476 lineto -460 485 lineto +newpath 549 676 moveto +539 671 lineto +544 681 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 465 480 moveto -455 476 lineto -460 485 lineto +newpath 549 676 moveto +539 671 lineto +544 681 lineto closepath stroke end grestore @@ -1454,91 +1557,96 @@ gsave 10 dict begin filled 0.584 0.220 0.933 nodecolor 0.584 0.220 0.933 nodecolor -newpath 222 1226 moveto -144 1226 lineto -144 1190 lineto -222 1190 lineto +newpath 236 1716 moveto +126 1716 lineto +126 1652 lineto +236 1652 lineto closepath fill 0.584 0.220 0.933 nodecolor -newpath 222 1226 moveto -144 1226 lineto -144 1190 lineto -222 1190 lineto +newpath 236 1716 moveto +126 1716 lineto +126 1652 lineto +236 1652 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 nodecolor -151 1200 moveto +149 1690 moveto (Matita) [21.36 10.56 6.72 6.72 6.72 10.56] xshow +134 1662 moveto +( 6.7 klocs) +[6 12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % Matita -> grafite_parser -newpath 222 1204 moveto -274 1197 367 1184 444 1162 curveto -453 1159 461 1156 470 1153 curveto +newpath 236 1679 moveto +300 1673 408 1657 494 1624 curveto +503 1620 512 1616 520 1611 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 471 1156 moveto -479 1149 lineto -468 1150 lineto +newpath 522 1614 moveto +529 1606 lineto +519 1608 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 471 1156 moveto -479 1149 lineto -468 1150 lineto +newpath 522 1614 moveto +529 1606 lineto +519 1608 lineto closepath stroke end grestore % Matita -> grafite_engine -newpath 183 1190 moveto -183 1160 183 1099 183 1060 curveto +newpath 181 1652 moveto +181 1610 181 1534 181 1482 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 187 1060 moveto -183 1050 lineto -180 1060 lineto +newpath 185 1482 moveto +181 1472 lineto +178 1482 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 187 1060 moveto -183 1050 lineto -180 1060 lineto +newpath 185 1482 moveto +181 1472 lineto +178 1482 lineto closepath stroke end grestore % Matita -> hgdome -newpath 157 1190 moveto -118 1160 48 1097 48 1024 curveto -48 1024 48 1024 48 454 curveto -48 351 123 338 216 296 curveto -263 274 404 267 488 263 curveto +newpath 152 1652 moveto +125 1620 86 1568 64 1516 curveto +49 1478 48 1466 48 1426 curveto +48 1426 48 1426 48 634 curveto +48 493 150 477 276 416 curveto +328 391 487 374 580 367 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 488 267 moveto -498 263 lineto -488 260 lineto +newpath 580 370 moveto +590 366 lineto +580 364 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 488 267 moveto -498 263 lineto -488 260 lineto +newpath 580 370 moveto +590 366 lineto +580 364 lineto closepath stroke end grestore @@ -1548,50 +1656,49 @@ gsave 10 dict begin filled 0.584 0.220 0.933 nodecolor 0.584 0.220 0.933 nodecolor -newpath 210 668 moveto -114 668 lineto -114 604 lineto -210 604 lineto +newpath 270 922 moveto +114 922 lineto +114 858 lineto +270 858 lineto closepath fill 0.584 0.220 0.933 nodecolor -newpath 210 668 moveto -114 668 lineto -114 604 lineto -210 604 lineto +newpath 270 922 moveto +114 922 lineto +114 858 lineto +270 858 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 nodecolor -135 642 moveto -(Proof) -[13.44 7.92 12 12 7.92] +122 896 moveto +(Proof Checker) +[13.44 7.92 12 12 7.92 6 16.08 12 10.56 10.56 12 10.56 7.92] xshow -122 614 moveto -(Checker) -[16.08 12 10.56 10.56 12 10.56 7.92] +151 868 moveto +( .1 klocs) +[6 6 12 6 12 6.72 12 10.56 9.36] xshow end grestore end grestore % ProofChecker -> cic_proof_checking -newpath 210 607 moveto -212 606 214 605 216 604 curveto -237 592 261 580 282 569 curveto +newpath 245 858 moveto +271 842 304 823 332 805 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 283 572 moveto -291 565 lineto -280 566 lineto +newpath 334 808 moveto +341 800 lineto +331 802 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 283 572 moveto -291 565 lineto -280 566 lineto +newpath 334 808 moveto +341 800 lineto +331 802 lineto closepath stroke end grestore @@ -1601,47 +1708,51 @@ gsave 10 dict begin filled 0.584 0.220 0.933 nodecolor 0.584 0.220 0.933 nodecolor -newpath 428 1042 moveto -342 1042 lineto -342 1006 lineto -428 1006 lineto +newpath 478 1458 moveto +368 1458 lineto +368 1394 lineto +478 1394 lineto closepath fill 0.584 0.220 0.933 nodecolor -newpath 428 1042 moveto -342 1042 lineto -342 1006 lineto -428 1006 lineto +newpath 478 1458 moveto +368 1458 lineto +368 1394 lineto +478 1394 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 nodecolor -349 1016 moveto +387 1432 moveto (Uwobo) [17.28 17.28 12 12 12] xshow +376 1404 moveto +( 2.1 klocs) +[6 12 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % Uwobo -> content_pres -newpath 414 1006 moveto -420 1003 426 1000 432 998 curveto -535 963 568 985 673 962 curveto -680 961 686 959 693 957 curveto +newpath 459 1394 moveto +466 1388 474 1384 482 1380 curveto +587 1335 627 1377 735 1344 curveto +743 1341 751 1338 759 1335 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 694 960 moveto -703 954 lineto -692 954 lineto +newpath 760 1338 moveto +768 1331 lineto +757 1332 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 694 960 moveto -703 954 lineto -692 954 lineto +newpath 760 1338 moveto +768 1331 lineto +757 1332 lineto closepath stroke end grestore @@ -1651,45 +1762,49 @@ gsave 10 dict begin filled 0.584 0.220 0.933 nodecolor 0.584 0.220 0.933 nodecolor -newpath 566 1226 moveto -486 1226 lineto -486 1190 lineto -566 1190 lineto +newpath 631 1716 moveto +533 1716 lineto +533 1652 lineto +631 1652 lineto closepath fill 0.584 0.220 0.933 nodecolor -newpath 566 1226 moveto -486 1226 lineto -486 1190 lineto -566 1190 lineto +newpath 631 1716 moveto +533 1716 lineto +533 1652 lineto +631 1652 lineto closepath stroke gsave 10 dict begin 0.000 0.000 0.000 nodecolor -493 1200 moveto +549 1690 moveto (Whelp) [22.56 12 10.56 6.72 12] xshow +541 1662 moveto +( .6 klocs) +[6 6 12 6 12 6.72 12 10.56 9.36] +xshow end grestore end grestore % Whelp -> grafite_parser -newpath 526 1190 moveto -526 1182 526 1173 526 1164 curveto +newpath 582 1652 moveto +582 1644 582 1635 582 1626 curveto stroke gsave 10 dict begin solid 1 setlinewidth 0.000 0.000 0.000 edgecolor -newpath 530 1164 moveto -526 1154 lineto -523 1164 lineto +newpath 586 1626 moveto +582 1616 lineto +579 1626 lineto closepath fill 0.000 0.000 0.000 edgecolor -newpath 530 1164 moveto -526 1154 lineto -523 1164 lineto +newpath 586 1626 moveto +582 1616 lineto +579 1626 lineto closepath stroke end grestore diff --git a/helm/papers/matita/matita2.tex b/helm/papers/matita/matita2.tex index 82f3256e6..192117af5 100644 --- a/helm/papers/matita/matita2.tex +++ b/helm/papers/matita/matita2.tex @@ -298,9 +298,9 @@ allow other developers to quickly understand our code and contribute. \section{Architecture} \label{architettura} -\begin{figure}[ht] +\begin{figure}[!ht] \begin{center} - \includegraphics[width=0.9\textwidth]{librariesCluster.ps} + \includegraphics[width=0.9\textwidth,height=0.8\textheight]{libraries-clusters} \caption{\MATITA{} components} \label{fig:libraries} \end{center} @@ -700,10 +700,9 @@ in its script based authoring interface. In the remaining part of the paper we focus on the user view of \MATITA{}. This section is devoted to the aspects of the tool that arise from the -document centric approach to the library. Sect.~\ref{authoring} describes +document centric approach to the library. Sect.~\ref{sec:authoring} describes the peculiarities of the authoring interface. - The library of \MATITA{} comprises mathematical concepts (theorems, axioms, definitions) and notation. The concepts are authored sequentially using scripts that are (ordered) sequences of procedural commands. @@ -712,7 +711,7 @@ The only relation implicitly kept between the notions are the logical, acyclic dependencies among them. This way the library forms a global (and distributed) hypertext. Several useful operations can be implemented on the library only, regardless of the scripts. Examples of such operations -implemented in \MATITA{} are: searching and browing (see Sect.~\ref{sec:index}); +implemented in \MATITA{} are: searching and browing (see Sect.~\ref{sec:indexing}); disambiguation of content level terms (see Sect.~\ref{sec:disambiguation}); automatic proof searching (see Sect.~\ref{sec:automation}). @@ -730,7 +729,7 @@ fully restored. To implement the proposed versioning system on top of a standard one it is necessary to implement \emph{invalidation} first. Invalidation is the operation that locates and removes from the library all the concepts -that depend on a given one. As described in Sect.~\ref{sec:...}, removing +that depend on a given one. As described in Sect.~\ref{sec:libmanagement} removing a concept from the library also involves deleting its metadata from the database. @@ -740,7 +739,7 @@ development, you are free to change and invalidate part of the library without branching. Invalidation is still necessary to avoid using a concept that is no longer valid. So far, in \MATITA{} we address only this non collaborative scenario -(see Sect.~\ref{sec:decompilazione}). Collaborative development and versioning +(see Sect.~\ref{sec:libmanagement}). Collaborative development and versioning is still under design. Scripts are not seen as constituents of the library. They are not published @@ -758,6 +757,7 @@ of \MATITA{} related to library management and exploitation. \subsection{Indexing and searching} +\label{sec:indexing} \subsection{Disambiguation} \label{sec:disambiguation} @@ -1127,6 +1127,7 @@ no risk of introducing dangling references since the \MATITA{} user interface inhibit undoing a step which is not the last executed. \subsection{Automation} +\label{sec:automation} \subsection{Naming convention} A minor but not entirely negligible aspect of \MATITA{} is that of @@ -1194,6 +1195,7 @@ expression and the suffix \verb+_to_Prop+. In the above example, \verb+eqb_to_Prop+ is accepted. \section{The authoring interface} +\label{sec:authoring} \begin{figure}[t] \begin{center} -- 2.39.2