1(IN-PACKAGE "ACL2") 2 3(DEFUN IFF (P Q) (IF P (IF Q 'T 'NIL) (IF Q 'NIL 'T))) 4 5(DEFUN XOR (P Q) (IF P (IF Q 'NIL 'T) (IF Q 'T 'NIL))) 6 7(DEFUN BOOLEANP (X) (IF (EQUAL X 'T) 'T (EQUAL X 'NIL))) 8 9(DEFTHM IFF-IS-AN-EQUIVALENCE 10 (IF (BOOLEANP (IFF X Y)) 11 (IF (IFF X X) 12 (IF (IMPLIES (IFF X Y) (IFF Y X)) 13 (IMPLIES (IF (IFF X Y) (IFF Y Z) 'NIL) 14 (IFF X Z)) 15 'NIL) 16 'NIL) 17 'NIL)) 18 19(DEFUN IMPLIES (P Q) (IF P (IF Q 'T 'NIL) 'T)) 20 21(DEFTHM IFF-IMPLIES-EQUAL-IMPLIES-1 22 (IMPLIES (IFF Y Y-EQUIV) 23 (EQUAL (IMPLIES X Y) 24 (IMPLIES X Y-EQUIV)))) 25 26(DEFTHM IFF-IMPLIES-EQUAL-IMPLIES-2 27 (IMPLIES (IFF X X-EQUIV) 28 (EQUAL (IMPLIES X Y) 29 (IMPLIES X-EQUIV Y)))) 30 31(DEFUN NOT (P) (IF P 'NIL 'T)) 32 33(DEFTHM IFF-IMPLIES-EQUAL-NOT 34 (IMPLIES (IFF X X-EQUIV) 35 (EQUAL (NOT X) (NOT X-EQUIV)))) 36 37(DEFUN HIDE (X) X) 38 39(DEFUN REWRITE-EQUIV (X) X) 40 41(DEFUN EQ (X Y) (EQUAL X Y)) 42 43(DEFUN TRUE-LISTP (X) (IF (CONSP X) (TRUE-LISTP (CDR X)) (EQ X 'NIL))) 44 45(DEFUN LIST-MACRO (LST) 46 (IF (CONSP LST) 47 (CONS 'CONS 48 (CONS (CAR LST) 49 (CONS (LIST-MACRO (CDR LST)) 'NIL))) 50 'NIL)) 51 52(DEFUN AND-MACRO (LST) 53 (IF (CONSP LST) 54 (IF (CONSP (CDR LST)) 55 (CONS 'IF 56 (CONS (CAR LST) 57 (CONS (AND-MACRO (CDR LST)) 58 (CONS 'NIL 'NIL)))) 59 (CAR LST)) 60 'T)) 61 62(DEFUN OR-MACRO (LST) 63 (IF (CONSP LST) 64 (IF (CONSP (CDR LST)) 65 (CONS 'IF 66 (CONS (CAR LST) 67 (CONS (CAR LST) 68 (CONS (OR-MACRO (CDR LST)) 'NIL)))) 69 (CAR LST)) 70 'NIL)) 71 72(DEFTHM BOOLEANP-COMPOUND-RECOGNIZER 73 (EQUAL (BOOLEANP X) 74 (IF (EQUAL X 'T) 75 (EQUAL X 'T) 76 (EQUAL X 'NIL)))) 77 78(DEFUN INTEGER-ABS (X) (IF (INTEGERP X) (IF (< X '0) (UNARY-- X) X) '0)) 79 80(DEFUN XXXJOIN (FN ARGS) 81 (IF (CDR (CDR ARGS)) 82 (CONS FN 83 (CONS (CAR ARGS) 84 (CONS (XXXJOIN FN (CDR ARGS)) 'NIL))) 85 (CONS FN ARGS))) 86 87(DEFUN LEN (X) (IF (CONSP X) (BINARY-+ '1 (LEN (CDR X))) '0)) 88 89(DEFUN LENGTH (X) (IF (STRINGP X) (LEN (COERCE X 'LIST)) (LEN X))) 90 91(DEFUN ACL2-COUNT (X) 92 (IF (CONSP X) 93 (BINARY-+ '1 94 (BINARY-+ (ACL2-COUNT (CAR X)) 95 (ACL2-COUNT (CDR X)))) 96 (IF (RATIONALP X) 97 (IF (INTEGERP X) 98 (INTEGER-ABS X) 99 (BINARY-+ (INTEGER-ABS (NUMERATOR X)) 100 (DENOMINATOR X))) 101 (IF (COMPLEX-RATIONALP X) 102 (BINARY-+ '1 103 (BINARY-+ (ACL2-COUNT (REALPART X)) 104 (ACL2-COUNT (IMAGPART X)))) 105 (IF (STRINGP X) (LENGTH X) '0))))) 106 107(DEFUN COND-CLAUSESP (CLAUSES) 108 (IF (CONSP CLAUSES) 109 (IF (CONSP (CAR CLAUSES)) 110 (IF (TRUE-LISTP (CAR CLAUSES)) 111 (IF (< (LEN (CAR CLAUSES)) '3) 112 (COND-CLAUSESP (CDR CLAUSES)) 113 'NIL) 114 'NIL) 115 'NIL) 116 (EQ CLAUSES 'NIL))) 117 118(DEFUN COND-MACRO (CLAUSES) 119 (IF (CONSP CLAUSES) 120 (IF (IF (EQ (CAR (CAR CLAUSES)) 'T) 121 (EQ (CDR CLAUSES) 'NIL) 122 'NIL) 123 (IF (CDR (CAR CLAUSES)) 124 (CAR (CDR (CAR CLAUSES))) 125 (CAR (CAR CLAUSES))) 126 (IF (CDR (CAR CLAUSES)) 127 (CONS 'IF 128 (CONS (CAR (CAR CLAUSES)) 129 (CONS (CAR (CDR (CAR CLAUSES))) 130 (CONS (COND-MACRO (CDR CLAUSES)) 131 'NIL)))) 132 (CONS 'OR 133 (CONS (CAR (CAR CLAUSES)) 134 (CONS (COND-MACRO (CDR CLAUSES)) 135 'NIL))))) 136 'NIL)) 137 138(DEFUN EQLABLEP (X) 139 (IF (ACL2-NUMBERP X) 140 (ACL2-NUMBERP X) 141 (IF (SYMBOLP X) 142 (SYMBOLP X) 143 (CHARACTERP X)))) 144 145(DEFTHM EQLABLEP-RECOG 146 (EQUAL (EQLABLEP X) 147 (IF (ACL2-NUMBERP X) 148 (ACL2-NUMBERP X) 149 (IF (SYMBOLP X) 150 (SYMBOLP X) 151 (CHARACTERP X))))) 152 153(DEFUN EQLABLE-LISTP (L) 154 (IF (CONSP L) 155 (IF (EQLABLEP (CAR L)) 156 (EQLABLE-LISTP (CDR L)) 157 'NIL) 158 (EQUAL L 'NIL))) 159 160(DEFUN ATOM (X) (NOT (CONSP X))) 161 162(DEFUN MAKE-CHARACTER-LIST (X) 163 (IF (ATOM X) 164 'NIL 165 (IF (CHARACTERP (CAR X)) 166 (CONS (CAR X) 167 (MAKE-CHARACTER-LIST (CDR X))) 168 (CONS (CODE-CHAR '0) 169 (MAKE-CHARACTER-LIST (CDR X)))))) 170 171(DEFUN EQLABLE-ALISTP (X) 172 (IF (ATOM X) 173 (EQUAL X 'NIL) 174 (IF (CONSP (CAR X)) 175 (IF (EQLABLEP (CAR (CAR X))) 176 (EQLABLE-ALISTP (CDR X)) 177 'NIL) 178 'NIL))) 179 180(DEFUN ALISTP (L) 181 (IF (ATOM L) 182 (EQ L 'NIL) 183 (IF (CONSP (CAR L)) 184 (ALISTP (CDR L)) 185 'NIL))) 186 187(DEFTHM ALISTP-FORWARD-TO-TRUE-LISTP (IMPLIES (ALISTP X) (TRUE-LISTP X))) 188 189(DEFTHM EQLABLE-ALISTP-FORWARD-TO-ALISTP 190 (IMPLIES (EQLABLE-ALISTP X) (ALISTP X))) 191 192(DEFUN ACONS (KEY DATUM ALIST) (CONS (CONS KEY DATUM) ALIST)) 193 194(DEFUN ENDP (X) (ATOM X)) 195 196(DEFUN MUST-BE-EQUAL (LOGIC EXEC) LOGIC) 197 198(DEFUN MEMBER-EQUAL (X LST) 199 (IF (ENDP LST) 200 'NIL 201 (IF (EQUAL X (CAR LST)) 202 LST (MEMBER-EQUAL X (CDR LST))))) 203 204(DEFUN UNION-EQUAL (X Y) 205 (IF (ENDP X) 206 Y 207 (IF (MEMBER-EQUAL (CAR X) Y) 208 (UNION-EQUAL (CDR X) Y) 209 (CONS (CAR X) 210 (UNION-EQUAL (CDR X) Y))))) 211 212(DEFUN SUBSETP-EQUAL (X Y) 213 (IF (ENDP X) 214 'T 215 (IF (MEMBER-EQUAL (CAR X) Y) 216 (SUBSETP-EQUAL (CDR X) Y) 217 'NIL))) 218 219(DEFUN SYMBOL-LISTP (LST) 220 (IF (ATOM LST) 221 (EQ LST 'NIL) 222 (IF (SYMBOLP (CAR LST)) 223 (SYMBOL-LISTP (CDR LST)) 224 'NIL))) 225 226(DEFTHM SYMBOL-LISTP-FORWARD-TO-TRUE-LISTP 227 (IMPLIES (SYMBOL-LISTP X) 228 (TRUE-LISTP X))) 229 230(DEFUN NULL (X) (EQ X 'NIL)) 231 232(DEFUN MEMBER-EQ (X LST) 233 (IF (ENDP LST) 234 'NIL 235 (IF (EQ X (CAR LST)) 236 LST (MEMBER-EQ X (CDR LST))))) 237 238(DEFUN SUBSETP-EQ (X Y) 239 (IF (ENDP X) 240 'T 241 (IF (MEMBER-EQ (CAR X) Y) 242 (SUBSETP-EQ (CDR X) Y) 243 'NIL))) 244 245(DEFUN SYMBOL-ALISTP (X) 246 (IF (ATOM X) 247 (EQ X 'NIL) 248 (IF (CONSP (CAR X)) 249 (IF (SYMBOLP (CAR (CAR X))) 250 (SYMBOL-ALISTP (CDR X)) 251 'NIL) 252 'NIL))) 253 254(DEFTHM SYMBOL-ALISTP-FORWARD-TO-EQLABLE-ALISTP 255 (IMPLIES (SYMBOL-ALISTP X) 256 (EQLABLE-ALISTP X))) 257 258(DEFUN ASSOC-EQ (X ALIST) 259 (IF (ENDP ALIST) 260 'NIL 261 (IF (EQ X (CAR (CAR ALIST))) 262 (CAR ALIST) 263 (ASSOC-EQ X (CDR ALIST))))) 264 265(DEFUN ASSOC-EQUAL (X ALIST) 266 (IF (ENDP ALIST) 267 'NIL 268 (IF (EQUAL X (CAR (CAR ALIST))) 269 (CAR ALIST) 270 (ASSOC-EQUAL X (CDR ALIST))))) 271 272(DEFUN ASSOC-EQ-EQUAL-ALISTP (X) 273 (IF (ATOM X) 274 (EQ X 'NIL) 275 (IF (CONSP (CAR X)) 276 (IF (SYMBOLP (CAR (CAR X))) 277 (IF (CONSP (CDR (CAR X))) 278 (ASSOC-EQ-EQUAL-ALISTP (CDR X)) 279 'NIL) 280 'NIL) 281 'NIL))) 282 283(DEFUN ASSOC-EQ-EQUAL (X Y ALIST) 284 (IF (ENDP ALIST) 285 'NIL 286 (IF (IF (EQ (CAR (CAR ALIST)) X) 287 (EQUAL (CAR (CDR (CAR ALIST))) Y) 288 'NIL) 289 (CAR ALIST) 290 (ASSOC-EQ-EQUAL X Y (CDR ALIST))))) 291 292(DEFUN NO-DUPLICATESP-EQUAL (L) 293 (IF (ENDP L) 294 'T 295 (IF (MEMBER-EQUAL (CAR L) (CDR L)) 296 'NIL 297 (NO-DUPLICATESP-EQUAL (CDR L))))) 298 299(DEFUN STRIP-CARS (X) 300 (IF (ENDP X) 301 'NIL 302 (CONS (CAR (CAR X)) 303 (STRIP-CARS (CDR X))))) 304 305(DEFUN EQL (X Y) (EQUAL X Y)) 306 307(DEFUN = (X Y) (EQUAL X Y)) 308 309(DEFUN /= (X Y) (NOT (EQUAL X Y))) 310 311(DEFUN ZP (X) (IF (INTEGERP X) (NOT (< '0 X)) 'T)) 312 313(DEFTHM ZP-COMPOUND-RECOGNIZER 314 (EQUAL (ZP X) 315 (IF (NOT (INTEGERP X)) 316 (NOT (INTEGERP X)) 317 (NOT (< '0 X))))) 318 319(DEFTHM ZP-OPEN 320 (IMPLIES (SYNP 'NIL 321 '(SYNTAXP (NOT (VARIABLEP X))) 322 '(IF (NOT (ATOM X)) 'T 'NIL)) 323 (EQUAL (ZP X) 324 (IF (INTEGERP X) (NOT (< '0 X)) 'T)))) 325 326(DEFUN ZIP (X) (IF (INTEGERP X) (= X '0) 'T)) 327 328(DEFTHM ZIP-COMPOUND-RECOGNIZER 329 (EQUAL (ZIP X) 330 (IF (NOT (INTEGERP X)) 331 (NOT (INTEGERP X)) 332 (EQUAL X '0)))) 333 334(DEFTHM ZIP-OPEN 335 (IMPLIES (SYNP 'NIL 336 '(SYNTAXP (NOT (VARIABLEP X))) 337 '(IF (NOT (ATOM X)) 'T 'NIL)) 338 (EQUAL (ZIP X) 339 (IF (NOT (INTEGERP X)) 340 (NOT (INTEGERP X)) 341 (EQUAL X '0))))) 342 343(DEFUN NTH (N L) 344 (IF (ENDP L) 345 'NIL 346 (IF (ZP N) 347 (CAR L) 348 (NTH (BINARY-+ '-1 N) (CDR L))))) 349 350(DEFUN CHAR (S N) (NTH N (COERCE S 'LIST))) 351 352(DEFUN PROPER-CONSP (X) (IF (CONSP X) (TRUE-LISTP X) 'NIL)) 353 354(DEFUN IMPROPER-CONSP (X) (IF (CONSP X) (NOT (TRUE-LISTP X)) 'NIL)) 355 356(DEFUN CONJUGATE (X) 357 (IF (COMPLEX-RATIONALP X) 358 (COMPLEX (REALPART X) 359 (UNARY-- (IMAGPART X))) 360 X)) 361 362(DEFUN PROG2$ (X Y) Y) 363 364(DEFUN EC-CALL (X) X) 365 366(DEFAXIOM CLOSURE 367 (IF (ACL2-NUMBERP (BINARY-+ X Y)) 368 (IF (ACL2-NUMBERP (BINARY-* X Y)) 369 (IF (ACL2-NUMBERP (UNARY-- X)) 370 (ACL2-NUMBERP (UNARY-/ X)) 371 'NIL) 372 'NIL) 373 'NIL)) 374 375(DEFAXIOM ASSOCIATIVITY-OF-+ 376 (EQUAL (BINARY-+ (BINARY-+ X Y) Z) 377 (BINARY-+ X (BINARY-+ Y Z)))) 378 379(DEFAXIOM COMMUTATIVITY-OF-+ (EQUAL (BINARY-+ X Y) (BINARY-+ Y X))) 380 381(DEFUN FIX (X) (IF (ACL2-NUMBERP X) X '0)) 382 383(DEFAXIOM UNICITY-OF-0 (EQUAL (BINARY-+ '0 X) (FIX X))) 384 385(DEFAXIOM INVERSE-OF-+ (EQUAL (BINARY-+ X (UNARY-- X)) '0)) 386 387(DEFAXIOM ASSOCIATIVITY-OF-* 388 (EQUAL (BINARY-* (BINARY-* X Y) Z) 389 (BINARY-* X (BINARY-* Y Z)))) 390 391(DEFAXIOM COMMUTATIVITY-OF-* (EQUAL (BINARY-* X Y) (BINARY-* Y X))) 392 393(DEFAXIOM UNICITY-OF-1 (EQUAL (BINARY-* '1 X) (FIX X))) 394 395(DEFAXIOM INVERSE-OF-* 396 (IMPLIES (IF (ACL2-NUMBERP X) 397 (NOT (EQUAL X '0)) 398 'NIL) 399 (EQUAL (BINARY-* X (UNARY-/ X)) '1))) 400 401(DEFAXIOM DISTRIBUTIVITY 402 (EQUAL (BINARY-* X (BINARY-+ Y Z)) 403 (BINARY-+ (BINARY-* X Y) 404 (BINARY-* X Z)))) 405 406(DEFAXIOM <-ON-OTHERS (EQUAL (< X Y) (< (BINARY-+ X (UNARY-- Y)) '0))) 407 408(DEFAXIOM ZERO (NOT (< '0 '0))) 409 410(DEFAXIOM TRICHOTOMY 411 (IF (IMPLIES (ACL2-NUMBERP X) 412 (IF (< '0 X) 413 (< '0 X) 414 (IF (EQUAL X '0) 415 (EQUAL X '0) 416 (< '0 (UNARY-- X))))) 417 (IF (NOT (< '0 X)) 418 (NOT (< '0 X)) 419 (NOT (< '0 (UNARY-- X)))) 420 'NIL)) 421 422(DEFAXIOM POSITIVE 423 (IF (IMPLIES (IF (< '0 X) (< '0 Y) 'NIL) 424 (< '0 (BINARY-+ X Y))) 425 (IMPLIES (IF (RATIONALP X) 426 (IF (RATIONALP Y) 427 (IF (< '0 X) (< '0 Y) 'NIL) 428 'NIL) 429 'NIL) 430 (< '0 (BINARY-* X Y))) 431 'NIL)) 432 433(DEFAXIOM RATIONAL-IMPLIES1 434 (IMPLIES (RATIONALP X) 435 (IF (INTEGERP (DENOMINATOR X)) 436 (IF (INTEGERP (NUMERATOR X)) 437 (< '0 (DENOMINATOR X)) 438 'NIL) 439 'NIL))) 440 441(DEFAXIOM RATIONAL-IMPLIES2 442 (IMPLIES (RATIONALP X) 443 (EQUAL (BINARY-* (UNARY-/ (DENOMINATOR X)) 444 (NUMERATOR X)) 445 X))) 446 447(DEFAXIOM INTEGER-IMPLIES-RATIONAL (IMPLIES (INTEGERP X) (RATIONALP X))) 448 449(DEFAXIOM COMPLEX-IMPLIES1 450 (IF (RATIONALP (REALPART X)) 451 (RATIONALP (IMAGPART X)) 452 'NIL)) 453 454(DEFAXIOM COMPLEX-DEFINITION 455 (IMPLIES (IF (RATIONALP X) (RATIONALP Y) 'NIL) 456 (EQUAL (COMPLEX X Y) 457 (BINARY-+ X (BINARY-* '#C(0 1) Y))))) 458 459(DEFAXIOM NONZERO-IMAGPART 460 (IMPLIES (COMPLEX-RATIONALP X) 461 (NOT (EQUAL '0 (IMAGPART X))))) 462 463(DEFAXIOM REALPART-IMAGPART-ELIM 464 (IMPLIES (ACL2-NUMBERP X) 465 (EQUAL (COMPLEX (REALPART X) (IMAGPART X)) 466 X))) 467 468(DEFAXIOM REALPART-COMPLEX 469 (IMPLIES (IF (RATIONALP X) (RATIONALP Y) 'NIL) 470 (EQUAL (REALPART (COMPLEX X Y)) X))) 471 472(DEFAXIOM IMAGPART-COMPLEX 473 (IMPLIES (IF (RATIONALP X) (RATIONALP Y) 'NIL) 474 (EQUAL (IMAGPART (COMPLEX X Y)) Y))) 475 476(DEFTHM COMPLEX-EQUAL 477 (IMPLIES (IF (RATIONALP X1) 478 (IF (RATIONALP Y1) 479 (IF (RATIONALP X2) (RATIONALP Y2) 'NIL) 480 'NIL) 481 'NIL) 482 (EQUAL (EQUAL (COMPLEX X1 Y1) (COMPLEX X2 Y2)) 483 (IF (EQUAL X1 X2) (EQUAL Y1 Y2) 'NIL)))) 484 485(DEFUN FORCE (X) X) 486 487(DEFUN IMMEDIATE-FORCE-MODEP NIL '"See :DOC immediate-force-modep.") 488 489(DEFUN CASE-SPLIT (X) X) 490 491(DEFUN SYNP (VARS FORM TERM) 'T) 492 493(DEFUN EXTRA-INFO (X Y) 'T) 494 495(DEFAXIOM NONNEGATIVE-PRODUCT 496 (IMPLIES (RATIONALP X) 497 (IF (RATIONALP (BINARY-* X X)) 498 (NOT (< (BINARY-* X X) '0)) 499 'NIL))) 500 501(DEFAXIOM INTEGER-0 (INTEGERP '0)) 502 503(DEFAXIOM INTEGER-1 (INTEGERP '1)) 504 505(DEFAXIOM INTEGER-STEP 506 (IMPLIES (INTEGERP X) 507 (IF (INTEGERP (BINARY-+ X '1)) 508 (INTEGERP (BINARY-+ X '-1)) 509 'NIL))) 510 511(DEFAXIOM 512 LOWEST-TERMS 513 (IMPLIES (IF (INTEGERP N) 514 (IF (RATIONALP X) 515 (IF (INTEGERP R) 516 (IF (INTEGERP Q) 517 (IF (< '0 N) 518 (IF (EQUAL (NUMERATOR X) (BINARY-* N R)) 519 (EQUAL (DENOMINATOR X) (BINARY-* N Q)) 520 'NIL) 521 'NIL) 522 'NIL) 523 'NIL) 524 'NIL) 525 'NIL) 526 (EQUAL N '1))) 527 528(DEFAXIOM CAR-CDR-ELIM (IMPLIES (CONSP X) (EQUAL (CONS (CAR X) (CDR X)) X))) 529 530(DEFAXIOM CAR-CONS (EQUAL (CAR (CONS X Y)) X)) 531 532(DEFAXIOM CDR-CONS (EQUAL (CDR (CONS X Y)) Y)) 533 534(DEFAXIOM CONS-EQUAL 535 (EQUAL (EQUAL (CONS X1 Y1) (CONS X2 Y2)) 536 (IF (EQUAL X1 X2) (EQUAL Y1 Y2) 'NIL))) 537 538(DEFAXIOM BOOLEANP-CHARACTERP (BOOLEANP (CHARACTERP X))) 539 540(DEFAXIOM CHARACTERP-PAGE (CHARACTERP '#\Page)) 541 542(DEFAXIOM CHARACTERP-TAB (CHARACTERP '#\Tab)) 543 544(DEFAXIOM CHARACTERP-RUBOUT (CHARACTERP '#\Rubout)) 545 546(DEFUN MEMBER (X L) 547 (IF (ENDP L) 548 'NIL 549 (IF (EQL X (CAR L)) 550 L (MEMBER X (CDR L))))) 551 552(DEFUN NO-DUPLICATESP (L) 553 (IF (ENDP L) 554 'T 555 (IF (MEMBER (CAR L) (CDR L)) 556 'NIL 557 (NO-DUPLICATESP (CDR L))))) 558 559(DEFUN ASSOC (X ALIST) 560 (IF (ENDP ALIST) 561 'NIL 562 (IF (EQL X (CAR (CAR ALIST))) 563 (CAR ALIST) 564 (ASSOC X (CDR ALIST))))) 565 566(DEFUN R-EQLABLE-ALISTP (X) 567 (IF (ATOM X) 568 (EQUAL X 'NIL) 569 (IF (CONSP (CAR X)) 570 (IF (EQLABLEP (CDR (CAR X))) 571 (R-EQLABLE-ALISTP (CDR X)) 572 'NIL) 573 'NIL))) 574 575(DEFUN RASSOC (X ALIST) 576 (IF (ENDP ALIST) 577 'NIL 578 (IF (EQL X (CDR (CAR ALIST))) 579 (CAR ALIST) 580 (RASSOC X (CDR ALIST))))) 581 582(DEFUN RASSOC-EQUAL (X ALIST) 583 (IF (ENDP ALIST) 584 'NIL 585 (IF (EQUAL X (CDR (CAR ALIST))) 586 (CAR ALIST) 587 (RASSOC-EQUAL X (CDR ALIST))))) 588 589(DEFUN R-SYMBOL-ALISTP (X) 590 (IF (ATOM X) 591 (EQUAL X 'NIL) 592 (IF (CONSP (CAR X)) 593 (IF (SYMBOLP (CDR (CAR X))) 594 (R-SYMBOL-ALISTP (CDR X)) 595 'NIL) 596 'NIL))) 597 598(DEFUN RASSOC-EQ (X ALIST) 599 (IF (ENDP ALIST) 600 'NIL 601 (IF (EQ X (CDR (CAR ALIST))) 602 (CAR ALIST) 603 (RASSOC-EQ X (CDR ALIST))))) 604 605(DEFUN STANDARD-CHAR-P (X) 606 (IF (MEMBER X 607 '(#\Newline #\Space #\! #\" #\# #\$ #\% 608 #\& #\' #\( #\) #\* #\+ #\, #\- #\. #\/ 609 #\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9 610 #\: #\; #\< #\= #\> #\? #\@ #\A #\B #\C 611 #\D #\E #\F #\G #\H #\I #\J #\K #\L #\M 612 #\N #\O #\P #\Q #\R #\S #\T #\U #\V #\W 613 #\X #\Y #\Z #\[ #\\ #\] #\^ #\_ #\` #\a 614 #\b #\c #\d #\e #\f #\g #\h #\i #\j #\k 615 #\l #\m #\n #\o #\p #\q #\r #\s #\t #\u 616 #\v #\w #\x #\y #\z #\{ #\| #\} #\~)) 617 'T 618 'NIL)) 619 620(DEFUN STANDARD-CHAR-LISTP (L) 621 (IF (CONSP L) 622 (IF (CHARACTERP (CAR L)) 623 (IF (STANDARD-CHAR-P (CAR L)) 624 (STANDARD-CHAR-LISTP (CDR L)) 625 'NIL) 626 'NIL) 627 (EQUAL L 'NIL))) 628 629(DEFUN CHARACTER-LISTP (L) 630 (IF (ATOM L) 631 (EQUAL L 'NIL) 632 (IF (CHARACTERP (CAR L)) 633 (CHARACTER-LISTP (CDR L)) 634 'NIL))) 635 636(DEFTHM CHARACTER-LISTP-FORWARD-TO-EQLABLE-LISTP 637 (IMPLIES (CHARACTER-LISTP X) 638 (EQLABLE-LISTP X))) 639 640(DEFTHM STANDARD-CHAR-LISTP-FORWARD-TO-CHARACTER-LISTP 641 (IMPLIES (STANDARD-CHAR-LISTP X) 642 (CHARACTER-LISTP X))) 643 644(DEFAXIOM COERCE-INVERSE-1 645 (IMPLIES (CHARACTER-LISTP X) 646 (EQUAL (COERCE (COERCE X 'STRING) 'LIST) 647 X))) 648 649(DEFAXIOM COERCE-INVERSE-2 650 (IMPLIES (STRINGP X) 651 (EQUAL (COERCE (COERCE X 'LIST) 'STRING) 652 X))) 653 654(DEFAXIOM CHARACTER-LISTP-COERCE (CHARACTER-LISTP (COERCE STR 'LIST))) 655 656(DEFUN STRING (X) 657 (IF (STRINGP X) 658 X 659 (IF (SYMBOLP X) 660 (SYMBOL-NAME X) 661 (COERCE (CONS X 'NIL) 'STRING)))) 662 663(DEFUN ALPHA-CHAR-P (X) 664 (IF (MEMBER X 665 '(#\a #\b #\c 666 #\d #\e #\f #\g #\h #\i #\j #\k #\l #\m 667 #\n #\o #\p #\q #\r #\s #\t #\u #\v #\w 668 #\x #\y #\z #\A #\B #\C #\D #\E #\F #\G 669 #\H #\I #\J #\K #\L #\M #\N #\O #\P #\Q 670 #\R #\S #\T #\U #\V #\W #\X #\Y #\Z)) 671 'T 672 'NIL)) 673 674(DEFUN UPPER-CASE-P (X) 675 (IF (MEMBER X 676 '(#\A #\B #\C #\D #\E #\F #\G 677 #\H #\I #\J #\K #\L #\M #\N #\O #\P #\Q 678 #\R #\S #\T #\U #\V #\W #\X #\Y #\Z)) 679 'T 680 'NIL)) 681 682(DEFUN LOWER-CASE-P (X) 683 (IF (MEMBER X 684 '(#\a #\b #\c #\d #\e #\f #\g 685 #\h #\i #\j #\k #\l #\m #\n #\o #\p #\q 686 #\r #\s #\t #\u #\v #\w #\x #\y #\z)) 687 'T 688 'NIL)) 689 690(DEFUN CHAR-UPCASE (X) 691 ((LAMBDA (PAIR X) 692 (IF PAIR (CDR PAIR) 693 (IF (CHARACTERP X) X (CODE-CHAR '0)))) 694 (ASSOC X 695 '((#\a . #\A) 696 (#\b . #\B) 697 (#\c . #\C) 698 (#\d . #\D) 699 (#\e . #\E) 700 (#\f . #\F) 701 (#\g . #\G) 702 (#\h . #\H) 703 (#\i . #\I) 704 (#\j . #\J) 705 (#\k . #\K) 706 (#\l . #\L) 707 (#\m . #\M) 708 (#\n . #\N) 709 (#\o . #\O) 710 (#\p . #\P) 711 (#\q . #\Q) 712 (#\r . #\R) 713 (#\s . #\S) 714 (#\t . #\T) 715 (#\u . #\U) 716 (#\v . #\V) 717 (#\w . #\W) 718 (#\x . #\X) 719 (#\y . #\Y) 720 (#\z . #\Z))) 721 X)) 722 723(DEFUN CHAR-DOWNCASE (X) 724 ((LAMBDA (PAIR X) 725 (IF PAIR (CDR PAIR) 726 (IF (CHARACTERP X) X (CODE-CHAR '0)))) 727 (ASSOC X 728 '((#\A . #\a) 729 (#\B . #\b) 730 (#\C . #\c) 731 (#\D . #\d) 732 (#\E . #\e) 733 (#\F . #\f) 734 (#\G . #\g) 735 (#\H . #\h) 736 (#\I . #\i) 737 (#\J . #\j) 738 (#\K . #\k) 739 (#\L . #\l) 740 (#\M . #\m) 741 (#\N . #\n) 742 (#\O . #\o) 743 (#\P . #\p) 744 (#\Q . #\q) 745 (#\R . #\r) 746 (#\S . #\s) 747 (#\T . #\t) 748 (#\U . #\u) 749 (#\V . #\v) 750 (#\W . #\w) 751 (#\X . #\x) 752 (#\Y . #\y) 753 (#\Z . #\z))) 754 X)) 755 756(DEFTHM LOWER-CASE-P-CHAR-DOWNCASE 757 (IMPLIES (IF (UPPER-CASE-P X) 758 (CHARACTERP X) 759 'NIL) 760 (LOWER-CASE-P (CHAR-DOWNCASE X)))) 761 762(DEFTHM UPPER-CASE-P-CHAR-UPCASE 763 (IMPLIES (IF (LOWER-CASE-P X) 764 (CHARACTERP X) 765 'NIL) 766 (UPPER-CASE-P (CHAR-UPCASE X)))) 767 768(DEFTHM LOWER-CASE-P-FORWARD-TO-ALPHA-CHAR-P 769 (IMPLIES (IF (LOWER-CASE-P X) 770 (CHARACTERP X) 771 'NIL) 772 (ALPHA-CHAR-P X))) 773 774(DEFTHM UPPER-CASE-P-FORWARD-TO-ALPHA-CHAR-P 775 (IMPLIES (IF (UPPER-CASE-P X) 776 (CHARACTERP X) 777 'NIL) 778 (ALPHA-CHAR-P X))) 779 780(DEFTHM ALPHA-CHAR-P-FORWARD-TO-CHARACTERP 781 (IMPLIES (ALPHA-CHAR-P X) 782 (CHARACTERP X))) 783 784(DEFTHM CHARACTERP-CHAR-DOWNCASE (CHARACTERP (CHAR-DOWNCASE X))) 785 786(DEFTHM CHARACTERP-CHAR-UPCASE (CHARACTERP (CHAR-UPCASE X))) 787 788(DEFUN STRING-DOWNCASE1 (L) 789 (IF (ATOM L) 790 'NIL 791 (CONS (CHAR-DOWNCASE (CAR L)) 792 (STRING-DOWNCASE1 (CDR L))))) 793 794(DEFTHM CHARACTER-LISTP-STRING-DOWNCASE-1 795 (CHARACTER-LISTP (STRING-DOWNCASE1 X))) 796 797(DEFUN STRING-DOWNCASE (X) 798 (COERCE (STRING-DOWNCASE1 (COERCE X 'LIST)) 799 'STRING)) 800 801(DEFUN STRING-UPCASE1 (L) 802 (IF (ATOM L) 803 'NIL 804 (CONS (CHAR-UPCASE (CAR L)) 805 (STRING-UPCASE1 (CDR L))))) 806 807(DEFTHM CHARACTER-LISTP-STRING-UPCASE1-1 808 (CHARACTER-LISTP (STRING-UPCASE1 X))) 809 810(DEFUN STRING-UPCASE (X) (COERCE (STRING-UPCASE1 (COERCE X 'LIST)) 'STRING)) 811 812(DEFUN OUR-DIGIT-CHAR-P (CH RADIX) 813 ((LAMBDA (L RADIX) 814 (IF (IF L (< (CDR L) RADIX) 'NIL) 815 (CDR L) 816 'NIL)) 817 (ASSOC CH 818 '((#\0 . 0) 819 (#\1 . 1) 820 (#\2 . 2) 821 (#\3 . 3) 822 (#\4 . 4) 823 (#\5 . 5) 824 (#\6 . 6) 825 (#\7 . 7) 826 (#\8 . 8) 827 (#\9 . 9) 828 (#\a . 10) 829 (#\b . 11) 830 (#\c . 12) 831 (#\d . 13) 832 (#\e . 14) 833 (#\f . 15) 834 (#\g . 16) 835 (#\h . 17) 836 (#\i . 18) 837 (#\j . 19) 838 (#\k . 20) 839 (#\l . 21) 840 (#\m . 22) 841 (#\n . 23) 842 (#\o . 24) 843 (#\p . 25) 844 (#\q . 26) 845 (#\r . 27) 846 (#\s . 28) 847 (#\t . 29) 848 (#\u . 30) 849 (#\v . 31) 850 (#\w . 32) 851 (#\x . 33) 852 (#\y . 34) 853 (#\z . 35) 854 (#\A . 10) 855 (#\B . 11) 856 (#\C . 12) 857 (#\D . 13) 858 (#\E . 14) 859 (#\F . 15) 860 (#\G . 16) 861 (#\H . 17) 862 (#\I . 18) 863 (#\J . 19) 864 (#\K . 20) 865 (#\L . 21) 866 (#\M . 22) 867 (#\N . 23) 868 (#\O . 24) 869 (#\P . 25) 870 (#\Q . 26) 871 (#\R . 27) 872 (#\S . 28) 873 (#\T . 29) 874 (#\U . 30) 875 (#\V . 31) 876 (#\W . 32) 877 (#\X . 33) 878 (#\Y . 34) 879 (#\Z . 35))) 880 RADIX)) 881 882(DEFUN CHAR-EQUAL (X Y) (EQL (CHAR-DOWNCASE X) (CHAR-DOWNCASE Y))) 883 884(DEFUN ATOM-LISTP (LST) 885 (IF (ATOM LST) 886 (EQ LST 'NIL) 887 (IF (ATOM (CAR LST)) 888 (ATOM-LISTP (CDR LST)) 889 'NIL))) 890 891(DEFTHM ATOM-LISTP-FORWARD-TO-TRUE-LISTP 892 (IMPLIES (ATOM-LISTP X) (TRUE-LISTP X))) 893 894(DEFTHM EQLABLE-LISTP-FORWARD-TO-ATOM-LISTP 895 (IMPLIES (EQLABLE-LISTP X) 896 (ATOM-LISTP X))) 897 898(DEFTHM CHARACTERP-NTH 899 (IMPLIES (IF (CHARACTER-LISTP X) 900 (IF (INTEGERP I) 901 (IF (NOT (< I '0)) (< I (LEN X)) 'NIL) 902 'NIL) 903 'NIL) 904 (CHARACTERP (NTH I X)))) 905 906(DEFUN IFIX (X) (IF (INTEGERP X) X '0)) 907 908(DEFUN RFIX (X) (IF (RATIONALP X) X '0)) 909 910(DEFUN REALFIX (X) (IF (RATIONALP X) X '0)) 911 912(DEFUN NFIX (X) (IF (IF (INTEGERP X) (NOT (< X '0)) 'NIL) X '0)) 913 914(DEFUN STRING-EQUAL1 (STR1 STR2 I MAXIMUM) 915 ((LAMBDA (I STR2 STR1 MAXIMUM) 916 (IF (NOT (< I (IFIX MAXIMUM))) 917 'T 918 (IF (CHAR-EQUAL (CHAR STR1 I) (CHAR STR2 I)) 919 (STRING-EQUAL1 STR1 STR2 (BINARY-+ '1 I) 920 MAXIMUM) 921 'NIL))) 922 (NFIX I) 923 STR2 STR1 MAXIMUM)) 924 925(DEFUN STRING-EQUAL (STR1 STR2) 926 ((LAMBDA (LEN1 STR1 STR2) 927 (IF (= LEN1 (LENGTH STR2)) 928 (STRING-EQUAL1 STR1 STR2 '0 LEN1) 929 'NIL)) 930 (LENGTH STR1) 931 STR1 STR2)) 932 933(DEFUN STANDARD-STRING-ALISTP (X) 934 (IF (ATOM X) 935 (EQ X 'NIL) 936 (IF (CONSP (CAR X)) 937 (IF (STRINGP (CAR (CAR X))) 938 (IF (STANDARD-CHAR-LISTP (COERCE (CAR (CAR X)) 'LIST)) 939 (STANDARD-STRING-ALISTP (CDR X)) 940 'NIL) 941 'NIL) 942 'NIL))) 943 944(DEFTHM STANDARD-STRING-ALISTP-FORWARD-TO-ALISTP 945 (IMPLIES (STANDARD-STRING-ALISTP X) 946 (ALISTP X))) 947 948(DEFUN ASSOC-STRING-EQUAL (STR ALIST) 949 (IF (ENDP ALIST) 950 'NIL 951 (IF (STRING-EQUAL STR (CAR (CAR ALIST))) 952 (CAR ALIST) 953 (ASSOC-STRING-EQUAL STR (CDR ALIST))))) 954 955(DEFUN NATP (X) (IF (INTEGERP X) (NOT (< X '0)) 'NIL)) 956 957(DEFTHM NATP-COMPOUND-RECOGNIZER 958 (EQUAL (NATP X) 959 (IF (INTEGERP X) (NOT (< X '0)) 'NIL))) 960 961(DEFUN POSP (X) (IF (INTEGERP X) (< '0 X) 'NIL)) 962 963(DEFTHM POSP-COMPOUND-RECOGNIZER 964 (EQUAL (POSP X) 965 (IF (INTEGERP X) (< '0 X) 'NIL))) 966 967(DEFUN O-FINP (X) (ATOM X)) 968 969(DEFUN O-FIRST-EXPT (X) (IF (O-FINP X) '0 (CAR (CAR X)))) 970 971(DEFUN O-FIRST-COEFF (X) (IF (O-FINP X) X (CDR (CAR X)))) 972 973(DEFUN O-RST (X) (CDR X)) 974 975(DEFUN O<G (X) 976 (IF (ATOM X) 977 (RATIONALP X) 978 (IF (CONSP (CAR X)) 979 (IF (RATIONALP (O-FIRST-COEFF X)) 980 (IF (O<G (O-FIRST-EXPT X)) 981 (O<G (O-RST X)) 982 'NIL) 983 'NIL) 984 'NIL))) 985 986(DEFUN O< (X Y) 987 (IF (O-FINP X) 988 (IF (NOT (O-FINP Y)) 989 (NOT (O-FINP Y)) 990 (< X Y)) 991 (IF (O-FINP Y) 992 'NIL 993 (IF (NOT (EQUAL (O-FIRST-EXPT X) 994 (O-FIRST-EXPT Y))) 995 (O< (O-FIRST-EXPT X) (O-FIRST-EXPT Y)) 996 (IF (NOT (= (O-FIRST-COEFF X) (O-FIRST-COEFF Y))) 997 (< (O-FIRST-COEFF X) (O-FIRST-COEFF Y)) 998 (O< (O-RST X) (O-RST Y))))))) 999 1000(DEFUN O-P (X) 1001 (IF (O-FINP X) 1002 (NATP X) 1003 (IF (CONSP (CAR X)) 1004 (IF (O-P (O-FIRST-EXPT X)) 1005 (IF (NOT (EQL '0 (O-FIRST-EXPT X))) 1006 (IF (POSP (O-FIRST-COEFF X)) 1007 (IF (O-P (O-RST X)) 1008 (O< (O-FIRST-EXPT (O-RST X)) 1009 (O-FIRST-EXPT X)) 1010 'NIL) 1011 'NIL) 1012 'NIL) 1013 'NIL) 1014 'NIL))) 1015 1016(DEFTHM O-P-IMPLIES-O<G (IMPLIES (O-P A) (O<G A))) 1017 1018(DEFUN MAKE-ORD (FE FCO RST) (CONS (CONS FE FCO) RST)) 1019 1020(DEFUN LIST*-MACRO (LST) 1021 (IF (ENDP (CDR LST)) 1022 (CAR LST) 1023 (CONS 'CONS 1024 (CONS (CAR LST) 1025 (CONS (LIST*-MACRO (CDR LST)) 'NIL))))) 1026 1027(DEFUN NULL-BODY-ER (FN FORMALS MAYBE-ATTACH) 1028 (IF MAYBE-ATTACH 1029 (CONS 'THROW-OR-ATTACH 1030 (CONS FN (CONS FORMALS (CONS 'NIL 'NIL)))) 1031 (CONS 'THROW-WITHOUT-ATTACH 1032 (CONS FN (CONS FORMALS 'NIL))))) 1033 1034(DEFAXIOM STRINGP-SYMBOL-PACKAGE-NAME (STRINGP (SYMBOL-PACKAGE-NAME X))) 1035 1036(DEFAXIOM SYMBOLP-INTERN-IN-PACKAGE-OF-SYMBOL 1037 (SYMBOLP (INTERN-IN-PACKAGE-OF-SYMBOL X Y))) 1038 1039(DEFAXIOM SYMBOLP-PKG-WITNESS (SYMBOLP (PKG-WITNESS X))) 1040 1041(DEFUN HARD-ERROR (CTX STR ALIST) 'NIL) 1042 1043(DEFUN ILLEGAL (CTX STR ALIST) (HARD-ERROR CTX STR ALIST)) 1044 1045(DEFUN KEYWORDP (X) 1046 (IF (SYMBOLP X) 1047 (EQUAL (SYMBOL-PACKAGE-NAME X) 1048 '"KEYWORD") 1049 'NIL)) 1050 1051(DEFTHM KEYWORDP-FORWARD-TO-SYMBOLP (IMPLIES (KEYWORDP X) (SYMBOLP X))) 1052 1053(DEFAXIOM INTERN-IN-PACKAGE-OF-SYMBOL-SYMBOL-NAME 1054 (IMPLIES (IF (SYMBOLP X) 1055 (EQUAL (SYMBOL-PACKAGE-NAME X) 1056 (SYMBOL-PACKAGE-NAME Y)) 1057 'NIL) 1058 (EQUAL (INTERN-IN-PACKAGE-OF-SYMBOL (SYMBOL-NAME X) 1059 Y) 1060 X))) 1061 1062(DEFTHM SYMBOL-PACKAGE-NAME-OF-SYMBOL-IS-NOT-EMPTY-STRING 1063 (IMPLIES (SYMBOLP X) 1064 (NOT (EQUAL (SYMBOL-PACKAGE-NAME X) '"")))) 1065 1066(DEFAXIOM SYMBOL-NAME-PKG-WITNESS 1067 (EQUAL (SYMBOL-NAME (PKG-WITNESS PKG-NAME)) 1068 '"ACL2-PKG-WITNESS")) 1069 1070(DEFAXIOM SYMBOL-PACKAGE-NAME-PKG-WITNESS-NAME 1071 (EQUAL (SYMBOL-PACKAGE-NAME (PKG-WITNESS PKG-NAME)) 1072 (IF (IF (STRINGP PKG-NAME) 1073 (NOT (EQUAL PKG-NAME '"")) 1074 'NIL) 1075 PKG-NAME '"ACL2"))) 1076 1077(DEFUN MEMBER-SYMBOL-NAME (STR L) 1078 (IF (ENDP L) 1079 'NIL 1080 (IF (EQUAL STR (SYMBOL-NAME (CAR L))) 1081 L (MEMBER-SYMBOL-NAME STR (CDR L))))) 1082 1083(DEFTHM SYMBOL-EQUALITY 1084 (IMPLIES (IF (SYMBOLP S1) 1085 (IF (SYMBOLP S2) 1086 (IF (EQUAL (SYMBOL-NAME S1) 1087 (SYMBOL-NAME S2)) 1088 (EQUAL (SYMBOL-PACKAGE-NAME S1) 1089 (SYMBOL-PACKAGE-NAME S2)) 1090 'NIL) 1091 'NIL) 1092 'NIL) 1093 (EQUAL S1 S2))) 1094 1095(DEFAXIOM 1096 SYMBOL-NAME-INTERN-IN-PACKAGE-OF-SYMBOL 1097 (IMPLIES (IF (STRINGP S) 1098 (SYMBOLP ANY-SYMBOL) 1099 'NIL) 1100 (EQUAL (SYMBOL-NAME (INTERN-IN-PACKAGE-OF-SYMBOL S ANY-SYMBOL)) 1101 S))) 1102 1103(DEFAXIOM 1104 ACL2-INPUT-CHANNEL-PACKAGE 1105 (IMPLIES (IF (STRINGP X) 1106 (IF (SYMBOLP Y) 1107 (EQUAL (SYMBOL-PACKAGE-NAME Y) 1108 '"ACL2-INPUT-CHANNEL") 1109 'NIL) 1110 'NIL) 1111 (EQUAL (SYMBOL-PACKAGE-NAME (INTERN-IN-PACKAGE-OF-SYMBOL X Y)) 1112 '"ACL2-INPUT-CHANNEL"))) 1113 1114(DEFAXIOM 1115 ACL2-OUTPUT-CHANNEL-PACKAGE 1116 (IMPLIES (IF (STRINGP X) 1117 (IF (SYMBOLP Y) 1118 (EQUAL (SYMBOL-PACKAGE-NAME Y) 1119 '"ACL2-OUTPUT-CHANNEL") 1120 'NIL) 1121 'NIL) 1122 (EQUAL (SYMBOL-PACKAGE-NAME (INTERN-IN-PACKAGE-OF-SYMBOL X Y)) 1123 '"ACL2-OUTPUT-CHANNEL"))) 1124 1125(DEFAXIOM 1126 ACL2-PACKAGE 1127 (IMPLIES 1128 (IF 1129 (STRINGP X) 1130 (IF (NOT (MEMBER-SYMBOL-NAME 1131 X 1132 '(&ALLOW-OTHER-KEYS *PRINT-MISER-WIDTH* 1133 &AUX *PRINT-PPRINT-DISPATCH* 1134 &BODY *PRINT-PRETTY* 1135 &ENVIRONMENT *PRINT-RADIX* 1136 &KEY *PRINT-READABLY* &OPTIONAL 1137 *PRINT-RIGHT-MARGIN* &REST *QUERY-IO* 1138 &WHOLE *RANDOM-STATE* * *READ-BASE* 1139 ** *READ-DEFAULT-FLOAT-FORMAT* 1140 *** *READ-EVAL* *BREAK-ON-SIGNALS* 1141 *READ-SUPPRESS* *COMPILE-FILE-PATHNAME* 1142 *READTABLE* *COMPILE-FILE-TRUENAME* 1143 *STANDARD-INPUT* *COMPILE-PRINT* 1144 *STANDARD-OUTPUT* *COMPILE-VERBOSE* 1145 *TERMINAL-IO* *DEBUG-IO* 1146 *TRACE-OUTPUT* *DEBUGGER-HOOK* 1147 + *DEFAULT-PATHNAME-DEFAULTS* 1148 ++ *ERROR-OUTPUT* +++ *FEATURES* 1149 - *GENSYM-COUNTER* / *LOAD-PATHNAME* 1150 // *LOAD-PRINT* /// *LOAD-TRUENAME* 1151 /= *LOAD-VERBOSE* 1+ *MACROEXPAND-HOOK* 1152 1- *MODULES* < *PACKAGE* 1153 <= *PRINT-ARRAY* = *PRINT-BASE* 1154 > *PRINT-CASE* >= *PRINT-CIRCLE* 1155 ABORT *PRINT-ESCAPE* ABS *PRINT-GENSYM* 1156 ACONS *PRINT-LENGTH* ACOS *PRINT-LEVEL* 1157 ACOSH *PRINT-LINES* ADD-METHOD ADJOIN 1158 ATOM BOUNDP ADJUST-ARRAY BASE-CHAR 1159 BREAK ADJUSTABLE-ARRAY-P BASE-STRING 1160 BROADCAST-STREAM ALLOCATE-INSTANCE 1161 BIGNUM BROADCAST-STREAM-STREAMS 1162 ALPHA-CHAR-P BIT BUILT-IN-CLASS 1163 ALPHANUMERICP BIT-AND BUTLAST 1164 AND BIT-ANDC1 BYTE APPEND BIT-ANDC2 1165 BYTE-POSITION APPLY BIT-EQV BYTE-SIZE 1166 APROPOS BIT-IOR CAAAAR APROPOS-LIST 1167 BIT-NAND CAAADR AREF BIT-NOR 1168 CAAAR ARITHMETIC-ERROR BIT-NOT CAADAR 1169 ARITHMETIC-ERROR-OPERANDS BIT-ORC1 1170 CAADDR ARITHMETIC-ERROR-OPERATION 1171 BIT-ORC2 CAADR ARRAY BIT-VECTOR 1172 CAAR ARRAY-DIMENSION BIT-VECTOR-P 1173 CADAAR ARRAY-DIMENSION-LIMIT 1174 BIT-XOR CADADR ARRAY-DIMENSIONS 1175 BLOCK CADAR ARRAY-DISPLACEMENT 1176 BOOLE CADDAR ARRAY-ELEMENT-TYPE 1177 BOOLE-1 CADDDR ARRAY-HAS-FILL-POINTER-P 1178 BOOLE-2 CADDR ARRAY-IN-BOUNDS-P 1179 BOOLE-AND CADR ARRAY-RANK 1180 BOOLE-ANDC1 CALL-ARGUMENTS-LIMIT 1181 ARRAY-RANK-LIMIT BOOLE-ANDC2 CALL-METHOD 1182 ARRAY-ROW-MAJOR-INDEX BOOLE-C1 1183 CALL-NEXT-METHOD ARRAY-TOTAL-SIZE 1184 BOOLE-C2 CAR ARRAY-TOTAL-SIZE-LIMIT 1185 BOOLE-CLR CASE ARRAYP 1186 BOOLE-EQV CATCH ASH BOOLE-IOR CCASE 1187 ASIN BOOLE-NAND CDAAAR ASINH BOOLE-NOR 1188 CDAADR ASSERT BOOLE-ORC1 CDAAR ASSOC 1189 BOOLE-ORC2 CDADAR ASSOC-IF BOOLE-SET 1190 CDADDR ASSOC-IF-NOT BOOLE-XOR CDADR 1191 ATAN BOOLEAN CDAR ATANH BOTH-CASE-P 1192 CDDAAR CDDADR CLEAR-INPUT COPY-TREE 1193 CDDAR CLEAR-OUTPUT COS CDDDAR CLOSE COSH 1194 CDDDDR CLRHASH COUNT CDDDR CODE-CHAR 1195 COUNT-IF CDDR COERCE COUNT-IF-NOT 1196 CDR COMPILATION-SPEED CTYPECASE 1197 CEILING COMPILE DEBUG CELL-ERROR 1198 COMPILE-FILE DECF CELL-ERROR-NAME 1199 COMPILE-FILE-PATHNAME DECLAIM 1200 CERROR COMPILED-FUNCTION DECLARATION 1201 CHANGE-CLASS COMPILED-FUNCTION-P 1202 DECLARE CHAR COMPILER-MACRO DECODE-FLOAT 1203 CHAR-CODE COMPILER-MACRO-FUNCTION 1204 DECODE-UNIVERSAL-TIME 1205 CHAR-CODE-LIMIT COMPLEMENT DEFCLASS 1206 CHAR-DOWNCASE COMPLEX DEFCONSTANT 1207 CHAR-EQUAL COMPLEXP DEFGENERIC 1208 CHAR-GREATERP COMPUTE-APPLICABLE-METHODS 1209 DEFINE-COMPILER-MACRO 1210 CHAR-INT COMPUTE-RESTARTS 1211 DEFINE-CONDITION CHAR-LESSP 1212 CONCATENATE DEFINE-METHOD-COMBINATION 1213 CHAR-NAME CONCATENATED-STREAM 1214 DEFINE-MODIFY-MACRO CHAR-NOT-EQUAL 1215 CONCATENATED-STREAM-STREAMS 1216 DEFINE-SETF-EXPANDER CHAR-NOT-GREATERP 1217 COND DEFINE-SYMBOL-MACRO CHAR-NOT-LESSP 1218 CONDITION DEFMACRO CHAR-UPCASE CONJUGATE 1219 DEFMETHOD CHAR/= CONS DEFPACKAGE 1220 CHAR< CONSP DEFPARAMETER CHAR<= 1221 CONSTANTLY DEFSETF CHAR= CONSTANTP 1222 DEFSTRUCT CHAR> CONTINUE DEFTYPE 1223 CHAR>= CONTROL-ERROR DEFUN CHARACTER 1224 COPY-ALIST DEFVAR CHARACTERP COPY-LIST 1225 DELETE CHECK-TYPE COPY-PPRINT-DISPATCH 1226 DELETE-DUPLICATES CIS COPY-READTABLE 1227 DELETE-FILE CLASS COPY-SEQ DELETE-IF 1228 CLASS-NAME COPY-STRUCTURE DELETE-IF-NOT 1229 CLASS-OF COPY-SYMBOL DELETE-PACKAGE 1230 DENOMINATOR EQ DEPOSIT-FIELD 1231 EQL DESCRIBE EQUAL DESCRIBE-OBJECT 1232 EQUALP DESTRUCTURING-BIND 1233 ERROR DIGIT-CHAR ETYPECASE 1234 DIGIT-CHAR-P EVAL DIRECTORY EVAL-WHEN 1235 DIRECTORY-NAMESTRING EVENP DISASSEMBLE 1236 EVERY DIVISION-BY-ZERO EXP DO EXPORT 1237 DO* EXPT DO-ALL-SYMBOLS EXTENDED-CHAR 1238 DO-EXTERNAL-SYMBOLS FBOUNDP DO-SYMBOLS 1239 FCEILING DOCUMENTATION FDEFINITION 1240 DOLIST FFLOOR DOTIMES FIFTH DOUBLE-FLOAT 1241 FILE-AUTHOR DOUBLE-FLOAT-EPSILON 1242 FILE-ERROR DOUBLE-FLOAT-NEGATIVE-EPSILON 1243 FILE-ERROR-PATHNAME DPB FILE-LENGTH 1244 DRIBBLE FILE-NAMESTRING DYNAMIC-EXTENT 1245 FILE-POSITION ECASE FILE-STREAM 1246 ECHO-STREAM FILE-STRING-LENGTH 1247 ECHO-STREAM-INPUT-STREAM FILE-WRITE-DATE 1248 ECHO-STREAM-OUTPUT-STREAM 1249 FILL ED FILL-POINTER 1250 EIGHTH FIND ELT FIND-ALL-SYMBOLS 1251 ENCODE-UNIVERSAL-TIME FIND-CLASS 1252 END-OF-FILE FIND-IF ENDP FIND-IF-NOT 1253 ENOUGH-NAMESTRING FIND-METHOD 1254 ENSURE-DIRECTORIES-EXIST FIND-PACKAGE 1255 ENSURE-GENERIC-FUNCTION FIND-RESTART 1256 FIND-SYMBOL GET-INTERNAL-RUN-TIME 1257 FINISH-OUTPUT GET-MACRO-CHARACTER 1258 FIRST GET-OUTPUT-STREAM-STRING FIXNUM 1259 GET-PROPERTIES FLET GET-SETF-EXPANSION 1260 FLOAT GET-UNIVERSAL-TIME FLOAT-DIGITS 1261 GETF FLOAT-PRECISION GETHASH 1262 FLOAT-RADIX GO FLOAT-SIGN GRAPHIC-CHAR-P 1263 FLOATING-POINT-INEXACT HANDLER-BIND 1264 FLOATING-POINT-INVALID-OPERATION 1265 HANDLER-CASE FLOATING-POINT-OVERFLOW 1266 HASH-TABLE FLOATING-POINT-UNDERFLOW 1267 HASH-TABLE-COUNT FLOATP HASH-TABLE-P 1268 FLOOR HASH-TABLE-REHASH-SIZE FMAKUNBOUND 1269 HASH-TABLE-REHASH-THRESHOLD FORCE-OUTPUT 1270 HASH-TABLE-SIZE FORMAT HASH-TABLE-TEST 1271 FORMATTER HOST-NAMESTRING 1272 FOURTH IDENTITY FRESH-LINE 1273 IF FROUND IGNORABLE FTRUNCATE IGNORE 1274 FTYPE IGNORE-ERRORS FUNCALL IMAGPART 1275 FUNCTION IMPORT FUNCTION-KEYWORDS 1276 IN-PACKAGE FUNCTION-LAMBDA-EXPRESSION 1277 INCF FUNCTIONP INITIALIZE-INSTANCE 1278 GCD INLINE GENERIC-FUNCTION 1279 INPUT-STREAM-P GENSYM INSPECT 1280 GENTEMP INTEGER GET INTEGER-DECODE-FLOAT 1281 GET-DECODED-TIME INTEGER-LENGTH 1282 GET-DISPATCH-MACRO-CHARACTER 1283 INTEGERP GET-INTERNAL-REAL-TIME 1284 INTERACTIVE-STREAM-P 1285 INTERN LISP-IMPLEMENTATION-TYPE 1286 INTERNAL-TIME-UNITS-PER-SECOND 1287 LISP-IMPLEMENTATION-VERSION 1288 INTERSECTION LIST INVALID-METHOD-ERROR 1289 LIST* INVOKE-DEBUGGER 1290 LIST-ALL-PACKAGES INVOKE-RESTART 1291 LIST-LENGTH INVOKE-RESTART-INTERACTIVELY 1292 LISTEN ISQRT LISTP KEYWORD LOAD KEYWORDP 1293 LOAD-LOGICAL-PATHNAME-TRANSLATIONS 1294 LABELS LOAD-TIME-VALUE 1295 LAMBDA LOCALLY LAMBDA-LIST-KEYWORDS 1296 LOG LAMBDA-PARAMETERS-LIMIT 1297 LOGAND LAST LOGANDC1 LCM 1298 LOGANDC2 LDB LOGBITP LDB-TEST LOGCOUNT 1299 LDIFF LOGEQV LEAST-NEGATIVE-DOUBLE-FLOAT 1300 LOGICAL-PATHNAME 1301 LEAST-NEGATIVE-LONG-FLOAT 1302 LOGICAL-PATHNAME-TRANSLATIONS 1303 LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT 1304 LOGIOR 1305 LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT 1306 LOGNAND 1307 LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT 1308 LOGNOR 1309 LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT 1310 LOGNOT LEAST-NEGATIVE-SHORT-FLOAT 1311 LOGORC1 LEAST-NEGATIVE-SINGLE-FLOAT 1312 LOGORC2 LEAST-POSITIVE-DOUBLE-FLOAT 1313 LOGTEST LEAST-POSITIVE-LONG-FLOAT LOGXOR 1314 LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT 1315 LONG-FLOAT 1316 LEAST-POSITIVE-NORMALIZED-LONG-FLOAT 1317 LONG-FLOAT-EPSILON 1318 LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT 1319 LONG-FLOAT-NEGATIVE-EPSILON 1320 LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT 1321 LONG-SITE-NAME 1322 LEAST-POSITIVE-SHORT-FLOAT LOOP 1323 LEAST-POSITIVE-SINGLE-FLOAT LOOP-FINISH 1324 LENGTH LOWER-CASE-P LET MACHINE-INSTANCE 1325 LET* MACHINE-TYPE MACHINE-VERSION 1326 MASK-FIELD MACRO-FUNCTION 1327 MAX MACROEXPAND MEMBER MACROEXPAND-1 1328 MEMBER-IF MACROLET MEMBER-IF-NOT 1329 MAKE-ARRAY MERGE MAKE-BROADCAST-STREAM 1330 MERGE-PATHNAMES MAKE-CONCATENATED-STREAM 1331 METHOD MAKE-CONDITION METHOD-COMBINATION 1332 MAKE-DISPATCH-MACRO-CHARACTER 1333 METHOD-COMBINATION-ERROR 1334 MAKE-ECHO-STREAM METHOD-QUALIFIERS 1335 MAKE-HASH-TABLE MIN MAKE-INSTANCE 1336 MINUSP MAKE-INSTANCES-OBSOLETE 1337 MISMATCH MAKE-LIST MOD MAKE-LOAD-FORM 1338 MOST-NEGATIVE-DOUBLE-FLOAT 1339 MAKE-LOAD-FORM-SAVING-SLOTS 1340 MOST-NEGATIVE-FIXNUM 1341 MAKE-METHOD MOST-NEGATIVE-LONG-FLOAT 1342 MAKE-PACKAGE MOST-NEGATIVE-SHORT-FLOAT 1343 MAKE-PATHNAME MOST-NEGATIVE-SINGLE-FLOAT 1344 MAKE-RANDOM-STATE 1345 MOST-POSITIVE-DOUBLE-FLOAT 1346 MAKE-SEQUENCE MOST-POSITIVE-FIXNUM 1347 MAKE-STRING MOST-POSITIVE-LONG-FLOAT 1348 MAKE-STRING-INPUT-STREAM 1349 MOST-POSITIVE-SHORT-FLOAT 1350 MAKE-STRING-OUTPUT-STREAM 1351 MOST-POSITIVE-SINGLE-FLOAT 1352 MAKE-SYMBOL MUFFLE-WARNING 1353 MAKE-SYNONYM-STREAM MULTIPLE-VALUE-BIND 1354 MAKE-TWO-WAY-STREAM MULTIPLE-VALUE-CALL 1355 MAKUNBOUND MULTIPLE-VALUE-LIST 1356 MAP MULTIPLE-VALUE-PROG1 1357 MAP-INTO MULTIPLE-VALUE-SETQ MAPC 1358 MULTIPLE-VALUES-LIMIT MAPCAN NAME-CHAR 1359 MAPCAR NAMESTRING MAPCON NBUTLAST 1360 MAPHASH NCONC MAPL NEXT-METHOD-P 1361 MAPLIST NIL NINTERSECTION PACKAGE-ERROR 1362 NINTH PACKAGE-ERROR-PACKAGE 1363 NO-APPLICABLE-METHOD PACKAGE-NAME 1364 NO-NEXT-METHOD PACKAGE-NICKNAMES 1365 NOT PACKAGE-SHADOWING-SYMBOLS 1366 NOTANY PACKAGE-USE-LIST NOTEVERY 1367 PACKAGE-USED-BY-LIST NOTINLINE PACKAGEP 1368 NRECONC PAIRLIS NREVERSE PARSE-ERROR 1369 NSET-DIFFERENCE PARSE-INTEGER 1370 NSET-EXCLUSIVE-OR PARSE-NAMESTRING 1371 NSTRING-CAPITALIZE PATHNAME 1372 NSTRING-DOWNCASE PATHNAME-DEVICE 1373 NSTRING-UPCASE PATHNAME-DIRECTORY 1374 NSUBLIS PATHNAME-HOST NSUBST 1375 PATHNAME-MATCH-P NSUBST-IF PATHNAME-NAME 1376 NSUBST-IF-NOT PATHNAME-TYPE NSUBSTITUTE 1377 PATHNAME-VERSION NSUBSTITUTE-IF 1378 PATHNAMEP NSUBSTITUTE-IF-NOT 1379 PEEK-CHAR NTH PHASE NTH-VALUE PI NTHCDR 1380 PLUSP NULL POP NUMBER POSITION NUMBERP 1381 POSITION-IF NUMERATOR POSITION-IF-NOT 1382 NUNION PPRINT ODDP PPRINT-DISPATCH 1383 OPEN PPRINT-EXIT-IF-LIST-EXHAUSTED 1384 OPEN-STREAM-P PPRINT-FILL 1385 OPTIMIZE PPRINT-INDENT OR PPRINT-LINEAR 1386 OTHERWISE PPRINT-LOGICAL-BLOCK 1387 OUTPUT-STREAM-P PPRINT-NEWLINE 1388 PACKAGE PPRINT-POP PPRINT-TAB READ-CHAR 1389 PPRINT-TABULAR READ-CHAR-NO-HANG 1390 PRIN1 READ-DELIMITED-LIST 1391 PRIN1-TO-STRING READ-FROM-STRING 1392 PRINC READ-LINE PRINC-TO-STRING 1393 READ-PRESERVING-WHITESPACE 1394 PRINT READ-SEQUENCE PRINT-NOT-READABLE 1395 READER-ERROR PRINT-NOT-READABLE-OBJECT 1396 READTABLE PRINT-OBJECT 1397 READTABLE-CASE PRINT-UNREADABLE-OBJECT 1398 READTABLEP PROBE-FILE 1399 REAL PROCLAIM REALP PROG REALPART 1400 PROG* REDUCE PROG1 REINITIALIZE-INSTANCE 1401 PROG2 REM PROGN REMF PROGRAM-ERROR 1402 REMHASH PROGV REMOVE PROVIDE 1403 REMOVE-DUPLICATES PSETF REMOVE-IF 1404 PSETQ REMOVE-IF-NOT PUSH REMOVE-METHOD 1405 PUSHNEW REMPROP QUOTE RENAME-FILE 1406 RANDOM RENAME-PACKAGE RANDOM-STATE 1407 REPLACE RANDOM-STATE-P REQUIRE RASSOC 1408 REST RASSOC-IF RESTART RASSOC-IF-NOT 1409 RESTART-BIND RATIO RESTART-CASE 1410 RATIONAL RESTART-NAME RATIONALIZE RETURN 1411 RATIONALP RETURN-FROM READ REVAPPEND 1412 READ-BYTE REVERSE ROOM SIMPLE-BIT-VECTOR 1413 ROTATEF SIMPLE-BIT-VECTOR-P 1414 ROUND SIMPLE-CONDITION ROW-MAJOR-AREF 1415 SIMPLE-CONDITION-FORMAT-ARGUMENTS 1416 RPLACA SIMPLE-CONDITION-FORMAT-CONTROL 1417 RPLACD SIMPLE-ERROR 1418 SAFETY SIMPLE-STRING SATISFIES 1419 SIMPLE-STRING-P SBIT SIMPLE-TYPE-ERROR 1420 SCALE-FLOAT SIMPLE-VECTOR SCHAR 1421 SIMPLE-VECTOR-P SEARCH SIMPLE-WARNING 1422 SECOND SIN SEQUENCE SINGLE-FLOAT 1423 SERIOUS-CONDITION SINGLE-FLOAT-EPSILON 1424 SET SINGLE-FLOAT-NEGATIVE-EPSILON 1425 SET-DIFFERENCE 1426 SINH SET-DISPATCH-MACRO-CHARACTER 1427 SIXTH SET-EXCLUSIVE-OR 1428 SLEEP SET-MACRO-CHARACTER SLOT-BOUNDP 1429 SET-PPRINT-DISPATCH SLOT-EXISTS-P 1430 SET-SYNTAX-FROM-CHAR SLOT-MAKUNBOUND 1431 SETF SLOT-MISSING SETQ SLOT-UNBOUND 1432 SEVENTH SLOT-VALUE SHADOW SOFTWARE-TYPE 1433 SHADOWING-IMPORT SOFTWARE-VERSION 1434 SHARED-INITIALIZE SOME SHIFTF SORT 1435 SHORT-FLOAT SPACE SHORT-FLOAT-EPSILON 1436 SPECIAL SHORT-FLOAT-NEGATIVE-EPSILON 1437 SPECIAL-OPERATOR-P SHORT-SITE-NAME 1438 SPEED SIGNAL SQRT SIGNED-BYTE 1439 STABLE-SORT SIGNUM STANDARD SIMPLE-ARRAY 1440 STANDARD-CHAR SIMPLE-BASE-STRING 1441 STANDARD-CHAR-P STANDARD-CLASS 1442 SUBLIS STANDARD-GENERIC-FUNCTION SUBSEQ 1443 STANDARD-METHOD SUBSETP STANDARD-OBJECT 1444 SUBST STEP SUBST-IF STORAGE-CONDITION 1445 SUBST-IF-NOT STORE-VALUE SUBSTITUTE 1446 STREAM SUBSTITUTE-IF STREAM-ELEMENT-TYPE 1447 SUBSTITUTE-IF-NOT STREAM-ERROR 1448 SUBTYPEP STREAM-ERROR-STREAM 1449 SVREF STREAM-EXTERNAL-FORMAT 1450 SXHASH STREAMP SYMBOL 1451 STRING SYMBOL-FUNCTION STRING-CAPITALIZE 1452 SYMBOL-MACROLET STRING-DOWNCASE 1453 SYMBOL-NAME STRING-EQUAL SYMBOL-PACKAGE 1454 STRING-GREATERP SYMBOL-PLIST 1455 STRING-LEFT-TRIM SYMBOL-VALUE 1456 STRING-LESSP SYMBOLP STRING-NOT-EQUAL 1457 SYNONYM-STREAM STRING-NOT-GREATERP 1458 SYNONYM-STREAM-SYMBOL STRING-NOT-LESSP T 1459 STRING-RIGHT-TRIM TAGBODY STRING-STREAM 1460 TAILP STRING-TRIM TAN STRING-UPCASE 1461 TANH STRING/= TENTH STRING< TERPRI 1462 STRING<= THE STRING= THIRD STRING> 1463 THROW STRING>= TIME STRINGP TRACE 1464 STRUCTURE TRANSLATE-LOGICAL-PATHNAME 1465 STRUCTURE-CLASS 1466 TRANSLATE-PATHNAME STRUCTURE-OBJECT 1467 TREE-EQUAL STYLE-WARNING TRUENAME 1468 TRUNCATE VALUES-LIST TWO-WAY-STREAM 1469 VARIABLE TWO-WAY-STREAM-INPUT-STREAM 1470 VECTOR TWO-WAY-STREAM-OUTPUT-STREAM 1471 VECTOR-POP TYPE VECTOR-PUSH TYPE-ERROR 1472 VECTOR-PUSH-EXTEND TYPE-ERROR-DATUM 1473 VECTORP TYPE-ERROR-EXPECTED-TYPE 1474 WARN TYPE-OF WARNING TYPECASE 1475 WHEN TYPEP WILD-PATHNAME-P UNBOUND-SLOT 1476 WITH-ACCESSORS UNBOUND-SLOT-INSTANCE 1477 WITH-COMPILATION-UNIT 1478 UNBOUND-VARIABLE WITH-CONDITION-RESTARTS 1479 UNDEFINED-FUNCTION 1480 WITH-HASH-TABLE-ITERATOR 1481 UNEXPORT WITH-INPUT-FROM-STRING UNINTERN 1482 WITH-OPEN-FILE UNION WITH-OPEN-STREAM 1483 UNLESS WITH-OUTPUT-TO-STRING UNREAD-CHAR 1484 WITH-PACKAGE-ITERATOR UNSIGNED-BYTE 1485 WITH-SIMPLE-RESTART UNTRACE WITH-SLOTS 1486 UNUSE-PACKAGE WITH-STANDARD-IO-SYNTAX 1487 UNWIND-PROTECT WRITE 1488 UPDATE-INSTANCE-FOR-DIFFERENT-CLASS 1489 WRITE-BYTE 1490 UPDATE-INSTANCE-FOR-REDEFINED-CLASS 1491 WRITE-CHAR UPGRADED-ARRAY-ELEMENT-TYPE 1492 WRITE-LINE UPGRADED-COMPLEX-PART-TYPE 1493 WRITE-SEQUENCE UPPER-CASE-P 1494 WRITE-STRING USE-PACKAGE WRITE-TO-STRING 1495 USE-VALUE Y-OR-N-P USER-HOMEDIR-PATHNAME 1496 YES-OR-NO-P VALUES ZEROP))) 1497 (IF (SYMBOLP Y) 1498 (EQUAL (SYMBOL-PACKAGE-NAME Y) '"ACL2") 1499 'NIL) 1500 'NIL) 1501 'NIL) 1502 (EQUAL (SYMBOL-PACKAGE-NAME (INTERN-IN-PACKAGE-OF-SYMBOL X Y)) 1503 '"ACL2"))) 1504 1505(DEFAXIOM 1506 KEYWORD-PACKAGE 1507 (IMPLIES (IF (STRINGP X) 1508 (IF (SYMBOLP Y) 1509 (EQUAL (SYMBOL-PACKAGE-NAME Y) 1510 '"KEYWORD") 1511 'NIL) 1512 'NIL) 1513 (EQUAL (SYMBOL-PACKAGE-NAME (INTERN-IN-PACKAGE-OF-SYMBOL X Y)) 1514 '"KEYWORD"))) 1515 1516(DEFAXIOM 1517 STRING-IS-NOT-CIRCULAR 1518 (EQUAL 'STRING 1519 (INTERN-IN-PACKAGE-OF-SYMBOL 1520 (COERCE (CONS '#\S 1521 (CONS '#\T 1522 (CONS '#\R 1523 (CONS '#\I 1524 (CONS '#\N (CONS '#\G '0)))))) 1525 (CONS '#\S 1526 (CONS '#\T 1527 (CONS '#\R 1528 (CONS '#\I 1529 (CONS '#\N (CONS '#\G '0))))))) 1530 (INTERN-IN-PACKAGE-OF-SYMBOL '0 '0)))) 1531 1532(DEFAXIOM 1533 NIL-IS-NOT-CIRCULAR 1534 (EQUAL 1535 'NIL 1536 (INTERN-IN-PACKAGE-OF-SYMBOL (COERCE (CONS '#\N (CONS '#\I (CONS '#\L '0))) 1537 'STRING) 1538 'STRING))) 1539 1540(DEFUN BINARY-APPEND (X Y) 1541 (IF (ENDP X) 1542 Y 1543 (CONS (CAR X) 1544 (BINARY-APPEND (CDR X) Y)))) 1545 1546(DEFTHM TRUE-LISTP-APPEND 1547 (IMPLIES (TRUE-LISTP B) 1548 (TRUE-LISTP (BINARY-APPEND A B)))) 1549 1550(DEFTHM STANDARD-CHAR-LISTP-APPEND 1551 (IMPLIES (TRUE-LISTP X) 1552 (EQUAL (STANDARD-CHAR-LISTP (BINARY-APPEND X Y)) 1553 (IF (STANDARD-CHAR-LISTP X) 1554 (STANDARD-CHAR-LISTP Y) 1555 'NIL)))) 1556 1557(DEFTHM CHARACTER-LISTP-APPEND 1558 (IMPLIES (TRUE-LISTP X) 1559 (EQUAL (CHARACTER-LISTP (BINARY-APPEND X Y)) 1560 (IF (CHARACTER-LISTP X) 1561 (CHARACTER-LISTP Y) 1562 'NIL)))) 1563 1564(DEFTHM APPEND-TO-NIL 1565 (IMPLIES (TRUE-LISTP X) 1566 (EQUAL (BINARY-APPEND X 'NIL) X))) 1567 1568(DEFUN STRING-APPEND (STR1 STR2) 1569 (MUST-BE-EQUAL (COERCE (BINARY-APPEND (COERCE STR1 'LIST) 1570 (COERCE STR2 'LIST)) 1571 'STRING) 1572 (STRING-APPEND STR1 STR2))) 1573 1574(DEFUN STRING-LISTP (X) 1575 (IF (ATOM X) 1576 (EQ X 'NIL) 1577 (IF (STRINGP (CAR X)) 1578 (STRING-LISTP (CDR X)) 1579 'NIL))) 1580 1581(DEFUN STRING-APPEND-LST (X) 1582 (IF (ENDP X) 1583 '"" 1584 (STRING-APPEND (CAR X) 1585 (STRING-APPEND-LST (CDR X))))) 1586 1587(DEFUN REMOVE (X L) 1588 (IF (ENDP L) 1589 'NIL 1590 (IF (EQL X (CAR L)) 1591 (REMOVE X (CDR L)) 1592 (CONS (CAR L) (REMOVE X (CDR L)))))) 1593 1594(DEFUN REMOVE-EQ (X L) 1595 (IF (ENDP L) 1596 'NIL 1597 (IF (EQ X (CAR L)) 1598 (REMOVE-EQ X (CDR L)) 1599 (CONS (CAR L) (REMOVE-EQ X (CDR L)))))) 1600 1601(DEFUN REMOVE-EQUAL (X L) 1602 (IF (ENDP L) 1603 'NIL 1604 (IF (EQUAL X (CAR L)) 1605 (REMOVE-EQUAL X (CDR L)) 1606 (CONS (CAR L) 1607 (REMOVE-EQUAL X (CDR L)))))) 1608 1609(DEFUN REMOVE1 (X L) 1610 (IF (ENDP L) 1611 'NIL 1612 (IF (EQL X (CAR L)) 1613 (CDR L) 1614 (CONS (CAR L) (REMOVE1 X (CDR L)))))) 1615 1616(DEFUN REMOVE1-EQ (X L) 1617 (IF (ENDP L) 1618 'NIL 1619 (IF (EQ X (CAR L)) 1620 (CDR L) 1621 (CONS (CAR L) (REMOVE1-EQ X (CDR L)))))) 1622 1623(DEFUN REMOVE1-EQUAL (X L) 1624 (IF (ENDP L) 1625 'NIL 1626 (IF (EQUAL X (CAR L)) 1627 (CDR L) 1628 (CONS (CAR L) 1629 (REMOVE1-EQUAL X (CDR L)))))) 1630 1631(DEFUN PAIRLIS$ (X Y) 1632 (IF (ENDP X) 1633 'NIL 1634 (CONS (CONS (CAR X) (CAR Y)) 1635 (PAIRLIS$ (CDR X) (CDR Y))))) 1636 1637(DEFUN REMOVE-DUPLICATES-EQL (L) 1638 (IF (ENDP L) 1639 'NIL 1640 (IF (MEMBER (CAR L) (CDR L)) 1641 (REMOVE-DUPLICATES-EQL (CDR L)) 1642 (CONS (CAR L) 1643 (REMOVE-DUPLICATES-EQL (CDR L)))))) 1644 1645(DEFTHM CHARACTER-LISTP-REMOVE-DUPLICATES-EQL 1646 (IMPLIES (CHARACTER-LISTP X) 1647 (CHARACTER-LISTP (REMOVE-DUPLICATES-EQL X)))) 1648 1649(DEFUN REMOVE-DUPLICATES (L) 1650 (IF (STRINGP L) 1651 (COERCE (REMOVE-DUPLICATES-EQL (COERCE L 'LIST)) 1652 'STRING) 1653 (REMOVE-DUPLICATES-EQL L))) 1654 1655(DEFUN REMOVE-DUPLICATES-EQUAL (L) 1656 (IF (ENDP L) 1657 'NIL 1658 (IF (MEMBER-EQUAL (CAR L) (CDR L)) 1659 (REMOVE-DUPLICATES-EQUAL (CDR L)) 1660 (CONS (CAR L) 1661 (REMOVE-DUPLICATES-EQUAL (CDR L)))))) 1662 1663(DEFUN IDENTITY (X) X) 1664 1665(DEFUN REVAPPEND (X Y) (IF (ENDP X) Y (REVAPPEND (CDR X) (CONS (CAR X) Y)))) 1666 1667(DEFTHM CHARACTER-LISTP-REVAPPEND 1668 (IMPLIES (TRUE-LISTP X) 1669 (EQUAL (CHARACTER-LISTP (REVAPPEND X Y)) 1670 (IF (CHARACTER-LISTP X) 1671 (CHARACTER-LISTP Y) 1672 'NIL)))) 1673 1674(DEFUN REVERSE (X) 1675 (IF (STRINGP X) 1676 (COERCE (REVAPPEND (COERCE X 'LIST) 'NIL) 1677 'STRING) 1678 (REVAPPEND X 'NIL))) 1679 1680(DEFUN SET-DIFFERENCE-EQ (L1 L2) 1681 (IF (ENDP L1) 1682 'NIL 1683 (IF (MEMBER-EQ (CAR L1) L2) 1684 (SET-DIFFERENCE-EQ (CDR L1) L2) 1685 (CONS (CAR L1) 1686 (SET-DIFFERENCE-EQ (CDR L1) L2))))) 1687 1688(DEFUN LISTP (X) (IF (CONSP X) (CONSP X) (EQUAL X 'NIL))) 1689 1690(DEFUN LAST (L) (IF (ATOM (CDR L)) L (LAST (CDR L)))) 1691 1692(DEFUN FIRST-N-AC (I L AC) 1693 (IF (ZP I) 1694 (REVERSE AC) 1695 (FIRST-N-AC (BINARY-+ '-1 I) 1696 (CDR L) 1697 (CONS (CAR L) AC)))) 1698 1699(DEFUN TAKE (N L) (FIRST-N-AC N L 'NIL)) 1700 1701(DEFUN BUTLAST (LST N) 1702 ((LAMBDA (LNG LST N) 1703 (IF (NOT (< N LNG)) 1704 'NIL 1705 (TAKE (BINARY-+ LNG (UNARY-- N)) LST))) 1706 (LEN LST) 1707 LST N)) 1708 1709(DEFUN STRIP-CDRS (X) 1710 (IF (ENDP X) 1711 'NIL 1712 (CONS (CDR (CAR X)) 1713 (STRIP-CDRS (CDR X))))) 1714 1715(DEFUN MUTUAL-RECURSION-GUARDP (RST) 1716 (IF (ATOM RST) 1717 (EQUAL RST 'NIL) 1718 (IF (CONSP (CAR RST)) 1719 (IF (TRUE-LISTP (CAR RST)) 1720 (IF (TRUE-LISTP (CAR (CDR (CDR (CAR RST))))) 1721 (IF (MEMBER-EQ (CAR (CAR RST)) 1722 '(DEFUN DEFUND DEFUN-NX DEFUND-NX)) 1723 (MUTUAL-RECURSION-GUARDP (CDR RST)) 1724 'NIL) 1725 'NIL) 1726 'NIL) 1727 'NIL))) 1728 1729(DEFUN COLLECT-CADRS-WHEN-CAR-EQ (X ALIST) 1730 (IF (ENDP ALIST) 1731 'NIL 1732 (IF (EQ X (CAR (CAR ALIST))) 1733 (CONS (CAR (CDR (CAR ALIST))) 1734 (COLLECT-CADRS-WHEN-CAR-EQ X (CDR ALIST))) 1735 (COLLECT-CADRS-WHEN-CAR-EQ X (CDR ALIST))))) 1736 1737(DEFUN 1738 VALUE-TRIPLE-FN 1739 (FORM ON-SKIP-PROOFS CHECK) 1740 (CONS 1741 'COND 1742 (CONS 1743 (CONS (CONS 'AND 1744 (CONS (NOT ON-SKIP-PROOFS) 1745 (CONS (CONS 'F-GET-GLOBAL 1746 (CONS (CONS 'QUOTE 1747 (CONS 'LD-SKIP-PROOFSP 'NIL)) 1748 (CONS 'STATE 'NIL))) 1749 'NIL))) 1750 (CONS (CONS 'VALUE (CONS ':SKIPPED 'NIL)) 1751 'NIL)) 1752 (CONS 1753 (CONS 1754 'T 1755 (CONS 1756 ((LAMBDA (FORM) 1757 (CONS 'STATE-GLOBAL-LET* 1758 (CONS (CONS (CONS 'SAFE-MODE (CONS 'T 'NIL)) 1759 'NIL) 1760 (CONS (CONS 'VALUE (CONS FORM 'NIL)) 1761 'NIL)))) 1762 (CONS 1763 'LET 1764 (CONS 1765 (CONS (CONS 'CHECK (CONS CHECK 'NIL)) 1766 'NIL) 1767 (CONS 1768 (CONS 1769 'COND 1770 (CONS 1771 (CONS 1772 'CHECK 1773 (CONS 1774 (CONS 1775 'COND 1776 (CONS 1777 (CONS (CONS 'CHECK-VARS-NOT-FREE 1778 (CONS (CONS 'CHECK 'NIL) 1779 (CONS FORM 'NIL))) 1780 (CONS ':PASSED 'NIL)) 1781 (CONS 1782 (CONS 1783 (CONS 'TILDE-@P (CONS 'CHECK 'NIL)) 1784 (CONS 1785 (CONS 'ER 1786 (CONS 'HARD 1787 (CONS (CONS 'QUOTE (CONS 'VALUE-TRIPLE 'NIL)) 1788 (CONS '"Assertion failed:~%~@0~|" 1789 (CONS 'CHECK 'NIL))))) 1790 'NIL)) 1791 (CONS 1792 (CONS 1793 'T 1794 (CONS 1795 (CONS 1796 'ER 1797 (CONS 'HARD 1798 (CONS (CONS 'QUOTE (CONS 'VALUE-TRIPLE 'NIL)) 1799 (CONS '"Assertion failed on form:~%~x0~|" 1800 (CONS (CONS 'QUOTE (CONS FORM 'NIL)) 1801 'NIL))))) 1802 'NIL)) 1803 'NIL)))) 1804 'NIL)) 1805 (CONS (CONS 'T (CONS FORM 'NIL)) 'NIL))) 1806 'NIL)))) 1807 'NIL)) 1808 'NIL)))) 1809 1810(DEFUN XD-NAME (EVENT-TYPE NAME) 1811 (IF (EQ EVENT-TYPE 'DEFUND) 1812 (CONS ':DEFUND (CONS NAME 'NIL)) 1813 (IF (EQ EVENT-TYPE 'DEFTHMD) 1814 (CONS ':DEFTHMD (CONS NAME 'NIL)) 1815 (ILLEGAL 'XD-NAME 1816 '"Unexpected event-type for xd-name, ~x0" 1817 (CONS (CONS '#\0 EVENT-TYPE) 'NIL))))) 1818 1819(DEFUN DEFUND-NAME-LIST (DEFUNS ACC) 1820 (IF (ENDP DEFUNS) 1821 (REVERSE ACC) 1822 (DEFUND-NAME-LIST (CDR DEFUNS) 1823 (CONS (IF (EQ (CAR (CAR DEFUNS)) 'DEFUND) 1824 (XD-NAME 'DEFUND 1825 (CAR (CDR (CAR DEFUNS)))) 1826 (CAR (CDR (CAR DEFUNS)))) 1827 ACC)))) 1828 1829(DEFUN THROW-NONEXEC-ERROR (FN ACTUALS) 'NIL) 1830 1831(DEFUN 1832 DEFUN-NX-FN (FORM DISABLEDP) 1833 ((LAMBDA 1834 (NAME FORMALS REST DEFUNX) 1835 (CONS 1836 DEFUNX 1837 (CONS 1838 NAME 1839 (CONS 1840 FORMALS 1841 (CONS 1842 (CONS 'DECLARE 1843 (CONS (CONS 'XARGS 1844 (CONS ':NON-EXECUTABLE 1845 (CONS 'T 1846 (CONS ':MODE (CONS ':LOGIC 'NIL))))) 1847 'NIL)) 1848 (BINARY-APPEND 1849 (BUTLAST REST '1) 1850 (CONS 1851 (CONS 'PROG2$ 1852 (CONS (CONS 'THROW-NONEXEC-ERROR 1853 (CONS (CONS 'QUOTE (CONS NAME 'NIL)) 1854 (CONS (CONS 'LIST 1855 (BINARY-APPEND FORMALS 'NIL)) 1856 'NIL))) 1857 (BINARY-APPEND (LAST REST) 'NIL))) 1858 'NIL))))))) 1859 (CAR (CDR FORM)) 1860 (CAR (CDR (CDR FORM))) 1861 (CDR (CDR (CDR FORM))) 1862 (IF DISABLEDP 'DEFUND 'DEFUN))) 1863 1864(DEFUN 1865 UPDATE-MUTUAL-RECURSION-FOR-DEFUN-NX-1 1866 (DEFS) 1867 (IF (ENDP DEFS) 1868 'NIL 1869 (IF (EQ (CAR (CAR DEFS)) 'DEFUN-NX) 1870 (CONS (DEFUN-NX-FN (CAR DEFS) 'NIL) 1871 (UPDATE-MUTUAL-RECURSION-FOR-DEFUN-NX-1 (CDR DEFS))) 1872 (IF (EQ (CAR (CAR DEFS)) 'DEFUND-NX) 1873 (CONS (DEFUN-NX-FN (CAR DEFS) 'T) 1874 (UPDATE-MUTUAL-RECURSION-FOR-DEFUN-NX-1 (CDR DEFS))) 1875 (CONS (CAR DEFS) 1876 (UPDATE-MUTUAL-RECURSION-FOR-DEFUN-NX-1 (CDR DEFS))))))) 1877 1878(DEFUN UPDATE-MUTUAL-RECURSION-FOR-DEFUN-NX 1879 (DEFS) 1880 (IF (IF (ASSOC-EQ 'DEFUN-NX DEFS) 1881 (ASSOC-EQ 'DEFUN-NX DEFS) 1882 (ASSOC-EQ 'DEFUND-NX DEFS)) 1883 (UPDATE-MUTUAL-RECURSION-FOR-DEFUN-NX-1 DEFS) 1884 DEFS)) 1885 1886(MUTUAL-RECURSION 1887 (DEFUN 1888 PSEUDO-TERMP (X) 1889 (IF 1890 (ATOM X) 1891 (SYMBOLP X) 1892 (IF 1893 (EQ (CAR X) 'QUOTE) 1894 (IF (CONSP (CDR X)) 1895 (NULL (CDR (CDR X))) 1896 'NIL) 1897 (IF (NOT (TRUE-LISTP X)) 1898 'NIL 1899 (IF (NOT (PSEUDO-TERM-LISTP (CDR X))) 1900 'NIL 1901 (IF (SYMBOLP (CAR X)) 1902 (SYMBOLP (CAR X)) 1903 (IF (TRUE-LISTP (CAR X)) 1904 (IF (EQUAL (LENGTH (CAR X)) '3) 1905 (IF (EQ (CAR (CAR X)) 'LAMBDA) 1906 (IF (SYMBOL-LISTP (CAR (CDR (CAR X)))) 1907 (IF (PSEUDO-TERMP (CAR (CDR (CDR (CAR X))))) 1908 (EQUAL (LENGTH (CAR (CDR (CAR X)))) 1909 (LENGTH (CDR X))) 1910 'NIL) 1911 'NIL) 1912 'NIL) 1913 'NIL) 1914 'NIL))))))) 1915 (DEFUN PSEUDO-TERM-LISTP (LST) 1916 (IF (ATOM LST) 1917 (EQUAL LST 'NIL) 1918 (IF (PSEUDO-TERMP (CAR LST)) 1919 (PSEUDO-TERM-LISTP (CDR LST)) 1920 'NIL)))) 1921 1922(DEFTHM PSEUDO-TERM-LISTP-FORWARD-TO-TRUE-LISTP 1923 (IMPLIES (PSEUDO-TERM-LISTP X) 1924 (TRUE-LISTP X))) 1925 1926(DEFUN PSEUDO-TERM-LIST-LISTP (L) 1927 (IF (ATOM L) 1928 (EQUAL L 'NIL) 1929 (IF (PSEUDO-TERM-LISTP (CAR L)) 1930 (PSEUDO-TERM-LIST-LISTP (CDR L)) 1931 'NIL))) 1932 1933(DEFUN ADD-TO-SET-EQ (X LST) (IF (MEMBER-EQ X LST) LST (CONS X LST))) 1934 1935(DEFUN ADD-TO-SET-EQL (X LST) (IF (MEMBER X LST) LST (CONS X LST))) 1936 1937(DEFUN QUOTEP (X) (IF (CONSP X) (EQ (CAR X) 'QUOTE) 'NIL)) 1938 1939(DEFUN KWOTE (X) (CONS 'QUOTE (CONS X 'NIL))) 1940 1941(DEFUN KWOTE-LST (LST) 1942 (IF (ENDP LST) 1943 'NIL 1944 (CONS (KWOTE (CAR LST)) 1945 (KWOTE-LST (CDR LST))))) 1946 1947(DEFUN FN-SYMB (X) 1948 (IF (IF (CONSP X) 1949 (NOT (EQ 'QUOTE (CAR X))) 1950 'NIL) 1951 (CAR X) 1952 'NIL)) 1953 1954(MUTUAL-RECURSION (DEFUN ALL-VARS1 (TERM ANS) 1955 (IF (ATOM TERM) 1956 (ADD-TO-SET-EQ TERM ANS) 1957 (IF (EQ 'QUOTE (CAR TERM)) 1958 ANS (ALL-VARS1-LST (CDR TERM) ANS)))) 1959 (DEFUN ALL-VARS1-LST (LST ANS) 1960 (IF (ENDP LST) 1961 ANS 1962 (ALL-VARS1-LST (CDR LST) 1963 (ALL-VARS1 (CAR LST) ANS))))) 1964 1965(DEFUN ALL-VARS (TERM) (ALL-VARS1 TERM 'NIL)) 1966 1967(DEFUN INTERSECTP-EQ (X Y) 1968 (IF (ENDP X) 1969 'NIL 1970 (IF (MEMBER-EQ (CAR X) Y) 1971 'T 1972 (INTERSECTP-EQ (CDR X) Y)))) 1973 1974(DEFUN INTERSECTP (X Y) 1975 (IF (ENDP X) 1976 'NIL 1977 (IF (MEMBER (CAR X) Y) 1978 'T 1979 (INTERSECTP (CDR X) Y)))) 1980 1981(DEFUN INTERSECTP-EQUAL (X Y) 1982 (IF (ENDP X) 1983 'NIL 1984 (IF (MEMBER-EQUAL (CAR X) Y) 1985 'T 1986 (INTERSECTP-EQUAL (CDR X) Y)))) 1987 1988(DEFUN MAKE-FMT-BINDINGS (CHARS FORMS) 1989 (IF (ENDP FORMS) 1990 'NIL 1991 (CONS 'CONS 1992 (CONS (CONS 'CONS 1993 (CONS (CAR CHARS) 1994 (CONS (CAR FORMS) 'NIL))) 1995 (CONS (MAKE-FMT-BINDINGS (CDR CHARS) 1996 (CDR FORMS)) 1997 'NIL))))) 1998 1999(DEFUN 2000 ER-PROGN-FN (LST) 2001 (IF 2002 (ENDP LST) 2003 'NIL 2004 (IF 2005 (ENDP (CDR LST)) 2006 (CAR LST) 2007 (CONS 2008 'MV-LET 2009 (CONS 2010 '(ER-PROGN-NOT-TO-BE-USED-ELSEWHERE-ERP 2011 ER-PROGN-NOT-TO-BE-USED-ELSEWHERE-VAL 2012 STATE) 2013 (CONS 2014 (CAR LST) 2015 (CONS 2016 '(DECLARE (IGNORABLE ER-PROGN-NOT-TO-BE-USED-ELSEWHERE-VAL)) 2017 (CONS 2018 (CONS 2019 'IF 2020 (CONS 2021 'ER-PROGN-NOT-TO-BE-USED-ELSEWHERE-ERP 2022 (CONS 2023 '(MV ER-PROGN-NOT-TO-BE-USED-ELSEWHERE-ERP 2024 ER-PROGN-NOT-TO-BE-USED-ELSEWHERE-VAL 2025 STATE) 2026 (CONS (CONS 'CHECK-VARS-NOT-FREE 2027 (CONS '(ER-PROGN-NOT-TO-BE-USED-ELSEWHERE-ERP 2028 ER-PROGN-NOT-TO-BE-USED-ELSEWHERE-VAL) 2029 (CONS (ER-PROGN-FN (CDR LST)) 'NIL))) 2030 'NIL)))) 2031 'NIL)))))))) 2032 2033(DEFUN LEGAL-CASE-CLAUSESP (TL) 2034 (IF (ATOM TL) 2035 (EQ TL 'NIL) 2036 (IF (IF (CONSP (CAR TL)) 2037 (IF (IF (EQLABLEP (CAR (CAR TL))) 2038 (EQLABLEP (CAR (CAR TL))) 2039 (EQLABLE-LISTP (CAR (CAR TL)))) 2040 (IF (CONSP (CDR (CAR TL))) 2041 (IF (NULL (CDR (CDR (CAR TL)))) 2042 (IF (IF (EQ 'T (CAR (CAR TL))) 2043 (EQ 'T (CAR (CAR TL))) 2044 (EQ 'OTHERWISE (CAR (CAR TL)))) 2045 (NULL (CDR TL)) 2046 'T) 2047 'NIL) 2048 'NIL) 2049 'NIL) 2050 'NIL) 2051 (LEGAL-CASE-CLAUSESP (CDR TL)) 2052 'NIL))) 2053 2054(DEFUN CASE-TEST (X PAT) 2055 (IF (ATOM PAT) 2056 (CONS 'EQL 2057 (CONS X 2058 (CONS (CONS 'QUOTE (CONS PAT 'NIL)) 2059 'NIL))) 2060 (CONS 'MEMBER 2061 (CONS X 2062 (CONS (CONS 'QUOTE (CONS PAT 'NIL)) 2063 'NIL))))) 2064 2065(DEFUN CASE-LIST (X L) 2066 (IF (ENDP L) 2067 'NIL 2068 (IF (IF (EQ 'T (CAR (CAR L))) 2069 (EQ 'T (CAR (CAR L))) 2070 (EQ 'OTHERWISE (CAR (CAR L)))) 2071 (CONS (CONS 'T 2072 (CONS (CAR (CDR (CAR L))) 'NIL)) 2073 'NIL) 2074 (IF (NULL (CAR (CAR L))) 2075 (CASE-LIST X (CDR L)) 2076 (CONS (CONS (CASE-TEST X (CAR (CAR L))) 2077 (CONS (CAR (CDR (CAR L))) 'NIL)) 2078 (CASE-LIST X (CDR L))))))) 2079 2080(DEFUN 2081 CASE-LIST-CHECK (L) 2082 (IF (ENDP L) 2083 'NIL 2084 (IF (IF (EQ 'T (CAR (CAR L))) 2085 (EQ 'T (CAR (CAR L))) 2086 (EQ 'OTHERWISE (CAR (CAR L)))) 2087 (CONS (CONS 'T 2088 (CONS (CONS 'CHECK-VARS-NOT-FREE 2089 (CONS '(CASE-DO-NOT-USE-ELSEWHERE) 2090 (CONS (CAR (CDR (CAR L))) 'NIL))) 2091 'NIL)) 2092 'NIL) 2093 (IF (NULL (CAR (CAR L))) 2094 (CASE-LIST-CHECK (CDR L)) 2095 (CONS (CONS (CASE-TEST 'CASE-DO-NOT-USE-ELSEWHERE 2096 (CAR (CAR L))) 2097 (CONS (CONS 'CHECK-VARS-NOT-FREE 2098 (CONS '(CASE-DO-NOT-USE-ELSEWHERE) 2099 (CONS (CAR (CDR (CAR L))) 'NIL))) 2100 'NIL)) 2101 (CASE-LIST-CHECK (CDR L))))))) 2102 2103(DEFUN POSITION-EQUAL-AC (ITEM LST ACC) 2104 (IF (ENDP LST) 2105 'NIL 2106 (IF (EQUAL ITEM (CAR LST)) 2107 ACC 2108 (POSITION-EQUAL-AC ITEM (CDR LST) 2109 (BINARY-+ '1 ACC))))) 2110 2111(DEFUN POSITION-AC (ITEM LST ACC) 2112 (IF (ENDP LST) 2113 'NIL 2114 (IF (EQL ITEM (CAR LST)) 2115 ACC 2116 (POSITION-AC ITEM (CDR LST) 2117 (BINARY-+ '1 ACC))))) 2118 2119(DEFUN POSITION-EQUAL (ITEM LST) 2120 (IF (STRINGP LST) 2121 (POSITION-AC ITEM (COERCE LST 'LIST) '0) 2122 (POSITION-EQUAL-AC ITEM LST '0))) 2123 2124(DEFUN POSITION-EQ-AC (ITEM LST ACC) 2125 (IF (ENDP LST) 2126 'NIL 2127 (IF (EQ ITEM (CAR LST)) 2128 ACC 2129 (POSITION-EQ-AC ITEM (CDR LST) 2130 (BINARY-+ '1 ACC))))) 2131 2132(DEFUN POSITION-EQ (ITEM LST) (POSITION-EQ-AC ITEM LST '0)) 2133 2134(DEFUN POSITION (ITEM LST) 2135 (IF (STRINGP LST) 2136 (POSITION-AC ITEM (COERCE LST 'LIST) '0) 2137 (POSITION-AC ITEM LST '0))) 2138 2139(DEFUN NONNEGATIVE-INTEGER-QUOTIENT (I J) 2140 (IF (IF (= (NFIX J) '0) 2141 (= (NFIX J) '0) 2142 (< (IFIX I) J)) 2143 '0 2144 (BINARY-+ '1 2145 (NONNEGATIVE-INTEGER-QUOTIENT (BINARY-+ I (UNARY-- J)) 2146 J)))) 2147 2148(DEFUN TRUE-LIST-LISTP (X) 2149 (IF (ATOM X) 2150 (EQ X 'NIL) 2151 (IF (TRUE-LISTP (CAR X)) 2152 (TRUE-LIST-LISTP (CDR X)) 2153 'NIL))) 2154 2155(DEFTHM TRUE-LIST-LISTP-FORWARD-TO-TRUE-LISTP 2156 (IMPLIES (TRUE-LIST-LISTP X) 2157 (TRUE-LISTP X))) 2158 2159(DEFUN 2160 LEGAL-LET*-P 2161 (BINDINGS IGNORE-VARS IGNORED-SEEN TOP-FORM) 2162 (IF 2163 (ENDP BINDINGS) 2164 (IF 2165 (EQ IGNORE-VARS 'NIL) 2166 (EQ IGNORE-VARS 'NIL) 2167 (HARD-ERROR 2168 'LET* 2169 '"All variables declared IGNOREd or IGNORABLE in a ~ 2170 LET* form must be bound, but ~&0 ~#0~[is~/are~] not ~ 2171 bound in the form ~x1." 2172 (CONS (CONS '#\0 IGNORE-VARS) 2173 (CONS (CONS '#\1 TOP-FORM) 'NIL)))) 2174 (IF 2175 (MEMBER-EQ (CAR (CAR BINDINGS)) 2176 IGNORED-SEEN) 2177 (HARD-ERROR 2178 'LET* 2179 '"A variable bound more than once in a LET* form may not ~ 2180 be declared IGNOREd or IGNORABLE, but the variable ~x0 ~ 2181 is bound more than once in form ~x1 and yet is so ~ 2182 declared." 2183 (CONS (CONS '#\0 (CAR (CAR BINDINGS))) 2184 (CONS (CONS '#\1 TOP-FORM) 'NIL))) 2185 (IF (MEMBER-EQ (CAR (CAR BINDINGS)) 2186 IGNORE-VARS) 2187 (LEGAL-LET*-P (CDR BINDINGS) 2188 (REMOVE (CAR (CAR BINDINGS)) 2189 IGNORE-VARS) 2190 (CONS (CAR (CAR BINDINGS)) IGNORED-SEEN) 2191 TOP-FORM) 2192 (LEGAL-LET*-P (CDR BINDINGS) 2193 IGNORE-VARS IGNORED-SEEN TOP-FORM))))) 2194 2195(DEFUN WELL-FORMED-TYPE-DECLS-P (DECLS VARS) 2196 (IF (ENDP DECLS) 2197 'T 2198 (IF (SUBSETP-EQ (CDR (CDR (CAR DECLS))) 2199 VARS) 2200 (WELL-FORMED-TYPE-DECLS-P (CDR DECLS) 2201 VARS) 2202 'NIL))) 2203 2204(DEFUN SYMBOL-LIST-LISTP (X) 2205 (IF (ATOM X) 2206 (EQ X 'NIL) 2207 (IF (SYMBOL-LISTP (CAR X)) 2208 (SYMBOL-LIST-LISTP (CDR X)) 2209 'NIL))) 2210 2211(DEFUN GET-TYPE-DECLS (VAR TYPE-DECLS) 2212 (IF (ENDP TYPE-DECLS) 2213 'NIL 2214 (IF (MEMBER-EQ VAR (CDR (CAR TYPE-DECLS))) 2215 (CONS (CONS 'TYPE 2216 (CONS (CAR (CAR TYPE-DECLS)) 2217 (CONS VAR 'NIL))) 2218 (GET-TYPE-DECLS VAR (CDR TYPE-DECLS))) 2219 (GET-TYPE-DECLS VAR (CDR TYPE-DECLS))))) 2220 2221(DEFUN 2222 LET*-MACRO 2223 (BINDINGS IGNORE-VARS 2224 IGNORABLE-VARS TYPE-DECLS BODY) 2225 (IF 2226 (ENDP BINDINGS) 2227 (PROG2$ 2228 (IF 2229 (NULL IGNORE-VARS) 2230 (NULL IGNORE-VARS) 2231 (HARD-ERROR 2232 'LET*-MACRO 2233 '"Implementation error: Ignored variables ~x0 ~ 2234 must be bound in superior LET* form!" 2235 IGNORE-VARS)) 2236 (PROG2$ 2237 (IF 2238 (NULL IGNORABLE-VARS) 2239 (NULL IGNORABLE-VARS) 2240 (HARD-ERROR 2241 'LET*-MACRO 2242 '"Implementation error: Ignorable ~ 2243 variables ~x0 must be bound in ~ 2244 superior LET* form!" 2245 IGNORABLE-VARS)) 2246 BODY)) 2247 (CONS 2248 'LET 2249 (CONS 2250 (CONS (CAR BINDINGS) 'NIL) 2251 ((LAMBDA 2252 (REST TYPE-DECLS 2253 IGNORABLE-VARS IGNORE-VARS BINDINGS) 2254 (BINARY-APPEND 2255 (IF (MEMBER-EQ (CAR (CAR BINDINGS)) 2256 IGNORE-VARS) 2257 (CONS (CONS 'DECLARE 2258 (CONS (CONS 'IGNORE 2259 (CONS (CAR (CAR BINDINGS)) 'NIL)) 2260 'NIL)) 2261 'NIL) 2262 'NIL) 2263 (BINARY-APPEND 2264 (IF (MEMBER-EQ (CAR (CAR BINDINGS)) 2265 IGNORABLE-VARS) 2266 (CONS (CONS 'DECLARE 2267 (CONS (CONS 'IGNORABLE 2268 (CONS (CAR (CAR BINDINGS)) 'NIL)) 2269 'NIL)) 2270 'NIL) 2271 'NIL) 2272 (BINARY-APPEND ((LAMBDA (VAR-TYPE-DECLS) 2273 (IF VAR-TYPE-DECLS 2274 (CONS (CONS 'DECLARE VAR-TYPE-DECLS) 2275 'NIL) 2276 'NIL)) 2277 (GET-TYPE-DECLS (CAR (CAR BINDINGS)) 2278 TYPE-DECLS)) 2279 (CONS REST 'NIL))))) 2280 (LET*-MACRO (CDR BINDINGS) 2281 (REMOVE (CAR (CAR BINDINGS)) 2282 IGNORE-VARS) 2283 (REMOVE (CAR (CAR BINDINGS)) 2284 IGNORABLE-VARS) 2285 TYPE-DECLS BODY) 2286 TYPE-DECLS 2287 IGNORABLE-VARS IGNORE-VARS BINDINGS))))) 2288 2289(DEFUN COLLECT-CDRS-WHEN-CAR-EQ (X ALIST) 2290 (IF (ENDP ALIST) 2291 'NIL 2292 (IF (EQ X (CAR (CAR ALIST))) 2293 (BINARY-APPEND (CDR (CAR ALIST)) 2294 (COLLECT-CDRS-WHEN-CAR-EQ X (CDR ALIST))) 2295 (COLLECT-CDRS-WHEN-CAR-EQ X (CDR ALIST))))) 2296 2297(DEFUN APPEND-LST (LST) 2298 (IF (ENDP LST) 2299 'NIL 2300 (BINARY-APPEND (CAR LST) 2301 (APPEND-LST (CDR LST))))) 2302 2303(DEFUN RESTRICT-ALIST (KEYS ALIST) 2304 (IF (ENDP ALIST) 2305 'NIL 2306 (IF (MEMBER-EQ (CAR (CAR ALIST)) KEYS) 2307 (CONS (CAR ALIST) 2308 (RESTRICT-ALIST KEYS (CDR ALIST))) 2309 (RESTRICT-ALIST KEYS (CDR ALIST))))) 2310 2311(DEFUN 2312 FLOOR (I J) 2313 ((LAMBDA 2314 (Q) 2315 ((LAMBDA 2316 (N Q) 2317 ((LAMBDA 2318 (D N) 2319 (IF (= D '1) 2320 N 2321 (IF (NOT (< N '0)) 2322 (NONNEGATIVE-INTEGER-QUOTIENT N D) 2323 (BINARY-+ (UNARY-- (NONNEGATIVE-INTEGER-QUOTIENT (UNARY-- N) 2324 D)) 2325 '-1)))) 2326 (DENOMINATOR Q) 2327 N)) 2328 (NUMERATOR Q) 2329 Q)) 2330 (BINARY-* I (UNARY-/ J)))) 2331 2332(DEFUN 2333 CEILING (I J) 2334 ((LAMBDA 2335 (Q) 2336 ((LAMBDA 2337 (N Q) 2338 ((LAMBDA (D N) 2339 (IF (= D '1) 2340 N 2341 (IF (NOT (< N '0)) 2342 (BINARY-+ (NONNEGATIVE-INTEGER-QUOTIENT N D) 2343 '1) 2344 (UNARY-- (NONNEGATIVE-INTEGER-QUOTIENT (UNARY-- N) 2345 D))))) 2346 (DENOMINATOR Q) 2347 N)) 2348 (NUMERATOR Q) 2349 Q)) 2350 (BINARY-* I (UNARY-/ J)))) 2351 2352(DEFUN 2353 TRUNCATE (I J) 2354 ((LAMBDA 2355 (Q) 2356 ((LAMBDA 2357 (N Q) 2358 ((LAMBDA (D N) 2359 (IF (= D '1) 2360 N 2361 (IF (NOT (< N '0)) 2362 (NONNEGATIVE-INTEGER-QUOTIENT N D) 2363 (UNARY-- (NONNEGATIVE-INTEGER-QUOTIENT (UNARY-- N) 2364 D))))) 2365 (DENOMINATOR Q) 2366 N)) 2367 (NUMERATOR Q) 2368 Q)) 2369 (BINARY-* I (UNARY-/ J)))) 2370 2371(DEFUN 2372 ROUND (I J) 2373 ((LAMBDA 2374 (Q) 2375 (IF 2376 (INTEGERP Q) 2377 Q 2378 (IF (NOT (< Q '0)) 2379 ((LAMBDA (FL Q) 2380 ((LAMBDA (REMAINDER FL) 2381 (IF (< '1/2 REMAINDER) 2382 (BINARY-+ FL '1) 2383 (IF (< REMAINDER '1/2) 2384 FL 2385 (IF (INTEGERP (BINARY-* FL (UNARY-/ '2))) 2386 FL (BINARY-+ FL '1))))) 2387 (BINARY-+ Q (UNARY-- FL)) 2388 FL)) 2389 (FLOOR Q '1) 2390 Q) 2391 ((LAMBDA (CL Q) 2392 ((LAMBDA (REMAINDER CL) 2393 (IF (< '-1/2 REMAINDER) 2394 CL 2395 (IF (< REMAINDER '-1/2) 2396 (BINARY-+ CL '-1) 2397 (IF (INTEGERP (BINARY-* CL (UNARY-/ '2))) 2398 CL (BINARY-+ CL '-1))))) 2399 (BINARY-+ Q (UNARY-- CL)) 2400 CL)) 2401 (CEILING Q '1) 2402 Q)))) 2403 (BINARY-* I (UNARY-/ J)))) 2404 2405(DEFUN MOD (X Y) (BINARY-+ X (UNARY-- (BINARY-* (FLOOR X Y) Y)))) 2406 2407(DEFUN REM (X Y) (BINARY-+ X (UNARY-- (BINARY-* (TRUNCATE X Y) Y)))) 2408 2409(DEFUN EVENP (X) (INTEGERP (BINARY-* X (UNARY-/ '2)))) 2410 2411(DEFUN ODDP (X) (NOT (EVENP X))) 2412 2413(DEFUN ZEROP (X) (EQL X '0)) 2414 2415(DEFUN PLUSP (X) (< '0 X)) 2416 2417(DEFUN MINUSP (X) (< X '0)) 2418 2419(DEFUN MIN (X Y) (IF (< X Y) X Y)) 2420 2421(DEFUN MAX (X Y) (IF (< Y X) X Y)) 2422 2423(DEFUN ABS (X) (IF (MINUSP X) (UNARY-- X) X)) 2424 2425(DEFUN SIGNUM (X) (IF (ZEROP X) '0 (IF (MINUSP X) '-1 '1))) 2426 2427(DEFUN LOGNOT (I) (BINARY-+ (UNARY-- (IFIX I)) '-1)) 2428 2429(DEFTHM STANDARD-CHAR-P-NTH 2430 (IMPLIES (IF (STANDARD-CHAR-LISTP CHARS) 2431 (IF (NOT (< I '0)) 2432 (< I (LEN CHARS)) 2433 'NIL) 2434 'NIL) 2435 (STANDARD-CHAR-P (NTH I CHARS)))) 2436 2437(DEFUN EXPT (R I) 2438 (IF (ZIP I) 2439 '1 2440 (IF (= (FIX R) '0) 2441 '0 2442 (IF (< '0 I) 2443 (BINARY-* R (EXPT R (BINARY-+ I '-1))) 2444 (BINARY-* (UNARY-/ R) 2445 (EXPT R (BINARY-+ I '1))))))) 2446 2447(DEFUN 2448 LOGCOUNT (X) 2449 (IF (ZIP X) 2450 '0 2451 (IF (< X '0) 2452 (LOGCOUNT (LOGNOT X)) 2453 (IF (EVENP X) 2454 (LOGCOUNT (NONNEGATIVE-INTEGER-QUOTIENT X '2)) 2455 (BINARY-+ '1 2456 (LOGCOUNT (NONNEGATIVE-INTEGER-QUOTIENT X '2))))))) 2457 2458(DEFUN NTHCDR (N L) (IF (ZP N) L (NTHCDR (BINARY-+ N '-1) (CDR L)))) 2459 2460(DEFUN LOGBITP (I J) (ODDP (FLOOR (IFIX J) (EXPT '2 (NFIX I))))) 2461 2462(DEFUN ASH (I C) (FLOOR (BINARY-* (IFIX I) (EXPT '2 C)) '1)) 2463 2464(DEFTHM EXPT-TYPE-PRESCRIPTION-NON-ZERO-BASE 2465 (IMPLIES (IF (ACL2-NUMBERP R) 2466 (NOT (EQUAL R '0)) 2467 'NIL) 2468 (NOT (EQUAL (EXPT R I) '0)))) 2469 2470(DEFTHM RATIONALP-EXPT-TYPE-PRESCRIPTION 2471 (IMPLIES (RATIONALP R) 2472 (RATIONALP (EXPT R I)))) 2473 2474(DEFAXIOM CHAR-CODE-LINEAR (< (CHAR-CODE X) '256)) 2475 2476(DEFAXIOM CODE-CHAR-TYPE (CHARACTERP (CODE-CHAR N))) 2477 2478(DEFAXIOM CODE-CHAR-CHAR-CODE-IS-IDENTITY 2479 (IMPLIES (FORCE (CHARACTERP C)) 2480 (EQUAL (CODE-CHAR (CHAR-CODE C)) C))) 2481 2482(DEFAXIOM CHAR-CODE-CODE-CHAR-IS-IDENTITY 2483 (IMPLIES (IF (FORCE (INTEGERP N)) 2484 (IF (FORCE (NOT (< N '0))) 2485 (FORCE (< N '256)) 2486 'NIL) 2487 'NIL) 2488 (EQUAL (CHAR-CODE (CODE-CHAR N)) N))) 2489 2490(DEFUN CHAR< (X Y) (< (CHAR-CODE X) (CHAR-CODE Y))) 2491 2492(DEFUN CHAR> (X Y) (< (CHAR-CODE Y) (CHAR-CODE X))) 2493 2494(DEFUN CHAR<= (X Y) (NOT (< (CHAR-CODE Y) (CHAR-CODE X)))) 2495 2496(DEFUN CHAR>= (X Y) (NOT (< (CHAR-CODE X) (CHAR-CODE Y)))) 2497 2498(DEFUN STRING<-L (L1 L2 I) 2499 (IF (ENDP L1) 2500 (IF (ENDP L2) 'NIL I) 2501 (IF (ENDP L2) 2502 'NIL 2503 (IF (EQL (CAR L1) (CAR L2)) 2504 (STRING<-L (CDR L1) 2505 (CDR L2) 2506 (BINARY-+ I '1)) 2507 (IF (CHAR< (CAR L1) (CAR L2)) 2508 I 'NIL))))) 2509 2510(DEFUN STRING< (STR1 STR2) 2511 (STRING<-L (COERCE STR1 'LIST) 2512 (COERCE STR2 'LIST) 2513 '0)) 2514 2515(DEFUN STRING> (STR1 STR2) (STRING< STR2 STR1)) 2516 2517(DEFUN STRING<= (STR1 STR2) 2518 (IF (EQUAL STR1 STR2) 2519 (LENGTH STR1) 2520 (STRING< STR1 STR2))) 2521 2522(DEFUN STRING>= (STR1 STR2) 2523 (IF (EQUAL STR1 STR2) 2524 (LENGTH STR1) 2525 (STRING> STR1 STR2))) 2526 2527(DEFUN SYMBOL-< (X Y) 2528 ((LAMBDA (X1 Y1 Y X) 2529 (IF (STRING< X1 Y1) 2530 (STRING< X1 Y1) 2531 (IF (EQUAL X1 Y1) 2532 (STRING< (SYMBOL-PACKAGE-NAME X) 2533 (SYMBOL-PACKAGE-NAME Y)) 2534 'NIL))) 2535 (SYMBOL-NAME X) 2536 (SYMBOL-NAME Y) 2537 Y X)) 2538 2539(DEFTHM STRING<-L-IRREFLEXIVE (NOT (STRING<-L X X I))) 2540 2541(DEFTHM STRING<-IRREFLEXIVE (NOT (STRING< S S))) 2542 2543(DEFUN SUBSTITUTE-AC (NEW OLD SEQ ACC) 2544 (IF (ENDP SEQ) 2545 (REVERSE ACC) 2546 (IF (EQL OLD (CAR SEQ)) 2547 (SUBSTITUTE-AC NEW OLD (CDR SEQ) 2548 (CONS NEW ACC)) 2549 (SUBSTITUTE-AC NEW OLD (CDR SEQ) 2550 (CONS (CAR SEQ) ACC))))) 2551 2552(DEFUN SUBSTITUTE (NEW OLD SEQ) 2553 (IF (STRINGP SEQ) 2554 (COERCE (SUBSTITUTE-AC NEW OLD (COERCE SEQ 'LIST) 2555 'NIL) 2556 'STRING) 2557 (SUBSTITUTE-AC NEW OLD SEQ 'NIL))) 2558 2559(DEFUN SUBSETP (X Y) 2560 (IF (ENDP X) 2561 'T 2562 (IF (MEMBER (CAR X) Y) 2563 (SUBSETP (CDR X) Y) 2564 'NIL))) 2565 2566(DEFUN SUBLIS (ALIST TREE) 2567 (IF (ATOM TREE) 2568 ((LAMBDA (PAIR TREE) 2569 (IF PAIR (CDR PAIR) TREE)) 2570 (ASSOC TREE ALIST) 2571 TREE) 2572 (CONS (SUBLIS ALIST (CAR TREE)) 2573 (SUBLIS ALIST (CDR TREE))))) 2574 2575(DEFUN SUBST (NEW OLD TREE) 2576 (IF (EQL OLD TREE) 2577 NEW 2578 (IF (ATOM TREE) 2579 TREE 2580 (CONS (SUBST NEW OLD (CAR TREE)) 2581 (SUBST NEW OLD (CDR TREE)))))) 2582 2583(DEFUN PLIST-WORLDP (ALIST) 2584 (IF (ATOM ALIST) 2585 (EQ ALIST 'NIL) 2586 (IF (CONSP (CAR ALIST)) 2587 (IF (SYMBOLP (CAR (CAR ALIST))) 2588 (IF (CONSP (CDR (CAR ALIST))) 2589 (IF (SYMBOLP (CAR (CDR (CAR ALIST)))) 2590 (PLIST-WORLDP (CDR ALIST)) 2591 'NIL) 2592 'NIL) 2593 'NIL) 2594 'NIL))) 2595 2596(DEFTHM PLIST-WORLDP-FORWARD-TO-ASSOC-EQ-EQUAL-ALISTP 2597 (IMPLIES (PLIST-WORLDP X) 2598 (ASSOC-EQ-EQUAL-ALISTP X))) 2599 2600(DEFUN PUTPROP (SYMB KEY VALUE WORLD-ALIST) 2601 (CONS (CONS SYMB (CONS KEY VALUE)) 2602 WORLD-ALIST)) 2603 2604(DEFUN 2605 GETPROP-DEFAULT (SYMB KEY DEFAULT) 2606 (PROG2$ 2607 (IF 2608 (CONSP DEFAULT) 2609 (IF 2610 (EQ (CAR DEFAULT) ':ERROR) 2611 (IF 2612 (CONSP (CDR DEFAULT)) 2613 (IF (STRINGP (CAR (CDR DEFAULT))) 2614 (IF (NULL (CDR (CDR DEFAULT))) 2615 (HARD-ERROR 2616 'GETPROP 2617 '"No property was found under symbol ~x0 for key ~x1. ~@2" 2618 (CONS (CONS '#\0 SYMB) 2619 (CONS (CONS '#\1 KEY) 2620 (CONS (CONS '#\2 (CAR (CDR DEFAULT))) 2621 'NIL)))) 2622 'NIL) 2623 'NIL) 2624 'NIL) 2625 'NIL) 2626 'NIL) 2627 DEFAULT)) 2628 2629(DEFUN FGETPROP (SYMB KEY DEFAULT WORLD-ALIST) 2630 (IF (ENDP WORLD-ALIST) 2631 DEFAULT 2632 (IF (IF (EQ SYMB (CAR (CAR WORLD-ALIST))) 2633 (EQ KEY (CAR (CDR (CAR WORLD-ALIST)))) 2634 'NIL) 2635 ((LAMBDA (ANS DEFAULT) 2636 (IF (EQ ANS ':ACL2-PROPERTY-UNBOUND) 2637 DEFAULT ANS)) 2638 (CDR (CDR (CAR WORLD-ALIST))) 2639 DEFAULT) 2640 (FGETPROP SYMB KEY DEFAULT (CDR WORLD-ALIST))))) 2641 2642(DEFUN SGETPROP 2643 (SYMB KEY DEFAULT WORLD-NAME WORLD-ALIST) 2644 (IF (ENDP WORLD-ALIST) 2645 DEFAULT 2646 (IF (IF (EQ SYMB (CAR (CAR WORLD-ALIST))) 2647 (EQ KEY (CAR (CDR (CAR WORLD-ALIST)))) 2648 'NIL) 2649 ((LAMBDA (ANS DEFAULT) 2650 (IF (EQ ANS ':ACL2-PROPERTY-UNBOUND) 2651 DEFAULT ANS)) 2652 (CDR (CDR (CAR WORLD-ALIST))) 2653 DEFAULT) 2654 (SGETPROP SYMB KEY 2655 DEFAULT WORLD-NAME (CDR WORLD-ALIST))))) 2656 2657(DEFUN ORDERED-SYMBOL-ALISTP (X) 2658 (IF (ATOM X) 2659 (NULL X) 2660 (IF (ATOM (CAR X)) 2661 'NIL 2662 (IF (SYMBOLP (CAR (CAR X))) 2663 (IF (IF (ATOM (CDR X)) 2664 (ATOM (CDR X)) 2665 (IF (CONSP (CAR (CDR X))) 2666 (IF (SYMBOLP (CAR (CAR (CDR X)))) 2667 (SYMBOL-< (CAR (CAR X)) 2668 (CAR (CAR (CDR X)))) 2669 'NIL) 2670 'NIL)) 2671 (ORDERED-SYMBOL-ALISTP (CDR X)) 2672 'NIL) 2673 'NIL)))) 2674 2675(DEFTHM ORDERED-SYMBOL-ALISTP-FORWARD-TO-SYMBOL-ALISTP 2676 (IMPLIES (ORDERED-SYMBOL-ALISTP X) 2677 (SYMBOL-ALISTP X))) 2678 2679(DEFUN ADD-PAIR (KEY VALUE L) 2680 (IF (ENDP L) 2681 (CONS (CONS KEY VALUE) 'NIL) 2682 (IF (EQ KEY (CAR (CAR L))) 2683 (CONS (CONS KEY VALUE) (CDR L)) 2684 (IF (SYMBOL-< KEY (CAR (CAR L))) 2685 (CONS (CONS KEY VALUE) L) 2686 (CONS (CAR L) 2687 (ADD-PAIR KEY VALUE (CDR L))))))) 2688 2689(DEFUN REMOVE-FIRST-PAIR (KEY L) 2690 (IF (ENDP L) 2691 'NIL 2692 (IF (EQ KEY (CAR (CAR L))) 2693 (CDR L) 2694 (CONS (CAR L) 2695 (REMOVE-FIRST-PAIR KEY (CDR L)))))) 2696 2697(DEFUN GETPROPS1 (ALIST) 2698 (IF (ENDP ALIST) 2699 'NIL 2700 (IF (IF (NULL (CDR (CAR ALIST))) 2701 (NULL (CDR (CAR ALIST))) 2702 (EQ (CAR (CDR (CAR ALIST))) 2703 ':ACL2-PROPERTY-UNBOUND)) 2704 (GETPROPS1 (CDR ALIST)) 2705 (CONS (CONS (CAR (CAR ALIST)) 2706 (CAR (CDR (CAR ALIST)))) 2707 (GETPROPS1 (CDR ALIST)))))) 2708 2709(DEFUN 2710 GETPROPS (SYMB WORLD-NAME WORLD-ALIST) 2711 (IF (ENDP WORLD-ALIST) 2712 'NIL 2713 (IF (EQ SYMB (CAR (CAR WORLD-ALIST))) 2714 ((LAMBDA (ALIST WORLD-ALIST) 2715 (IF (EQ (CDR (CDR (CAR WORLD-ALIST))) 2716 ':ACL2-PROPERTY-UNBOUND) 2717 (IF (ASSOC-EQ (CAR (CDR (CAR WORLD-ALIST))) 2718 ALIST) 2719 (REMOVE-FIRST-PAIR (CAR (CDR (CAR WORLD-ALIST))) 2720 ALIST) 2721 ALIST) 2722 (ADD-PAIR (CAR (CDR (CAR WORLD-ALIST))) 2723 (CDR (CDR (CAR WORLD-ALIST))) 2724 ALIST))) 2725 (GETPROPS SYMB WORLD-NAME (CDR WORLD-ALIST)) 2726 WORLD-ALIST) 2727 (GETPROPS SYMB WORLD-NAME (CDR WORLD-ALIST))))) 2728 2729(DEFTHM EQUAL-CHAR-CODE 2730 (IMPLIES (IF (CHARACTERP X) (CHARACTERP Y) 'NIL) 2731 (IMPLIES (EQUAL (CHAR-CODE X) (CHAR-CODE Y)) 2732 (EQUAL X Y)))) 2733 2734(DEFUN HAS-PROPSP1 2735 (ALIST EXCEPTIONS KNOWN-UNBOUND) 2736 (IF (ENDP ALIST) 2737 'NIL 2738 (IF (IF (NULL (CDR (CAR ALIST))) 2739 (NULL (CDR (CAR ALIST))) 2740 (IF (EQ (CAR (CDR (CAR ALIST))) 2741 ':ACL2-PROPERTY-UNBOUND) 2742 (EQ (CAR (CDR (CAR ALIST))) 2743 ':ACL2-PROPERTY-UNBOUND) 2744 (IF (MEMBER-EQ (CAR (CAR ALIST)) EXCEPTIONS) 2745 (MEMBER-EQ (CAR (CAR ALIST)) EXCEPTIONS) 2746 (MEMBER-EQ (CAR (CAR ALIST)) 2747 KNOWN-UNBOUND)))) 2748 (HAS-PROPSP1 (CDR ALIST) 2749 EXCEPTIONS KNOWN-UNBOUND) 2750 'T))) 2751 2752(DEFUN HAS-PROPSP 2753 (SYMB EXCEPTIONS 2754 WORLD-NAME WORLD-ALIST KNOWN-UNBOUND) 2755 (IF (ENDP WORLD-ALIST) 2756 'NIL 2757 (IF (IF (NOT (EQ SYMB (CAR (CAR WORLD-ALIST)))) 2758 (NOT (EQ SYMB (CAR (CAR WORLD-ALIST)))) 2759 (IF (MEMBER-EQ (CAR (CDR (CAR WORLD-ALIST))) 2760 EXCEPTIONS) 2761 (MEMBER-EQ (CAR (CDR (CAR WORLD-ALIST))) 2762 EXCEPTIONS) 2763 (MEMBER-EQ (CAR (CDR (CAR WORLD-ALIST))) 2764 KNOWN-UNBOUND))) 2765 (HAS-PROPSP SYMB 2766 EXCEPTIONS WORLD-NAME (CDR WORLD-ALIST) 2767 KNOWN-UNBOUND) 2768 (IF (EQ (CDR (CDR (CAR WORLD-ALIST))) 2769 ':ACL2-PROPERTY-UNBOUND) 2770 (HAS-PROPSP SYMB 2771 EXCEPTIONS WORLD-NAME (CDR WORLD-ALIST) 2772 (CONS (CAR (CDR (CAR WORLD-ALIST))) 2773 KNOWN-UNBOUND)) 2774 'T)))) 2775 2776(DEFUN EXTEND-WORLD (NAME WRLD) WRLD) 2777 2778(DEFUN RETRACT-WORLD (NAME WRLD) WRLD) 2779 2780(DEFUN 2781 GLOBAL-VAL (VAR WRLD) 2782 (FGETPROP 2783 VAR 'GLOBAL-VALUE 2784 '(:ERROR 2785 "GLOBAL-VAL didn't find a value. Initialize this ~ 2786 symbol in PRIMORDIAL-WORLD-GLOBALS.") 2787 WRLD)) 2788 2789(DEFUN FUNCTION-SYMBOLP (SYM WRLD) 2790 (NOT (EQ (FGETPROP SYM 'FORMALS 'T WRLD) 2791 'T))) 2792 2793(DEFUN WEAK-SATISFIES-TYPE-SPEC-P (X) 2794 (IF (CONSP X) 2795 (IF (EQ (CAR X) 'SATISFIES) 2796 (IF (TRUE-LISTP X) 2797 (IF (EQUAL (LENGTH X) '2) 2798 (SYMBOLP (CAR (CDR X))) 2799 'NIL) 2800 'NIL) 2801 'NIL) 2802 'NIL)) 2803 2804(DEFUN THE-ERROR (X Y) Y) 2805 2806(DEFUN SET-DIFFERENCE-EQUAL (L1 L2) 2807 (IF (ENDP L1) 2808 'NIL 2809 (IF (MEMBER-EQUAL (CAR L1) L2) 2810 (SET-DIFFERENCE-EQUAL (CDR L1) L2) 2811 (CONS (CAR L1) 2812 (SET-DIFFERENCE-EQUAL (CDR L1) L2))))) 2813 2814(DEFUN BOUNDED-INTEGER-ALISTP (L N) 2815 (IF (ATOM L) 2816 (NULL L) 2817 (IF (CONSP (CAR L)) 2818 ((LAMBDA (KEY L N) 2819 (IF (IF (EQ KEY ':HEADER) 2820 (EQ KEY ':HEADER) 2821 (IF (INTEGERP KEY) 2822 (IF (INTEGERP N) 2823 (IF (NOT (< KEY '0)) (< KEY N) 'NIL) 2824 'NIL) 2825 'NIL)) 2826 (BOUNDED-INTEGER-ALISTP (CDR L) N) 2827 'NIL)) 2828 (CAR (CAR L)) 2829 L N) 2830 'NIL))) 2831 2832(DEFTHM BOUNDED-INTEGER-ALISTP-FORWARD-TO-EQLABLE-ALISTP 2833 (IMPLIES (BOUNDED-INTEGER-ALISTP X N) 2834 (EQLABLE-ALISTP X))) 2835 2836(DEFUN KEYWORD-VALUE-LISTP (L) 2837 (IF (ATOM L) 2838 (NULL L) 2839 (IF (KEYWORDP (CAR L)) 2840 (IF (CONSP (CDR L)) 2841 (KEYWORD-VALUE-LISTP (CDR (CDR L))) 2842 'NIL) 2843 'NIL))) 2844 2845(DEFTHM KEYWORD-VALUE-LISTP-FORWARD-TO-TRUE-LISTP 2846 (IMPLIES (KEYWORD-VALUE-LISTP X) 2847 (TRUE-LISTP X))) 2848 2849(DEFUN ASSOC-KEYWORD (KEY L) 2850 (IF (ENDP L) 2851 'NIL 2852 (IF (EQ KEY (CAR L)) 2853 L (ASSOC-KEYWORD KEY (CDR (CDR L)))))) 2854 2855(DEFTHM KEYWORD-VALUE-LISTP-ASSOC-KEYWORD 2856 (IMPLIES (KEYWORD-VALUE-LISTP L) 2857 (KEYWORD-VALUE-LISTP (ASSOC-KEYWORD KEY L)))) 2858 2859(DEFTHM CONSP-ASSOC-EQ 2860 (IMPLIES (ALISTP L) 2861 (IF (CONSP (ASSOC-EQ NAME L)) 2862 (CONSP (ASSOC-EQ NAME L)) 2863 (EQUAL (ASSOC-EQ NAME L) 'NIL)))) 2864 2865(DEFUN 2866 ARRAY1P (NAME L) 2867 (IF 2868 (SYMBOLP NAME) 2869 (IF 2870 (ALISTP L) 2871 ((LAMBDA 2872 (HEADER-KEYWORD-LIST L) 2873 (IF 2874 (KEYWORD-VALUE-LISTP HEADER-KEYWORD-LIST) 2875 ((LAMBDA 2876 (DIMENSIONS MAXIMUM-LENGTH L) 2877 (IF 2878 (TRUE-LISTP DIMENSIONS) 2879 (IF (EQUAL (LENGTH DIMENSIONS) '1) 2880 (IF (INTEGERP (CAR DIMENSIONS)) 2881 (IF (INTEGERP MAXIMUM-LENGTH) 2882 (IF (< '0 (CAR DIMENSIONS)) 2883 (IF (< (CAR DIMENSIONS) MAXIMUM-LENGTH) 2884 (IF (NOT (< '2147483647 MAXIMUM-LENGTH)) 2885 (BOUNDED-INTEGER-ALISTP L (CAR DIMENSIONS)) 2886 'NIL) 2887 'NIL) 2888 'NIL) 2889 'NIL) 2890 'NIL) 2891 'NIL) 2892 'NIL)) 2893 (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2894 HEADER-KEYWORD-LIST))) 2895 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 2896 HEADER-KEYWORD-LIST))) 2897 L) 2898 'NIL)) 2899 (CDR (ASSOC-EQ ':HEADER L)) 2900 L) 2901 'NIL) 2902 'NIL)) 2903 2904(DEFTHM 2905 ARRAY1P-FORWARD 2906 (IMPLIES 2907 (ARRAY1P NAME L) 2908 (IF 2909 (SYMBOLP NAME) 2910 (IF 2911 (ALISTP L) 2912 (IF 2913 (KEYWORD-VALUE-LISTP (CDR (ASSOC-EQ ':HEADER L))) 2914 (IF 2915 (TRUE-LISTP (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2916 (CDR (ASSOC-EQ ':HEADER L)))))) 2917 (IF 2918 (EQUAL 2919 (LENGTH (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2920 (CDR (ASSOC-EQ ':HEADER L)))))) 2921 '1) 2922 (IF 2923 (INTEGERP 2924 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2925 (CDR (ASSOC-EQ ':HEADER L))))))) 2926 (IF 2927 (INTEGERP (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 2928 (CDR (ASSOC-EQ ':HEADER L)))))) 2929 (IF 2930 (< '0 2931 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2932 (CDR (ASSOC-EQ ':HEADER L))))))) 2933 (IF 2934 (< (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2935 (CDR (ASSOC-EQ ':HEADER L)))))) 2936 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 2937 (CDR (ASSOC-EQ ':HEADER L)))))) 2938 (IF 2939 (NOT (< '2147483647 2940 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 2941 (CDR (ASSOC-EQ ':HEADER L))))))) 2942 (BOUNDED-INTEGER-ALISTP 2943 L 2944 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2945 (CDR (ASSOC-EQ ':HEADER L))))))) 2946 'NIL) 2947 'NIL) 2948 'NIL) 2949 'NIL) 2950 'NIL) 2951 'NIL) 2952 'NIL) 2953 'NIL) 2954 'NIL) 2955 'NIL))) 2956 2957(DEFTHM 2958 ARRAY1P-LINEAR 2959 (IMPLIES 2960 (ARRAY1P NAME L) 2961 (IF (< '0 2962 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2963 (CDR (ASSOC-EQ ':HEADER L))))))) 2964 (IF (< (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 2965 (CDR (ASSOC-EQ ':HEADER L)))))) 2966 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 2967 (CDR (ASSOC-EQ ':HEADER L)))))) 2968 (NOT (< '2147483647 2969 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 2970 (CDR (ASSOC-EQ ':HEADER L))))))) 2971 'NIL) 2972 'NIL))) 2973 2974(DEFUN 2975 BOUNDED-INTEGER-ALISTP2 (L I J) 2976 (IF 2977 (ATOM L) 2978 (NULL L) 2979 (IF 2980 (CONSP (CAR L)) 2981 (IF 2982 ((LAMBDA 2983 (KEY I J) 2984 (IF 2985 (EQ KEY ':HEADER) 2986 (EQ KEY ':HEADER) 2987 (IF 2988 (CONSP KEY) 2989 ((LAMBDA (I1 J1 J I) 2990 (IF (INTEGERP I1) 2991 (IF (INTEGERP J1) 2992 (IF (INTEGERP I) 2993 (IF (INTEGERP J) 2994 (IF (NOT (< I1 '0)) 2995 (IF (< I1 I) 2996 (IF (NOT (< J1 '0)) (< J1 J) 'NIL) 2997 'NIL) 2998 'NIL) 2999 'NIL) 3000 'NIL) 3001 'NIL) 3002 'NIL)) 3003 (CAR KEY) 3004 (CDR KEY) 3005 J I) 3006 'NIL))) 3007 (CAR (CAR L)) 3008 I J) 3009 (BOUNDED-INTEGER-ALISTP2 (CDR L) I J) 3010 'NIL) 3011 'NIL))) 3012 3013(DEFUN ASSOC2 (I J L) 3014 (IF (ATOM L) 3015 'NIL 3016 (IF (IF (CONSP (CAR L)) 3017 (IF (CONSP (CAR (CAR L))) 3018 (IF (EQL I (CAR (CAR (CAR L)))) 3019 (EQL J (CDR (CAR (CAR L)))) 3020 'NIL) 3021 'NIL) 3022 'NIL) 3023 (CAR L) 3024 (ASSOC2 I J (CDR L))))) 3025 3026(DEFUN 3027 ARRAY2P (NAME L) 3028 (IF 3029 (SYMBOLP NAME) 3030 (IF 3031 (ALISTP L) 3032 ((LAMBDA 3033 (HEADER-KEYWORD-LIST L) 3034 (IF 3035 (KEYWORD-VALUE-LISTP HEADER-KEYWORD-LIST) 3036 ((LAMBDA 3037 (DIMENSIONS MAXIMUM-LENGTH L) 3038 (IF 3039 (TRUE-LISTP DIMENSIONS) 3040 (IF 3041 (EQUAL (LENGTH DIMENSIONS) '2) 3042 ((LAMBDA 3043 (D1 D2 L MAXIMUM-LENGTH) 3044 (IF (INTEGERP D1) 3045 (IF (INTEGERP D2) 3046 (IF (INTEGERP MAXIMUM-LENGTH) 3047 (IF (< '0 D1) 3048 (IF (< '0 D2) 3049 (IF (< (BINARY-* D1 D2) MAXIMUM-LENGTH) 3050 (IF (NOT (< '2147483647 MAXIMUM-LENGTH)) 3051 (BOUNDED-INTEGER-ALISTP2 L D1 D2) 3052 'NIL) 3053 'NIL) 3054 'NIL) 3055 'NIL) 3056 'NIL) 3057 'NIL) 3058 'NIL)) 3059 (CAR DIMENSIONS) 3060 (CAR (CDR DIMENSIONS)) 3061 L MAXIMUM-LENGTH) 3062 'NIL) 3063 'NIL)) 3064 (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3065 HEADER-KEYWORD-LIST))) 3066 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 3067 HEADER-KEYWORD-LIST))) 3068 L) 3069 'NIL)) 3070 (CDR (ASSOC-EQ ':HEADER L)) 3071 L) 3072 'NIL) 3073 'NIL)) 3074 3075(DEFTHM 3076 ARRAY2P-FORWARD 3077 (IMPLIES 3078 (ARRAY2P NAME L) 3079 (IF 3080 (SYMBOLP NAME) 3081 (IF 3082 (ALISTP L) 3083 (IF 3084 (KEYWORD-VALUE-LISTP (CDR (ASSOC-EQ ':HEADER L))) 3085 (IF 3086 (TRUE-LISTP (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3087 (CDR (ASSOC-EQ ':HEADER L)))))) 3088 (IF 3089 (EQUAL 3090 (LENGTH (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3091 (CDR (ASSOC-EQ ':HEADER L)))))) 3092 '2) 3093 (IF 3094 (INTEGERP 3095 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3096 (CDR (ASSOC-EQ ':HEADER L))))))) 3097 (IF 3098 (INTEGERP 3099 (CAR 3100 (CDR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3101 (CDR (ASSOC-EQ ':HEADER L)))))))) 3102 (IF 3103 (INTEGERP (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 3104 (CDR (ASSOC-EQ ':HEADER L)))))) 3105 (IF 3106 (< '0 3107 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3108 (CDR (ASSOC-EQ ':HEADER L))))))) 3109 (IF 3110 (< 3111 '0 3112 (CAR 3113 (CDR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3114 (CDR (ASSOC-EQ ':HEADER L)))))))) 3115 (IF 3116 (< 3117 (BINARY-* 3118 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3119 (CDR (ASSOC-EQ ':HEADER L)))))) 3120 (CAR 3121 (CDR 3122 (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3123 (CDR (ASSOC-EQ ':HEADER L)))))))) 3124 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 3125 (CDR (ASSOC-EQ ':HEADER L)))))) 3126 (IF 3127 (NOT 3128 (< '2147483647 3129 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 3130 (CDR (ASSOC-EQ ':HEADER L))))))) 3131 (BOUNDED-INTEGER-ALISTP2 3132 L 3133 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3134 (CDR (ASSOC-EQ ':HEADER L)))))) 3135 (CAR 3136 (CDR 3137 (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3138 (CDR (ASSOC-EQ ':HEADER L)))))))) 3139 'NIL) 3140 'NIL) 3141 'NIL) 3142 'NIL) 3143 'NIL) 3144 'NIL) 3145 'NIL) 3146 'NIL) 3147 'NIL) 3148 'NIL) 3149 'NIL) 3150 'NIL))) 3151 3152(DEFTHM 3153 ARRAY2P-LINEAR 3154 (IMPLIES 3155 (ARRAY2P NAME L) 3156 (IF 3157 (< '0 3158 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3159 (CDR (ASSOC-EQ ':HEADER L))))))) 3160 (IF 3161 (< '0 3162 (CAR (CDR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3163 (CDR (ASSOC-EQ ':HEADER L)))))))) 3164 (IF 3165 (< 3166 (BINARY-* 3167 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3168 (CDR (ASSOC-EQ ':HEADER L)))))) 3169 (CAR (CDR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3170 (CDR (ASSOC-EQ ':HEADER L)))))))) 3171 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 3172 (CDR (ASSOC-EQ ':HEADER L)))))) 3173 (NOT (< '2147483647 3174 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 3175 (CDR (ASSOC-EQ ':HEADER L))))))) 3176 'NIL) 3177 'NIL) 3178 'NIL))) 3179 3180(DEFUN HEADER (NAME L) (PROG2$ NAME (ASSOC-EQ ':HEADER L))) 3181 3182(DEFUN DIMENSIONS (NAME L) 3183 (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3184 (CDR (HEADER NAME L)))))) 3185 3186(DEFUN MAXIMUM-LENGTH (NAME L) 3187 (CAR (CDR (ASSOC-KEYWORD ':MAXIMUM-LENGTH 3188 (CDR (HEADER NAME L)))))) 3189 3190(DEFUN DEFAULT (NAME L) 3191 (CAR (CDR (ASSOC-KEYWORD ':DEFAULT 3192 (CDR (HEADER NAME L)))))) 3193 3194(DEFTHM CONSP-ASSOC 3195 (IMPLIES (ALISTP L) 3196 (IF (CONSP (ASSOC NAME L)) 3197 (CONSP (ASSOC NAME L)) 3198 (EQUAL (ASSOC NAME L) 'NIL)))) 3199 3200(DEFUN AREF1 (NAME L N) 3201 ((LAMBDA (X L NAME) 3202 (IF (NULL X) (DEFAULT NAME L) (CDR X))) 3203 (IF (NOT (EQ N ':HEADER)) 3204 (ASSOC N L) 3205 'NIL) 3206 L NAME)) 3207 3208(DEFUN COMPRESS11 (NAME L I N DEFAULT) 3209 (IF (ZP (BINARY-+ N (UNARY-- I))) 3210 'NIL 3211 ((LAMBDA (PAIR N I L NAME DEFAULT) 3212 (IF (IF (NULL PAIR) 3213 (NULL PAIR) 3214 (EQUAL (CDR PAIR) DEFAULT)) 3215 (COMPRESS11 NAME L (BINARY-+ I '1) 3216 N DEFAULT) 3217 (CONS PAIR 3218 (COMPRESS11 NAME L (BINARY-+ I '1) 3219 N DEFAULT)))) 3220 (ASSOC I L) 3221 N I L NAME DEFAULT))) 3222 3223(DEFUN ARRAY-ORDER (HEADER) 3224 ((LAMBDA (ORDERP) 3225 (IF (IF ORDERP 3226 (IF (EQ (CAR (CDR ORDERP)) 'NIL) 3227 (EQ (CAR (CDR ORDERP)) 'NIL) 3228 (EQ (CAR (CDR ORDERP)) ':NONE)) 3229 'NIL) 3230 'NIL 3231 (IF (IF ORDERP (EQ (CAR (CDR ORDERP)) '>) 3232 'NIL) 3233 '> 3234 '<))) 3235 (ASSOC-KEYWORD ':ORDER (CDR HEADER)))) 3236 3237(DEFUN 3238 COMPRESS1 (NAME L) 3239 ((LAMBDA 3240 (CASE-DO-NOT-USE-ELSEWHERE L NAME) 3241 (IF 3242 (EQL CASE-DO-NOT-USE-ELSEWHERE '<) 3243 (CONS (HEADER NAME L) 3244 (COMPRESS11 NAME L '0 3245 (CAR (DIMENSIONS NAME L)) 3246 (DEFAULT NAME L))) 3247 (IF 3248 (EQL CASE-DO-NOT-USE-ELSEWHERE '>) 3249 (CONS (HEADER NAME L) 3250 (REVERSE (COMPRESS11 NAME L '0 3251 (CAR (DIMENSIONS NAME L)) 3252 (DEFAULT NAME L)))) 3253 (PROG2$ 3254 (IF 3255 (< (MAXIMUM-LENGTH NAME L) (LENGTH L)) 3256 (HARD-ERROR 3257 'COMPRESS1 3258 '"Attempted to compress a one-dimensional array named ~ 3259 ~x0 whose header specifies :ORDER ~x1 and whose ~ 3260 length, ~x2, exceeds its maximum-length, ~x3." 3261 (CONS (CONS '#\0 NAME) 3262 (CONS (CONS '#\1 'NIL) 3263 (CONS (CONS '#\2 (LENGTH L)) 3264 (CONS (CONS '#\3 (MAXIMUM-LENGTH NAME L)) 3265 'NIL))))) 3266 'NIL) 3267 L)))) 3268 (ARRAY-ORDER (HEADER NAME L)) 3269 L NAME)) 3270 3271(DEFTHM 3272 ARRAY1P-CONS 3273 (IMPLIES 3274 (IF (< N 3275 (CAR (CAR (CDR (ASSOC-KEYWORD ':DIMENSIONS 3276 (CDR (ASSOC-EQ ':HEADER L))))))) 3277 (IF (NOT (< N '0)) 3278 (IF (INTEGERP N) (ARRAY1P NAME L) 'NIL) 3279 'NIL) 3280 'NIL) 3281 (ARRAY1P NAME (CONS (CONS N VAL) L)))) 3282 3283(DEFUN ASET1 (NAME L N VAL) 3284 ((LAMBDA (L NAME) 3285 (IF (< (MAXIMUM-LENGTH NAME L) (LENGTH L)) 3286 (COMPRESS1 NAME L) 3287 L)) 3288 (CONS (CONS N VAL) L) 3289 NAME)) 3290 3291(DEFUN AREF2 (NAME L I J) 3292 ((LAMBDA (X L NAME) 3293 (IF (NULL X) (DEFAULT NAME L) (CDR X))) 3294 (ASSOC2 I J L) 3295 L NAME)) 3296 3297(DEFUN COMPRESS211 (NAME L I X J DEFAULT) 3298 (IF (ZP (BINARY-+ J (UNARY-- X))) 3299 'NIL 3300 ((LAMBDA (PAIR J X I L NAME DEFAULT) 3301 (IF (IF (NULL PAIR) 3302 (NULL PAIR) 3303 (EQUAL (CDR PAIR) DEFAULT)) 3304 (COMPRESS211 NAME L I (BINARY-+ '1 X) 3305 J DEFAULT) 3306 (CONS PAIR 3307 (COMPRESS211 NAME L I (BINARY-+ '1 X) 3308 J DEFAULT)))) 3309 (ASSOC2 I X L) 3310 J X I L NAME DEFAULT))) 3311 3312(DEFUN COMPRESS21 (NAME L N I J DEFAULT) 3313 (IF (ZP (BINARY-+ I (UNARY-- N))) 3314 'NIL 3315 (BINARY-APPEND (COMPRESS211 NAME L N '0 J DEFAULT) 3316 (COMPRESS21 NAME L (BINARY-+ N '1) 3317 I J DEFAULT)))) 3318 3319(DEFUN COMPRESS2 (NAME L) 3320 (CONS (HEADER NAME L) 3321 (COMPRESS21 NAME L '0 3322 (CAR (DIMENSIONS NAME L)) 3323 (CAR (CDR (DIMENSIONS NAME L))) 3324 (DEFAULT NAME L)))) 3325 3326(DEFTHM ARRAY2P-CONS 3327 (IMPLIES (IF (< J (CAR (CDR (DIMENSIONS NAME L)))) 3328 (IF (NOT (< J '0)) 3329 (IF (INTEGERP J) 3330 (IF (< I (CAR (DIMENSIONS NAME L))) 3331 (IF (NOT (< I '0)) 3332 (IF (INTEGERP I) (ARRAY2P NAME L) 'NIL) 3333 'NIL) 3334 'NIL) 3335 'NIL) 3336 'NIL) 3337 'NIL) 3338 (ARRAY2P NAME (CONS (CONS (CONS I J) VAL) L)))) 3339 3340(DEFUN ASET2 (NAME L I J VAL) 3341 ((LAMBDA (L NAME) 3342 (IF (< (MAXIMUM-LENGTH NAME L) (LENGTH L)) 3343 (COMPRESS2 NAME L) 3344 L)) 3345 (CONS (CONS (CONS I J) VAL) L) 3346 NAME)) 3347 3348(DEFUN FLUSH-COMPRESS (NAME) 'NIL) 3349 3350(DEFUN CDRN (X I) 3351 (IF (ZP I) 3352 X 3353 (CDRN (CONS 'CDR (CONS X 'NIL)) 3354 (BINARY-+ '-1 I)))) 3355 3356(DEFUN MV-NTH (N L) 3357 (IF (ENDP L) 3358 'NIL 3359 (IF (ZP N) 3360 (CAR L) 3361 (MV-NTH (BINARY-+ '-1 N) (CDR L))))) 3362 3363(DEFUN MAKE-MV-NTHS (ARGS CALL I) 3364 (IF (ENDP ARGS) 3365 'NIL 3366 (CONS (CONS (CAR ARGS) 3367 (CONS (CONS 'MV-NTH (CONS I (CONS CALL 'NIL))) 3368 'NIL)) 3369 (MAKE-MV-NTHS (CDR ARGS) 3370 CALL (BINARY-+ I '1))))) 3371 3372(DEFUN MV-LIST (INPUT-ARITY X) X) 3373 3374(DEFUN UPDATE-NTH (KEY VAL L) 3375 (IF (ZP KEY) 3376 (CONS VAL (CDR L)) 3377 (CONS (CAR L) 3378 (UPDATE-NTH (BINARY-+ '-1 KEY) 3379 VAL (CDR L))))) 3380 3381(DEFUN UPDATE-NTH-ARRAY (J KEY VAL L) 3382 (UPDATE-NTH J (UPDATE-NTH KEY VAL (NTH J L)) 3383 L)) 3384 3385(DEFUN 32-BIT-INTEGERP (X) 3386 (IF (INTEGERP X) 3387 (IF (NOT (< '2147483647 X)) 3388 (NOT (< X '-2147483648)) 3389 'NIL) 3390 'NIL)) 3391 3392(DEFTHM 32-BIT-INTEGERP-FORWARD-TO-INTEGERP 3393 (IMPLIES (32-BIT-INTEGERP X) 3394 (INTEGERP X))) 3395 3396(DEFUN RATIONAL-LISTP (L) 3397 (IF (ATOM L) 3398 (EQ L 'NIL) 3399 (IF (RATIONALP (CAR L)) 3400 (RATIONAL-LISTP (CDR L)) 3401 'NIL))) 3402 3403(DEFTHM RATIONAL-LISTP-FORWARD-TO-TRUE-LISTP 3404 (IMPLIES (RATIONAL-LISTP X) 3405 (TRUE-LISTP X))) 3406 3407(DEFUN INTEGER-LISTP (L) 3408 (IF (ATOM L) 3409 (EQUAL L 'NIL) 3410 (IF (INTEGERP (CAR L)) 3411 (INTEGER-LISTP (CDR L)) 3412 'NIL))) 3413 3414(DEFTHM INTEGER-LISTP-FORWARD-TO-RATIONAL-LISTP 3415 (IMPLIES (INTEGER-LISTP X) 3416 (RATIONAL-LISTP X))) 3417 3418(DEFUN 32-BIT-INTEGER-LISTP (L) 3419 (IF (ATOM L) 3420 (EQUAL L 'NIL) 3421 (IF (32-BIT-INTEGERP (CAR L)) 3422 (32-BIT-INTEGER-LISTP (CDR L)) 3423 'NIL))) 3424 3425(DEFTHM 32-BIT-INTEGER-LISTP-FORWARD-TO-INTEGER-LISTP 3426 (IMPLIES (32-BIT-INTEGER-LISTP X) 3427 (INTEGER-LISTP X))) 3428 3429(DEFUN OPEN-INPUT-CHANNELS (ST) (NTH '0 ST)) 3430 3431(DEFUN UPDATE-OPEN-INPUT-CHANNELS (X ST) (UPDATE-NTH '0 X ST)) 3432 3433(DEFUN OPEN-OUTPUT-CHANNELS (ST) (NTH '1 ST)) 3434 3435(DEFUN UPDATE-OPEN-OUTPUT-CHANNELS (X ST) (UPDATE-NTH '1 X ST)) 3436 3437(DEFUN GLOBAL-TABLE (ST) (NTH '2 ST)) 3438 3439(DEFUN UPDATE-GLOBAL-TABLE (X ST) (UPDATE-NTH '2 X ST)) 3440 3441(DEFUN T-STACK (ST) (NTH '3 ST)) 3442 3443(DEFUN UPDATE-T-STACK (X ST) (UPDATE-NTH '3 X ST)) 3444 3445(DEFUN 32-BIT-INTEGER-STACK (ST) (NTH '4 ST)) 3446 3447(DEFUN UPDATE-32-BIT-INTEGER-STACK (X ST) (UPDATE-NTH '4 X ST)) 3448 3449(DEFUN BIG-CLOCK-ENTRY (ST) (NTH '5 ST)) 3450 3451(DEFUN UPDATE-BIG-CLOCK-ENTRY (X ST) (UPDATE-NTH '5 X ST)) 3452 3453(DEFUN IDATES (ST) (NTH '6 ST)) 3454 3455(DEFUN UPDATE-IDATES (X ST) (UPDATE-NTH '6 X ST)) 3456 3457(DEFUN ACL2-ORACLE (ST) (NTH '7 ST)) 3458 3459(DEFUN UPDATE-ACL2-ORACLE (X ST) (UPDATE-NTH '7 X ST)) 3460 3461(DEFUN FILE-CLOCK (ST) (NTH '8 ST)) 3462 3463(DEFUN UPDATE-FILE-CLOCK (X ST) (UPDATE-NTH '8 X ST)) 3464 3465(DEFUN READABLE-FILES (ST) (NTH '9 ST)) 3466 3467(DEFUN WRITTEN-FILES (ST) (NTH '10 ST)) 3468 3469(DEFUN UPDATE-WRITTEN-FILES (X ST) (UPDATE-NTH '10 X ST)) 3470 3471(DEFUN READ-FILES (ST) (NTH '11 ST)) 3472 3473(DEFUN UPDATE-READ-FILES (X ST) (UPDATE-NTH '11 X ST)) 3474 3475(DEFUN WRITEABLE-FILES (ST) (NTH '12 ST)) 3476 3477(DEFUN LIST-ALL-PACKAGE-NAMES-LST (ST) (NTH '13 ST)) 3478 3479(DEFUN UPDATE-LIST-ALL-PACKAGE-NAMES-LST (X ST) (UPDATE-NTH '13 X ST)) 3480 3481(DEFUN USER-STOBJ-ALIST1 (ST) (NTH '14 ST)) 3482 3483(DEFUN UPDATE-USER-STOBJ-ALIST1 (X ST) (UPDATE-NTH '14 X ST)) 3484 3485(DEFUN 3486 INIT-IPRINT-AR (HARD-BOUND ENABLEDP) 3487 ((LAMBDA 3488 (DIM ENABLEDP) 3489 (CONS 3490 (CONS 3491 ':HEADER 3492 (CONS 3493 ':DIMENSIONS 3494 (CONS 3495 (CONS DIM 'NIL) 3496 (CONS ':MAXIMUM-LENGTH 3497 (CONS (BINARY-* '4 DIM) 3498 (CONS ':DEFAULT 3499 (CONS 'NIL 3500 (CONS ':NAME 3501 (CONS 'IPRINT-AR 3502 (CONS ':ORDER 3503 (CONS ':NONE 'NIL))))))))))) 3504 (CONS (CONS '0 3505 (IF ENABLEDP '0 (CONS '0 'NIL))) 3506 'NIL))) 3507 (BINARY-+ '1 HARD-BOUND) 3508 ENABLEDP)) 3509 3510(DEFUN ALL-BOUNDP (ALIST1 ALIST2) 3511 (IF (ENDP ALIST1) 3512 'T 3513 (IF (ASSOC (CAR (CAR ALIST1)) ALIST2) 3514 (ALL-BOUNDP (CDR ALIST1) ALIST2) 3515 'NIL))) 3516 3517(DEFUN KNOWN-PACKAGE-ALISTP (X) 3518 (IF (ATOM X) 3519 (NULL X) 3520 (IF (TRUE-LISTP (CAR X)) 3521 (IF (STRINGP (CAR (CAR X))) 3522 (IF (SYMBOL-LISTP (CAR (CDR (CAR X)))) 3523 (KNOWN-PACKAGE-ALISTP (CDR X)) 3524 'NIL) 3525 'NIL) 3526 'NIL))) 3527 3528(DEFTHM KNOWN-PACKAGE-ALISTP-FORWARD-TO-TRUE-LIST-LISTP-AND-ALISTP 3529 (IMPLIES (KNOWN-PACKAGE-ALISTP X) 3530 (IF (TRUE-LIST-LISTP X) 3531 (ALISTP X) 3532 'NIL))) 3533 3534(DEFUN TIMER-ALISTP (X) 3535 (IF (ATOM X) 3536 (EQUAL X 'NIL) 3537 (IF (IF (CONSP (CAR X)) 3538 (IF (SYMBOLP (CAR (CAR X))) 3539 (RATIONAL-LISTP (CDR (CAR X))) 3540 'NIL) 3541 'NIL) 3542 (TIMER-ALISTP (CDR X)) 3543 'NIL))) 3544 3545(DEFTHM TIMER-ALISTP-FORWARD-TO-TRUE-LIST-LISTP-AND-SYMBOL-ALISTP 3546 (IMPLIES (TIMER-ALISTP X) 3547 (IF (TRUE-LIST-LISTP X) 3548 (SYMBOL-ALISTP X) 3549 'NIL))) 3550 3551(DEFUN TYPED-IO-LISTP (L TYP) 3552 (IF (ATOM L) 3553 (EQUAL L 'NIL) 3554 (IF (IF (EQL TYP ':CHARACTER) 3555 (CHARACTERP (CAR L)) 3556 (IF (EQL TYP ':BYTE) 3557 (IF (INTEGERP (CAR L)) 3558 (IF (NOT (< (CAR L) '0)) 3559 (< (CAR L) '256) 3560 'NIL) 3561 'NIL) 3562 (IF (EQL TYP ':OBJECT) 'T 'NIL))) 3563 (TYPED-IO-LISTP (CDR L) TYP) 3564 'NIL))) 3565 3566(DEFTHM TYPED-IO-LISTP-FORWARD-TO-TRUE-LISTP 3567 (IMPLIES (TYPED-IO-LISTP X TYP) 3568 (TRUE-LISTP X))) 3569 3570(DEFUN 3571 OPEN-CHANNEL1 (L) 3572 (IF 3573 (TRUE-LISTP L) 3574 (IF 3575 (CONSP L) 3576 ((LAMBDA (HEADER L) 3577 (IF (TRUE-LISTP HEADER) 3578 (IF (EQUAL (LENGTH HEADER) '4) 3579 (IF (EQ (CAR HEADER) ':HEADER) 3580 (IF (MEMBER-EQ (CAR (CDR HEADER)) 3581 '(:CHARACTER :BYTE :OBJECT)) 3582 (IF (STRINGP (CAR (CDR (CDR HEADER)))) 3583 (IF (INTEGERP (CAR (CDR (CDR (CDR HEADER))))) 3584 (TYPED-IO-LISTP (CDR L) 3585 (CAR (CDR HEADER))) 3586 'NIL) 3587 'NIL) 3588 'NIL) 3589 'NIL) 3590 'NIL) 3591 'NIL)) 3592 (CAR L) 3593 L) 3594 'NIL) 3595 'NIL)) 3596 3597(DEFTHM OPEN-CHANNEL1-FORWARD-TO-TRUE-LISTP-AND-CONSP 3598 (IMPLIES (OPEN-CHANNEL1 X) 3599 (IF (TRUE-LISTP X) (CONSP X) 'NIL))) 3600 3601(DEFUN OPEN-CHANNEL-LISTP (L) 3602 (IF (ENDP L) 3603 'T 3604 (IF (OPEN-CHANNEL1 (CDR (CAR L))) 3605 (OPEN-CHANNEL-LISTP (CDR L)) 3606 'NIL))) 3607 3608(DEFUN OPEN-CHANNELS-P (X) 3609 (IF (ORDERED-SYMBOL-ALISTP X) 3610 (OPEN-CHANNEL-LISTP X) 3611 'NIL)) 3612 3613(DEFTHM OPEN-CHANNELS-P-FORWARD 3614 (IMPLIES (OPEN-CHANNELS-P X) 3615 (IF (ORDERED-SYMBOL-ALISTP X) 3616 (TRUE-LIST-LISTP X) 3617 'NIL))) 3618 3619(DEFUN FILE-CLOCK-P (X) (NATP X)) 3620 3621(DEFTHM FILE-CLOCK-P-FORWARD-TO-INTEGERP 3622 (IMPLIES (FILE-CLOCK-P X) (NATP X))) 3623 3624(DEFUN 3625 READABLE-FILE (X) 3626 (IF 3627 (TRUE-LISTP X) 3628 (IF (CONSP X) 3629 ((LAMBDA (KEY X) 3630 (IF (TRUE-LISTP KEY) 3631 (IF (EQUAL (LENGTH KEY) '3) 3632 (IF (STRINGP (CAR KEY)) 3633 (IF (MEMBER (CAR (CDR KEY)) 3634 '(:CHARACTER :BYTE :OBJECT)) 3635 (IF (INTEGERP (CAR (CDR (CDR KEY)))) 3636 (TYPED-IO-LISTP (CDR X) (CAR (CDR KEY))) 3637 'NIL) 3638 'NIL) 3639 'NIL) 3640 'NIL) 3641 'NIL)) 3642 (CAR X) 3643 X) 3644 'NIL) 3645 'NIL)) 3646 3647(DEFTHM READABLE-FILE-FORWARD-TO-TRUE-LISTP-AND-CONSP 3648 (IMPLIES (READABLE-FILE X) 3649 (IF (TRUE-LISTP X) (CONSP X) 'NIL))) 3650 3651(DEFUN READABLE-FILES-LISTP (X) 3652 (IF (ATOM X) 3653 (EQUAL X 'NIL) 3654 (IF (READABLE-FILE (CAR X)) 3655 (READABLE-FILES-LISTP (CDR X)) 3656 'NIL))) 3657 3658(DEFTHM READABLE-FILES-LISTP-FORWARD-TO-TRUE-LIST-LISTP-AND-ALISTP 3659 (IMPLIES (READABLE-FILES-LISTP X) 3660 (IF (TRUE-LIST-LISTP X) 3661 (ALISTP X) 3662 'NIL))) 3663 3664(DEFUN READABLE-FILES-P (X) (READABLE-FILES-LISTP X)) 3665 3666(DEFTHM READABLE-FILES-P-FORWARD-TO-READABLE-FILES-LISTP 3667 (IMPLIES (READABLE-FILES-P X) 3668 (READABLE-FILES-LISTP X))) 3669 3670(DEFUN 3671 WRITTEN-FILE (X) 3672 (IF 3673 (TRUE-LISTP X) 3674 (IF 3675 (CONSP X) 3676 ((LAMBDA (KEY X) 3677 (IF (TRUE-LISTP KEY) 3678 (IF (EQUAL (LENGTH KEY) '4) 3679 (IF (STRINGP (CAR KEY)) 3680 (IF (INTEGERP (CAR (CDR (CDR KEY)))) 3681 (IF (INTEGERP (CAR (CDR (CDR (CDR KEY))))) 3682 (IF (MEMBER (CAR (CDR KEY)) 3683 '(:CHARACTER :BYTE :OBJECT)) 3684 (TYPED-IO-LISTP (CDR X) (CAR (CDR KEY))) 3685 'NIL) 3686 'NIL) 3687 'NIL) 3688 'NIL) 3689 'NIL) 3690 'NIL)) 3691 (CAR X) 3692 X) 3693 'NIL) 3694 'NIL)) 3695 3696(DEFTHM WRITTEN-FILE-FORWARD-TO-TRUE-LISTP-AND-CONSP 3697 (IMPLIES (WRITTEN-FILE X) 3698 (IF (TRUE-LISTP X) (CONSP X) 'NIL))) 3699 3700(DEFUN WRITTEN-FILE-LISTP (X) 3701 (IF (ATOM X) 3702 (EQUAL X 'NIL) 3703 (IF (WRITTEN-FILE (CAR X)) 3704 (WRITTEN-FILE-LISTP (CDR X)) 3705 'NIL))) 3706 3707(DEFTHM WRITTEN-FILE-LISTP-FORWARD-TO-TRUE-LIST-LISTP-AND-ALISTP 3708 (IMPLIES (WRITTEN-FILE-LISTP X) 3709 (IF (TRUE-LIST-LISTP X) 3710 (ALISTP X) 3711 'NIL))) 3712 3713(DEFUN WRITTEN-FILES-P (X) (WRITTEN-FILE-LISTP X)) 3714 3715(DEFTHM WRITTEN-FILES-P-FORWARD-TO-WRITTEN-FILE-LISTP 3716 (IMPLIES (WRITTEN-FILES-P X) 3717 (WRITTEN-FILE-LISTP X))) 3718 3719(DEFUN READ-FILE-LISTP1 (X) 3720 (IF (TRUE-LISTP X) 3721 (IF (EQUAL (LENGTH X) '4) 3722 (IF (STRINGP (CAR X)) 3723 (IF (MEMBER (CAR (CDR X)) 3724 '(:CHARACTER :BYTE :OBJECT)) 3725 (IF (INTEGERP (CAR (CDR (CDR X)))) 3726 (INTEGERP (CAR (CDR (CDR (CDR X))))) 3727 'NIL) 3728 'NIL) 3729 'NIL) 3730 'NIL) 3731 'NIL)) 3732 3733(DEFTHM READ-FILE-LISTP1-FORWARD-TO-TRUE-LISTP-AND-CONSP 3734 (IMPLIES (READ-FILE-LISTP1 X) 3735 (IF (TRUE-LISTP X) (CONSP X) 'NIL))) 3736 3737(DEFUN READ-FILE-LISTP (X) 3738 (IF (ATOM X) 3739 (EQUAL X 'NIL) 3740 (IF (READ-FILE-LISTP1 (CAR X)) 3741 (READ-FILE-LISTP (CDR X)) 3742 'NIL))) 3743 3744(DEFTHM READ-FILE-LISTP-FORWARD-TO-TRUE-LIST-LISTP 3745 (IMPLIES (READ-FILE-LISTP X) 3746 (TRUE-LIST-LISTP X))) 3747 3748(DEFUN READ-FILES-P (X) (READ-FILE-LISTP X)) 3749 3750(DEFTHM READ-FILES-P-FORWARD-TO-READ-FILE-LISTP 3751 (IMPLIES (READ-FILES-P X) 3752 (READ-FILE-LISTP X))) 3753 3754(DEFUN WRITABLE-FILE-LISTP1 (X) 3755 (IF (TRUE-LISTP X) 3756 (IF (EQUAL (LENGTH X) '3) 3757 (IF (STRINGP (CAR X)) 3758 (IF (MEMBER (CAR (CDR X)) 3759 '(:CHARACTER :BYTE :OBJECT)) 3760 (INTEGERP (CAR (CDR (CDR X)))) 3761 'NIL) 3762 'NIL) 3763 'NIL) 3764 'NIL)) 3765 3766(DEFTHM WRITABLE-FILE-LISTP1-FORWARD-TO-TRUE-LISTP-AND-CONSP 3767 (IMPLIES (WRITABLE-FILE-LISTP1 X) 3768 (IF (TRUE-LISTP X) (CONSP X) 'NIL))) 3769 3770(DEFUN WRITABLE-FILE-LISTP (X) 3771 (IF (ATOM X) 3772 (EQUAL X 'NIL) 3773 (IF (WRITABLE-FILE-LISTP1 (CAR X)) 3774 (WRITABLE-FILE-LISTP (CDR X)) 3775 'NIL))) 3776 3777(DEFTHM WRITABLE-FILE-LISTP-FORWARD-TO-TRUE-LIST-LISTP 3778 (IMPLIES (WRITABLE-FILE-LISTP X) 3779 (TRUE-LIST-LISTP X))) 3780 3781(DEFUN WRITEABLE-FILES-P (X) (WRITABLE-FILE-LISTP X)) 3782 3783(DEFTHM WRITEABLE-FILES-P-FORWARD-TO-WRITABLE-FILE-LISTP 3784 (IMPLIES (WRITEABLE-FILES-P X) 3785 (WRITABLE-FILE-LISTP X))) 3786 3787(DEFUN 3788 STATE-P1 (X) 3789 (IF 3790 (TRUE-LISTP X) 3791 (IF 3792 (EQUAL (LENGTH X) '15) 3793 (IF 3794 (OPEN-CHANNELS-P (OPEN-INPUT-CHANNELS X)) 3795 (IF 3796 (OPEN-CHANNELS-P (OPEN-OUTPUT-CHANNELS X)) 3797 (IF 3798 (ORDERED-SYMBOL-ALISTP (GLOBAL-TABLE X)) 3799 (IF 3800 (ALL-BOUNDP 3801 '((ABBREV-EVISC-TUPLE . :DEFAULT) 3802 (ACCUMULATED-TTREE) 3803 (ACCUMULATED-WARNINGS) 3804 (ACL2-RAW-MODE-P) 3805 (ACL2-VERSION . "ACL2 Version 4.0") 3806 (AXIOMSP) 3807 (BDDNOTES) 3808 (CERTIFY-BOOK-INFO) 3809 (CHECKPOINT-FORCED-GOALS) 3810 (CHECKPOINT-PROCESSORS ELIMINATE-DESTRUCTORS-CLAUSE 3811 FERTILIZE-CLAUSE GENERALIZE-CLAUSE 3812 ELIMINATE-IRRELEVANCE-CLAUSE 3813 PUSH-CLAUSE :INDUCT) 3814 (CHECKPOINT-SUMMARY-LIMIT NIL . 3) 3815 (COMPILER-ENABLED) 3816 (CONNECTED-BOOK-DIRECTORY) 3817 (CURRENT-ACL2-WORLD) 3818 (CURRENT-PACKAGE . "ACL2") 3819 (DEBUGGER-ENABLE) 3820 (DEFAXIOMS-OKP-CERT . T) 3821 (DEFERRED-TTAG-NOTES . :NOT-DEFERRED) 3822 (DEFERRED-TTAG-NOTES-SAVED) 3823 (DISTRIBUTED-BOOKS-DIR) 3824 (DMRP) 3825 (EVISC-HITP-WITHOUT-IPRINT) 3826 (EVISCERATE-HIDE-TERMS) 3827 (FMT-HARD-RIGHT-MARGIN . 77) 3828 (FMT-SOFT-RIGHT-MARGIN . 65) 3829 (GAG-MODE) 3830 (GAG-STATE) 3831 (GAG-STATE-SAVED) 3832 (GLOBAL-ENABLED-STRUCTURE) 3833 (GSTACKP) 3834 (GUARD-CHECKING-ON . T) 3835 (HONS-ENABLED) 3836 (HONS-READ-P . T) 3837 (HOST-LISP . :CCL) 3838 (IN-LOCAL-FLG) 3839 (IN-PROVE-FLG) 3840 (IN-VERIFY-FLG) 3841 (INFIXP) 3842 (INHIBIT-OUTPUT-LST SUMMARY) 3843 (INHIBIT-OUTPUT-LST-STACK) 3844 (INHIBITED-SUMMARY-TYPES) 3845 (IPRINT-AR (:HEADER :DIMENSIONS (10001) 3846 :MAXIMUM-LENGTH 40004 3847 :DEFAULT NIL 3848 :NAME IPRINT-AR 3849 :ORDER :NONE) 3850 (0 0)) 3851 (IPRINT-HARD-BOUND . 10000) 3852 (IPRINT-SOFT-BOUND . 1000) 3853 (KEEP-TMP-FILES) 3854 (LAST-MAKE-EVENT-EXPANSION) 3855 (LD-LEVEL . 0) 3856 (LD-REDEFINITION-ACTION) 3857 (LD-SKIP-PROOFSP) 3858 (LOGIC-FNS-WITH-RAW-CODE MOD-EXPT HEADER SEARCH-FN 3859 STATE-P1 AREF2 AREF1 MFC-ANCESTORS 3860 FGETPROP GETENV$ WORMHOLE-EVAL 3861 WORMHOLE1 GET-WORMHOLE-STATUS 3862 ASET2 SGETPROP SETENV$ 3863 GETPROPS COMPRESS1 TIME-LIMIT4-REACHED-P 3864 FMT-TO-COMMENT-WINDOW 3865 LEN MFC-CLAUSE CPU-CORE-COUNT 3866 NONNEGATIVE-INTEGER-QUOTIENT 3867 CHECK-PRINT-BASE 3868 RETRACT-WORLD ASET1 ARRAY1P 3869 BOOLE$ ARRAY2P STRIP-CDRS COMPRESS2 3870 STRIP-CARS PLIST-WORLDP WORMHOLE-P 3871 MFC-TYPE-ALIST MAY-NEED-SLASHES-FN 3872 FMT-TO-COMMENT-WINDOW! 3873 HAS-PROPSP HARD-ERROR 3874 ABORT! P! MFC-RDEPTH FLUSH-COMPRESS 3875 ALPHORDER EXTEND-WORLD USER-STOBJ-ALIST 3876 READ-ACL2-ORACLE UPDATE-USER-STOBJ-ALIST 3877 DECREMENT-BIG-CLOCK 3878 PUT-GLOBAL CLOSE-INPUT-CHANNEL 3879 MAKUNBOUND-GLOBAL OPEN-INPUT-CHANNEL-P1 3880 BOUNDP-GLOBAL1 GLOBAL-TABLE-CARS1 3881 EXTEND-T-STACK LIST-ALL-PACKAGE-NAMES 3882 CLOSE-OUTPUT-CHANNEL WRITE-BYTE$ 3883 SHRINK-T-STACK ASET-32-BIT-INTEGER-STACK 3884 GET-GLOBAL 32-BIT-INTEGER-STACK-LENGTH1 3885 EXTEND-32-BIT-INTEGER-STACK 3886 ASET-T-STACK AREF-T-STACK 3887 READ-CHAR$ AREF-32-BIT-INTEGER-STACK 3888 OPEN-OUTPUT-CHANNEL-P1 3889 READ-OBJECT BIG-CLOCK-NEGATIVE-P 3890 PEEK-CHAR$ SHRINK-32-BIT-INTEGER-STACK 3891 READ-RUN-TIME 3892 READ-BYTE$ READ-IDATE T-STACK-LENGTH1 3893 PRINT-OBJECT$ EC-CALL PROG2$ MV-LIST 3894 MUST-BE-EQUAL WITH-PROVER-TIME-LIMIT 3895 WITH-GUARD-CHECKING ZPF 3896 IDENTITY ENDP NTHCDR LAST REVAPPEND NULL 3897 BUTLAST STRING MEMBER NOT MOD PLUSP ATOM 3898 LISTP ZP FLOOR CEILING TRUNCATE ROUND 3899 REM REMOVE REMOVE-DUPLICATES LOGBITP 3900 ASH LOGCOUNT SIGNUM INTEGER-LENGTH 3901 EXPT SUBSETP SUBSTITUTE ZEROP 3902 MINUSP ODDP EVENP = /= MAX MIN CONJUGATE 3903 LOGANDC1 LOGANDC2 LOGNAND LOGNOR LOGNOT 3904 LOGORC1 LOGORC2 LOGTEST POSITION ABS 3905 STRING-EQUAL STRING< STRING> STRING<= 3906 STRING>= STRING-UPCASE STRING-DOWNCASE 3907 KEYWORDP EQ EQL CHAR SUBST 3908 SUBLIS ACONS ASSOC RASSOC NTH SUBSEQ 3909 LENGTH REVERSE ZIP STANDARD-CHAR-P 3910 ALPHA-CHAR-P UPPER-CASE-P LOWER-CASE-P 3911 CHAR< CHAR> CHAR<= CHAR>= CHAR-EQUAL 3912 CHAR-UPCASE CHAR-DOWNCASE AND-LIST 3913 OR-LIST RANDOM$ THROW-NONEXEC-ERROR 3914 GC$-FN SET-COMPILER-ENABLED GOOD-BYE-FN 3915 ASSOC-EQ ASSOC-EQUAL MEMBER-EQ 3916 MEMBER-EQUAL SUBSETP-EQ SUBSETP-EQUAL 3917 REMOVE-EQ REMOVE-EQUAL POSITION-EQ 3918 POSITION-EQUAL TAKE CANONICAL-PATHNAME) 3919 (MACROS-WITH-RAW-CODE MBE 3920 THEORY-INVARIANT SET-LET*-ABSTRACTIONP 3921 DEFAXIOM SET-BOGUS-MUTUAL-RECURSION-OK 3922 SET-RULER-EXTENDERS 3923 DELETE-INCLUDE-BOOK-DIR CERTIFY-BOOK 3924 PROGN! F-PUT-GLOBAL PUSH-UNTOUCHABLE 3925 SET-BACKCHAIN-LIMIT SET-DEFAULT-HINTS! 3926 SET-OVERRIDE-HINTS-MACRO 3927 DEFTHEORY PSTK VERIFY-GUARDS 3928 DEFCHOOSE SET-DEFAULT-BACKCHAIN-LIMIT 3929 SET-STATE-OK SET-IGNORE-OK 3930 SET-NON-LINEARP WITH-OUTPUT 3931 SET-COMPILE-FNS ADD-INCLUDE-BOOK-DIR 3932 CLEAR-PSTK ADD-CUSTOM-KEYWORD-HINT 3933 INITIAL-GSTACK ACL2-UNWIND-PROTECT 3934 SET-WELL-FOUNDED-RELATION 3935 CATCH-TIME-LIMIT4 DEFUNS 3936 ADD-DEFAULT-HINTS! LOCAL ENCAPSULATE 3937 REMOVE-DEFAULT-HINTS! INCLUDE-BOOK 3938 PPROGN SET-ENFORCE-REDUNDANCY 3939 SET-IGNORE-DOC-STRING-ERROR LOGIC 3940 ER DEFLABEL MV-LET PROGRAM VALUE-TRIPLE 3941 SET-BODY COMP SET-BOGUS-DEFUN-HINTS-OK 3942 DMR-STOP DEFPKG SET-MEASURE-FUNCTION 3943 SET-INHIBIT-WARNINGS DEFTHM MV 3944 F-BIG-CLOCK-NEGATIVE-P RESET-PREHISTORY 3945 MUTUAL-RECURSION SET-REWRITE-STACK-LIMIT 3946 ADD-MATCH-FREE-OVERRIDE 3947 SET-MATCH-FREE-DEFAULT 3948 THE-MV TABLE IN-ARITHMETIC-THEORY 3949 SET-CASE-SPLIT-LIMITATIONS 3950 SET-IRRELEVANT-FORMALS-OK 3951 REMOVE-UNTOUCHABLE 3952 IN-THEORY WITH-OUTPUT-FORCED 3953 DMR-START REWRITE-ENTRY 3954 SKIP-PROOFS F-BOUNDP-GLOBAL 3955 MAKE-EVENT SET-VERIFY-GUARDS-EAGERNESS 3956 WORMHOLE VERIFY-TERMINATION-BOOT-STRAP 3957 START-PROOF-TREE F-DECREMENT-BIG-CLOCK 3958 DEFSTOBJ DEFUND DEFTTAG 3959 DEFDOC PUSH-GFRAME DEFTHMD F-GET-GLOBAL 3960 SET-NU-REWRITER-MODE CAAR CADR 3961 CDAR CDDR CAAAR CAADR CADAR CADDR CDAAR 3962 CDADR CDDAR CDDDR CAAAAR CAAADR CAADAR 3963 CAADDR CADAAR CADADR CADDAR CADDDR 3964 CDAAAR CDAADR CDADAR CDADDR CDDAAR 3965 CDDADR CDDDAR CDDDDR REST MAKE-LIST LIST 3966 OR AND * LOGIOR LOGXOR LOGAND SEARCH 3967 LOGEQV CONCATENATE LET* DEFUN THE > <= 3968 >= + - / 1+ 1- PROGN DEFMACRO COND CASE 3969 LIST* APPEND DEFCONST IN-PACKAGE INTERN 3970 FIRST SECOND THIRD FOURTH FIFTH SIXTH 3971 SEVENTH EIGHTH NINTH TENTH DIGIT-CHAR-P 3972 UNMEMOIZE HONS-LET MEMOIZE-LET MEMOIZE 3973 DEFUNS-STD DEFTHM-STD DEFUN-STD POR 3974 PAND PLET PARGS TRACE! WITH-LIVE-STATE 3975 WITH-OUTPUT-OBJECT-CHANNEL-SHARING 3976 TIME$ WITH-HCOMP-BINDINGS 3977 WITH-HCOMP-HT-BINDINGS REDEF+ 3978 REDEF- BIND-ACL2-TIME-LIMIT DEFATTACH) 3979 (MAIN-TIMER . 0) 3980 (MAKE-EVENT-DEBUG) 3981 (MAKE-EVENT-DEBUG-DEPTH . 0) 3982 (MATCH-FREE-ERROR) 3983 (MODIFYING-INCLUDE-BOOK-DIR-ALIST) 3984 (MORE-DOC-MAX-LINES . 45) 3985 (MORE-DOC-MIN-LINES . 35) 3986 (MORE-DOC-STATE) 3987 (MSWINDOWS-DRIVE) 3988 (PARALLEL-EVALUATION-ENABLED) 3989 (PC-OUTPUT) 3990 (PPR-FLAT-RIGHT-MARGIN . 40) 3991 (PRINT-BASE . 10) 3992 (PRINT-CASE . :UPCASE) 3993 (PRINT-CIRCLE) 3994 (PRINT-CIRCLE-FILES . T) 3995 (PRINT-CLAUSE-IDS) 3996 (PRINT-DOC-START-COLUMN . 15) 3997 (PRINT-ESCAPE . T) 3998 (PRINT-LENGTH) 3999 (PRINT-LEVEL) 4000 (PRINT-LINES) 4001 (PRINT-PRETTY) 4002 (PRINT-RADIX) 4003 (PRINT-READABLY) 4004 (PRINT-RIGHT-MARGIN) 4005 (PROGRAM-FNS-WITH-RAW-CODE 4006 RELIEVE-HYP-SYNP 4007 APPLY-ABBREVS-TO-LAMBDA-STACK1 4008 NTH-UPDATE-REWRITER 4009 EV-W-LST SIMPLIFY-CLAUSE1 4010 EV-REC-ACL2-UNWIND-PROTECT 4011 ALLOCATE-FIXNUM-RANGE TRACE$-FN-GENERAL 4012 EV-FNCALL! OPEN-TRACE-FILE-FN 4013 SET-TRACE-EVISC-TUPLE EV-FNCALL-W 4014 EV-REC SETUP-SIMPLIFY-CLAUSE-POT-LST1 4015 SAVE-EXEC CW-GSTACK-FN 4016 RECOMPRESS-GLOBAL-ENABLED-STRUCTURE EV-W 4017 VERBOSE-PSTACK USER-STOBJ-ALIST-SAFE 4018 COMP-FN FMT-PPR GET-MEMO 4019 ACL2-RAW-EVAL PSTACK-FN DMR-START-FN 4020 MEMO-EXIT MEMO-KEY1 SYS-CALL-STATUS 4021 EV-FNCALL-META SET-DEBUGGER-ENABLE-FN 4022 LD-LOOP PRINT-SUMMARY 4023 EV EV-LST ALLEGRO-ALLOCATE-SLOWLY-FN 4024 CERTIFY-BOOK-FN 4025 TRANSLATE11-FLET-ALIST1 INCLUDE-BOOK-FN1 4026 INCLUDE-BOOK-FN FMT1 FLSZ SET-W 4027 PROVE-LOOP CHK-VIRGIN W-OF-ANY-STATE 4028 LAMBDA-ABSTRACT LD-FN-BODY UNTRANSLATE 4029 LONGEST-COMMON-TAIL-LENGTH-REC 4030 COMPILE-FUNCTION UNTRANSLATE-LST EV-SYNP 4031 ADD-POLYS DMR-STOP-FN LD-PRINT-RESULTS 4032 APPLY-ABBREVS-TO-LAMBDA-STACK 4033 BREAK$ FLPR CLOSE-TRACE-FILE-FN 4034 EV-FNCALL-REC SYS-CALL EV-FNCALL LD-FN0 4035 LD-FN WRITE-EXPANSION-FILE LATCH-STOBJS1 4036 CHK-PACKAGE-REINCARNATION-IMPORT-RESTRICTIONS 4037 UNTRACE$-FN1 4038 BDD-TOP DEFSTOBJ-FIELD-FNS-RAW-DEFS 4039 EXPANSION-ALIST-PKG-NAMES TIMES-MOD-M31 4040 PRINT-CALL-HISTORY IPRINT-AR-AREF1 4041 PROVE MAKE-EVENT-FN OOPS-WARNING 4042 CHECKPOINT-WORLD UBT-PREHISTORY-FN 4043 GET-DECLAIM-LIST PATHNAME-UNIX-TO-OS 4044 HCOMP-BUILD-FROM-PORTCULLIS 4045 DEFCONST-VAL) 4046 (PROMPT-FUNCTION . DEFAULT-PRINT-PROMPT) 4047 (PROMPT-MEMO) 4048 (PROOF-TREE) 4049 (PROOF-TREE-BUFFER-WIDTH . 65) 4050 (PROOF-TREE-CTX) 4051 (PROOF-TREE-INDENT . "| ") 4052 (PROOF-TREE-START-PRINTED) 4053 (PROOFS-CO . 4054 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4055 (RAW-ARITY-ALIST) 4056 (RAW-INCLUDE-BOOK-DIR-ALIST . :IGNORE) 4057 (RAW-PROOF-FORMAT) 4058 (REDO-FLAT-FAIL) 4059 (REDO-FLAT-SUCC) 4060 (REDUNDANT-WITH-RAW-CODE-OKP) 4061 (RETRACE-P) 4062 (SAFE-MODE) 4063 (SAVE-EXPANSION-FILE) 4064 (SAVED-OUTPUT-P) 4065 (SAVED-OUTPUT-REVERSED) 4066 (SAVED-OUTPUT-TOKEN-LST) 4067 (SHOW-CUSTOM-KEYWORD-HINT-EXPANSION) 4068 (SKIP-NOTIFY-ON-DEFTTAG) 4069 (SKIP-PROOFS-BY-SYSTEM) 4070 (SKIP-PROOFS-OKP-CERT . T) 4071 (SLOW-ARRAY-ACTION . :BREAK) 4072 (STANDARD-CO . 4073 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4074 (STANDARD-OI . 4075 ACL2-OUTPUT-CHANNEL::STANDARD-OBJECT-INPUT-0) 4076 (TAINTED-OKP) 4077 (TEMP-TOUCHABLE-FNS) 4078 (TEMP-TOUCHABLE-VARS) 4079 (TERM-EVISC-TUPLE . :DEFAULT) 4080 (TIMER-ALIST) 4081 (TMP-DIR) 4082 (TRACE-CO . 4083 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4084 (TRACE-LEVEL . 0) 4085 (TRACE-SPECS) 4086 (TRANSLATE-ERROR-DEPTH . -1) 4087 (TRIPLE-PRINT-PREFIX . " ") 4088 (TTAGS-ALLOWED . :ALL) 4089 (UNDONE-WORLDS-KILL-RING NIL NIL NIL) 4090 (USER-HOME-DIR) 4091 (VERBOSE-THEORY-WARNING . T) 4092 (WINDOW-INTERFACE-POSTLUDE 4093 . 4094 "#>\\>#<\\(acl2-window-postlude ?~sw ~xt ~xp)#>\\>") 4095 (WINDOW-INTERFACE-PRELUDE 4096 . 4097 "~%#<\\ (acl2-window-prelude ?~sw ~xc)#>\\>#<\\<~sw") 4098 (WINDOW-INTERFACEP) 4099 (WORMHOLE-NAME) 4100 (WORMHOLE-STATUS) 4101 (WRITES-OKP . T)) 4102 (GLOBAL-TABLE X)) 4103 (IF 4104 (PLIST-WORLDP (CDR (ASSOC 'CURRENT-ACL2-WORLD 4105 (GLOBAL-TABLE X)))) 4106 (IF 4107 (SYMBOL-ALISTP (FGETPROP 'ACL2-DEFAULTS-TABLE 4108 'TABLE-ALIST 4109 'NIL 4110 (CDR (ASSOC 'CURRENT-ACL2-WORLD 4111 (GLOBAL-TABLE X))))) 4112 (IF 4113 (TIMER-ALISTP (CDR (ASSOC 'TIMER-ALIST (GLOBAL-TABLE X)))) 4114 (IF 4115 (KNOWN-PACKAGE-ALISTP (FGETPROP 'KNOWN-PACKAGE-ALIST 4116 'GLOBAL-VALUE 4117 'NIL 4118 (CDR (ASSOC 'CURRENT-ACL2-WORLD 4119 (GLOBAL-TABLE X))))) 4120 (IF 4121 (TRUE-LISTP (T-STACK X)) 4122 (IF 4123 (32-BIT-INTEGER-LISTP (32-BIT-INTEGER-STACK X)) 4124 (IF 4125 (INTEGERP (BIG-CLOCK-ENTRY X)) 4126 (IF 4127 (INTEGER-LISTP (IDATES X)) 4128 (IF 4129 (TRUE-LISTP (ACL2-ORACLE X)) 4130 (IF 4131 (FILE-CLOCK-P (FILE-CLOCK X)) 4132 (IF 4133 (READABLE-FILES-P (READABLE-FILES X)) 4134 (IF 4135 (WRITTEN-FILES-P (WRITTEN-FILES X)) 4136 (IF 4137 (READ-FILES-P (READ-FILES X)) 4138 (IF (WRITEABLE-FILES-P (WRITEABLE-FILES X)) 4139 (IF (TRUE-LIST-LISTP (LIST-ALL-PACKAGE-NAMES-LST X)) 4140 (SYMBOL-ALISTP (USER-STOBJ-ALIST1 X)) 4141 'NIL) 4142 'NIL) 4143 'NIL) 4144 'NIL) 4145 'NIL) 4146 'NIL) 4147 'NIL) 4148 'NIL) 4149 'NIL) 4150 'NIL) 4151 'NIL) 4152 'NIL) 4153 'NIL) 4154 'NIL) 4155 'NIL) 4156 'NIL) 4157 'NIL) 4158 'NIL) 4159 'NIL) 4160 'NIL) 4161 'NIL)) 4162 4163(DEFTHM 4164 STATE-P1-FORWARD 4165 (IMPLIES 4166 (STATE-P1 X) 4167 (IF 4168 (TRUE-LISTP X) 4169 (IF 4170 (EQUAL (LENGTH X) '15) 4171 (IF 4172 (OPEN-CHANNELS-P (NTH '0 X)) 4173 (IF 4174 (OPEN-CHANNELS-P (NTH '1 X)) 4175 (IF 4176 (ORDERED-SYMBOL-ALISTP (NTH '2 X)) 4177 (IF 4178 (ALL-BOUNDP 4179 '((ABBREV-EVISC-TUPLE . :DEFAULT) 4180 (ACCUMULATED-TTREE) 4181 (ACCUMULATED-WARNINGS) 4182 (ACL2-RAW-MODE-P) 4183 (ACL2-VERSION . "ACL2 Version 4.0") 4184 (AXIOMSP) 4185 (BDDNOTES) 4186 (CERTIFY-BOOK-INFO) 4187 (CHECKPOINT-FORCED-GOALS) 4188 (CHECKPOINT-PROCESSORS ELIMINATE-DESTRUCTORS-CLAUSE 4189 FERTILIZE-CLAUSE GENERALIZE-CLAUSE 4190 ELIMINATE-IRRELEVANCE-CLAUSE 4191 PUSH-CLAUSE :INDUCT) 4192 (CHECKPOINT-SUMMARY-LIMIT NIL . 3) 4193 (COMPILER-ENABLED) 4194 (CONNECTED-BOOK-DIRECTORY) 4195 (CURRENT-ACL2-WORLD) 4196 (CURRENT-PACKAGE . "ACL2") 4197 (DEBUGGER-ENABLE) 4198 (DEFAXIOMS-OKP-CERT . T) 4199 (DEFERRED-TTAG-NOTES . :NOT-DEFERRED) 4200 (DEFERRED-TTAG-NOTES-SAVED) 4201 (DISTRIBUTED-BOOKS-DIR) 4202 (DMRP) 4203 (EVISC-HITP-WITHOUT-IPRINT) 4204 (EVISCERATE-HIDE-TERMS) 4205 (FMT-HARD-RIGHT-MARGIN . 77) 4206 (FMT-SOFT-RIGHT-MARGIN . 65) 4207 (GAG-MODE) 4208 (GAG-STATE) 4209 (GAG-STATE-SAVED) 4210 (GLOBAL-ENABLED-STRUCTURE) 4211 (GSTACKP) 4212 (GUARD-CHECKING-ON . T) 4213 (HONS-ENABLED) 4214 (HONS-READ-P . T) 4215 (HOST-LISP . :CCL) 4216 (IN-LOCAL-FLG) 4217 (IN-PROVE-FLG) 4218 (IN-VERIFY-FLG) 4219 (INFIXP) 4220 (INHIBIT-OUTPUT-LST SUMMARY) 4221 (INHIBIT-OUTPUT-LST-STACK) 4222 (INHIBITED-SUMMARY-TYPES) 4223 (IPRINT-AR (:HEADER :DIMENSIONS (10001) 4224 :MAXIMUM-LENGTH 40004 4225 :DEFAULT NIL 4226 :NAME IPRINT-AR 4227 :ORDER :NONE) 4228 (0 0)) 4229 (IPRINT-HARD-BOUND . 10000) 4230 (IPRINT-SOFT-BOUND . 1000) 4231 (KEEP-TMP-FILES) 4232 (LAST-MAKE-EVENT-EXPANSION) 4233 (LD-LEVEL . 0) 4234 (LD-REDEFINITION-ACTION) 4235 (LD-SKIP-PROOFSP) 4236 (LOGIC-FNS-WITH-RAW-CODE MOD-EXPT HEADER SEARCH-FN 4237 STATE-P1 AREF2 AREF1 MFC-ANCESTORS 4238 FGETPROP GETENV$ WORMHOLE-EVAL 4239 WORMHOLE1 GET-WORMHOLE-STATUS 4240 ASET2 SGETPROP SETENV$ 4241 GETPROPS COMPRESS1 TIME-LIMIT4-REACHED-P 4242 FMT-TO-COMMENT-WINDOW 4243 LEN MFC-CLAUSE CPU-CORE-COUNT 4244 NONNEGATIVE-INTEGER-QUOTIENT 4245 CHECK-PRINT-BASE 4246 RETRACT-WORLD ASET1 ARRAY1P 4247 BOOLE$ ARRAY2P STRIP-CDRS COMPRESS2 4248 STRIP-CARS PLIST-WORLDP WORMHOLE-P 4249 MFC-TYPE-ALIST MAY-NEED-SLASHES-FN 4250 FMT-TO-COMMENT-WINDOW! 4251 HAS-PROPSP HARD-ERROR 4252 ABORT! P! MFC-RDEPTH FLUSH-COMPRESS 4253 ALPHORDER EXTEND-WORLD USER-STOBJ-ALIST 4254 READ-ACL2-ORACLE UPDATE-USER-STOBJ-ALIST 4255 DECREMENT-BIG-CLOCK 4256 PUT-GLOBAL CLOSE-INPUT-CHANNEL 4257 MAKUNBOUND-GLOBAL OPEN-INPUT-CHANNEL-P1 4258 BOUNDP-GLOBAL1 GLOBAL-TABLE-CARS1 4259 EXTEND-T-STACK LIST-ALL-PACKAGE-NAMES 4260 CLOSE-OUTPUT-CHANNEL WRITE-BYTE$ 4261 SHRINK-T-STACK ASET-32-BIT-INTEGER-STACK 4262 GET-GLOBAL 32-BIT-INTEGER-STACK-LENGTH1 4263 EXTEND-32-BIT-INTEGER-STACK 4264 ASET-T-STACK AREF-T-STACK 4265 READ-CHAR$ AREF-32-BIT-INTEGER-STACK 4266 OPEN-OUTPUT-CHANNEL-P1 4267 READ-OBJECT BIG-CLOCK-NEGATIVE-P 4268 PEEK-CHAR$ SHRINK-32-BIT-INTEGER-STACK 4269 READ-RUN-TIME 4270 READ-BYTE$ READ-IDATE T-STACK-LENGTH1 4271 PRINT-OBJECT$ EC-CALL PROG2$ MV-LIST 4272 MUST-BE-EQUAL WITH-PROVER-TIME-LIMIT 4273 WITH-GUARD-CHECKING ZPF 4274 IDENTITY ENDP NTHCDR LAST REVAPPEND NULL 4275 BUTLAST STRING MEMBER NOT MOD PLUSP ATOM 4276 LISTP ZP FLOOR CEILING TRUNCATE ROUND 4277 REM REMOVE REMOVE-DUPLICATES LOGBITP 4278 ASH LOGCOUNT SIGNUM INTEGER-LENGTH 4279 EXPT SUBSETP SUBSTITUTE ZEROP 4280 MINUSP ODDP EVENP = /= MAX MIN CONJUGATE 4281 LOGANDC1 LOGANDC2 LOGNAND LOGNOR LOGNOT 4282 LOGORC1 LOGORC2 LOGTEST POSITION ABS 4283 STRING-EQUAL STRING< STRING> STRING<= 4284 STRING>= STRING-UPCASE STRING-DOWNCASE 4285 KEYWORDP EQ EQL CHAR SUBST 4286 SUBLIS ACONS ASSOC RASSOC NTH SUBSEQ 4287 LENGTH REVERSE ZIP STANDARD-CHAR-P 4288 ALPHA-CHAR-P UPPER-CASE-P LOWER-CASE-P 4289 CHAR< CHAR> CHAR<= CHAR>= CHAR-EQUAL 4290 CHAR-UPCASE CHAR-DOWNCASE AND-LIST 4291 OR-LIST RANDOM$ THROW-NONEXEC-ERROR 4292 GC$-FN SET-COMPILER-ENABLED GOOD-BYE-FN 4293 ASSOC-EQ ASSOC-EQUAL MEMBER-EQ 4294 MEMBER-EQUAL SUBSETP-EQ SUBSETP-EQUAL 4295 REMOVE-EQ REMOVE-EQUAL POSITION-EQ 4296 POSITION-EQUAL TAKE CANONICAL-PATHNAME) 4297 (MACROS-WITH-RAW-CODE MBE 4298 THEORY-INVARIANT SET-LET*-ABSTRACTIONP 4299 DEFAXIOM SET-BOGUS-MUTUAL-RECURSION-OK 4300 SET-RULER-EXTENDERS 4301 DELETE-INCLUDE-BOOK-DIR CERTIFY-BOOK 4302 PROGN! F-PUT-GLOBAL PUSH-UNTOUCHABLE 4303 SET-BACKCHAIN-LIMIT SET-DEFAULT-HINTS! 4304 SET-OVERRIDE-HINTS-MACRO 4305 DEFTHEORY PSTK VERIFY-GUARDS 4306 DEFCHOOSE SET-DEFAULT-BACKCHAIN-LIMIT 4307 SET-STATE-OK SET-IGNORE-OK 4308 SET-NON-LINEARP WITH-OUTPUT 4309 SET-COMPILE-FNS ADD-INCLUDE-BOOK-DIR 4310 CLEAR-PSTK ADD-CUSTOM-KEYWORD-HINT 4311 INITIAL-GSTACK ACL2-UNWIND-PROTECT 4312 SET-WELL-FOUNDED-RELATION 4313 CATCH-TIME-LIMIT4 DEFUNS 4314 ADD-DEFAULT-HINTS! LOCAL ENCAPSULATE 4315 REMOVE-DEFAULT-HINTS! INCLUDE-BOOK 4316 PPROGN SET-ENFORCE-REDUNDANCY 4317 SET-IGNORE-DOC-STRING-ERROR LOGIC 4318 ER DEFLABEL MV-LET PROGRAM VALUE-TRIPLE 4319 SET-BODY COMP SET-BOGUS-DEFUN-HINTS-OK 4320 DMR-STOP DEFPKG SET-MEASURE-FUNCTION 4321 SET-INHIBIT-WARNINGS DEFTHM MV 4322 F-BIG-CLOCK-NEGATIVE-P RESET-PREHISTORY 4323 MUTUAL-RECURSION SET-REWRITE-STACK-LIMIT 4324 ADD-MATCH-FREE-OVERRIDE 4325 SET-MATCH-FREE-DEFAULT 4326 THE-MV TABLE IN-ARITHMETIC-THEORY 4327 SET-CASE-SPLIT-LIMITATIONS 4328 SET-IRRELEVANT-FORMALS-OK 4329 REMOVE-UNTOUCHABLE 4330 IN-THEORY WITH-OUTPUT-FORCED 4331 DMR-START REWRITE-ENTRY 4332 SKIP-PROOFS F-BOUNDP-GLOBAL 4333 MAKE-EVENT SET-VERIFY-GUARDS-EAGERNESS 4334 WORMHOLE VERIFY-TERMINATION-BOOT-STRAP 4335 START-PROOF-TREE F-DECREMENT-BIG-CLOCK 4336 DEFSTOBJ DEFUND DEFTTAG 4337 DEFDOC PUSH-GFRAME DEFTHMD F-GET-GLOBAL 4338 SET-NU-REWRITER-MODE CAAR CADR 4339 CDAR CDDR CAAAR CAADR CADAR CADDR CDAAR 4340 CDADR CDDAR CDDDR CAAAAR CAAADR CAADAR 4341 CAADDR CADAAR CADADR CADDAR CADDDR 4342 CDAAAR CDAADR CDADAR CDADDR CDDAAR 4343 CDDADR CDDDAR CDDDDR REST MAKE-LIST LIST 4344 OR AND * LOGIOR LOGXOR LOGAND SEARCH 4345 LOGEQV CONCATENATE LET* DEFUN THE > <= 4346 >= + - / 1+ 1- PROGN DEFMACRO COND CASE 4347 LIST* APPEND DEFCONST IN-PACKAGE INTERN 4348 FIRST SECOND THIRD FOURTH FIFTH SIXTH 4349 SEVENTH EIGHTH NINTH TENTH DIGIT-CHAR-P 4350 UNMEMOIZE HONS-LET MEMOIZE-LET MEMOIZE 4351 DEFUNS-STD DEFTHM-STD DEFUN-STD POR 4352 PAND PLET PARGS TRACE! WITH-LIVE-STATE 4353 WITH-OUTPUT-OBJECT-CHANNEL-SHARING 4354 TIME$ WITH-HCOMP-BINDINGS 4355 WITH-HCOMP-HT-BINDINGS REDEF+ 4356 REDEF- BIND-ACL2-TIME-LIMIT DEFATTACH) 4357 (MAIN-TIMER . 0) 4358 (MAKE-EVENT-DEBUG) 4359 (MAKE-EVENT-DEBUG-DEPTH . 0) 4360 (MATCH-FREE-ERROR) 4361 (MODIFYING-INCLUDE-BOOK-DIR-ALIST) 4362 (MORE-DOC-MAX-LINES . 45) 4363 (MORE-DOC-MIN-LINES . 35) 4364 (MORE-DOC-STATE) 4365 (MSWINDOWS-DRIVE) 4366 (PARALLEL-EVALUATION-ENABLED) 4367 (PC-OUTPUT) 4368 (PPR-FLAT-RIGHT-MARGIN . 40) 4369 (PRINT-BASE . 10) 4370 (PRINT-CASE . :UPCASE) 4371 (PRINT-CIRCLE) 4372 (PRINT-CIRCLE-FILES . T) 4373 (PRINT-CLAUSE-IDS) 4374 (PRINT-DOC-START-COLUMN . 15) 4375 (PRINT-ESCAPE . T) 4376 (PRINT-LENGTH) 4377 (PRINT-LEVEL) 4378 (PRINT-LINES) 4379 (PRINT-PRETTY) 4380 (PRINT-RADIX) 4381 (PRINT-READABLY) 4382 (PRINT-RIGHT-MARGIN) 4383 (PROGRAM-FNS-WITH-RAW-CODE 4384 RELIEVE-HYP-SYNP 4385 APPLY-ABBREVS-TO-LAMBDA-STACK1 4386 NTH-UPDATE-REWRITER 4387 EV-W-LST SIMPLIFY-CLAUSE1 4388 EV-REC-ACL2-UNWIND-PROTECT 4389 ALLOCATE-FIXNUM-RANGE TRACE$-FN-GENERAL 4390 EV-FNCALL! OPEN-TRACE-FILE-FN 4391 SET-TRACE-EVISC-TUPLE EV-FNCALL-W 4392 EV-REC SETUP-SIMPLIFY-CLAUSE-POT-LST1 4393 SAVE-EXEC CW-GSTACK-FN 4394 RECOMPRESS-GLOBAL-ENABLED-STRUCTURE EV-W 4395 VERBOSE-PSTACK USER-STOBJ-ALIST-SAFE 4396 COMP-FN FMT-PPR GET-MEMO 4397 ACL2-RAW-EVAL PSTACK-FN DMR-START-FN 4398 MEMO-EXIT MEMO-KEY1 SYS-CALL-STATUS 4399 EV-FNCALL-META SET-DEBUGGER-ENABLE-FN 4400 LD-LOOP PRINT-SUMMARY 4401 EV EV-LST ALLEGRO-ALLOCATE-SLOWLY-FN 4402 CERTIFY-BOOK-FN 4403 TRANSLATE11-FLET-ALIST1 INCLUDE-BOOK-FN1 4404 INCLUDE-BOOK-FN FMT1 FLSZ SET-W 4405 PROVE-LOOP CHK-VIRGIN W-OF-ANY-STATE 4406 LAMBDA-ABSTRACT LD-FN-BODY UNTRANSLATE 4407 LONGEST-COMMON-TAIL-LENGTH-REC 4408 COMPILE-FUNCTION UNTRANSLATE-LST EV-SYNP 4409 ADD-POLYS DMR-STOP-FN LD-PRINT-RESULTS 4410 APPLY-ABBREVS-TO-LAMBDA-STACK 4411 BREAK$ FLPR CLOSE-TRACE-FILE-FN 4412 EV-FNCALL-REC SYS-CALL EV-FNCALL LD-FN0 4413 LD-FN WRITE-EXPANSION-FILE LATCH-STOBJS1 4414 CHK-PACKAGE-REINCARNATION-IMPORT-RESTRICTIONS 4415 UNTRACE$-FN1 4416 BDD-TOP DEFSTOBJ-FIELD-FNS-RAW-DEFS 4417 EXPANSION-ALIST-PKG-NAMES TIMES-MOD-M31 4418 PRINT-CALL-HISTORY IPRINT-AR-AREF1 4419 PROVE MAKE-EVENT-FN OOPS-WARNING 4420 CHECKPOINT-WORLD UBT-PREHISTORY-FN 4421 GET-DECLAIM-LIST PATHNAME-UNIX-TO-OS 4422 HCOMP-BUILD-FROM-PORTCULLIS 4423 DEFCONST-VAL) 4424 (PROMPT-FUNCTION . DEFAULT-PRINT-PROMPT) 4425 (PROMPT-MEMO) 4426 (PROOF-TREE) 4427 (PROOF-TREE-BUFFER-WIDTH . 65) 4428 (PROOF-TREE-CTX) 4429 (PROOF-TREE-INDENT . "| ") 4430 (PROOF-TREE-START-PRINTED) 4431 (PROOFS-CO . 4432 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4433 (RAW-ARITY-ALIST) 4434 (RAW-INCLUDE-BOOK-DIR-ALIST . :IGNORE) 4435 (RAW-PROOF-FORMAT) 4436 (REDO-FLAT-FAIL) 4437 (REDO-FLAT-SUCC) 4438 (REDUNDANT-WITH-RAW-CODE-OKP) 4439 (RETRACE-P) 4440 (SAFE-MODE) 4441 (SAVE-EXPANSION-FILE) 4442 (SAVED-OUTPUT-P) 4443 (SAVED-OUTPUT-REVERSED) 4444 (SAVED-OUTPUT-TOKEN-LST) 4445 (SHOW-CUSTOM-KEYWORD-HINT-EXPANSION) 4446 (SKIP-NOTIFY-ON-DEFTTAG) 4447 (SKIP-PROOFS-BY-SYSTEM) 4448 (SKIP-PROOFS-OKP-CERT . T) 4449 (SLOW-ARRAY-ACTION . :BREAK) 4450 (STANDARD-CO . 4451 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4452 (STANDARD-OI . 4453 ACL2-OUTPUT-CHANNEL::STANDARD-OBJECT-INPUT-0) 4454 (TAINTED-OKP) 4455 (TEMP-TOUCHABLE-FNS) 4456 (TEMP-TOUCHABLE-VARS) 4457 (TERM-EVISC-TUPLE . :DEFAULT) 4458 (TIMER-ALIST) 4459 (TMP-DIR) 4460 (TRACE-CO . 4461 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4462 (TRACE-LEVEL . 0) 4463 (TRACE-SPECS) 4464 (TRANSLATE-ERROR-DEPTH . -1) 4465 (TRIPLE-PRINT-PREFIX . " ") 4466 (TTAGS-ALLOWED . :ALL) 4467 (UNDONE-WORLDS-KILL-RING NIL NIL NIL) 4468 (USER-HOME-DIR) 4469 (VERBOSE-THEORY-WARNING . T) 4470 (WINDOW-INTERFACE-POSTLUDE 4471 . 4472 "#>\\>#<\\ (acl2-window-postlude ?~sw ~xt ~xp)#>\\>") 4473 (WINDOW-INTERFACE-PRELUDE 4474 . 4475 "~%#<\\ (acl2-window-prelude ?~sw ~xc)#>\\>#<\\<~sw") 4476 (WINDOW-INTERFACEP) 4477 (WORMHOLE-NAME) 4478 (WORMHOLE-STATUS) 4479 (WRITES-OKP . T)) 4480 (NTH '2 X)) 4481 (IF 4482 (PLIST-WORLDP (CDR (ASSOC 'CURRENT-ACL2-WORLD (NTH '2 X)))) 4483 (IF 4484 (SYMBOL-ALISTP (FGETPROP 'ACL2-DEFAULTS-TABLE 4485 'TABLE-ALIST 4486 'NIL 4487 (CDR (ASSOC 'CURRENT-ACL2-WORLD 4488 (NTH '2 X))))) 4489 (IF 4490 (TIMER-ALISTP (CDR (ASSOC 'TIMER-ALIST (NTH '2 X)))) 4491 (IF 4492 (KNOWN-PACKAGE-ALISTP (FGETPROP 'KNOWN-PACKAGE-ALIST 4493 'GLOBAL-VALUE 4494 'NIL 4495 (CDR (ASSOC 'CURRENT-ACL2-WORLD 4496 (NTH '2 X))))) 4497 (IF 4498 (TRUE-LISTP (NTH '3 X)) 4499 (IF 4500 (32-BIT-INTEGER-LISTP (NTH '4 X)) 4501 (IF 4502 (INTEGERP (NTH '5 X)) 4503 (IF (INTEGER-LISTP (NTH '6 X)) 4504 (IF (TRUE-LISTP (NTH '7 X)) 4505 (IF (FILE-CLOCK-P (NTH '8 X)) 4506 (IF (READABLE-FILES-P (NTH '9 X)) 4507 (IF (WRITTEN-FILES-P (NTH '10 X)) 4508 (IF (READ-FILES-P (NTH '11 X)) 4509 (IF (WRITEABLE-FILES-P (NTH '12 X)) 4510 (IF (TRUE-LIST-LISTP (NTH '13 X)) 4511 (SYMBOL-ALISTP (NTH '14 X)) 4512 'NIL) 4513 'NIL) 4514 'NIL) 4515 'NIL) 4516 'NIL) 4517 'NIL) 4518 'NIL) 4519 'NIL) 4520 'NIL) 4521 'NIL) 4522 'NIL) 4523 'NIL) 4524 'NIL) 4525 'NIL) 4526 'NIL) 4527 'NIL) 4528 'NIL) 4529 'NIL) 4530 'NIL) 4531 'NIL) 4532 'NIL))) 4533 4534(DEFUN STATE-P (STATE-STATE) (STATE-P1 STATE-STATE)) 4535 4536(DEFTHM STATE-P-IMPLIES-AND-FORWARD-TO-STATE-P1 4537 (IMPLIES (STATE-P STATE-STATE) 4538 (STATE-P1 STATE-STATE))) 4539 4540(DEFUN 4541 BUILD-STATE1 4542 (OPEN-INPUT-CHANNELS OPEN-OUTPUT-CHANNELS 4543 GLOBAL-TABLE T-STACK 4544 32-BIT-INTEGER-STACK BIG-CLOCK IDATES 4545 ACL2-ORACLE FILE-CLOCK READABLE-FILES 4546 WRITTEN-FILES READ-FILES WRITEABLE-FILES 4547 LIST-ALL-PACKAGE-NAMES-LST 4548 USER-STOBJ-ALIST) 4549 ((LAMBDA 4550 (S) 4551 (IF 4552 (STATE-P1 S) 4553 S 4554 '(NIL NIL 4555 ((ABBREV-EVISC-TUPLE . :DEFAULT) 4556 (ACCUMULATED-TTREE) 4557 (ACCUMULATED-WARNINGS) 4558 (ACL2-RAW-MODE-P) 4559 (ACL2-VERSION . "ACL2 Version 4.0") 4560 (AXIOMSP) 4561 (BDDNOTES) 4562 (CERTIFY-BOOK-INFO) 4563 (CHECKPOINT-FORCED-GOALS) 4564 (CHECKPOINT-PROCESSORS ELIMINATE-DESTRUCTORS-CLAUSE 4565 FERTILIZE-CLAUSE GENERALIZE-CLAUSE 4566 ELIMINATE-IRRELEVANCE-CLAUSE 4567 PUSH-CLAUSE :INDUCT) 4568 (CHECKPOINT-SUMMARY-LIMIT NIL . 3) 4569 (COMPILER-ENABLED) 4570 (CONNECTED-BOOK-DIRECTORY) 4571 (CURRENT-ACL2-WORLD) 4572 (CURRENT-PACKAGE . "ACL2") 4573 (DEBUGGER-ENABLE) 4574 (DEFAXIOMS-OKP-CERT . T) 4575 (DEFERRED-TTAG-NOTES . :NOT-DEFERRED) 4576 (DEFERRED-TTAG-NOTES-SAVED) 4577 (DISTRIBUTED-BOOKS-DIR) 4578 (DMRP) 4579 (EVISC-HITP-WITHOUT-IPRINT) 4580 (EVISCERATE-HIDE-TERMS) 4581 (FMT-HARD-RIGHT-MARGIN . 77) 4582 (FMT-SOFT-RIGHT-MARGIN . 65) 4583 (GAG-MODE) 4584 (GAG-STATE) 4585 (GAG-STATE-SAVED) 4586 (GLOBAL-ENABLED-STRUCTURE) 4587 (GSTACKP) 4588 (GUARD-CHECKING-ON . T) 4589 (HONS-ENABLED) 4590 (HONS-READ-P . T) 4591 (HOST-LISP . :CCL) 4592 (IN-LOCAL-FLG) 4593 (IN-PROVE-FLG) 4594 (IN-VERIFY-FLG) 4595 (INFIXP) 4596 (INHIBIT-OUTPUT-LST SUMMARY) 4597 (INHIBIT-OUTPUT-LST-STACK) 4598 (INHIBITED-SUMMARY-TYPES) 4599 (IPRINT-AR (:HEADER :DIMENSIONS (10001) 4600 :MAXIMUM-LENGTH 40004 4601 :DEFAULT NIL 4602 :NAME IPRINT-AR 4603 :ORDER :NONE) 4604 (0 0)) 4605 (IPRINT-HARD-BOUND . 10000) 4606 (IPRINT-SOFT-BOUND . 1000) 4607 (KEEP-TMP-FILES) 4608 (LAST-MAKE-EVENT-EXPANSION) 4609 (LD-LEVEL . 0) 4610 (LD-REDEFINITION-ACTION) 4611 (LD-SKIP-PROOFSP) 4612 (LOGIC-FNS-WITH-RAW-CODE MOD-EXPT HEADER SEARCH-FN 4613 STATE-P1 AREF2 AREF1 MFC-ANCESTORS 4614 FGETPROP GETENV$ WORMHOLE-EVAL 4615 WORMHOLE1 GET-WORMHOLE-STATUS 4616 ASET2 SGETPROP SETENV$ 4617 GETPROPS COMPRESS1 TIME-LIMIT4-REACHED-P 4618 FMT-TO-COMMENT-WINDOW 4619 LEN MFC-CLAUSE CPU-CORE-COUNT 4620 NONNEGATIVE-INTEGER-QUOTIENT 4621 CHECK-PRINT-BASE 4622 RETRACT-WORLD ASET1 ARRAY1P 4623 BOOLE$ ARRAY2P STRIP-CDRS COMPRESS2 4624 STRIP-CARS PLIST-WORLDP WORMHOLE-P 4625 MFC-TYPE-ALIST MAY-NEED-SLASHES-FN 4626 FMT-TO-COMMENT-WINDOW! 4627 HAS-PROPSP HARD-ERROR 4628 ABORT! P! MFC-RDEPTH FLUSH-COMPRESS 4629 ALPHORDER EXTEND-WORLD USER-STOBJ-ALIST 4630 READ-ACL2-ORACLE UPDATE-USER-STOBJ-ALIST 4631 DECREMENT-BIG-CLOCK 4632 PUT-GLOBAL CLOSE-INPUT-CHANNEL 4633 MAKUNBOUND-GLOBAL OPEN-INPUT-CHANNEL-P1 4634 BOUNDP-GLOBAL1 GLOBAL-TABLE-CARS1 4635 EXTEND-T-STACK LIST-ALL-PACKAGE-NAMES 4636 CLOSE-OUTPUT-CHANNEL WRITE-BYTE$ 4637 SHRINK-T-STACK ASET-32-BIT-INTEGER-STACK 4638 GET-GLOBAL 32-BIT-INTEGER-STACK-LENGTH1 4639 EXTEND-32-BIT-INTEGER-STACK 4640 ASET-T-STACK AREF-T-STACK 4641 READ-CHAR$ AREF-32-BIT-INTEGER-STACK 4642 OPEN-OUTPUT-CHANNEL-P1 4643 READ-OBJECT BIG-CLOCK-NEGATIVE-P 4644 PEEK-CHAR$ SHRINK-32-BIT-INTEGER-STACK 4645 READ-RUN-TIME 4646 READ-BYTE$ READ-IDATE T-STACK-LENGTH1 4647 PRINT-OBJECT$ EC-CALL PROG2$ MV-LIST 4648 MUST-BE-EQUAL WITH-PROVER-TIME-LIMIT 4649 WITH-GUARD-CHECKING ZPF 4650 IDENTITY ENDP NTHCDR LAST REVAPPEND NULL 4651 BUTLAST STRING MEMBER NOT MOD PLUSP ATOM 4652 LISTP ZP FLOOR CEILING TRUNCATE ROUND 4653 REM REMOVE REMOVE-DUPLICATES LOGBITP 4654 ASH LOGCOUNT SIGNUM INTEGER-LENGTH 4655 EXPT SUBSETP SUBSTITUTE ZEROP 4656 MINUSP ODDP EVENP = /= MAX MIN CONJUGATE 4657 LOGANDC1 LOGANDC2 LOGNAND LOGNOR LOGNOT 4658 LOGORC1 LOGORC2 LOGTEST POSITION ABS 4659 STRING-EQUAL STRING< STRING> STRING<= 4660 STRING>= STRING-UPCASE STRING-DOWNCASE 4661 KEYWORDP EQ EQL CHAR SUBST 4662 SUBLIS ACONS ASSOC RASSOC NTH SUBSEQ 4663 LENGTH REVERSE ZIP STANDARD-CHAR-P 4664 ALPHA-CHAR-P UPPER-CASE-P LOWER-CASE-P 4665 CHAR< CHAR> CHAR<= CHAR>= CHAR-EQUAL 4666 CHAR-UPCASE CHAR-DOWNCASE AND-LIST 4667 OR-LIST RANDOM$ THROW-NONEXEC-ERROR 4668 GC$-FN SET-COMPILER-ENABLED GOOD-BYE-FN 4669 ASSOC-EQ ASSOC-EQUAL MEMBER-EQ 4670 MEMBER-EQUAL SUBSETP-EQ SUBSETP-EQUAL 4671 REMOVE-EQ REMOVE-EQUAL POSITION-EQ 4672 POSITION-EQUAL TAKE CANONICAL-PATHNAME) 4673 (MACROS-WITH-RAW-CODE MBE 4674 THEORY-INVARIANT SET-LET*-ABSTRACTIONP 4675 DEFAXIOM SET-BOGUS-MUTUAL-RECURSION-OK 4676 SET-RULER-EXTENDERS 4677 DELETE-INCLUDE-BOOK-DIR CERTIFY-BOOK 4678 PROGN! F-PUT-GLOBAL PUSH-UNTOUCHABLE 4679 SET-BACKCHAIN-LIMIT SET-DEFAULT-HINTS! 4680 SET-OVERRIDE-HINTS-MACRO 4681 DEFTHEORY PSTK VERIFY-GUARDS 4682 DEFCHOOSE SET-DEFAULT-BACKCHAIN-LIMIT 4683 SET-STATE-OK SET-IGNORE-OK 4684 SET-NON-LINEARP WITH-OUTPUT 4685 SET-COMPILE-FNS ADD-INCLUDE-BOOK-DIR 4686 CLEAR-PSTK ADD-CUSTOM-KEYWORD-HINT 4687 INITIAL-GSTACK ACL2-UNWIND-PROTECT 4688 SET-WELL-FOUNDED-RELATION 4689 CATCH-TIME-LIMIT4 DEFUNS 4690 ADD-DEFAULT-HINTS! LOCAL ENCAPSULATE 4691 REMOVE-DEFAULT-HINTS! INCLUDE-BOOK 4692 PPROGN SET-ENFORCE-REDUNDANCY 4693 SET-IGNORE-DOC-STRING-ERROR LOGIC 4694 ER DEFLABEL MV-LET PROGRAM VALUE-TRIPLE 4695 SET-BODY COMP SET-BOGUS-DEFUN-HINTS-OK 4696 DMR-STOP DEFPKG SET-MEASURE-FUNCTION 4697 SET-INHIBIT-WARNINGS DEFTHM MV 4698 F-BIG-CLOCK-NEGATIVE-P RESET-PREHISTORY 4699 MUTUAL-RECURSION SET-REWRITE-STACK-LIMIT 4700 ADD-MATCH-FREE-OVERRIDE 4701 SET-MATCH-FREE-DEFAULT 4702 THE-MV TABLE IN-ARITHMETIC-THEORY 4703 SET-CASE-SPLIT-LIMITATIONS 4704 SET-IRRELEVANT-FORMALS-OK 4705 REMOVE-UNTOUCHABLE 4706 IN-THEORY WITH-OUTPUT-FORCED 4707 DMR-START REWRITE-ENTRY 4708 SKIP-PROOFS F-BOUNDP-GLOBAL 4709 MAKE-EVENT SET-VERIFY-GUARDS-EAGERNESS 4710 WORMHOLE VERIFY-TERMINATION-BOOT-STRAP 4711 START-PROOF-TREE F-DECREMENT-BIG-CLOCK 4712 DEFSTOBJ DEFUND DEFTTAG 4713 DEFDOC PUSH-GFRAME DEFTHMD F-GET-GLOBAL 4714 SET-NU-REWRITER-MODE CAAR CADR 4715 CDAR CDDR CAAAR CAADR CADAR CADDR CDAAR 4716 CDADR CDDAR CDDDR CAAAAR CAAADR CAADAR 4717 CAADDR CADAAR CADADR CADDAR CADDDR 4718 CDAAAR CDAADR CDADAR CDADDR CDDAAR 4719 CDDADR CDDDAR CDDDDR REST MAKE-LIST LIST 4720 OR AND * LOGIOR LOGXOR LOGAND SEARCH 4721 LOGEQV CONCATENATE LET* DEFUN THE > <= 4722 >= + - / 1+ 1- PROGN DEFMACRO COND CASE 4723 LIST* APPEND DEFCONST IN-PACKAGE INTERN 4724 FIRST SECOND THIRD FOURTH FIFTH SIXTH 4725 SEVENTH EIGHTH NINTH TENTH DIGIT-CHAR-P 4726 UNMEMOIZE HONS-LET MEMOIZE-LET MEMOIZE 4727 DEFUNS-STD DEFTHM-STD DEFUN-STD POR 4728 PAND PLET PARGS TRACE! WITH-LIVE-STATE 4729 WITH-OUTPUT-OBJECT-CHANNEL-SHARING 4730 TIME$ WITH-HCOMP-BINDINGS 4731 WITH-HCOMP-HT-BINDINGS REDEF+ 4732 REDEF- BIND-ACL2-TIME-LIMIT DEFATTACH) 4733 (MAIN-TIMER . 0) 4734 (MAKE-EVENT-DEBUG) 4735 (MAKE-EVENT-DEBUG-DEPTH . 0) 4736 (MATCH-FREE-ERROR) 4737 (MODIFYING-INCLUDE-BOOK-DIR-ALIST) 4738 (MORE-DOC-MAX-LINES . 45) 4739 (MORE-DOC-MIN-LINES . 35) 4740 (MORE-DOC-STATE) 4741 (MSWINDOWS-DRIVE) 4742 (PARALLEL-EVALUATION-ENABLED) 4743 (PC-OUTPUT) 4744 (PPR-FLAT-RIGHT-MARGIN . 40) 4745 (PRINT-BASE . 10) 4746 (PRINT-CASE . :UPCASE) 4747 (PRINT-CIRCLE) 4748 (PRINT-CIRCLE-FILES . T) 4749 (PRINT-CLAUSE-IDS) 4750 (PRINT-DOC-START-COLUMN . 15) 4751 (PRINT-ESCAPE . T) 4752 (PRINT-LENGTH) 4753 (PRINT-LEVEL) 4754 (PRINT-LINES) 4755 (PRINT-PRETTY) 4756 (PRINT-RADIX) 4757 (PRINT-READABLY) 4758 (PRINT-RIGHT-MARGIN) 4759 (PROGRAM-FNS-WITH-RAW-CODE 4760 RELIEVE-HYP-SYNP 4761 APPLY-ABBREVS-TO-LAMBDA-STACK1 4762 NTH-UPDATE-REWRITER 4763 EV-W-LST SIMPLIFY-CLAUSE1 4764 EV-REC-ACL2-UNWIND-PROTECT 4765 ALLOCATE-FIXNUM-RANGE TRACE$-FN-GENERAL 4766 EV-FNCALL! OPEN-TRACE-FILE-FN 4767 SET-TRACE-EVISC-TUPLE EV-FNCALL-W 4768 EV-REC SETUP-SIMPLIFY-CLAUSE-POT-LST1 4769 SAVE-EXEC CW-GSTACK-FN 4770 RECOMPRESS-GLOBAL-ENABLED-STRUCTURE EV-W 4771 VERBOSE-PSTACK USER-STOBJ-ALIST-SAFE 4772 COMP-FN FMT-PPR GET-MEMO 4773 ACL2-RAW-EVAL PSTACK-FN DMR-START-FN 4774 MEMO-EXIT MEMO-KEY1 SYS-CALL-STATUS 4775 EV-FNCALL-META SET-DEBUGGER-ENABLE-FN 4776 LD-LOOP PRINT-SUMMARY 4777 EV EV-LST ALLEGRO-ALLOCATE-SLOWLY-FN 4778 CERTIFY-BOOK-FN 4779 TRANSLATE11-FLET-ALIST1 INCLUDE-BOOK-FN1 4780 INCLUDE-BOOK-FN FMT1 FLSZ SET-W 4781 PROVE-LOOP CHK-VIRGIN W-OF-ANY-STATE 4782 LAMBDA-ABSTRACT LD-FN-BODY UNTRANSLATE 4783 LONGEST-COMMON-TAIL-LENGTH-REC 4784 COMPILE-FUNCTION UNTRANSLATE-LST EV-SYNP 4785 ADD-POLYS DMR-STOP-FN LD-PRINT-RESULTS 4786 APPLY-ABBREVS-TO-LAMBDA-STACK 4787 BREAK$ FLPR CLOSE-TRACE-FILE-FN 4788 EV-FNCALL-REC SYS-CALL EV-FNCALL LD-FN0 4789 LD-FN WRITE-EXPANSION-FILE LATCH-STOBJS1 4790 CHK-PACKAGE-REINCARNATION-IMPORT-RESTRICTIONS 4791 UNTRACE$-FN1 4792 BDD-TOP DEFSTOBJ-FIELD-FNS-RAW-DEFS 4793 EXPANSION-ALIST-PKG-NAMES TIMES-MOD-M31 4794 PRINT-CALL-HISTORY IPRINT-AR-AREF1 4795 PROVE MAKE-EVENT-FN OOPS-WARNING 4796 CHECKPOINT-WORLD UBT-PREHISTORY-FN 4797 GET-DECLAIM-LIST PATHNAME-UNIX-TO-OS 4798 HCOMP-BUILD-FROM-PORTCULLIS 4799 DEFCONST-VAL) 4800 (PROMPT-FUNCTION . DEFAULT-PRINT-PROMPT) 4801 (PROMPT-MEMO) 4802 (PROOF-TREE) 4803 (PROOF-TREE-BUFFER-WIDTH . 65) 4804 (PROOF-TREE-CTX) 4805 (PROOF-TREE-INDENT . "| ") 4806 (PROOF-TREE-START-PRINTED) 4807 (PROOFS-CO . 4808 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4809 (RAW-ARITY-ALIST) 4810 (RAW-INCLUDE-BOOK-DIR-ALIST . :IGNORE) 4811 (RAW-PROOF-FORMAT) 4812 (REDO-FLAT-FAIL) 4813 (REDO-FLAT-SUCC) 4814 (REDUNDANT-WITH-RAW-CODE-OKP) 4815 (RETRACE-P) 4816 (SAFE-MODE) 4817 (SAVE-EXPANSION-FILE) 4818 (SAVED-OUTPUT-P) 4819 (SAVED-OUTPUT-REVERSED) 4820 (SAVED-OUTPUT-TOKEN-LST) 4821 (SHOW-CUSTOM-KEYWORD-HINT-EXPANSION) 4822 (SKIP-NOTIFY-ON-DEFTTAG) 4823 (SKIP-PROOFS-BY-SYSTEM) 4824 (SKIP-PROOFS-OKP-CERT . T) 4825 (SLOW-ARRAY-ACTION . :BREAK) 4826 (STANDARD-CO . 4827 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4828 (STANDARD-OI . 4829 ACL2-OUTPUT-CHANNEL::STANDARD-OBJECT-INPUT-0) 4830 (TAINTED-OKP) 4831 (TEMP-TOUCHABLE-FNS) 4832 (TEMP-TOUCHABLE-VARS) 4833 (TERM-EVISC-TUPLE . :DEFAULT) 4834 (TIMER-ALIST) 4835 (TMP-DIR) 4836 (TRACE-CO . 4837 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 4838 (TRACE-LEVEL . 0) 4839 (TRACE-SPECS) 4840 (TRANSLATE-ERROR-DEPTH . -1) 4841 (TRIPLE-PRINT-PREFIX . " ") 4842 (TTAGS-ALLOWED . :ALL) 4843 (UNDONE-WORLDS-KILL-RING NIL NIL NIL) 4844 (USER-HOME-DIR) 4845 (VERBOSE-THEORY-WARNING . T) 4846 (WINDOW-INTERFACE-POSTLUDE 4847 . 4848 "#>\\>#<\\ (acl2-window-postlude ?~sw ~xt ~xp)#>\\>") 4849 (WINDOW-INTERFACE-PRELUDE 4850 . 4851 "~%#<\\ (acl2-window-prelude ?~sw ~xc)#>\\>#<\\<~sw") 4852 (WINDOW-INTERFACEP) 4853 (WORMHOLE-NAME) 4854 (WORMHOLE-STATUS) 4855 (WRITES-OKP . T)) 4856 NIL NIL 4000000 4857 NIL NIL 1 NIL NIL NIL NIL NIL NIL))) 4858 (CONS 4859 OPEN-INPUT-CHANNELS 4860 (CONS 4861 OPEN-OUTPUT-CHANNELS 4862 (CONS 4863 GLOBAL-TABLE 4864 (CONS 4865 T-STACK 4866 (CONS 4867 32-BIT-INTEGER-STACK 4868 (CONS 4869 BIG-CLOCK 4870 (CONS 4871 IDATES 4872 (CONS 4873 ACL2-ORACLE 4874 (CONS 4875 FILE-CLOCK 4876 (CONS 4877 READABLE-FILES 4878 (CONS 4879 WRITTEN-FILES 4880 (CONS READ-FILES 4881 (CONS WRITEABLE-FILES 4882 (CONS LIST-ALL-PACKAGE-NAMES-LST 4883 (CONS USER-STOBJ-ALIST 'NIL))))))))))))))))) 4884 4885(DEFUN COERCE-STATE-TO-OBJECT (X) X) 4886 4887(DEFUN COERCE-OBJECT-TO-STATE (X) X) 4888 4889(DEFUN GLOBAL-TABLE-CARS1 (STATE-STATE) 4890 (STRIP-CARS (GLOBAL-TABLE STATE-STATE))) 4891 4892(DEFUN GLOBAL-TABLE-CARS (STATE-STATE) (GLOBAL-TABLE-CARS1 STATE-STATE)) 4893 4894(DEFUN BOUNDP-GLOBAL1 (X STATE-STATE) 4895 (IF (ASSOC X (GLOBAL-TABLE STATE-STATE)) 4896 'T 4897 'NIL)) 4898 4899(DEFUN BOUNDP-GLOBAL (X STATE-STATE) (BOUNDP-GLOBAL1 X STATE-STATE)) 4900 4901(DEFUN DELETE-PAIR (X L) 4902 (IF (ENDP L) 4903 'NIL 4904 (IF (EQ X (CAR (CAR L))) 4905 (CDR L) 4906 (CONS (CAR L) 4907 (DELETE-PAIR X (CDR L)))))) 4908 4909(DEFUN MAKUNBOUND-GLOBAL (X STATE-STATE) 4910 (UPDATE-GLOBAL-TABLE (DELETE-PAIR X (GLOBAL-TABLE STATE-STATE)) 4911 STATE-STATE)) 4912 4913(DEFUN GET-GLOBAL (X STATE-STATE) 4914 (CDR (ASSOC X (GLOBAL-TABLE STATE-STATE)))) 4915 4916(DEFUN PUT-GLOBAL (KEY VALUE STATE-STATE) 4917 (UPDATE-GLOBAL-TABLE (ADD-PAIR KEY VALUE (GLOBAL-TABLE STATE-STATE)) 4918 STATE-STATE)) 4919 4920(DEFUN SYMBOL-DOUBLET-LISTP (LST) 4921 (IF (ATOM LST) 4922 (EQ LST 'NIL) 4923 (IF (CONSP (CAR LST)) 4924 (IF (SYMBOLP (CAR (CAR LST))) 4925 (IF (CONSP (CDR (CAR LST))) 4926 (IF (NULL (CDR (CDR (CAR LST)))) 4927 (SYMBOL-DOUBLET-LISTP (CDR LST)) 4928 'NIL) 4929 'NIL) 4930 'NIL) 4931 'NIL))) 4932 4933(DEFUN 4934 ALWAYS-BOUNDP-GLOBAL (X) 4935 (IF 4936 (ASSOC-EQ 4937 X 4938 '((ABBREV-EVISC-TUPLE . :DEFAULT) 4939 (ACCUMULATED-TTREE) 4940 (ACCUMULATED-WARNINGS) 4941 (ACL2-RAW-MODE-P) 4942 (ACL2-VERSION . "ACL2 Version 4.0") 4943 (AXIOMSP) 4944 (BDDNOTES) 4945 (CERTIFY-BOOK-INFO) 4946 (CHECKPOINT-FORCED-GOALS) 4947 (CHECKPOINT-PROCESSORS ELIMINATE-DESTRUCTORS-CLAUSE 4948 FERTILIZE-CLAUSE GENERALIZE-CLAUSE 4949 ELIMINATE-IRRELEVANCE-CLAUSE 4950 PUSH-CLAUSE :INDUCT) 4951 (CHECKPOINT-SUMMARY-LIMIT NIL . 3) 4952 (COMPILER-ENABLED) 4953 (CONNECTED-BOOK-DIRECTORY) 4954 (CURRENT-ACL2-WORLD) 4955 (CURRENT-PACKAGE . "ACL2") 4956 (DEBUGGER-ENABLE) 4957 (DEFAXIOMS-OKP-CERT . T) 4958 (DEFERRED-TTAG-NOTES . :NOT-DEFERRED) 4959 (DEFERRED-TTAG-NOTES-SAVED) 4960 (DISTRIBUTED-BOOKS-DIR) 4961 (DMRP) 4962 (EVISC-HITP-WITHOUT-IPRINT) 4963 (EVISCERATE-HIDE-TERMS) 4964 (FMT-HARD-RIGHT-MARGIN . 77) 4965 (FMT-SOFT-RIGHT-MARGIN . 65) 4966 (GAG-MODE) 4967 (GAG-STATE) 4968 (GAG-STATE-SAVED) 4969 (GLOBAL-ENABLED-STRUCTURE) 4970 (GSTACKP) 4971 (GUARD-CHECKING-ON . T) 4972 (HONS-ENABLED) 4973 (HONS-READ-P . T) 4974 (HOST-LISP . :CCL) 4975 (IN-LOCAL-FLG) 4976 (IN-PROVE-FLG) 4977 (IN-VERIFY-FLG) 4978 (INFIXP) 4979 (INHIBIT-OUTPUT-LST SUMMARY) 4980 (INHIBIT-OUTPUT-LST-STACK) 4981 (INHIBITED-SUMMARY-TYPES) 4982 (IPRINT-AR (:HEADER :DIMENSIONS (10001) 4983 :MAXIMUM-LENGTH 40004 4984 :DEFAULT NIL 4985 :NAME IPRINT-AR 4986 :ORDER :NONE) 4987 (0 0)) 4988 (IPRINT-HARD-BOUND . 10000) 4989 (IPRINT-SOFT-BOUND . 1000) 4990 (KEEP-TMP-FILES) 4991 (LAST-MAKE-EVENT-EXPANSION) 4992 (LD-LEVEL . 0) 4993 (LD-REDEFINITION-ACTION) 4994 (LD-SKIP-PROOFSP) 4995 (LOGIC-FNS-WITH-RAW-CODE MOD-EXPT HEADER SEARCH-FN 4996 STATE-P1 AREF2 AREF1 MFC-ANCESTORS 4997 FGETPROP GETENV$ WORMHOLE-EVAL 4998 WORMHOLE1 GET-WORMHOLE-STATUS 4999 ASET2 SGETPROP SETENV$ 5000 GETPROPS COMPRESS1 TIME-LIMIT4-REACHED-P 5001 FMT-TO-COMMENT-WINDOW 5002 LEN MFC-CLAUSE CPU-CORE-COUNT 5003 NONNEGATIVE-INTEGER-QUOTIENT 5004 CHECK-PRINT-BASE 5005 RETRACT-WORLD ASET1 ARRAY1P 5006 BOOLE$ ARRAY2P STRIP-CDRS COMPRESS2 5007 STRIP-CARS PLIST-WORLDP WORMHOLE-P 5008 MFC-TYPE-ALIST MAY-NEED-SLASHES-FN 5009 FMT-TO-COMMENT-WINDOW! 5010 HAS-PROPSP HARD-ERROR 5011 ABORT! P! MFC-RDEPTH FLUSH-COMPRESS 5012 ALPHORDER EXTEND-WORLD USER-STOBJ-ALIST 5013 READ-ACL2-ORACLE UPDATE-USER-STOBJ-ALIST 5014 DECREMENT-BIG-CLOCK 5015 PUT-GLOBAL CLOSE-INPUT-CHANNEL 5016 MAKUNBOUND-GLOBAL OPEN-INPUT-CHANNEL-P1 5017 BOUNDP-GLOBAL1 GLOBAL-TABLE-CARS1 5018 EXTEND-T-STACK LIST-ALL-PACKAGE-NAMES 5019 CLOSE-OUTPUT-CHANNEL WRITE-BYTE$ 5020 SHRINK-T-STACK ASET-32-BIT-INTEGER-STACK 5021 GET-GLOBAL 32-BIT-INTEGER-STACK-LENGTH1 5022 EXTEND-32-BIT-INTEGER-STACK 5023 ASET-T-STACK AREF-T-STACK 5024 READ-CHAR$ AREF-32-BIT-INTEGER-STACK 5025 OPEN-OUTPUT-CHANNEL-P1 5026 READ-OBJECT BIG-CLOCK-NEGATIVE-P 5027 PEEK-CHAR$ SHRINK-32-BIT-INTEGER-STACK 5028 READ-RUN-TIME 5029 READ-BYTE$ READ-IDATE T-STACK-LENGTH1 5030 PRINT-OBJECT$ EC-CALL PROG2$ MV-LIST 5031 MUST-BE-EQUAL WITH-PROVER-TIME-LIMIT 5032 WITH-GUARD-CHECKING ZPF 5033 IDENTITY ENDP NTHCDR LAST REVAPPEND NULL 5034 BUTLAST STRING MEMBER NOT MOD PLUSP ATOM 5035 LISTP ZP FLOOR CEILING TRUNCATE ROUND 5036 REM REMOVE REMOVE-DUPLICATES LOGBITP 5037 ASH LOGCOUNT SIGNUM INTEGER-LENGTH 5038 EXPT SUBSETP SUBSTITUTE ZEROP 5039 MINUSP ODDP EVENP = /= MAX MIN CONJUGATE 5040 LOGANDC1 LOGANDC2 LOGNAND LOGNOR LOGNOT 5041 LOGORC1 LOGORC2 LOGTEST POSITION ABS 5042 STRING-EQUAL STRING< STRING> STRING<= 5043 STRING>= STRING-UPCASE STRING-DOWNCASE 5044 KEYWORDP EQ EQL CHAR SUBST 5045 SUBLIS ACONS ASSOC RASSOC NTH SUBSEQ 5046 LENGTH REVERSE ZIP STANDARD-CHAR-P 5047 ALPHA-CHAR-P UPPER-CASE-P LOWER-CASE-P 5048 CHAR< CHAR> CHAR<= CHAR>= CHAR-EQUAL 5049 CHAR-UPCASE CHAR-DOWNCASE AND-LIST 5050 OR-LIST RANDOM$ THROW-NONEXEC-ERROR 5051 GC$-FN SET-COMPILER-ENABLED GOOD-BYE-FN 5052 ASSOC-EQ ASSOC-EQUAL MEMBER-EQ 5053 MEMBER-EQUAL SUBSETP-EQ SUBSETP-EQUAL 5054 REMOVE-EQ REMOVE-EQUAL POSITION-EQ 5055 POSITION-EQUAL TAKE CANONICAL-PATHNAME) 5056 (MACROS-WITH-RAW-CODE MBE 5057 THEORY-INVARIANT SET-LET*-ABSTRACTIONP 5058 DEFAXIOM SET-BOGUS-MUTUAL-RECURSION-OK 5059 SET-RULER-EXTENDERS 5060 DELETE-INCLUDE-BOOK-DIR CERTIFY-BOOK 5061 PROGN! F-PUT-GLOBAL PUSH-UNTOUCHABLE 5062 SET-BACKCHAIN-LIMIT SET-DEFAULT-HINTS! 5063 SET-OVERRIDE-HINTS-MACRO 5064 DEFTHEORY PSTK VERIFY-GUARDS 5065 DEFCHOOSE SET-DEFAULT-BACKCHAIN-LIMIT 5066 SET-STATE-OK SET-IGNORE-OK 5067 SET-NON-LINEARP WITH-OUTPUT 5068 SET-COMPILE-FNS ADD-INCLUDE-BOOK-DIR 5069 CLEAR-PSTK ADD-CUSTOM-KEYWORD-HINT 5070 INITIAL-GSTACK ACL2-UNWIND-PROTECT 5071 SET-WELL-FOUNDED-RELATION 5072 CATCH-TIME-LIMIT4 DEFUNS 5073 ADD-DEFAULT-HINTS! LOCAL ENCAPSULATE 5074 REMOVE-DEFAULT-HINTS! INCLUDE-BOOK 5075 PPROGN SET-ENFORCE-REDUNDANCY 5076 SET-IGNORE-DOC-STRING-ERROR LOGIC 5077 ER DEFLABEL MV-LET PROGRAM VALUE-TRIPLE 5078 SET-BODY COMP SET-BOGUS-DEFUN-HINTS-OK 5079 DMR-STOP DEFPKG SET-MEASURE-FUNCTION 5080 SET-INHIBIT-WARNINGS DEFTHM MV 5081 F-BIG-CLOCK-NEGATIVE-P RESET-PREHISTORY 5082 MUTUAL-RECURSION SET-REWRITE-STACK-LIMIT 5083 ADD-MATCH-FREE-OVERRIDE 5084 SET-MATCH-FREE-DEFAULT 5085 THE-MV TABLE IN-ARITHMETIC-THEORY 5086 SET-CASE-SPLIT-LIMITATIONS 5087 SET-IRRELEVANT-FORMALS-OK 5088 REMOVE-UNTOUCHABLE 5089 IN-THEORY WITH-OUTPUT-FORCED 5090 DMR-START REWRITE-ENTRY 5091 SKIP-PROOFS F-BOUNDP-GLOBAL 5092 MAKE-EVENT SET-VERIFY-GUARDS-EAGERNESS 5093 WORMHOLE VERIFY-TERMINATION-BOOT-STRAP 5094 START-PROOF-TREE F-DECREMENT-BIG-CLOCK 5095 DEFSTOBJ DEFUND DEFTTAG 5096 DEFDOC PUSH-GFRAME DEFTHMD F-GET-GLOBAL 5097 SET-NU-REWRITER-MODE CAAR CADR 5098 CDAR CDDR CAAAR CAADR CADAR CADDR CDAAR 5099 CDADR CDDAR CDDDR CAAAAR CAAADR CAADAR 5100 CAADDR CADAAR CADADR CADDAR CADDDR 5101 CDAAAR CDAADR CDADAR CDADDR CDDAAR 5102 CDDADR CDDDAR CDDDDR REST MAKE-LIST LIST 5103 OR AND * LOGIOR LOGXOR LOGAND SEARCH 5104 LOGEQV CONCATENATE LET* DEFUN THE > <= 5105 >= + - / 1+ 1- PROGN DEFMACRO COND CASE 5106 LIST* APPEND DEFCONST IN-PACKAGE INTERN 5107 FIRST SECOND THIRD FOURTH FIFTH SIXTH 5108 SEVENTH EIGHTH NINTH TENTH DIGIT-CHAR-P 5109 UNMEMOIZE HONS-LET MEMOIZE-LET MEMOIZE 5110 DEFUNS-STD DEFTHM-STD DEFUN-STD POR 5111 PAND PLET PARGS TRACE! WITH-LIVE-STATE 5112 WITH-OUTPUT-OBJECT-CHANNEL-SHARING 5113 TIME$ WITH-HCOMP-BINDINGS 5114 WITH-HCOMP-HT-BINDINGS REDEF+ 5115 REDEF- BIND-ACL2-TIME-LIMIT DEFATTACH) 5116 (MAIN-TIMER . 0) 5117 (MAKE-EVENT-DEBUG) 5118 (MAKE-EVENT-DEBUG-DEPTH . 0) 5119 (MATCH-FREE-ERROR) 5120 (MODIFYING-INCLUDE-BOOK-DIR-ALIST) 5121 (MORE-DOC-MAX-LINES . 45) 5122 (MORE-DOC-MIN-LINES . 35) 5123 (MORE-DOC-STATE) 5124 (MSWINDOWS-DRIVE) 5125 (PARALLEL-EVALUATION-ENABLED) 5126 (PC-OUTPUT) 5127 (PPR-FLAT-RIGHT-MARGIN . 40) 5128 (PRINT-BASE . 10) 5129 (PRINT-CASE . :UPCASE) 5130 (PRINT-CIRCLE) 5131 (PRINT-CIRCLE-FILES . T) 5132 (PRINT-CLAUSE-IDS) 5133 (PRINT-DOC-START-COLUMN . 15) 5134 (PRINT-ESCAPE . T) 5135 (PRINT-LENGTH) 5136 (PRINT-LEVEL) 5137 (PRINT-LINES) 5138 (PRINT-PRETTY) 5139 (PRINT-RADIX) 5140 (PRINT-READABLY) 5141 (PRINT-RIGHT-MARGIN) 5142 (PROGRAM-FNS-WITH-RAW-CODE RELIEVE-HYP-SYNP 5143 APPLY-ABBREVS-TO-LAMBDA-STACK1 5144 NTH-UPDATE-REWRITER 5145 EV-W-LST SIMPLIFY-CLAUSE1 5146 EV-REC-ACL2-UNWIND-PROTECT 5147 ALLOCATE-FIXNUM-RANGE TRACE$-FN-GENERAL 5148 EV-FNCALL! OPEN-TRACE-FILE-FN 5149 SET-TRACE-EVISC-TUPLE EV-FNCALL-W 5150 EV-REC SETUP-SIMPLIFY-CLAUSE-POT-LST1 5151 SAVE-EXEC CW-GSTACK-FN 5152 RECOMPRESS-GLOBAL-ENABLED-STRUCTURE EV-W 5153 VERBOSE-PSTACK USER-STOBJ-ALIST-SAFE 5154 COMP-FN FMT-PPR GET-MEMO 5155 ACL2-RAW-EVAL PSTACK-FN DMR-START-FN 5156 MEMO-EXIT MEMO-KEY1 SYS-CALL-STATUS 5157 EV-FNCALL-META SET-DEBUGGER-ENABLE-FN 5158 LD-LOOP PRINT-SUMMARY 5159 EV EV-LST ALLEGRO-ALLOCATE-SLOWLY-FN 5160 CERTIFY-BOOK-FN 5161 TRANSLATE11-FLET-ALIST1 INCLUDE-BOOK-FN1 5162 INCLUDE-BOOK-FN FMT1 FLSZ SET-W 5163 PROVE-LOOP CHK-VIRGIN W-OF-ANY-STATE 5164 LAMBDA-ABSTRACT LD-FN-BODY UNTRANSLATE 5165 LONGEST-COMMON-TAIL-LENGTH-REC 5166 COMPILE-FUNCTION UNTRANSLATE-LST EV-SYNP 5167 ADD-POLYS DMR-STOP-FN LD-PRINT-RESULTS 5168 APPLY-ABBREVS-TO-LAMBDA-STACK 5169 BREAK$ FLPR CLOSE-TRACE-FILE-FN 5170 EV-FNCALL-REC SYS-CALL EV-FNCALL LD-FN0 5171 LD-FN WRITE-EXPANSION-FILE LATCH-STOBJS1 5172 CHK-PACKAGE-REINCARNATION-IMPORT-RESTRICTIONS 5173 UNTRACE$-FN1 5174 BDD-TOP DEFSTOBJ-FIELD-FNS-RAW-DEFS 5175 EXPANSION-ALIST-PKG-NAMES TIMES-MOD-M31 5176 PRINT-CALL-HISTORY IPRINT-AR-AREF1 5177 PROVE MAKE-EVENT-FN OOPS-WARNING 5178 CHECKPOINT-WORLD UBT-PREHISTORY-FN 5179 GET-DECLAIM-LIST PATHNAME-UNIX-TO-OS 5180 HCOMP-BUILD-FROM-PORTCULLIS 5181 DEFCONST-VAL) 5182 (PROMPT-FUNCTION . DEFAULT-PRINT-PROMPT) 5183 (PROMPT-MEMO) 5184 (PROOF-TREE) 5185 (PROOF-TREE-BUFFER-WIDTH . 65) 5186 (PROOF-TREE-CTX) 5187 (PROOF-TREE-INDENT . "| ") 5188 (PROOF-TREE-START-PRINTED) 5189 (PROOFS-CO . 5190 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 5191 (RAW-ARITY-ALIST) 5192 (RAW-INCLUDE-BOOK-DIR-ALIST . :IGNORE) 5193 (RAW-PROOF-FORMAT) 5194 (REDO-FLAT-FAIL) 5195 (REDO-FLAT-SUCC) 5196 (REDUNDANT-WITH-RAW-CODE-OKP) 5197 (RETRACE-P) 5198 (SAFE-MODE) 5199 (SAVE-EXPANSION-FILE) 5200 (SAVED-OUTPUT-P) 5201 (SAVED-OUTPUT-REVERSED) 5202 (SAVED-OUTPUT-TOKEN-LST) 5203 (SHOW-CUSTOM-KEYWORD-HINT-EXPANSION) 5204 (SKIP-NOTIFY-ON-DEFTTAG) 5205 (SKIP-PROOFS-BY-SYSTEM) 5206 (SKIP-PROOFS-OKP-CERT . T) 5207 (SLOW-ARRAY-ACTION . :BREAK) 5208 (STANDARD-CO . 5209 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 5210 (STANDARD-OI . 5211 ACL2-OUTPUT-CHANNEL::STANDARD-OBJECT-INPUT-0) 5212 (TAINTED-OKP) 5213 (TEMP-TOUCHABLE-FNS) 5214 (TEMP-TOUCHABLE-VARS) 5215 (TERM-EVISC-TUPLE . :DEFAULT) 5216 (TIMER-ALIST) 5217 (TMP-DIR) 5218 (TRACE-CO . 5219 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 5220 (TRACE-LEVEL . 0) 5221 (TRACE-SPECS) 5222 (TRANSLATE-ERROR-DEPTH . -1) 5223 (TRIPLE-PRINT-PREFIX . " ") 5224 (TTAGS-ALLOWED . :ALL) 5225 (UNDONE-WORLDS-KILL-RING NIL NIL NIL) 5226 (USER-HOME-DIR) 5227 (VERBOSE-THEORY-WARNING . T) 5228 (WINDOW-INTERFACE-POSTLUDE 5229 . 5230 "#>\\>#<\\ (acl2-window-postlude ?~sw ~xt ~xp)#>\\>") 5231 (WINDOW-INTERFACE-PRELUDE 5232 . 5233 "~%#<\\ (acl2-window-prelude ?~sw ~xc)#>\\>#<\\<~sw") 5234 (WINDOW-INTERFACEP) 5235 (WORMHOLE-NAME) 5236 (WORMHOLE-STATUS) 5237 (WRITES-OKP . T))) 5238 (ASSOC-EQ 5239 X 5240 '((ABBREV-EVISC-TUPLE . :DEFAULT) 5241 (ACCUMULATED-TTREE) 5242 (ACCUMULATED-WARNINGS) 5243 (ACL2-RAW-MODE-P) 5244 (ACL2-VERSION . "ACL2 Version 4.0") 5245 (AXIOMSP) 5246 (BDDNOTES) 5247 (CERTIFY-BOOK-INFO) 5248 (CHECKPOINT-FORCED-GOALS) 5249 (CHECKPOINT-PROCESSORS ELIMINATE-DESTRUCTORS-CLAUSE 5250 FERTILIZE-CLAUSE GENERALIZE-CLAUSE 5251 ELIMINATE-IRRELEVANCE-CLAUSE 5252 PUSH-CLAUSE :INDUCT) 5253 (CHECKPOINT-SUMMARY-LIMIT NIL . 3) 5254 (COMPILER-ENABLED) 5255 (CONNECTED-BOOK-DIRECTORY) 5256 (CURRENT-ACL2-WORLD) 5257 (CURRENT-PACKAGE . "ACL2") 5258 (DEBUGGER-ENABLE) 5259 (DEFAXIOMS-OKP-CERT . T) 5260 (DEFERRED-TTAG-NOTES . :NOT-DEFERRED) 5261 (DEFERRED-TTAG-NOTES-SAVED) 5262 (DISTRIBUTED-BOOKS-DIR) 5263 (DMRP) 5264 (EVISC-HITP-WITHOUT-IPRINT) 5265 (EVISCERATE-HIDE-TERMS) 5266 (FMT-HARD-RIGHT-MARGIN . 77) 5267 (FMT-SOFT-RIGHT-MARGIN . 65) 5268 (GAG-MODE) 5269 (GAG-STATE) 5270 (GAG-STATE-SAVED) 5271 (GLOBAL-ENABLED-STRUCTURE) 5272 (GSTACKP) 5273 (GUARD-CHECKING-ON . T) 5274 (HONS-ENABLED) 5275 (HONS-READ-P . T) 5276 (HOST-LISP . :CCL) 5277 (IN-LOCAL-FLG) 5278 (IN-PROVE-FLG) 5279 (IN-VERIFY-FLG) 5280 (INFIXP) 5281 (INHIBIT-OUTPUT-LST SUMMARY) 5282 (INHIBIT-OUTPUT-LST-STACK) 5283 (INHIBITED-SUMMARY-TYPES) 5284 (IPRINT-AR (:HEADER :DIMENSIONS (10001) 5285 :MAXIMUM-LENGTH 40004 5286 :DEFAULT NIL 5287 :NAME IPRINT-AR 5288 :ORDER :NONE) 5289 (0 0)) 5290 (IPRINT-HARD-BOUND . 10000) 5291 (IPRINT-SOFT-BOUND . 1000) 5292 (KEEP-TMP-FILES) 5293 (LAST-MAKE-EVENT-EXPANSION) 5294 (LD-LEVEL . 0) 5295 (LD-REDEFINITION-ACTION) 5296 (LD-SKIP-PROOFSP) 5297 (LOGIC-FNS-WITH-RAW-CODE MOD-EXPT HEADER SEARCH-FN 5298 STATE-P1 AREF2 AREF1 MFC-ANCESTORS 5299 FGETPROP GETENV$ WORMHOLE-EVAL 5300 WORMHOLE1 GET-WORMHOLE-STATUS 5301 ASET2 SGETPROP SETENV$ 5302 GETPROPS COMPRESS1 TIME-LIMIT4-REACHED-P 5303 FMT-TO-COMMENT-WINDOW 5304 LEN MFC-CLAUSE CPU-CORE-COUNT 5305 NONNEGATIVE-INTEGER-QUOTIENT 5306 CHECK-PRINT-BASE 5307 RETRACT-WORLD ASET1 ARRAY1P 5308 BOOLE$ ARRAY2P STRIP-CDRS COMPRESS2 5309 STRIP-CARS PLIST-WORLDP WORMHOLE-P 5310 MFC-TYPE-ALIST MAY-NEED-SLASHES-FN 5311 FMT-TO-COMMENT-WINDOW! 5312 HAS-PROPSP HARD-ERROR 5313 ABORT! P! MFC-RDEPTH FLUSH-COMPRESS 5314 ALPHORDER EXTEND-WORLD USER-STOBJ-ALIST 5315 READ-ACL2-ORACLE UPDATE-USER-STOBJ-ALIST 5316 DECREMENT-BIG-CLOCK 5317 PUT-GLOBAL CLOSE-INPUT-CHANNEL 5318 MAKUNBOUND-GLOBAL OPEN-INPUT-CHANNEL-P1 5319 BOUNDP-GLOBAL1 GLOBAL-TABLE-CARS1 5320 EXTEND-T-STACK LIST-ALL-PACKAGE-NAMES 5321 CLOSE-OUTPUT-CHANNEL WRITE-BYTE$ 5322 SHRINK-T-STACK ASET-32-BIT-INTEGER-STACK 5323 GET-GLOBAL 32-BIT-INTEGER-STACK-LENGTH1 5324 EXTEND-32-BIT-INTEGER-STACK 5325 ASET-T-STACK AREF-T-STACK 5326 READ-CHAR$ AREF-32-BIT-INTEGER-STACK 5327 OPEN-OUTPUT-CHANNEL-P1 5328 READ-OBJECT BIG-CLOCK-NEGATIVE-P 5329 PEEK-CHAR$ SHRINK-32-BIT-INTEGER-STACK 5330 READ-RUN-TIME 5331 READ-BYTE$ READ-IDATE T-STACK-LENGTH1 5332 PRINT-OBJECT$ EC-CALL PROG2$ MV-LIST 5333 MUST-BE-EQUAL WITH-PROVER-TIME-LIMIT 5334 WITH-GUARD-CHECKING ZPF 5335 IDENTITY ENDP NTHCDR LAST REVAPPEND NULL 5336 BUTLAST STRING MEMBER NOT MOD PLUSP ATOM 5337 LISTP ZP FLOOR CEILING TRUNCATE ROUND 5338 REM REMOVE REMOVE-DUPLICATES LOGBITP 5339 ASH LOGCOUNT SIGNUM INTEGER-LENGTH 5340 EXPT SUBSETP SUBSTITUTE ZEROP 5341 MINUSP ODDP EVENP = /= MAX MIN CONJUGATE 5342 LOGANDC1 LOGANDC2 LOGNAND LOGNOR LOGNOT 5343 LOGORC1 LOGORC2 LOGTEST POSITION ABS 5344 STRING-EQUAL STRING< STRING> STRING<= 5345 STRING>= STRING-UPCASE STRING-DOWNCASE 5346 KEYWORDP EQ EQL CHAR SUBST 5347 SUBLIS ACONS ASSOC RASSOC NTH SUBSEQ 5348 LENGTH REVERSE ZIP STANDARD-CHAR-P 5349 ALPHA-CHAR-P UPPER-CASE-P LOWER-CASE-P 5350 CHAR< CHAR> CHAR<= CHAR>= CHAR-EQUAL 5351 CHAR-UPCASE CHAR-DOWNCASE AND-LIST 5352 OR-LIST RANDOM$ THROW-NONEXEC-ERROR 5353 GC$-FN SET-COMPILER-ENABLED GOOD-BYE-FN 5354 ASSOC-EQ ASSOC-EQUAL MEMBER-EQ 5355 MEMBER-EQUAL SUBSETP-EQ SUBSETP-EQUAL 5356 REMOVE-EQ REMOVE-EQUAL POSITION-EQ 5357 POSITION-EQUAL TAKE CANONICAL-PATHNAME) 5358 (MACROS-WITH-RAW-CODE MBE 5359 THEORY-INVARIANT SET-LET*-ABSTRACTIONP 5360 DEFAXIOM SET-BOGUS-MUTUAL-RECURSION-OK 5361 SET-RULER-EXTENDERS 5362 DELETE-INCLUDE-BOOK-DIR CERTIFY-BOOK 5363 PROGN! F-PUT-GLOBAL PUSH-UNTOUCHABLE 5364 SET-BACKCHAIN-LIMIT SET-DEFAULT-HINTS! 5365 SET-OVERRIDE-HINTS-MACRO 5366 DEFTHEORY PSTK VERIFY-GUARDS 5367 DEFCHOOSE SET-DEFAULT-BACKCHAIN-LIMIT 5368 SET-STATE-OK SET-IGNORE-OK 5369 SET-NON-LINEARP WITH-OUTPUT 5370 SET-COMPILE-FNS ADD-INCLUDE-BOOK-DIR 5371 CLEAR-PSTK ADD-CUSTOM-KEYWORD-HINT 5372 INITIAL-GSTACK ACL2-UNWIND-PROTECT 5373 SET-WELL-FOUNDED-RELATION 5374 CATCH-TIME-LIMIT4 DEFUNS 5375 ADD-DEFAULT-HINTS! LOCAL ENCAPSULATE 5376 REMOVE-DEFAULT-HINTS! INCLUDE-BOOK 5377 PPROGN SET-ENFORCE-REDUNDANCY 5378 SET-IGNORE-DOC-STRING-ERROR LOGIC 5379 ER DEFLABEL MV-LET PROGRAM VALUE-TRIPLE 5380 SET-BODY COMP SET-BOGUS-DEFUN-HINTS-OK 5381 DMR-STOP DEFPKG SET-MEASURE-FUNCTION 5382 SET-INHIBIT-WARNINGS DEFTHM MV 5383 F-BIG-CLOCK-NEGATIVE-P RESET-PREHISTORY 5384 MUTUAL-RECURSION SET-REWRITE-STACK-LIMIT 5385 ADD-MATCH-FREE-OVERRIDE 5386 SET-MATCH-FREE-DEFAULT 5387 THE-MV TABLE IN-ARITHMETIC-THEORY 5388 SET-CASE-SPLIT-LIMITATIONS 5389 SET-IRRELEVANT-FORMALS-OK 5390 REMOVE-UNTOUCHABLE 5391 IN-THEORY WITH-OUTPUT-FORCED 5392 DMR-START REWRITE-ENTRY 5393 SKIP-PROOFS F-BOUNDP-GLOBAL 5394 MAKE-EVENT SET-VERIFY-GUARDS-EAGERNESS 5395 WORMHOLE VERIFY-TERMINATION-BOOT-STRAP 5396 START-PROOF-TREE F-DECREMENT-BIG-CLOCK 5397 DEFSTOBJ DEFUND DEFTTAG 5398 DEFDOC PUSH-GFRAME DEFTHMD F-GET-GLOBAL 5399 SET-NU-REWRITER-MODE CAAR CADR 5400 CDAR CDDR CAAAR CAADR CADAR CADDR CDAAR 5401 CDADR CDDAR CDDDR CAAAAR CAAADR CAADAR 5402 CAADDR CADAAR CADADR CADDAR CADDDR 5403 CDAAAR CDAADR CDADAR CDADDR CDDAAR 5404 CDDADR CDDDAR CDDDDR REST MAKE-LIST LIST 5405 OR AND * LOGIOR LOGXOR LOGAND SEARCH 5406 LOGEQV CONCATENATE LET* DEFUN THE > <= 5407 >= + - / 1+ 1- PROGN DEFMACRO COND CASE 5408 LIST* APPEND DEFCONST IN-PACKAGE INTERN 5409 FIRST SECOND THIRD FOURTH FIFTH SIXTH 5410 SEVENTH EIGHTH NINTH TENTH DIGIT-CHAR-P 5411 UNMEMOIZE HONS-LET MEMOIZE-LET MEMOIZE 5412 DEFUNS-STD DEFTHM-STD DEFUN-STD POR 5413 PAND PLET PARGS TRACE! WITH-LIVE-STATE 5414 WITH-OUTPUT-OBJECT-CHANNEL-SHARING 5415 TIME$ WITH-HCOMP-BINDINGS 5416 WITH-HCOMP-HT-BINDINGS REDEF+ 5417 REDEF- BIND-ACL2-TIME-LIMIT DEFATTACH) 5418 (MAIN-TIMER . 0) 5419 (MAKE-EVENT-DEBUG) 5420 (MAKE-EVENT-DEBUG-DEPTH . 0) 5421 (MATCH-FREE-ERROR) 5422 (MODIFYING-INCLUDE-BOOK-DIR-ALIST) 5423 (MORE-DOC-MAX-LINES . 45) 5424 (MORE-DOC-MIN-LINES . 35) 5425 (MORE-DOC-STATE) 5426 (MSWINDOWS-DRIVE) 5427 (PARALLEL-EVALUATION-ENABLED) 5428 (PC-OUTPUT) 5429 (PPR-FLAT-RIGHT-MARGIN . 40) 5430 (PRINT-BASE . 10) 5431 (PRINT-CASE . :UPCASE) 5432 (PRINT-CIRCLE) 5433 (PRINT-CIRCLE-FILES . T) 5434 (PRINT-CLAUSE-IDS) 5435 (PRINT-DOC-START-COLUMN . 15) 5436 (PRINT-ESCAPE . T) 5437 (PRINT-LENGTH) 5438 (PRINT-LEVEL) 5439 (PRINT-LINES) 5440 (PRINT-PRETTY) 5441 (PRINT-RADIX) 5442 (PRINT-READABLY) 5443 (PRINT-RIGHT-MARGIN) 5444 (PROGRAM-FNS-WITH-RAW-CODE RELIEVE-HYP-SYNP 5445 APPLY-ABBREVS-TO-LAMBDA-STACK1 5446 NTH-UPDATE-REWRITER 5447 EV-W-LST SIMPLIFY-CLAUSE1 5448 EV-REC-ACL2-UNWIND-PROTECT 5449 ALLOCATE-FIXNUM-RANGE TRACE$-FN-GENERAL 5450 EV-FNCALL! OPEN-TRACE-FILE-FN 5451 SET-TRACE-EVISC-TUPLE EV-FNCALL-W 5452 EV-REC SETUP-SIMPLIFY-CLAUSE-POT-LST1 5453 SAVE-EXEC CW-GSTACK-FN 5454 RECOMPRESS-GLOBAL-ENABLED-STRUCTURE EV-W 5455 VERBOSE-PSTACK USER-STOBJ-ALIST-SAFE 5456 COMP-FN FMT-PPR GET-MEMO 5457 ACL2-RAW-EVAL PSTACK-FN DMR-START-FN 5458 MEMO-EXIT MEMO-KEY1 SYS-CALL-STATUS 5459 EV-FNCALL-META SET-DEBUGGER-ENABLE-FN 5460 LD-LOOP PRINT-SUMMARY 5461 EV EV-LST ALLEGRO-ALLOCATE-SLOWLY-FN 5462 CERTIFY-BOOK-FN 5463 TRANSLATE11-FLET-ALIST1 INCLUDE-BOOK-FN1 5464 INCLUDE-BOOK-FN FMT1 FLSZ SET-W 5465 PROVE-LOOP CHK-VIRGIN W-OF-ANY-STATE 5466 LAMBDA-ABSTRACT LD-FN-BODY UNTRANSLATE 5467 LONGEST-COMMON-TAIL-LENGTH-REC 5468 COMPILE-FUNCTION UNTRANSLATE-LST EV-SYNP 5469 ADD-POLYS DMR-STOP-FN LD-PRINT-RESULTS 5470 APPLY-ABBREVS-TO-LAMBDA-STACK 5471 BREAK$ FLPR CLOSE-TRACE-FILE-FN 5472 EV-FNCALL-REC SYS-CALL EV-FNCALL LD-FN0 5473 LD-FN WRITE-EXPANSION-FILE LATCH-STOBJS1 5474 CHK-PACKAGE-REINCARNATION-IMPORT-RESTRICTIONS 5475 UNTRACE$-FN1 5476 BDD-TOP DEFSTOBJ-FIELD-FNS-RAW-DEFS 5477 EXPANSION-ALIST-PKG-NAMES TIMES-MOD-M31 5478 PRINT-CALL-HISTORY IPRINT-AR-AREF1 5479 PROVE MAKE-EVENT-FN OOPS-WARNING 5480 CHECKPOINT-WORLD UBT-PREHISTORY-FN 5481 GET-DECLAIM-LIST PATHNAME-UNIX-TO-OS 5482 HCOMP-BUILD-FROM-PORTCULLIS 5483 DEFCONST-VAL) 5484 (PROMPT-FUNCTION . DEFAULT-PRINT-PROMPT) 5485 (PROMPT-MEMO) 5486 (PROOF-TREE) 5487 (PROOF-TREE-BUFFER-WIDTH . 65) 5488 (PROOF-TREE-CTX) 5489 (PROOF-TREE-INDENT . "| ") 5490 (PROOF-TREE-START-PRINTED) 5491 (PROOFS-CO . 5492 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 5493 (RAW-ARITY-ALIST) 5494 (RAW-INCLUDE-BOOK-DIR-ALIST . :IGNORE) 5495 (RAW-PROOF-FORMAT) 5496 (REDO-FLAT-FAIL) 5497 (REDO-FLAT-SUCC) 5498 (REDUNDANT-WITH-RAW-CODE-OKP) 5499 (RETRACE-P) 5500 (SAFE-MODE) 5501 (SAVE-EXPANSION-FILE) 5502 (SAVED-OUTPUT-P) 5503 (SAVED-OUTPUT-REVERSED) 5504 (SAVED-OUTPUT-TOKEN-LST) 5505 (SHOW-CUSTOM-KEYWORD-HINT-EXPANSION) 5506 (SKIP-NOTIFY-ON-DEFTTAG) 5507 (SKIP-PROOFS-BY-SYSTEM) 5508 (SKIP-PROOFS-OKP-CERT . T) 5509 (SLOW-ARRAY-ACTION . :BREAK) 5510 (STANDARD-CO . 5511 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 5512 (STANDARD-OI . 5513 ACL2-OUTPUT-CHANNEL::STANDARD-OBJECT-INPUT-0) 5514 (TAINTED-OKP) 5515 (TEMP-TOUCHABLE-FNS) 5516 (TEMP-TOUCHABLE-VARS) 5517 (TERM-EVISC-TUPLE . :DEFAULT) 5518 (TIMER-ALIST) 5519 (TMP-DIR) 5520 (TRACE-CO . 5521 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 5522 (TRACE-LEVEL . 0) 5523 (TRACE-SPECS) 5524 (TRANSLATE-ERROR-DEPTH . -1) 5525 (TRIPLE-PRINT-PREFIX . " ") 5526 (TTAGS-ALLOWED . :ALL) 5527 (UNDONE-WORLDS-KILL-RING NIL NIL NIL) 5528 (USER-HOME-DIR) 5529 (VERBOSE-THEORY-WARNING . T) 5530 (WINDOW-INTERFACE-POSTLUDE 5531 . 5532 "#>\\>#<\\ (acl2-window-postlude ?~sw ~xt ~xp)#>\\>") 5533 (WINDOW-INTERFACE-PRELUDE 5534 . 5535 "~%#<\\ (acl2-window-prelude ?~sw ~xc)#>\\>#<\\<~sw") 5536 (WINDOW-INTERFACEP) 5537 (WORMHOLE-NAME) 5538 (WORMHOLE-STATUS) 5539 (WRITES-OKP . T))) 5540 (ASSOC-EQ 5541 X 5542 '((STANDARD-OI . 5543 ACL2-INPUT-CHANNEL::STANDARD-OBJECT-INPUT-0) 5544 (STANDARD-CO . 5545 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 5546 (PROOFS-CO . 5547 ACL2-OUTPUT-CHANNEL::STANDARD-CHARACTER-OUTPUT-0) 5548 (LD-SKIP-PROOFSP) 5549 (LD-REDEFINITION-ACTION) 5550 (LD-PROMPT . T) 5551 (LD-KEYWORD-ALIASES) 5552 (LD-PRE-EVAL-FILTER . :ALL) 5553 (LD-PRE-EVAL-PRINT) 5554 (LD-POST-EVAL-PRINT . :COMMAND-CONVENTIONS) 5555 (LD-EVISC-TUPLE) 5556 (LD-ERROR-TRIPLES . T) 5557 (LD-ERROR-ACTION . :CONTINUE) 5558 (LD-QUERY-CONTROL-ALIST) 5559 (LD-VERBOSE 5560 . 5561 "~sv. Level ~Fl. Cbd ~xc.~|Distributed books ~ 5562 directory ~xb.~|Type :help for help.~%Type (good-bye) to ~ 5563 quit completely out of ACL2.~|~%"))))) 5564 5565(DEFUN STATE-GLOBAL-LET*-BINDINGS-P (LST) 5566 (IF (ATOM LST) 5567 (EQ LST 'NIL) 5568 (IF (CONSP (CAR LST)) 5569 (IF (SYMBOLP (CAR (CAR LST))) 5570 (IF (CONSP (CDR (CAR LST))) 5571 (IF (IF (NULL (CDR (CDR (CAR LST)))) 5572 (NULL (CDR (CDR (CAR LST)))) 5573 (IF (CONSP (CDR (CDR (CAR LST)))) 5574 (IF (SYMBOLP (CAR (CDR (CDR (CAR LST))))) 5575 (NULL (CDR (CDR (CDR (CAR LST))))) 5576 'NIL) 5577 'NIL)) 5578 (STATE-GLOBAL-LET*-BINDINGS-P (CDR LST)) 5579 'NIL) 5580 'NIL) 5581 'NIL) 5582 'NIL))) 5583 5584(DEFUN 5585 STATE-GLOBAL-LET*-GET-GLOBALS (BINDINGS) 5586 (IF 5587 (ENDP BINDINGS) 5588 'NIL 5589 (CONS 5590 (IF 5591 (ALWAYS-BOUNDP-GLOBAL (CAR (CAR BINDINGS))) 5592 (CONS 'LIST 5593 (CONS (CONS 'F-GET-GLOBAL 5594 (CONS (CONS 'QUOTE 5595 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5596 (CONS 'STATE 'NIL))) 5597 'NIL)) 5598 (CONS 5599 'IF 5600 (CONS 5601 (CONS 'F-BOUNDP-GLOBAL 5602 (CONS (CONS 'QUOTE 5603 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5604 (CONS 'STATE 'NIL))) 5605 (CONS (CONS 'LIST 5606 (CONS (CONS 'F-GET-GLOBAL 5607 (CONS (CONS 'QUOTE 5608 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5609 (CONS 'STATE 'NIL))) 5610 'NIL)) 5611 (CONS 'NIL 'NIL))))) 5612 (STATE-GLOBAL-LET*-GET-GLOBALS (CDR BINDINGS))))) 5613 5614(DEFUN 5615 STATE-GLOBAL-LET*-PUT-GLOBALS (BINDINGS) 5616 (IF 5617 (ENDP BINDINGS) 5618 'NIL 5619 (CONS 5620 ((LAMBDA 5621 (VAL-FORM BINDINGS) 5622 (IF 5623 (CDR (CDR (CAR BINDINGS))) 5624 (CONS 5625 'IF 5626 (CONS 5627 (CONS 'F-BOUNDP-GLOBAL 5628 (CONS (CONS 'QUOTE 5629 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5630 (CONS 'STATE 'NIL))) 5631 (CONS 5632 (CONS (CAR (CDR (CDR (CAR BINDINGS)))) 5633 (CONS VAL-FORM (CONS 'STATE 'NIL))) 5634 (CONS 5635 (CONS 5636 'PROG2$ 5637 (CONS 5638 (CONS 5639 'ER 5640 (CONS 5641 'HARD 5642 (CONS 5643 (CONS 'QUOTE 5644 (CONS 'STATE-GLOBAL-LET* 'NIL)) 5645 (CONS 5646 '"It is illegal to bind an unbound variable ~ 5647 in state-global-let*, in this case, ~x0, ~ 5648 when a setter function is supplied." 5649 (CONS (CONS 'QUOTE 5650 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5651 'NIL))))) 5652 (CONS 'STATE 'NIL))) 5653 'NIL)))) 5654 (CONS 'F-PUT-GLOBAL 5655 (CONS (CONS 'QUOTE 5656 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5657 (CONS VAL-FORM (CONS 'STATE 'NIL)))))) 5658 (CONS 'CHECK-VARS-NOT-FREE 5659 (CONS (CONS 'STATE-GLOBAL-LET*-CLEANUP-LST 5660 'NIL) 5661 (CONS (CAR (CDR (CAR BINDINGS))) 'NIL))) 5662 BINDINGS) 5663 (STATE-GLOBAL-LET*-PUT-GLOBALS (CDR BINDINGS))))) 5664 5665(DEFUN 5666 STATE-GLOBAL-LET*-CLEANUP 5667 (BINDINGS INDEX) 5668 ((LAMBDA 5669 (CDR-EXPR INDEX BINDINGS) 5670 (IF 5671 (ENDP BINDINGS) 5672 'NIL 5673 (CONS 5674 (IF 5675 (CDR (CDR (CAR BINDINGS))) 5676 (CONS (CAR (CDR (CDR (CAR BINDINGS)))) 5677 (CONS (CONS 'CAR 5678 (CONS (CONS 'NTH 5679 (CONS INDEX (CONS CDR-EXPR 'NIL))) 5680 'NIL)) 5681 (CONS 'STATE 'NIL))) 5682 (IF 5683 (ALWAYS-BOUNDP-GLOBAL (CAR (CAR BINDINGS))) 5684 (CONS 'F-PUT-GLOBAL 5685 (CONS (CONS 'QUOTE 5686 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5687 (CONS (CONS 'CAR 5688 (CONS (CONS 'NTH 5689 (CONS INDEX (CONS CDR-EXPR 'NIL))) 5690 'NIL)) 5691 (CONS 'STATE 'NIL)))) 5692 (CONS 5693 'IF 5694 (CONS 5695 (CONS 'NTH 5696 (CONS INDEX (CONS CDR-EXPR 'NIL))) 5697 (CONS 5698 (CONS 5699 'F-PUT-GLOBAL 5700 (CONS (CONS 'QUOTE 5701 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5702 (CONS (CONS 'CAR 5703 (CONS (CONS 'NTH 5704 (CONS INDEX (CONS CDR-EXPR 'NIL))) 5705 'NIL)) 5706 (CONS 'STATE 'NIL)))) 5707 (CONS (CONS 'MAKUNBOUND-GLOBAL 5708 (CONS (CONS 'QUOTE 5709 (CONS (CAR (CAR BINDINGS)) 'NIL)) 5710 (CONS 'STATE 'NIL))) 5711 'NIL)))))) 5712 (STATE-GLOBAL-LET*-CLEANUP (CDR BINDINGS) 5713 (BINARY-+ '1 INDEX))))) 5714 'STATE-GLOBAL-LET*-CLEANUP-LST 5715 INDEX BINDINGS)) 5716 5717(DEFUN INTEGER-RANGE-P (LOWER UPPER X) 5718 (IF (INTEGERP X) 5719 (IF (NOT (< X LOWER)) (< X UPPER) 'NIL) 5720 'NIL)) 5721 5722(DEFUN SIGNED-BYTE-P (BITS X) 5723 (IF (INTEGERP BITS) 5724 (IF (< '0 BITS) 5725 (INTEGER-RANGE-P (UNARY-- (EXPT '2 (BINARY-+ '-1 BITS))) 5726 (EXPT '2 (BINARY-+ '-1 BITS)) 5727 X) 5728 'NIL) 5729 'NIL)) 5730 5731(DEFUN UNSIGNED-BYTE-P (BITS X) 5732 (IF (INTEGERP BITS) 5733 (IF (NOT (< BITS '0)) 5734 (INTEGER-RANGE-P '0 (EXPT '2 BITS) X) 5735 'NIL) 5736 'NIL)) 5737 5738(DEFTHM INTEGER-RANGE-P-FORWARD 5739 (IMPLIES (IF (INTEGER-RANGE-P LOWER (BINARY-+ '1 UPPER-1) 5740 X) 5741 (INTEGERP UPPER-1) 5742 'NIL) 5743 (IF (INTEGERP X) 5744 (IF (NOT (< X LOWER)) 5745 (NOT (< UPPER-1 X)) 5746 'NIL) 5747 'NIL))) 5748 5749(DEFTHM SIGNED-BYTE-P-FORWARD-TO-INTEGERP 5750 (IMPLIES (SIGNED-BYTE-P N X) 5751 (INTEGERP X))) 5752 5753(DEFTHM UNSIGNED-BYTE-P-FORWARD-TO-NONNEGATIVE-INTEGERP 5754 (IMPLIES (UNSIGNED-BYTE-P N X) 5755 (IF (INTEGERP X) (NOT (< X '0)) 'NIL))) 5756 5757(DEFUN ZPF (X) (IF (INTEGERP X) (NOT (< '0 X)) 'T)) 5758 5759(DEFTHM STRING<-L-ASYMMETRIC 5760 (IMPLIES (IF (EQLABLE-LISTP X1) 5761 (IF (EQLABLE-LISTP X2) 5762 (IF (INTEGERP I) 5763 (STRING<-L X1 X2 I) 5764 'NIL) 5765 'NIL) 5766 'NIL) 5767 (NOT (STRING<-L X2 X1 I)))) 5768 5769(DEFTHM SYMBOL-<-ASYMMETRIC 5770 (IMPLIES (IF (SYMBOLP SYM1) 5771 (IF (SYMBOLP SYM2) 5772 (SYMBOL-< SYM1 SYM2) 5773 'NIL) 5774 'NIL) 5775 (NOT (SYMBOL-< SYM2 SYM1)))) 5776 5777(DEFTHM STRING<-L-TRANSITIVE 5778 (IMPLIES (IF (STRING<-L X Y I) 5779 (IF (STRING<-L Y Z J) 5780 (IF (INTEGERP I) 5781 (IF (INTEGERP J) 5782 (IF (INTEGERP K) 5783 (IF (CHARACTER-LISTP X) 5784 (IF (CHARACTER-LISTP Y) 5785 (CHARACTER-LISTP Z) 5786 'NIL) 5787 'NIL) 5788 'NIL) 5789 'NIL) 5790 'NIL) 5791 'NIL) 5792 'NIL) 5793 (STRING<-L X Z K))) 5794 5795(DEFTHM SYMBOL-<-TRANSITIVE 5796 (IMPLIES (IF (SYMBOL-< X Y) 5797 (IF (SYMBOL-< Y Z) 5798 (IF (SYMBOLP X) 5799 (IF (SYMBOLP Y) (SYMBOLP Z) 'NIL) 5800 'NIL) 5801 'NIL) 5802 'NIL) 5803 (SYMBOL-< X Z))) 5804 5805(DEFTHM STRING<-L-TRICHOTOMY 5806 (IMPLIES (IF (NOT (STRING<-L X Y I)) 5807 (IF (INTEGERP I) 5808 (IF (INTEGERP J) 5809 (IF (CHARACTER-LISTP X) 5810 (CHARACTER-LISTP Y) 5811 'NIL) 5812 'NIL) 5813 'NIL) 5814 'NIL) 5815 (IFF (STRING<-L Y X J) 5816 (NOT (EQUAL X Y))))) 5817 5818(DEFTHM SYMBOL-<-TRICHOTOMY 5819 (IMPLIES (IF (SYMBOLP X) 5820 (IF (SYMBOLP Y) 5821 (NOT (SYMBOL-< X Y)) 5822 'NIL) 5823 'NIL) 5824 (IFF (SYMBOL-< Y X) (NOT (EQUAL X Y))))) 5825 5826(DEFTHM ORDERED-SYMBOL-ALISTP-REMOVE-FIRST-PAIR 5827 (IMPLIES (IF (ORDERED-SYMBOL-ALISTP L) 5828 (IF (SYMBOLP KEY) (ASSOC-EQ KEY L) 'NIL) 5829 'NIL) 5830 (ORDERED-SYMBOL-ALISTP (REMOVE-FIRST-PAIR KEY L)))) 5831 5832(DEFTHM SYMBOL-<-IRREFLEXIVE (IMPLIES (SYMBOLP X) (NOT (SYMBOL-< X X)))) 5833 5834(DEFTHM ORDERED-SYMBOL-ALISTP-ADD-PAIR 5835 (IMPLIES (IF (ORDERED-SYMBOL-ALISTP GS) 5836 (SYMBOLP W5) 5837 'NIL) 5838 (ORDERED-SYMBOL-ALISTP (ADD-PAIR W5 W6 GS)))) 5839 5840(DEFTHM ORDERED-SYMBOL-ALISTP-GETPROPS 5841 (IMPLIES (IF (PLIST-WORLDP W) 5842 (IF (SYMBOLP WORLD-NAME) 5843 (SYMBOLP KEY) 5844 'NIL) 5845 'NIL) 5846 (ORDERED-SYMBOL-ALISTP (GETPROPS KEY WORLD-NAME W)))) 5847 5848(DEFUN INTEGER-LENGTH (I) 5849 (IF (ZIP I) 5850 '0 5851 (IF (= I '-1) 5852 '0 5853 (BINARY-+ '1 5854 (INTEGER-LENGTH (FLOOR I '2)))))) 5855 5856(DEFUN 5857 BINARY-LOGAND (I J) 5858 (IF (ZIP I) 5859 '0 5860 (IF (ZIP J) 5861 '0 5862 (IF (EQL I '-1) 5863 J 5864 (IF (EQL J '-1) 5865 I 5866 ((LAMBDA (X J I) 5867 (BINARY-+ X 5868 (IF (EVENP I) '0 (IF (EVENP J) '0 '1)))) 5869 (BINARY-* '2 5870 (BINARY-LOGAND (FLOOR I '2) 5871 (FLOOR J '2))) 5872 J I)))))) 5873 5874(DEFUN LOGNAND (I J) (LOGNOT (BINARY-LOGAND I J))) 5875 5876(DEFUN BINARY-LOGIOR (I J) (LOGNOT (BINARY-LOGAND (LOGNOT I) (LOGNOT J)))) 5877 5878(DEFUN LOGORC1 (I J) (BINARY-LOGIOR (LOGNOT I) J)) 5879 5880(DEFUN LOGORC2 (I J) (BINARY-LOGIOR I (LOGNOT J))) 5881 5882(DEFUN LOGANDC1 (I J) (BINARY-LOGAND (LOGNOT I) J)) 5883 5884(DEFUN LOGANDC2 (I J) (BINARY-LOGAND I (LOGNOT J))) 5885 5886(DEFUN BINARY-LOGEQV (I J) (BINARY-LOGAND (LOGORC1 I J) (LOGORC1 J I))) 5887 5888(DEFUN BINARY-LOGXOR (I J) (LOGNOT (BINARY-LOGEQV I J))) 5889 5890(DEFUN LOGNOR (I J) (LOGNOT (BINARY-LOGIOR I J))) 5891 5892(DEFUN LOGTEST (X Y) (NOT (ZEROP (BINARY-LOGAND X Y)))) 5893 5894(DEFUN 5895 BOOLE$ (OP I1 I2) 5896 (IF 5897 (EQL OP '0) 5898 I1 5899 (IF 5900 (EQL OP '1) 5901 I2 5902 (IF 5903 (EQL OP '2) 5904 (BINARY-LOGAND I1 I2) 5905 (IF (EQL OP '3) 5906 (LOGANDC1 I1 I2) 5907 (IF (EQL OP '4) 5908 (LOGANDC2 I1 I2) 5909 (IF (EQL OP '5) 5910 (LOGNOT I1) 5911 (IF (EQL OP '6) 5912 (LOGNOT I2) 5913 (IF (EQL OP '7) 5914 '0 5915 (IF (EQL OP '8) 5916 (BINARY-LOGEQV I1 I2) 5917 (IF (EQL OP '9) 5918 (BINARY-LOGIOR I1 I2) 5919 (IF (EQL OP '10) 5920 (LOGNAND I1 I2) 5921 (IF (EQL OP '11) 5922 (LOGNOR I1 I2) 5923 (IF (EQL OP '12) 5924 (LOGORC1 I1 I2) 5925 (IF (EQL OP '13) 5926 (LOGORC2 I1 I2) 5927 (IF (EQL OP '14) 5928 '1 5929 (IF (EQL OP '15) 5930 (BINARY-LOGXOR I1 I2) 5931 '0))))))))))))))))) 5932 5933(DEFUN 5934 SET-FORMS-FROM-BINDINGS (BINDINGS) 5935 (IF (ENDP BINDINGS) 5936 'NIL 5937 (CONS (CONS (INTERN-IN-PACKAGE-OF-SYMBOL 5938 (STRING-APPEND '"SET-" 5939 (SYMBOL-NAME (CAR (CAR BINDINGS)))) 5940 (PKG-WITNESS '"ACL2")) 5941 (CONS (CAR (CDR (CAR BINDINGS))) 5942 (CONS 'STATE 'NIL))) 5943 (SET-FORMS-FROM-BINDINGS (CDR BINDINGS))))) 5944 5945(DEFUN ALIST-DIFFERENCE-EQ (ALIST1 ALIST2) 5946 (IF (ENDP ALIST1) 5947 'NIL 5948 (IF (ASSOC-EQ (CAR (CAR ALIST1)) ALIST2) 5949 (ALIST-DIFFERENCE-EQ (CDR ALIST1) 5950 ALIST2) 5951 (CONS (CAR ALIST1) 5952 (ALIST-DIFFERENCE-EQ (CDR ALIST1) 5953 ALIST2))))) 5954 5955(DEFUN 5956 DIGIT-TO-CHAR (N) 5957 (IF 5958 (EQL N '1) 5959 '#\1 5960 (IF 5961 (EQL N '2) 5962 '#\2 5963 (IF (EQL N '3) 5964 '#\3 5965 (IF (EQL N '4) 5966 '#\4 5967 (IF (EQL N '5) 5968 '#\5 5969 (IF (EQL N '6) 5970 '#\6 5971 (IF (EQL N '7) 5972 '#\7 5973 (IF (EQL N '8) 5974 '#\8 5975 (IF (EQL N '9) 5976 '#\9 5977 (IF (EQL N '10) 5978 '#\A 5979 (IF (EQL N '11) 5980 '#\B 5981 (IF (EQL N '12) 5982 '#\C 5983 (IF (EQL N '13) 5984 '#\D 5985 (IF (EQL N '14) 5986 '#\E 5987 (IF (EQL N '15) 5988 '#\F 5989 '#\0)))))))))))))))) 5990 5991(DEFUN PRINT-BASE-P (PRINT-BASE) (MEMBER PRINT-BASE '(2 8 10 16))) 5992 5993(DEFUN 5994 EXPLODE-NONNEGATIVE-INTEGER 5995 (N PRINT-BASE ANS) 5996 (IF (IF (ZP N) 5997 (ZP N) 5998 (NOT (PRINT-BASE-P PRINT-BASE))) 5999 (IF (NULL ANS) '(#\0) ANS) 6000 (EXPLODE-NONNEGATIVE-INTEGER (FLOOR N PRINT-BASE) 6001 PRINT-BASE 6002 (CONS (DIGIT-TO-CHAR (MOD N PRINT-BASE)) 6003 ANS)))) 6004 6005(DEFUN 6006 EXPLODE-ATOM (X PRINT-BASE) 6007 (IF 6008 (RATIONALP X) 6009 (IF (INTEGERP X) 6010 ((LAMBDA (DIGITS PRINT-BASE) 6011 (IF (EQL '10 6012 ((LAMBDA (VAR) 6013 (IF (INTEGERP VAR) 6014 VAR (THE-ERROR 'INTEGER VAR))) 6015 PRINT-BASE)) 6016 DIGITS 6017 (CONS '#\# 6018 (CONS (IF (EQL PRINT-BASE '2) 6019 '#\b 6020 (IF (EQL PRINT-BASE '8) 6021 '#\o 6022 (IF (EQL PRINT-BASE '16) 6023 '#\x 6024 (ILLEGAL 'EXPLODE-ATOM 6025 '"Unexpected base, ~x0" 6026 PRINT-BASE)))) 6027 DIGITS)))) 6028 (IF (< X '0) 6029 (CONS '#\- 6030 (EXPLODE-NONNEGATIVE-INTEGER (UNARY-- X) 6031 PRINT-BASE 'NIL)) 6032 (EXPLODE-NONNEGATIVE-INTEGER X PRINT-BASE 'NIL)) 6033 PRINT-BASE) 6034 (BINARY-APPEND (EXPLODE-ATOM (NUMERATOR X) PRINT-BASE) 6035 (CONS '#\/ 6036 (EXPLODE-NONNEGATIVE-INTEGER (DENOMINATOR X) 6037 PRINT-BASE 'NIL)))) 6038 (IF 6039 (COMPLEX-RATIONALP X) 6040 (CONS 6041 '#\# 6042 (CONS 6043 '#\C 6044 (CONS '#\( 6045 (BINARY-APPEND 6046 (EXPLODE-ATOM (REALPART X) PRINT-BASE) 6047 (CONS '#\Space 6048 (BINARY-APPEND (EXPLODE-ATOM (IMAGPART X) PRINT-BASE) 6049 '(#\)))))))) 6050 (IF (CHARACTERP X) 6051 (CONS X 'NIL) 6052 (IF (STRINGP X) 6053 (COERCE X 'LIST) 6054 (COERCE (SYMBOL-NAME X) 'LIST)))))) 6055 6056(DEFTHM TRUE-LIST-LISTP-FORWARD-TO-TRUE-LISTP-ASSOC-EQ 6057 (IMPLIES (TRUE-LIST-LISTP L) 6058 (TRUE-LISTP (ASSOC-EQ KEY L)))) 6059 6060(DEFTHM TRUE-LISTP-CADR-ASSOC-EQ-FOR-OPEN-CHANNELS-P 6061 (IMPLIES (OPEN-CHANNELS-P ALIST) 6062 (TRUE-LISTP (CAR (CDR (ASSOC-EQ KEY ALIST)))))) 6063 6064(DEFUN OPEN-INPUT-CHANNEL-P1 6065 (CHANNEL TYP STATE-STATE) 6066 ((LAMBDA (PAIR TYP) 6067 (IF PAIR 6068 (EQ (CAR (CDR (CAR (CDR PAIR)))) TYP) 6069 'NIL)) 6070 (ASSOC-EQ CHANNEL 6071 (OPEN-INPUT-CHANNELS STATE-STATE)) 6072 TYP)) 6073 6074(DEFUN OPEN-OUTPUT-CHANNEL-P1 6075 (CHANNEL TYP STATE-STATE) 6076 ((LAMBDA (PAIR TYP) 6077 (IF PAIR 6078 (EQ (CAR (CDR (CAR (CDR PAIR)))) TYP) 6079 'NIL)) 6080 (ASSOC-EQ CHANNEL 6081 (OPEN-OUTPUT-CHANNELS STATE-STATE)) 6082 TYP)) 6083 6084(DEFUN OPEN-INPUT-CHANNEL-P 6085 (CHANNEL TYP STATE-STATE) 6086 (OPEN-INPUT-CHANNEL-P1 CHANNEL TYP STATE-STATE)) 6087 6088(DEFUN OPEN-OUTPUT-CHANNEL-P 6089 (CHANNEL TYP STATE-STATE) 6090 (OPEN-OUTPUT-CHANNEL-P1 CHANNEL TYP STATE-STATE)) 6091 6092(DEFUN OPEN-OUTPUT-CHANNEL-ANY-P1 6093 (CHANNEL STATE-STATE) 6094 (IF (OPEN-OUTPUT-CHANNEL-P1 CHANNEL ':CHARACTER 6095 STATE-STATE) 6096 (OPEN-OUTPUT-CHANNEL-P1 CHANNEL ':CHARACTER 6097 STATE-STATE) 6098 (IF (OPEN-OUTPUT-CHANNEL-P1 CHANNEL ':BYTE 6099 STATE-STATE) 6100 (OPEN-OUTPUT-CHANNEL-P1 CHANNEL ':BYTE 6101 STATE-STATE) 6102 (OPEN-OUTPUT-CHANNEL-P1 CHANNEL ':OBJECT 6103 STATE-STATE)))) 6104 6105(DEFUN OPEN-OUTPUT-CHANNEL-ANY-P 6106 (CHANNEL STATE-STATE) 6107 (OPEN-OUTPUT-CHANNEL-ANY-P1 CHANNEL STATE-STATE)) 6108 6109(DEFUN OPEN-INPUT-CHANNEL-ANY-P1 6110 (CHANNEL STATE-STATE) 6111 (IF (OPEN-INPUT-CHANNEL-P1 CHANNEL ':CHARACTER 6112 STATE-STATE) 6113 (OPEN-INPUT-CHANNEL-P1 CHANNEL ':CHARACTER 6114 STATE-STATE) 6115 (IF (OPEN-INPUT-CHANNEL-P1 CHANNEL ':BYTE 6116 STATE-STATE) 6117 (OPEN-INPUT-CHANNEL-P1 CHANNEL ':BYTE 6118 STATE-STATE) 6119 (OPEN-INPUT-CHANNEL-P1 CHANNEL ':OBJECT 6120 STATE-STATE)))) 6121 6122(DEFUN OPEN-INPUT-CHANNEL-ANY-P 6123 (CHANNEL STATE-STATE) 6124 (OPEN-INPUT-CHANNEL-ANY-P1 CHANNEL STATE-STATE)) 6125 6126(DEFUN 6127 SET-PRINT-CASE (CASE STATE) 6128 (PROG2$ 6129 (IF 6130 (EQ CASE ':UPCASE) 6131 (EQ CASE ':UPCASE) 6132 (IF 6133 (EQ CASE ':DOWNCASE) 6134 (EQ CASE ':DOWNCASE) 6135 (ILLEGAL 6136 'SET-PRINT-CASE 6137 '"The value ~x0 is illegal as an ACL2 print-base, which ~ 6138 must be :UPCASE or :DOWNCASE." 6139 (CONS (CONS '#\0 CASE) 'NIL)))) 6140 (PUT-GLOBAL 'PRINT-CASE CASE STATE))) 6141 6142(DEFUN 6143 CHECK-PRINT-BASE (PRINT-BASE CTX) 6144 (IF 6145 (PRINT-BASE-P PRINT-BASE) 6146 'NIL 6147 (HARD-ERROR 6148 CTX 6149 '"The value ~x0 is illegal as a print-base, which must be 2, ~ 6150 8, 10, or 16" 6151 (CONS (CONS '#\0 PRINT-BASE) 'NIL)))) 6152 6153(DEFUN SET-PRINT-BASE (BASE STATE) 6154 (PROG2$ (CHECK-PRINT-BASE BASE 'SET-PRINT-BASE) 6155 (PUT-GLOBAL 'PRINT-BASE BASE STATE))) 6156 6157(DEFUN SET-PRINT-CIRCLE (X STATE) (PUT-GLOBAL 'PRINT-CIRCLE X STATE)) 6158 6159(DEFUN SET-PRINT-ESCAPE (X STATE) (PUT-GLOBAL 'PRINT-ESCAPE X STATE)) 6160 6161(DEFUN SET-PRINT-PRETTY (X STATE) (PUT-GLOBAL 'PRINT-PRETTY X STATE)) 6162 6163(DEFUN SET-PRINT-RADIX (X STATE) (PUT-GLOBAL 'PRINT-RADIX X STATE)) 6164 6165(DEFUN SET-PRINT-READABLY (X STATE) (PUT-GLOBAL 'PRINT-READABLY X STATE)) 6166 6167(DEFUN 6168 CHECK-NULL-OR-NATP (N FN) 6169 (IF 6170 (NULL N) 6171 (NULL N) 6172 (IF 6173 (NATP N) 6174 (NATP N) 6175 (HARD-ERROR 6176 FN 6177 '"The argument of ~x0 must be ~x1 or a positive integer, but ~ 6178 ~x2 is neither." 6179 (CONS (CONS '#\0 FN) 6180 (CONS (CONS '#\1 'NIL) 6181 (CONS (CONS '#\2 N) 'NIL))))))) 6182 6183(DEFUN SET-PRINT-LENGTH (N STATE) 6184 (PROG2$ (CHECK-NULL-OR-NATP N 'SET-PRINT-LENGTH) 6185 (PUT-GLOBAL 'PRINT-LENGTH N STATE))) 6186 6187(DEFUN SET-PRINT-LEVEL (N STATE) 6188 (PROG2$ (CHECK-NULL-OR-NATP N 'SET-PRINT-LEVEL) 6189 (PUT-GLOBAL 'PRINT-LEVEL N STATE))) 6190 6191(DEFUN SET-PRINT-LINES (N STATE) 6192 (PROG2$ (CHECK-NULL-OR-NATP N 'SET-PRINT-LINES) 6193 (PUT-GLOBAL 'PRINT-LINES N STATE))) 6194 6195(DEFUN SET-PRINT-RIGHT-MARGIN (N STATE) 6196 (PROG2$ (CHECK-NULL-OR-NATP N 'SET-PRINT-RIGHT-MARGIN) 6197 (PUT-GLOBAL 'PRINT-RIGHT-MARGIN 6198 N STATE))) 6199 6200(DEFUN 6201 PRINC$ (X CHANNEL STATE-STATE) 6202 ((LAMBDA 6203 (ENTRY STATE-STATE X CHANNEL) 6204 (UPDATE-OPEN-OUTPUT-CHANNELS 6205 (ADD-PAIR 6206 CHANNEL 6207 (CONS 6208 (CAR ENTRY) 6209 (REVAPPEND 6210 (IF (IF (SYMBOLP X) 6211 (EQ (CDR (ASSOC-EQ 'PRINT-CASE 6212 (GLOBAL-TABLE STATE-STATE))) 6213 ':DOWNCASE) 6214 'NIL) 6215 (COERCE (STRING-DOWNCASE (SYMBOL-NAME X)) 6216 'LIST) 6217 (EXPLODE-ATOM X 6218 (CDR (ASSOC-EQ 'PRINT-BASE 6219 (GLOBAL-TABLE STATE-STATE))))) 6220 (CDR ENTRY))) 6221 (OPEN-OUTPUT-CHANNELS STATE-STATE)) 6222 STATE-STATE)) 6223 (CDR (ASSOC-EQ CHANNEL 6224 (OPEN-OUTPUT-CHANNELS STATE-STATE))) 6225 STATE-STATE X CHANNEL)) 6226 6227(DEFUN WRITE-BYTE$ (X CHANNEL STATE-STATE) 6228 ((LAMBDA (ENTRY STATE-STATE X CHANNEL) 6229 (UPDATE-OPEN-OUTPUT-CHANNELS 6230 (ADD-PAIR CHANNEL 6231 (CONS (CAR ENTRY) (CONS X (CDR ENTRY))) 6232 (OPEN-OUTPUT-CHANNELS STATE-STATE)) 6233 STATE-STATE)) 6234 (CDR (ASSOC-EQ CHANNEL 6235 (OPEN-OUTPUT-CHANNELS STATE-STATE))) 6236 STATE-STATE X CHANNEL)) 6237 6238(DEFUN PRINT-OBJECT$ (X CHANNEL STATE-STATE) 6239 ((LAMBDA (ENTRY STATE-STATE X CHANNEL) 6240 (UPDATE-OPEN-OUTPUT-CHANNELS 6241 (ADD-PAIR CHANNEL 6242 (CONS (CAR ENTRY) (CONS X (CDR ENTRY))) 6243 (OPEN-OUTPUT-CHANNELS STATE-STATE)) 6244 STATE-STATE)) 6245 (CDR (ASSOC-EQ CHANNEL 6246 (OPEN-OUTPUT-CHANNELS STATE-STATE))) 6247 STATE-STATE X CHANNEL)) 6248 6249(DEFUN MAKE-INPUT-CHANNEL (FILE-NAME CLOCK) 6250 (INTERN-IN-PACKAGE-OF-SYMBOL 6251 (COERCE (BINARY-APPEND (COERCE FILE-NAME 'LIST) 6252 (CONS '#\- (EXPLODE-ATOM CLOCK '10))) 6253 'STRING) 6254 'ACL2-INPUT-CHANNEL::A-RANDOM-SYMBOL-FOR-INTERN)) 6255 6256(DEFUN MAKE-OUTPUT-CHANNEL (FILE-NAME CLOCK) 6257 (INTERN-IN-PACKAGE-OF-SYMBOL 6258 (COERCE (BINARY-APPEND (COERCE FILE-NAME 'LIST) 6259 (CONS '#\- (EXPLODE-ATOM CLOCK '10))) 6260 'STRING) 6261 'ACL2-OUTPUT-CHANNEL::A-RANDOM-SYMBOL-FOR-INTERN)) 6262 6263(DEFUN 6264 OPEN-INPUT-CHANNEL 6265 (FILE-NAME TYP STATE-STATE) 6266 ((LAMBDA 6267 (STATE-STATE TYP FILE-NAME) 6268 ((LAMBDA 6269 (PAIR TYP STATE-STATE FILE-NAME) 6270 (IF 6271 PAIR 6272 ((LAMBDA 6273 (CHANNEL PAIR STATE-STATE FILE-NAME TYP) 6274 (CONS 6275 CHANNEL 6276 (CONS 6277 (UPDATE-OPEN-INPUT-CHANNELS 6278 (ADD-PAIR 6279 CHANNEL 6280 (CONS (CONS ':HEADER 6281 (CONS TYP 6282 (CONS FILE-NAME 6283 (CONS (FILE-CLOCK STATE-STATE) 'NIL)))) 6284 (CDR PAIR)) 6285 (OPEN-INPUT-CHANNELS STATE-STATE)) 6286 STATE-STATE) 6287 'NIL))) 6288 (MAKE-INPUT-CHANNEL FILE-NAME (FILE-CLOCK STATE-STATE)) 6289 PAIR STATE-STATE FILE-NAME TYP) 6290 (CONS 'NIL (CONS STATE-STATE 'NIL)))) 6291 (ASSOC-EQUAL (CONS FILE-NAME 6292 (CONS TYP 6293 (CONS (FILE-CLOCK STATE-STATE) 'NIL))) 6294 (READABLE-FILES STATE-STATE)) 6295 TYP STATE-STATE FILE-NAME)) 6296 (UPDATE-FILE-CLOCK (BINARY-+ '1 (FILE-CLOCK STATE-STATE)) 6297 STATE-STATE) 6298 TYP FILE-NAME)) 6299 6300(DEFTHM NTH-UPDATE-NTH 6301 (EQUAL (NTH M (UPDATE-NTH N VAL L)) 6302 (IF (EQUAL (NFIX M) (NFIX N)) 6303 VAL (NTH M L)))) 6304 6305(DEFTHM TRUE-LISTP-UPDATE-NTH 6306 (IMPLIES (TRUE-LISTP L) 6307 (TRUE-LISTP (UPDATE-NTH KEY VAL L)))) 6308 6309(DEFTHM NTH-UPDATE-NTH-ARRAY 6310 (EQUAL (NTH M (UPDATE-NTH-ARRAY N I VAL L)) 6311 (IF (EQUAL (NFIX M) (NFIX N)) 6312 (UPDATE-NTH I VAL (NTH M L)) 6313 (NTH M L)))) 6314 6315(DEFUN 6316 CLOSE-INPUT-CHANNEL 6317 (CHANNEL STATE-STATE) 6318 ((LAMBDA 6319 (STATE-STATE CHANNEL) 6320 ((LAMBDA 6321 (HEADER-ENTRIES CHANNEL STATE-STATE) 6322 ((LAMBDA (STATE-STATE CHANNEL) 6323 ((LAMBDA (STATE-STATE) STATE-STATE) 6324 (UPDATE-OPEN-INPUT-CHANNELS 6325 (DELETE-PAIR CHANNEL 6326 (OPEN-INPUT-CHANNELS STATE-STATE)) 6327 STATE-STATE))) 6328 (UPDATE-READ-FILES 6329 (CONS (CONS (CAR (CDR HEADER-ENTRIES)) 6330 (CONS (CAR HEADER-ENTRIES) 6331 (CONS (CAR (CDR (CDR HEADER-ENTRIES))) 6332 (CONS (FILE-CLOCK STATE-STATE) 'NIL)))) 6333 (READ-FILES STATE-STATE)) 6334 STATE-STATE) 6335 CHANNEL)) 6336 (CDR (CAR (CDR (ASSOC-EQ CHANNEL 6337 (OPEN-INPUT-CHANNELS STATE-STATE))))) 6338 CHANNEL STATE-STATE)) 6339 (UPDATE-FILE-CLOCK (BINARY-+ '1 (FILE-CLOCK STATE-STATE)) 6340 STATE-STATE) 6341 CHANNEL)) 6342 6343(DEFUN 6344 OPEN-OUTPUT-CHANNEL 6345 (FILE-NAME TYP STATE-STATE) 6346 ((LAMBDA 6347 (STATE-STATE TYP FILE-NAME) 6348 (IF 6349 (MEMBER-EQUAL (CONS FILE-NAME 6350 (CONS TYP 6351 (CONS (FILE-CLOCK STATE-STATE) 'NIL))) 6352 (WRITEABLE-FILES STATE-STATE)) 6353 ((LAMBDA 6354 (CHANNEL STATE-STATE FILE-NAME TYP) 6355 (CONS 6356 CHANNEL 6357 (CONS 6358 (UPDATE-OPEN-OUTPUT-CHANNELS 6359 (ADD-PAIR 6360 CHANNEL 6361 (CONS (CONS ':HEADER 6362 (CONS TYP 6363 (CONS FILE-NAME 6364 (CONS (FILE-CLOCK STATE-STATE) 'NIL)))) 6365 'NIL) 6366 (OPEN-OUTPUT-CHANNELS STATE-STATE)) 6367 STATE-STATE) 6368 'NIL))) 6369 (MAKE-OUTPUT-CHANNEL FILE-NAME (FILE-CLOCK STATE-STATE)) 6370 STATE-STATE FILE-NAME TYP) 6371 (CONS 'NIL (CONS STATE-STATE 'NIL)))) 6372 (UPDATE-FILE-CLOCK (BINARY-+ '1 (FILE-CLOCK STATE-STATE)) 6373 STATE-STATE) 6374 TYP FILE-NAME)) 6375 6376(DEFUN 6377 OPEN-OUTPUT-CHANNEL! 6378 (FILE-NAME TYP STATE) 6379 ((LAMBDA (MV) 6380 ((LAMBDA (ERP CHAN STATE) 6381 (CONS CHAN (CONS STATE 'NIL))) 6382 (HIDE (MV-NTH '0 MV)) 6383 (MV-NTH '1 MV) 6384 (MV-NTH '2 MV))) 6385 ((LAMBDA 6386 (STATE-GLOBAL-LET*-CLEANUP-LST FILE-NAME TYP STATE) 6387 ((LAMBDA 6388 (MV STATE-GLOBAL-LET*-CLEANUP-LST) 6389 ((LAMBDA (ACL2-UNWIND-PROTECT-ERP ACL2-UNWIND-PROTECT-VAL 6390 STATE STATE-GLOBAL-LET*-CLEANUP-LST) 6391 (IF ACL2-UNWIND-PROTECT-ERP 6392 ((LAMBDA (STATE ACL2-UNWIND-PROTECT-VAL 6393 ACL2-UNWIND-PROTECT-ERP) 6394 (CONS ACL2-UNWIND-PROTECT-ERP 6395 (CONS ACL2-UNWIND-PROTECT-VAL 6396 (CONS STATE 'NIL)))) 6397 ((LAMBDA (STATE) STATE) 6398 (PUT-GLOBAL 'WRITES-OKP 6399 (CAR (NTH '0 STATE-GLOBAL-LET*-CLEANUP-LST)) 6400 STATE)) 6401 ACL2-UNWIND-PROTECT-VAL 6402 ACL2-UNWIND-PROTECT-ERP) 6403 ((LAMBDA (STATE ACL2-UNWIND-PROTECT-VAL 6404 ACL2-UNWIND-PROTECT-ERP) 6405 (CONS ACL2-UNWIND-PROTECT-ERP 6406 (CONS ACL2-UNWIND-PROTECT-VAL 6407 (CONS STATE 'NIL)))) 6408 ((LAMBDA (STATE) STATE) 6409 (PUT-GLOBAL 'WRITES-OKP 6410 (CAR (NTH '0 STATE-GLOBAL-LET*-CLEANUP-LST)) 6411 STATE)) 6412 ACL2-UNWIND-PROTECT-VAL 6413 ACL2-UNWIND-PROTECT-ERP))) 6414 (MV-NTH '0 MV) 6415 (MV-NTH '1 MV) 6416 (MV-NTH '2 MV) 6417 STATE-GLOBAL-LET*-CLEANUP-LST)) 6418 ((LAMBDA (STATE TYP FILE-NAME) 6419 ((LAMBDA (MV) 6420 ((LAMBDA (CHAN STATE) 6421 (CONS 'NIL 6422 (CONS CHAN (CONS STATE 'NIL)))) 6423 (MV-NTH '0 MV) 6424 (MV-NTH '1 MV))) 6425 (OPEN-OUTPUT-CHANNEL FILE-NAME TYP STATE))) 6426 (PUT-GLOBAL 'WRITES-OKP 'T STATE) 6427 TYP FILE-NAME) 6428 STATE-GLOBAL-LET*-CLEANUP-LST)) 6429 (CONS (CONS (GET-GLOBAL 'WRITES-OKP STATE) 6430 'NIL) 6431 'NIL) 6432 FILE-NAME TYP STATE))) 6433 6434(DEFUN 6435 CLOSE-OUTPUT-CHANNEL 6436 (CHANNEL STATE-STATE) 6437 ((LAMBDA 6438 (STATE-STATE CHANNEL) 6439 ((LAMBDA 6440 (PAIR STATE-STATE CHANNEL) 6441 ((LAMBDA 6442 (HEADER-ENTRIES CHANNEL PAIR STATE-STATE) 6443 ((LAMBDA (STATE-STATE CHANNEL) 6444 ((LAMBDA (STATE-STATE) STATE-STATE) 6445 (UPDATE-OPEN-OUTPUT-CHANNELS 6446 (DELETE-PAIR CHANNEL 6447 (OPEN-OUTPUT-CHANNELS STATE-STATE)) 6448 STATE-STATE))) 6449 (UPDATE-WRITTEN-FILES 6450 (CONS 6451 (CONS (CONS (CAR (CDR HEADER-ENTRIES)) 6452 (CONS (CAR HEADER-ENTRIES) 6453 (CONS (CAR (CDR (CDR HEADER-ENTRIES))) 6454 (CONS (FILE-CLOCK STATE-STATE) 'NIL)))) 6455 (CDR (CDR PAIR))) 6456 (WRITTEN-FILES STATE-STATE)) 6457 STATE-STATE) 6458 CHANNEL)) 6459 (CDR (CAR (CDR PAIR))) 6460 CHANNEL PAIR STATE-STATE)) 6461 (ASSOC-EQ CHANNEL 6462 (OPEN-OUTPUT-CHANNELS STATE-STATE)) 6463 STATE-STATE CHANNEL)) 6464 (UPDATE-FILE-CLOCK (BINARY-+ '1 (FILE-CLOCK STATE-STATE)) 6465 STATE-STATE) 6466 CHANNEL)) 6467 6468(DEFUN 6469 READ-CHAR$ (CHANNEL STATE-STATE) 6470 ((LAMBDA (ENTRY STATE-STATE CHANNEL) 6471 (CONS (CAR (CDR ENTRY)) 6472 (CONS (UPDATE-OPEN-INPUT-CHANNELS 6473 (ADD-PAIR CHANNEL 6474 (CONS (CAR ENTRY) (CDR (CDR ENTRY))) 6475 (OPEN-INPUT-CHANNELS STATE-STATE)) 6476 STATE-STATE) 6477 'NIL))) 6478 (CDR (ASSOC-EQ CHANNEL 6479 (OPEN-INPUT-CHANNELS STATE-STATE))) 6480 STATE-STATE CHANNEL)) 6481 6482(DEFUN PEEK-CHAR$ (CHANNEL STATE-STATE) 6483 ((LAMBDA (ENTRY) (CAR (CDR ENTRY))) 6484 (CDR (ASSOC-EQ CHANNEL 6485 (OPEN-INPUT-CHANNELS STATE-STATE))))) 6486 6487(DEFUN 6488 READ-BYTE$ (CHANNEL STATE-STATE) 6489 ((LAMBDA (ENTRY STATE-STATE CHANNEL) 6490 (CONS (CAR (CDR ENTRY)) 6491 (CONS (UPDATE-OPEN-INPUT-CHANNELS 6492 (ADD-PAIR CHANNEL 6493 (CONS (CAR ENTRY) (CDR (CDR ENTRY))) 6494 (OPEN-INPUT-CHANNELS STATE-STATE)) 6495 STATE-STATE) 6496 'NIL))) 6497 (CDR (ASSOC-EQ CHANNEL 6498 (OPEN-INPUT-CHANNELS STATE-STATE))) 6499 STATE-STATE CHANNEL)) 6500 6501(DEFUN 6502 READ-OBJECT (CHANNEL STATE-STATE) 6503 ((LAMBDA 6504 (ENTRY STATE-STATE CHANNEL) 6505 (IF (CDR ENTRY) 6506 (CONS 'NIL 6507 (CONS (CAR (CDR ENTRY)) 6508 (CONS (UPDATE-OPEN-INPUT-CHANNELS 6509 (ADD-PAIR CHANNEL 6510 (CONS (CAR ENTRY) (CDR (CDR ENTRY))) 6511 (OPEN-INPUT-CHANNELS STATE-STATE)) 6512 STATE-STATE) 6513 'NIL))) 6514 (CONS 'T 6515 (CONS 'NIL (CONS STATE-STATE 'NIL))))) 6516 (CDR (ASSOC-EQ CHANNEL 6517 (OPEN-INPUT-CHANNELS STATE-STATE))) 6518 STATE-STATE CHANNEL)) 6519 6520(DEFUN SOME-SLASHABLE (L) 6521 (IF (ENDP L) 6522 'NIL 6523 (IF (MEMBER (CAR L) 6524 '(#\Newline #\Page 6525 #\Space #\" #\# #\' #\( #\) #\, #\: #\; 6526 #\\ #\` #\a #\b #\c #\d #\e #\f #\g #\h 6527 #\i #\j #\k #\l #\m #\n #\o #\p #\q #\r 6528 #\s #\t #\u #\v #\w #\x #\y #\z #\|)) 6529 'T 6530 (SOME-SLASHABLE (CDR L))))) 6531 6532(DEFUN PRIN1-WITH-SLASHES1 6533 (L SLASH-CHAR CHANNEL STATE) 6534 (IF (ENDP L) 6535 STATE 6536 ((LAMBDA (STATE SLASH-CHAR CHANNEL L) 6537 ((LAMBDA (STATE CHANNEL SLASH-CHAR L) 6538 (PRIN1-WITH-SLASHES1 (CDR L) 6539 SLASH-CHAR CHANNEL STATE)) 6540 (PRINC$ (CAR L) CHANNEL STATE) 6541 CHANNEL SLASH-CHAR L)) 6542 (IF (IF (EQUAL (CAR L) '#\\) 6543 (EQUAL (CAR L) '#\\) 6544 (EQUAL (CAR L) SLASH-CHAR)) 6545 (PRINC$ '#\\ CHANNEL STATE) 6546 STATE) 6547 SLASH-CHAR CHANNEL L))) 6548 6549(DEFUN PRIN1-WITH-SLASHES 6550 (S SLASH-CHAR CHANNEL STATE) 6551 (PRIN1-WITH-SLASHES1 (COERCE S 'LIST) 6552 SLASH-CHAR CHANNEL STATE)) 6553 6554(DEFUN MAY-NEED-SLASHES1 (LST FLG POTNUM-CHARS) 6555 (IF (ENDP LST) 6556 'T 6557 (IF (MEMBER (CAR LST) POTNUM-CHARS) 6558 (MAY-NEED-SLASHES1 (CDR LST) 6559 'NIL 6560 POTNUM-CHARS) 6561 (IF (MEMBER (CAR LST) 6562 '(#\A #\B #\C 6563 #\D #\E #\F #\G #\H #\I #\J #\K #\L #\M 6564 #\N #\O #\P #\Q #\R #\S #\T #\U #\V #\W 6565 #\X #\Y #\Z #\a #\b #\c #\d #\e #\f #\g 6566 #\h #\i #\j #\k #\l #\m #\n #\o #\p #\q 6567 #\r #\s #\t #\u #\v #\w #\x #\y #\z)) 6568 (IF FLG 'NIL 6569 (MAY-NEED-SLASHES1 (CDR LST) 6570 'T 6571 POTNUM-CHARS)) 6572 'NIL)))) 6573 6574(DEFUN 6575 MAY-NEED-SLASHES-FN (X PRINT-BASE) 6576 ((LAMBDA 6577 (L PRINT-BASE) 6578 ((LAMBDA 6579 (PRINT-BASE L) 6580 ((LAMBDA 6581 (NUMERIC-CHARS L PRINT-BASE) 6582 ((LAMBDA 6583 (SUSPICIOUSLY-FIRST-NUMERIC-CHARS NUMERIC-CHARS L) 6584 (IF 6585 (NULL L) 6586 (NULL L) 6587 (IF 6588 (IF 6589 (IF (MEMBER (CAR L) NUMERIC-CHARS) 6590 (MEMBER (CAR L) NUMERIC-CHARS) 6591 (IF (MEMBER (CAR L) 6592 SUSPICIOUSLY-FIRST-NUMERIC-CHARS) 6593 (INTERSECTP (CDR L) NUMERIC-CHARS) 6594 'NIL)) 6595 (IF (NOT (MEMBER (CAR (LAST L)) '(#\+ #\-))) 6596 (MAY-NEED-SLASHES1 (CDR L) 6597 'NIL 6598 (CONS '#\/ 6599 SUSPICIOUSLY-FIRST-NUMERIC-CHARS)) 6600 'NIL) 6601 'NIL) 6602 (IF 6603 (IF (MEMBER (CAR L) NUMERIC-CHARS) 6604 (MEMBER (CAR L) NUMERIC-CHARS) 6605 (IF (MEMBER (CAR L) 6606 SUSPICIOUSLY-FIRST-NUMERIC-CHARS) 6607 (INTERSECTP (CDR L) NUMERIC-CHARS) 6608 'NIL)) 6609 (IF (NOT (MEMBER (CAR (LAST L)) '(#\+ #\-))) 6610 (MAY-NEED-SLASHES1 (CDR L) 6611 'NIL 6612 (CONS '#\/ 6613 SUSPICIOUSLY-FIRST-NUMERIC-CHARS)) 6614 'NIL) 6615 'NIL) 6616 (SOME-SLASHABLE L)))) 6617 (IF (EQL PRINT-BASE '16) 6618 '(#\0 #\1 #\2 #\3 #\4 #\5 #\6 6619 #\7 #\8 #\9 #\A #\B #\C #\D #\E #\F #\a 6620 #\b #\c #\d #\e #\f #\+ #\- #\. #\^ #\_) 6621 '(#\0 #\1 #\2 #\3 #\4 #\5 6622 #\6 #\7 #\8 #\9 #\+ #\- #\. #\^ #\_)) 6623 NUMERIC-CHARS L)) 6624 (IF (EQL PRINT-BASE '16) 6625 '(#\0 #\1 6626 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9 #\A #\B 6627 #\C #\D #\E #\F #\a #\b #\c #\d #\e #\f) 6628 '(#\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9)) 6629 L PRINT-BASE)) 6630 (IF (IF (EQL PRINT-BASE '16) 6631 (MEMBER '#\. L) 6632 'NIL) 6633 '10 6634 PRINT-BASE) 6635 L)) 6636 (COERCE X 'LIST) 6637 PRINT-BASE)) 6638 6639(DEFUN NEEDS-SLASHES (X STATE) 6640 (IF (IF (GET-GLOBAL 'PRINT-ESCAPE STATE) 6641 (GET-GLOBAL 'PRINT-ESCAPE STATE) 6642 (GET-GLOBAL 'PRINT-READABLY STATE)) 6643 (MAY-NEED-SLASHES-FN X (GET-GLOBAL 'PRINT-BASE STATE)) 6644 'NIL)) 6645 6646(DEFUN T-STACK-LENGTH1 (STATE-STATE) (LENGTH (T-STACK STATE-STATE))) 6647 6648(DEFUN T-STACK-LENGTH (STATE-STATE) (T-STACK-LENGTH1 STATE-STATE)) 6649 6650(DEFUN MAKE-LIST-AC (N VAL AC) 6651 (IF (ZP N) 6652 AC 6653 (MAKE-LIST-AC (BINARY-+ '-1 N) 6654 VAL (CONS VAL AC)))) 6655 6656(DEFUN EXTEND-T-STACK (N VAL STATE-STATE) 6657 (UPDATE-T-STACK (BINARY-APPEND (T-STACK STATE-STATE) 6658 (MAKE-LIST-AC N VAL 'NIL)) 6659 STATE-STATE)) 6660 6661(DEFUN SUBSEQ-LIST (LST START END) 6662 (TAKE (BINARY-+ END (UNARY-- START)) 6663 (NTHCDR START LST))) 6664 6665(DEFUN SUBSEQ (SEQ START END) 6666 (IF (STRINGP SEQ) 6667 (COERCE (SUBSEQ-LIST (COERCE SEQ 'LIST) 6668 START (IF END END (LENGTH SEQ))) 6669 'STRING) 6670 (SUBSEQ-LIST SEQ START (IF END END (LENGTH SEQ))))) 6671 6672(DEFUN OS (WRLD) (GLOBAL-VAL 'OPERATING-SYSTEM WRLD)) 6673 6674(DEFTHM ALL-BOUNDP-PRESERVES-ASSOC 6675 (IMPLIES (IF (EQLABLE-ALISTP TBL1) 6676 (IF (EQLABLE-ALISTP TBL2) 6677 (IF (ALL-BOUNDP TBL1 TBL2) 6678 (IF (SYMBOLP X) (ASSOC-EQ X TBL1) 'NIL) 6679 'NIL) 6680 'NIL) 6681 'NIL) 6682 (ASSOC X TBL2))) 6683 6684(DEFUN W (STATE) (GET-GLOBAL 'CURRENT-ACL2-WORLD STATE)) 6685 6686(DEFUN 6687 SHRINK-T-STACK (N STATE-STATE) 6688 (UPDATE-T-STACK (FIRST-N-AC (MAX '0 6689 (BINARY-+ (LENGTH (T-STACK STATE-STATE)) 6690 (UNARY-- N))) 6691 (T-STACK STATE-STATE) 6692 'NIL) 6693 STATE-STATE)) 6694 6695(DEFUN AREF-T-STACK (I STATE-STATE) (NTH I (T-STACK STATE-STATE))) 6696 6697(DEFUN ASET-T-STACK (I VAL STATE-STATE) 6698 (UPDATE-T-STACK (UPDATE-NTH I VAL (T-STACK STATE-STATE)) 6699 STATE-STATE)) 6700 6701(DEFUN 32-BIT-INTEGER-STACK-LENGTH1 6702 (STATE-STATE) 6703 (LENGTH (32-BIT-INTEGER-STACK STATE-STATE))) 6704 6705(DEFUN 32-BIT-INTEGER-STACK-LENGTH 6706 (STATE-STATE) 6707 (32-BIT-INTEGER-STACK-LENGTH1 STATE-STATE)) 6708 6709(DEFUN EXTEND-32-BIT-INTEGER-STACK 6710 (N VAL STATE-STATE) 6711 (UPDATE-32-BIT-INTEGER-STACK 6712 (BINARY-APPEND (32-BIT-INTEGER-STACK STATE-STATE) 6713 (MAKE-LIST-AC N VAL 'NIL)) 6714 STATE-STATE)) 6715 6716(DEFUN 6717 SHRINK-32-BIT-INTEGER-STACK 6718 (N STATE-STATE) 6719 (UPDATE-32-BIT-INTEGER-STACK 6720 (FIRST-N-AC (MAX '0 6721 (BINARY-+ (LENGTH (32-BIT-INTEGER-STACK STATE-STATE)) 6722 (UNARY-- N))) 6723 (32-BIT-INTEGER-STACK STATE-STATE) 6724 'NIL) 6725 STATE-STATE)) 6726 6727(DEFUN AREF-32-BIT-INTEGER-STACK 6728 (I STATE-STATE) 6729 (NTH I (32-BIT-INTEGER-STACK STATE-STATE))) 6730 6731(DEFUN ASET-32-BIT-INTEGER-STACK 6732 (I VAL STATE-STATE) 6733 (UPDATE-32-BIT-INTEGER-STACK 6734 (UPDATE-NTH I 6735 VAL (32-BIT-INTEGER-STACK STATE-STATE)) 6736 STATE-STATE)) 6737 6738(DEFUN BIG-CLOCK-NEGATIVE-P (STATE-STATE) 6739 (< (BIG-CLOCK-ENTRY STATE-STATE) '0)) 6740 6741(DEFUN DECREMENT-BIG-CLOCK (STATE-STATE) 6742 (UPDATE-BIG-CLOCK-ENTRY (BINARY-+ '-1 6743 (BIG-CLOCK-ENTRY STATE-STATE)) 6744 STATE-STATE)) 6745 6746(DEFUN LIST-ALL-PACKAGE-NAMES (STATE-STATE) 6747 (CONS (CAR (LIST-ALL-PACKAGE-NAMES-LST STATE-STATE)) 6748 (CONS (UPDATE-LIST-ALL-PACKAGE-NAMES-LST 6749 (CDR (LIST-ALL-PACKAGE-NAMES-LST STATE-STATE)) 6750 STATE-STATE) 6751 'NIL))) 6752 6753(DEFUN USER-STOBJ-ALIST (STATE-STATE) (USER-STOBJ-ALIST1 STATE-STATE)) 6754 6755(DEFUN UPDATE-USER-STOBJ-ALIST (X STATE-STATE) 6756 (UPDATE-USER-STOBJ-ALIST1 X STATE-STATE)) 6757 6758(DEFUN POWER-EVAL (L B) 6759 (IF (ENDP L) 6760 '0 6761 (BINARY-+ (CAR L) 6762 (BINARY-* B (POWER-EVAL (CDR L) B))))) 6763 6764(DEFUN READ-IDATE (STATE-STATE) 6765 (CONS (IF (NULL (IDATES STATE-STATE)) 6766 '0 6767 (CAR (IDATES STATE-STATE))) 6768 (CONS (UPDATE-IDATES (CDR (IDATES STATE-STATE)) 6769 STATE-STATE) 6770 'NIL))) 6771 6772(DEFUN READ-RUN-TIME (STATE-STATE) 6773 (CONS (IF (IF (NULL (ACL2-ORACLE STATE-STATE)) 6774 (NULL (ACL2-ORACLE STATE-STATE)) 6775 (NOT (RATIONALP (CAR (ACL2-ORACLE STATE-STATE))))) 6776 '0 6777 (CAR (ACL2-ORACLE STATE-STATE))) 6778 (CONS (UPDATE-ACL2-ORACLE (CDR (ACL2-ORACLE STATE-STATE)) 6779 STATE-STATE) 6780 'NIL))) 6781 6782(DEFUN READ-ACL2-ORACLE (STATE-STATE) 6783 (CONS (NULL (ACL2-ORACLE STATE-STATE)) 6784 (CONS (CAR (ACL2-ORACLE STATE-STATE)) 6785 (CONS (UPDATE-ACL2-ORACLE (CDR (ACL2-ORACLE STATE-STATE)) 6786 STATE-STATE) 6787 'NIL)))) 6788 6789(DEFUN GETENV$ (STR STATE) (READ-ACL2-ORACLE STATE)) 6790 6791(DEFUN SETENV$ (STR VAL) 'NIL) 6792 6793(DEFUN RANDOM$ (LIMIT STATE) 6794 ((LAMBDA (MV LIMIT) 6795 ((LAMBDA (ERP VAL STATE LIMIT) 6796 (CONS (IF (IF (NULL ERP) 6797 (IF (NATP VAL) (< VAL LIMIT) 'NIL) 6798 'NIL) 6799 VAL '0) 6800 (CONS STATE 'NIL))) 6801 (MV-NTH '0 MV) 6802 (MV-NTH '1 MV) 6803 (MV-NTH '2 MV) 6804 LIMIT)) 6805 (READ-ACL2-ORACLE STATE) 6806 LIMIT)) 6807 6808(DEFTHM NATP-RANDOM$ (NATP (CAR (RANDOM$ N STATE)))) 6809 6810(DEFTHM RANDOM$-LINEAR 6811 (IF (NOT (< (CAR (RANDOM$ N STATE)) '0)) 6812 (IMPLIES (POSP N) 6813 (< (CAR (RANDOM$ N STATE)) N)) 6814 'NIL)) 6815 6816(DEFTHM LEN-UPDATE-NTH 6817 (EQUAL (LEN (UPDATE-NTH N VAL X)) 6818 (MAX (BINARY-+ '1 (NFIX N)) (LEN X)))) 6819 6820(DEFTHM UPDATE-ACL2-ORACLE-PRESERVES-STATE-P1 6821 (IMPLIES (IF (STATE-P1 STATE) 6822 (TRUE-LISTP X) 6823 'NIL) 6824 (STATE-P1 (UPDATE-ACL2-ORACLE X STATE)))) 6825 6826(DEFTHM READ-RUN-TIME-PRESERVES-STATE-P1 6827 (IMPLIES (STATE-P1 STATE) 6828 (STATE-P1 (NTH '1 (READ-RUN-TIME STATE))))) 6829 6830(DEFTHM READ-ACL2-ORACLE-PRESERVES-STATE-P1 6831 (IMPLIES (STATE-P1 STATE) 6832 (STATE-P1 (NTH '2 (READ-ACL2-ORACLE STATE))))) 6833 6834(DEFTHM NTH-0-READ-RUN-TIME-TYPE-PRESCRIPTION 6835 (IMPLIES (STATE-P1 STATE) 6836 (RATIONALP (NTH '0 (READ-RUN-TIME STATE))))) 6837 6838(DEFUN 6839 MAIN-TIMER (STATE) 6840 ((LAMBDA 6841 (MV) 6842 ((LAMBDA 6843 (CURRENT-TIME STATE) 6844 ((LAMBDA (OLD-VALUE STATE CURRENT-TIME) 6845 ((LAMBDA (STATE OLD-VALUE CURRENT-TIME) 6846 (CONS (BINARY-+ CURRENT-TIME (UNARY-- OLD-VALUE)) 6847 (CONS STATE 'NIL))) 6848 (PUT-GLOBAL 'MAIN-TIMER 6849 CURRENT-TIME STATE) 6850 OLD-VALUE CURRENT-TIME)) 6851 (IF (IF (BOUNDP-GLOBAL 'MAIN-TIMER STATE) 6852 (RATIONALP (GET-GLOBAL 'MAIN-TIMER STATE)) 6853 'NIL) 6854 (GET-GLOBAL 'MAIN-TIMER STATE) 6855 '0) 6856 STATE CURRENT-TIME)) 6857 (MV-NTH '0 MV) 6858 (MV-NTH '1 MV))) 6859 (READ-RUN-TIME STATE))) 6860 6861(DEFUN PUT-ASSOC-EQ (NAME VAL ALIST) 6862 (IF (ENDP ALIST) 6863 (CONS (CONS NAME VAL) 'NIL) 6864 (IF (EQ NAME (CAR (CAR ALIST))) 6865 (CONS (CONS NAME VAL) (CDR ALIST)) 6866 (CONS (CAR ALIST) 6867 (PUT-ASSOC-EQ NAME VAL (CDR ALIST)))))) 6868 6869(DEFUN PUT-ASSOC-EQL (NAME VAL ALIST) 6870 (IF (ENDP ALIST) 6871 (CONS (CONS NAME VAL) 'NIL) 6872 (IF (EQL NAME (CAR (CAR ALIST))) 6873 (CONS (CONS NAME VAL) (CDR ALIST)) 6874 (CONS (CAR ALIST) 6875 (PUT-ASSOC-EQL NAME VAL (CDR ALIST)))))) 6876 6877(DEFUN PUT-ASSOC-EQUAL (NAME VAL ALIST) 6878 (IF (ENDP ALIST) 6879 (CONS (CONS NAME VAL) 'NIL) 6880 (IF (EQUAL NAME (CAR (CAR ALIST))) 6881 (CONS (CONS NAME VAL) (CDR ALIST)) 6882 (CONS (CAR ALIST) 6883 (PUT-ASSOC-EQUAL NAME VAL (CDR ALIST)))))) 6884 6885(DEFUN SET-TIMER (NAME VAL STATE) 6886 (PUT-GLOBAL 'TIMER-ALIST 6887 (PUT-ASSOC-EQ NAME 6888 VAL (GET-GLOBAL 'TIMER-ALIST STATE)) 6889 STATE)) 6890 6891(DEFUN GET-TIMER (NAME STATE) 6892 (CDR (ASSOC-EQ NAME (GET-GLOBAL 'TIMER-ALIST STATE)))) 6893 6894(DEFUN PUSH-TIMER (NAME VAL STATE) 6895 (SET-TIMER NAME (CONS VAL (GET-TIMER NAME STATE)) 6896 STATE)) 6897 6898(DEFTHM RATIONALP-+ 6899 (IMPLIES (IF (RATIONALP X) (RATIONALP Y) 'NIL) 6900 (RATIONALP (BINARY-+ X Y)))) 6901 6902(DEFTHM RATIONALP-* 6903 (IMPLIES (IF (RATIONALP X) (RATIONALP Y) 'NIL) 6904 (RATIONALP (BINARY-* X Y)))) 6905 6906(DEFTHM RATIONALP-UNARY-- (IMPLIES (RATIONALP X) (RATIONALP (UNARY-- X)))) 6907 6908(DEFTHM RATIONALP-UNARY-/ (IMPLIES (RATIONALP X) (RATIONALP (UNARY-/ X)))) 6909 6910(DEFTHM RATIONALP-IMPLIES-ACL2-NUMBERP 6911 (IMPLIES (RATIONALP X) 6912 (ACL2-NUMBERP X))) 6913 6914(DEFUN POP-TIMER (NAME FLG STATE) 6915 ((LAMBDA (TIMER STATE FLG NAME) 6916 (SET-TIMER NAME 6917 (IF FLG 6918 (CONS (BINARY-+ (CAR TIMER) (CAR (CDR TIMER))) 6919 (CDR (CDR TIMER))) 6920 (CDR TIMER)) 6921 STATE)) 6922 (GET-TIMER NAME STATE) 6923 STATE FLG NAME)) 6924 6925(DEFUN ADD-TIMERS (NAME1 NAME2 STATE) 6926 ((LAMBDA (TIMER1 TIMER2 STATE NAME1) 6927 (SET-TIMER NAME1 6928 (CONS (BINARY-+ (CAR TIMER1) (CAR TIMER2)) 6929 (CDR TIMER1)) 6930 STATE)) 6931 (GET-TIMER NAME1 STATE) 6932 (GET-TIMER NAME2 STATE) 6933 STATE NAME1)) 6934 6935(DEFTHM NTH-0-CONS (EQUAL (NTH '0 (CONS A L)) A)) 6936 6937(DEFTHM NTH-ADD1 6938 (IMPLIES (IF (INTEGERP N) (NOT (< N '0)) 'NIL) 6939 (EQUAL (NTH (BINARY-+ '1 N) (CONS A L)) 6940 (NTH N L)))) 6941 6942(DEFTHM MAIN-TIMER-TYPE-PRESCRIPTION 6943 (IMPLIES (STATE-P1 STATE) 6944 (IF (CONSP (MAIN-TIMER STATE)) 6945 (TRUE-LISTP (MAIN-TIMER STATE)) 6946 'NIL))) 6947 6948(DEFTHM ORDERED-SYMBOL-ALISTP-ADD-PAIR-FORWARD 6949 (IMPLIES (IF (SYMBOLP KEY) 6950 (ORDERED-SYMBOL-ALISTP L) 6951 'NIL) 6952 (ORDERED-SYMBOL-ALISTP (ADD-PAIR KEY VALUE L)))) 6953 6954(DEFTHM ASSOC-ADD-PAIR 6955 (IMPLIES (IF (SYMBOLP SYM2) 6956 (ORDERED-SYMBOL-ALISTP ALIST) 6957 'NIL) 6958 (EQUAL (ASSOC SYM1 (ADD-PAIR SYM2 VAL ALIST)) 6959 (IF (EQUAL SYM1 SYM2) 6960 (CONS SYM1 VAL) 6961 (ASSOC SYM1 ALIST))))) 6962 6963(DEFTHM ADD-PAIR-PRESERVES-ALL-BOUNDP 6964 (IMPLIES (IF (EQLABLE-ALISTP ALIST1) 6965 (IF (ORDERED-SYMBOL-ALISTP ALIST2) 6966 (IF (ALL-BOUNDP ALIST1 ALIST2) 6967 (SYMBOLP SYM) 6968 'NIL) 6969 'NIL) 6970 'NIL) 6971 (ALL-BOUNDP ALIST1 (ADD-PAIR SYM VAL ALIST2)))) 6972 6973(DEFTHM STATE-P1-UPDATE-MAIN-TIMER 6974 (IMPLIES (STATE-P1 STATE) 6975 (STATE-P1 (UPDATE-NTH '2 6976 (ADD-PAIR 'MAIN-TIMER 6977 VAL (NTH '2 STATE)) 6978 STATE)))) 6979 6980(DEFUN 6981 INCREMENT-TIMER (NAME STATE) 6982 ((LAMBDA (TIMER NAME STATE) 6983 ((LAMBDA (MV TIMER NAME) 6984 ((LAMBDA (EPSILON STATE TIMER NAME) 6985 (SET-TIMER NAME 6986 (CONS (BINARY-+ (CAR TIMER) EPSILON) 6987 (CDR TIMER)) 6988 STATE)) 6989 (MV-NTH '0 MV) 6990 (MV-NTH '1 MV) 6991 TIMER NAME)) 6992 (MAIN-TIMER STATE) 6993 TIMER NAME)) 6994 (GET-TIMER NAME STATE) 6995 NAME STATE)) 6996 6997(DEFUN 6998 PRINT-RATIONAL-AS-DECIMAL 6999 (X CHANNEL STATE) 7000 ((LAMBDA 7001 (X00 STATE CHANNEL X) 7002 ((LAMBDA (STATE CHANNEL X00) 7003 ((LAMBDA (STATE X00 CHANNEL) 7004 ((LAMBDA (STATE CHANNEL X00) 7005 ((LAMBDA (R STATE CHANNEL) 7006 (IF (< R '10) 7007 ((LAMBDA (STATE CHANNEL R) 7008 (PRINC$ R CHANNEL STATE)) 7009 (PRINC$ '"0" CHANNEL STATE) 7010 CHANNEL R) 7011 (PRINC$ R CHANNEL STATE))) 7012 (REM X00 '100) 7013 STATE CHANNEL)) 7014 (PRINC$ '"." CHANNEL STATE) 7015 CHANNEL X00)) 7016 (IF (< '99 X00) 7017 (PRINC$ (FLOOR (BINARY-* X00 (UNARY-/ '100)) '1) 7018 CHANNEL STATE) 7019 (PRINC$ '"0" CHANNEL STATE)) 7020 X00 CHANNEL)) 7021 (IF (< X '0) 7022 (PRINC$ '"-" CHANNEL STATE) 7023 STATE) 7024 CHANNEL X00)) 7025 (ROUND (BINARY-* '100 (ABS X)) '1) 7026 STATE CHANNEL X)) 7027 7028(DEFUN PRINT-TIMER (NAME CHANNEL STATE) 7029 (PRINT-RATIONAL-AS-DECIMAL (CAR (GET-TIMER NAME STATE)) 7030 CHANNEL STATE)) 7031 7032(DEFUN 7033 PRIN1$ (X CHANNEL STATE) 7034 (IF 7035 (ACL2-NUMBERP X) 7036 (PRINC$ X CHANNEL STATE) 7037 (IF 7038 (CHARACTERP X) 7039 ((LAMBDA (STATE CHANNEL X) 7040 (PRINC$ (IF (EQL X '#\Newline) 7041 '"Newline" 7042 (IF (EQL X '#\Space) 7043 '"Space" 7044 (IF (EQL X '#\Page) 7045 '"Page" 7046 (IF (EQL X '#\Tab) 7047 '"Tab" 7048 (IF (EQL X '#\Rubout) '"Rubout" X))))) 7049 CHANNEL STATE)) 7050 (PRINC$ '"#\\" CHANNEL STATE) 7051 CHANNEL X) 7052 (IF 7053 (STRINGP X) 7054 ((LAMBDA (L X STATE CHANNEL) 7055 ((LAMBDA (STATE CHANNEL X L) 7056 ((LAMBDA (STATE CHANNEL) 7057 (PRINC$ '#\" CHANNEL STATE)) 7058 (IF (IF (MEMBER '#\\ L) 7059 (MEMBER '#\\ L) 7060 (MEMBER '#\" L)) 7061 (PRIN1-WITH-SLASHES X '#\" 7062 CHANNEL STATE) 7063 (PRINC$ X CHANNEL STATE)) 7064 CHANNEL)) 7065 (PRINC$ '#\" CHANNEL STATE) 7066 CHANNEL X L)) 7067 (COERCE X 'LIST) 7068 X STATE CHANNEL) 7069 ((LAMBDA (STATE CHANNEL X) 7070 (IF (NEEDS-SLASHES (SYMBOL-NAME X) STATE) 7071 ((LAMBDA (STATE CHANNEL X) 7072 ((LAMBDA (STATE CHANNEL) 7073 (PRINC$ '#\| CHANNEL STATE)) 7074 (PRIN1-WITH-SLASHES (SYMBOL-NAME X) 7075 '#\| 7076 CHANNEL STATE) 7077 CHANNEL)) 7078 (PRINC$ '#\| CHANNEL STATE) 7079 CHANNEL X) 7080 (PRINC$ X CHANNEL STATE))) 7081 (IF 7082 (KEYWORDP X) 7083 (PRINC$ '#\: CHANNEL STATE) 7084 (IF 7085 (IF 7086 (EQUAL (SYMBOL-PACKAGE-NAME X) 7087 (GET-GLOBAL 'CURRENT-PACKAGE STATE)) 7088 (EQUAL (SYMBOL-PACKAGE-NAME X) 7089 (GET-GLOBAL 'CURRENT-PACKAGE STATE)) 7090 (MEMBER-EQ 7091 X 7092 (CAR (CDR (ASSOC-EQUAL (GET-GLOBAL 'CURRENT-PACKAGE STATE) 7093 (GLOBAL-VAL 'KNOWN-PACKAGE-ALIST 7094 (GET-GLOBAL 'CURRENT-ACL2-WORLD 7095 STATE))))))) 7096 STATE 7097 ((LAMBDA (P CHANNEL STATE) 7098 ((LAMBDA (STATE CHANNEL) 7099 (PRINC$ '"::" CHANNEL STATE)) 7100 (IF (NEEDS-SLASHES P STATE) 7101 ((LAMBDA (STATE CHANNEL P) 7102 ((LAMBDA (STATE CHANNEL) 7103 (PRINC$ '#\| CHANNEL STATE)) 7104 (PRIN1-WITH-SLASHES P '#\| 7105 CHANNEL STATE) 7106 CHANNEL)) 7107 (PRINC$ '#\| CHANNEL STATE) 7108 CHANNEL P) 7109 (IF (EQ (GET-GLOBAL 'PRINT-CASE STATE) 7110 ':DOWNCASE) 7111 (PRINC$ (STRING-DOWNCASE P) 7112 CHANNEL STATE) 7113 (PRINC$ P CHANNEL STATE))) 7114 CHANNEL)) 7115 (SYMBOL-PACKAGE-NAME X) 7116 CHANNEL STATE))) 7117 CHANNEL X))))) 7118 7119(DEFUN CURRENT-PACKAGE (STATE) (GET-GLOBAL 'CURRENT-PACKAGE STATE)) 7120 7121(DEFUN KNOWN-PACKAGE-ALIST (STATE) 7122 (FGETPROP 'KNOWN-PACKAGE-ALIST 7123 'GLOBAL-VALUE 7124 'NIL 7125 (W STATE))) 7126 7127(DEFTHM 7128 STATE-P1-UPDATE-NTH-2-WORLD 7129 (IMPLIES (IF (STATE-P1 STATE) 7130 (IF (PLIST-WORLDP WRLD) 7131 (IF (KNOWN-PACKAGE-ALISTP (FGETPROP 'KNOWN-PACKAGE-ALIST 7132 'GLOBAL-VALUE 7133 'NIL 7134 WRLD)) 7135 (SYMBOL-ALISTP (FGETPROP 'ACL2-DEFAULTS-TABLE 7136 'TABLE-ALIST 7137 'NIL 7138 WRLD)) 7139 'NIL) 7140 'NIL) 7141 'NIL) 7142 (STATE-P1 (UPDATE-NTH '2 7143 (ADD-PAIR 'CURRENT-ACL2-WORLD 7144 WRLD (NTH '2 STATE)) 7145 STATE)))) 7146 7147(DEFTHM TRUE-LIST-LISTP-FORWARD-TO-TRUE-LISTP-ASSOC-EQUAL 7148 (IMPLIES (TRUE-LIST-LISTP L) 7149 (TRUE-LISTP (ASSOC-EQUAL KEY L)))) 7150 7151(DEFUN UNION-EQ (LST1 LST2) 7152 (IF (ENDP LST1) 7153 LST2 7154 (IF (MEMBER-EQ (CAR LST1) LST2) 7155 (UNION-EQ (CDR LST1) LST2) 7156 (CONS (CAR LST1) 7157 (UNION-EQ (CDR LST1) LST2))))) 7158 7159(DEFUN LD-SKIP-PROOFSP (STATE) (GET-GLOBAL 'LD-SKIP-PROOFSP STATE)) 7160 7161(DEFUN 7162 MAKE-VAR-LST1 (ROOT SYM N ACC) 7163 (IF 7164 (ZP N) 7165 ACC 7166 (MAKE-VAR-LST1 7167 ROOT SYM (BINARY-+ '-1 N) 7168 (CONS 7169 (INTERN-IN-PACKAGE-OF-SYMBOL 7170 (COERCE (BINARY-APPEND ROOT 7171 (EXPLODE-NONNEGATIVE-INTEGER (BINARY-+ '-1 N) 7172 '10 7173 'NIL)) 7174 'STRING) 7175 SYM) 7176 ACC)))) 7177 7178(DEFUN MAKE-VAR-LST (SYM N) 7179 (MAKE-VAR-LST1 (COERCE (SYMBOL-NAME SYM) 'LIST) 7180 SYM N 'NIL)) 7181 7182(DEFUN NON-FREE-VAR-RUNES 7183 (RUNES FREE-VAR-RUNES-ONCE 7184 FREE-VAR-RUNES-ALL ACC) 7185 (IF (ENDP RUNES) 7186 ACC 7187 (NON-FREE-VAR-RUNES (CDR RUNES) 7188 FREE-VAR-RUNES-ONCE FREE-VAR-RUNES-ALL 7189 (IF (IF (MEMBER-EQUAL (CAR RUNES) 7190 FREE-VAR-RUNES-ONCE) 7191 (MEMBER-EQUAL (CAR RUNES) 7192 FREE-VAR-RUNES-ONCE) 7193 (MEMBER-EQUAL (CAR RUNES) 7194 FREE-VAR-RUNES-ALL)) 7195 ACC (CONS (CAR RUNES) ACC))))) 7196 7197(DEFUN FREE-VAR-RUNES (FLG WRLD) 7198 (IF (EQ FLG ':ONCE) 7199 (GLOBAL-VAL 'FREE-VAR-RUNES-ONCE WRLD) 7200 (GLOBAL-VAL 'FREE-VAR-RUNES-ALL WRLD))) 7201 7202(DEFTHM NATP-POSITION-AC 7203 (IMPLIES (IF (INTEGERP ACC) 7204 (NOT (< ACC '0)) 7205 'NIL) 7206 (IF (EQUAL (POSITION-AC ITEM LST ACC) 'NIL) 7207 (EQUAL (POSITION-AC ITEM LST ACC) 'NIL) 7208 (IF (INTEGERP (POSITION-AC ITEM LST ACC)) 7209 (NOT (< (POSITION-AC ITEM LST ACC) '0)) 7210 'NIL)))) 7211 7212(DEFUN 7213 ABSOLUTE-PATHNAME-STRING-P 7214 (STR DIRECTORYP OS) 7215 ((LAMBDA 7216 (LEN DIRECTORYP STR OS) 7217 (IF 7218 (< '0 LEN) 7219 (IF 7220 (IF 7221 (IF (EQ OS ':MSWINDOWS) 7222 (IF ((LAMBDA (POS-COLON POS-SEP) 7223 (IF POS-COLON 7224 (EQL POS-SEP (BINARY-+ '1 POS-COLON)) 7225 'NIL)) 7226 (POSITION '#\: STR) 7227 (POSITION '#\/ STR)) 7228 'T 7229 'NIL) 7230 'NIL) 7231 (IF (EQ OS ':MSWINDOWS) 7232 (IF ((LAMBDA (POS-COLON POS-SEP) 7233 (IF POS-COLON 7234 (EQL POS-SEP (BINARY-+ '1 POS-COLON)) 7235 'NIL)) 7236 (POSITION '#\: STR) 7237 (POSITION '#\/ STR)) 7238 'T 7239 'NIL) 7240 'NIL) 7241 (IF 7242 (EQL (CHAR STR '0) '#\/) 7243 'T 7244 (IF 7245 (EQL (CHAR STR '0) '#\~) 7246 (PROG2$ 7247 (IF 7248 (IF (EQL '1 LEN) 7249 (EQL '1 LEN) 7250 (EQL (CHAR STR '1) '#\/)) 7251 (HARD-ERROR 7252 'ABSOLUTE-PATHNAME-STRING-P 7253 '"Implementation error: Forgot ~ 7254 to apply ~ 7255 expand-tilde-to-user-home-dir ~ 7256 before calling ~ 7257 absolute-pathname-string-p. ~ 7258 Please contact the ACL2 ~ 7259 implementors." 7260 'NIL) 7261 'NIL) 7262 'T) 7263 'NIL))) 7264 (IF DIRECTORYP 7265 (EQL (CHAR STR (BINARY-+ '-1 LEN)) '#\/) 7266 'T) 7267 'NIL) 7268 'NIL)) 7269 (LENGTH STR) 7270 DIRECTORYP STR OS)) 7271 7272(DEFUN INCLUDE-BOOK-DIR-ALISTP (X OS) 7273 (IF (ATOM X) 7274 (NULL X) 7275 (IF (CONSP (CAR X)) 7276 (IF (KEYWORDP (CAR (CAR X))) 7277 (IF (STRINGP (CDR (CAR X))) 7278 (IF (ABSOLUTE-PATHNAME-STRING-P (CDR (CAR X)) 7279 'T 7280 OS) 7281 (INCLUDE-BOOK-DIR-ALISTP (CDR X) OS) 7282 'NIL) 7283 'NIL) 7284 'NIL) 7285 'NIL))) 7286 7287(DEFUN LEGAL-RULER-EXTENDERS-P (X) 7288 (IF (ATOM X) 7289 (NULL X) 7290 (IF (KEYWORDP (CAR X)) 7291 (IF (EQ (CAR X) ':LAMBDAS) 7292 (LEGAL-RULER-EXTENDERS-P (CDR X)) 7293 'NIL) 7294 (IF (SYMBOLP (CAR X)) 7295 (LEGAL-RULER-EXTENDERS-P (CDR X)) 7296 'NIL)))) 7297 7298(DEFUN TABLE-ALIST (NAME WRLD) (FGETPROP NAME 'TABLE-ALIST 'NIL WRLD)) 7299 7300(DEFUN DEFAULT-VERIFY-GUARDS-EAGERNESS (WRLD) 7301 (IF (CDR (ASSOC-EQ ':VERIFY-GUARDS-EAGERNESS 7302 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7303 WRLD))) 7304 (CDR (ASSOC-EQ ':VERIFY-GUARDS-EAGERNESS 7305 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7306 WRLD))) 7307 '1)) 7308 7309(DEFUN DEFAULT-COMPILE-FNS (WRLD) 7310 (CDR (ASSOC-EQ ':COMPILE-FNS 7311 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7312 WRLD)))) 7313 7314(DEFUN 7315 SET-COMPILER-ENABLED (VAL STATE) 7316 (IF 7317 (GET-GLOBAL 'CERTIFY-BOOK-INFO STATE) 7318 (PROG2$ 7319 (HARD-ERROR 7320 'SET-COMPILER-ENABLED 7321 '"It is illegal to call set-compiler-enabled ~ 7322 inside certify-book." 7323 'NIL) 7324 STATE) 7325 (PUT-GLOBAL 'COMPILER-ENABLED 7326 VAL STATE))) 7327 7328(DEFUN DEFAULT-MEASURE-FUNCTION (WRLD) 7329 (IF (CDR (ASSOC-EQ ':MEASURE-FUNCTION 7330 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7331 WRLD))) 7332 (CDR (ASSOC-EQ ':MEASURE-FUNCTION 7333 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7334 WRLD))) 7335 'ACL2-COUNT)) 7336 7337(DEFUN DEFAULT-WELL-FOUNDED-RELATION (WRLD) 7338 (IF (CDR (ASSOC-EQ ':WELL-FOUNDED-RELATION 7339 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7340 WRLD))) 7341 (CDR (ASSOC-EQ ':WELL-FOUNDED-RELATION 7342 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7343 WRLD))) 7344 'O<)) 7345 7346(DEFUN DEFAULT-DEFUN-MODE (WRLD) 7347 ((LAMBDA (VAL) 7348 (IF (MEMBER-EQ VAL '(:LOGIC :PROGRAM)) 7349 VAL ':PROGRAM)) 7350 (CDR (ASSOC-EQ ':DEFUN-MODE 7351 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7352 WRLD))))) 7353 7354(DEFUN DEFAULT-DEFUN-MODE-FROM-STATE (STATE) (DEFAULT-DEFUN-MODE (W STATE))) 7355 7356(DEFUN INVISIBLE-FNS-TABLE (WRLD) (TABLE-ALIST 'INVISIBLE-FNS-TABLE WRLD)) 7357 7358(DEFUN UNARY-FUNCTION-SYMBOL-LISTP (LST WRLD) 7359 (IF (ATOM LST) 7360 (NULL LST) 7361 (IF (SYMBOLP (CAR LST)) 7362 (IF ((LAMBDA (FORMALS) 7363 (IF (CONSP FORMALS) 7364 (NULL (CDR FORMALS)) 7365 'NIL)) 7366 (FGETPROP (CAR LST) 'FORMALS 'NIL WRLD)) 7367 (UNARY-FUNCTION-SYMBOL-LISTP (CDR LST) 7368 WRLD) 7369 'NIL) 7370 'NIL))) 7371 7372(DEFUN INVISIBLE-FNS-ENTRYP (KEY VAL WRLD) 7373 (IF (SYMBOLP KEY) 7374 (IF (FUNCTION-SYMBOLP KEY WRLD) 7375 (UNARY-FUNCTION-SYMBOL-LISTP VAL WRLD) 7376 'NIL) 7377 'NIL)) 7378 7379(DEFUN DELETE-ASSOC-EQ (KEY ALIST) 7380 (IF (ENDP ALIST) 7381 'NIL 7382 (IF (EQ KEY (CAR (CAR ALIST))) 7383 (CDR ALIST) 7384 (CONS (CAR ALIST) 7385 (DELETE-ASSOC-EQ KEY (CDR ALIST)))))) 7386 7387(DEFUN DELETE-ASSOC-EQUAL (KEY ALIST) 7388 (IF (ENDP ALIST) 7389 'NIL 7390 (IF (EQUAL KEY (CAR (CAR ALIST))) 7391 (CDR ALIST) 7392 (CONS (CAR ALIST) 7393 (DELETE-ASSOC-EQUAL KEY (CDR ALIST)))))) 7394 7395(DEFUN BACKCHAIN-LIMIT (WRLD FLG) 7396 ((LAMBDA (ENTRY FLG) 7397 (IF (EQ FLG ':TS) 7398 (CAR ENTRY) 7399 (CAR (CDR ENTRY)))) 7400 (IF (CDR (ASSOC-EQ ':BACKCHAIN-LIMIT 7401 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7402 WRLD))) 7403 (CDR (ASSOC-EQ ':BACKCHAIN-LIMIT 7404 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7405 WRLD))) 7406 '(NIL NIL)) 7407 FLG)) 7408 7409(DEFUN DEFAULT-BACKCHAIN-LIMIT (WRLD FLG) 7410 ((LAMBDA (ENTRY FLG) 7411 (IF (EQ FLG ':TS) 7412 (CAR ENTRY) 7413 (CAR (CDR ENTRY)))) 7414 (IF (CDR (ASSOC-EQ ':DEFAULT-BACKCHAIN-LIMIT 7415 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7416 WRLD))) 7417 (CDR (ASSOC-EQ ':DEFAULT-BACKCHAIN-LIMIT 7418 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7419 WRLD))) 7420 '(NIL NIL)) 7421 FLG)) 7422 7423(DEFUN REWRITE-STACK-LIMIT (WRLD) 7424 (IF (CDR (ASSOC-EQ ':REWRITE-STACK-LIMIT 7425 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7426 WRLD))) 7427 (CDR (ASSOC-EQ ':REWRITE-STACK-LIMIT 7428 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7429 WRLD))) 7430 '1000)) 7431 7432(DEFUN CASE-SPLIT-LIMITATIONS (WRLD) 7433 (CDR (ASSOC-EQ ':CASE-SPLIT-LIMITATIONS 7434 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7435 WRLD)))) 7436 7437(DEFUN BINOP-TABLE (WRLD) (TABLE-ALIST 'BINOP-TABLE WRLD)) 7438 7439(DEFUN MATCH-FREE-DEFAULT (WRLD) 7440 (CDR (ASSOC-EQ ':MATCH-FREE-DEFAULT 7441 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7442 WRLD)))) 7443 7444(DEFUN MATCH-FREE-OVERRIDE (WRLD) 7445 ((LAMBDA (PAIR WRLD) 7446 (IF (IF (NULL PAIR) 7447 (NULL PAIR) 7448 (EQ (CDR PAIR) ':CLEAR)) 7449 ':CLEAR 7450 (CONS (CDR (ASSOC-EQ ':MATCH-FREE-OVERRIDE-NUME 7451 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7452 WRLD))) 7453 (CDR PAIR)))) 7454 (ASSOC-EQ ':MATCH-FREE-OVERRIDE 7455 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE WRLD)) 7456 WRLD)) 7457 7458(DEFUN NON-LINEARP (WRLD) 7459 ((LAMBDA (TEMP) 7460 (IF TEMP (CDR TEMP) 'NIL)) 7461 (ASSOC-EQ ':NON-LINEARP 7462 (TABLE-ALIST 'ACL2-DEFAULTS-TABLE 7463 WRLD)))) 7464 7465(DEFUN MACRO-ALIASES (WRLD) (TABLE-ALIST 'MACRO-ALIASES-TABLE WRLD)) 7466 7467(DEFUN NTH-ALIASES (WRLD) (TABLE-ALIST 'NTH-ALIASES-TABLE WRLD)) 7468 7469(DEFUN DEFAULT-HINTS (WRLD) 7470 (CDR (ASSOC-EQ 'T 7471 (TABLE-ALIST 'DEFAULT-HINTS-TABLE 7472 WRLD)))) 7473 7474(DEFUN FIX-TRUE-LIST (X) 7475 (IF (CONSP X) 7476 (CONS (CAR X) (FIX-TRUE-LIST (CDR X))) 7477 'NIL)) 7478 7479(DEFTHM PAIRLIS$-FIX-TRUE-LIST 7480 (EQUAL (PAIRLIS$ X (FIX-TRUE-LIST Y)) 7481 (PAIRLIS$ X Y))) 7482 7483(DEFUN BOOLEAN-LISTP (LST) 7484 (IF (ATOM LST) 7485 (EQ LST 'NIL) 7486 (IF (IF (EQ (CAR LST) 'T) 7487 (EQ (CAR LST) 'T) 7488 (EQ (CAR LST) 'NIL)) 7489 (BOOLEAN-LISTP (CDR LST)) 7490 'NIL))) 7491 7492(DEFTHM BOOLEAN-LISTP-CONS 7493 (EQUAL (BOOLEAN-LISTP (CONS X Y)) 7494 (IF (BOOLEANP X) 7495 (BOOLEAN-LISTP Y) 7496 'NIL))) 7497 7498(DEFTHM BOOLEAN-LISTP-FORWARD 7499 (IMPLIES (BOOLEAN-LISTP (CONS A LST)) 7500 (IF (BOOLEANP A) 7501 (BOOLEAN-LISTP LST) 7502 'NIL))) 7503 7504(DEFTHM BOOLEAN-LISTP-FORWARD-TO-SYMBOL-LISTP 7505 (IMPLIES (BOOLEAN-LISTP X) 7506 (SYMBOL-LISTP X))) 7507 7508(DEFAXIOM COMPLETION-OF-+ 7509 (EQUAL (BINARY-+ X Y) 7510 (IF (ACL2-NUMBERP X) 7511 (IF (ACL2-NUMBERP Y) (BINARY-+ X Y) X) 7512 (IF (ACL2-NUMBERP Y) Y '0)))) 7513 7514(DEFTHM DEFAULT-+-1 7515 (IMPLIES (NOT (ACL2-NUMBERP X)) 7516 (EQUAL (BINARY-+ X Y) (FIX Y)))) 7517 7518(DEFTHM DEFAULT-+-2 7519 (IMPLIES (NOT (ACL2-NUMBERP Y)) 7520 (EQUAL (BINARY-+ X Y) (FIX X)))) 7521 7522(DEFAXIOM COMPLETION-OF-* 7523 (EQUAL (BINARY-* X Y) 7524 (IF (ACL2-NUMBERP X) 7525 (IF (ACL2-NUMBERP Y) (BINARY-* X Y) '0) 7526 '0))) 7527 7528(DEFTHM DEFAULT-*-1 7529 (IMPLIES (NOT (ACL2-NUMBERP X)) 7530 (EQUAL (BINARY-* X Y) '0))) 7531 7532(DEFTHM DEFAULT-*-2 7533 (IMPLIES (NOT (ACL2-NUMBERP Y)) 7534 (EQUAL (BINARY-* X Y) '0))) 7535 7536(DEFAXIOM COMPLETION-OF-UNARY-MINUS 7537 (EQUAL (UNARY-- X) 7538 (IF (ACL2-NUMBERP X) (UNARY-- X) '0))) 7539 7540(DEFTHM DEFAULT-UNARY-MINUS 7541 (IMPLIES (NOT (ACL2-NUMBERP X)) 7542 (EQUAL (UNARY-- X) '0))) 7543 7544(DEFAXIOM COMPLETION-OF-UNARY-/ 7545 (EQUAL (UNARY-/ X) 7546 (IF (IF (ACL2-NUMBERP X) 7547 (NOT (EQUAL X '0)) 7548 'NIL) 7549 (UNARY-/ X) 7550 '0))) 7551 7552(DEFTHM DEFAULT-UNARY-/ 7553 (IMPLIES (IF (NOT (ACL2-NUMBERP X)) 7554 (NOT (ACL2-NUMBERP X)) 7555 (EQUAL X '0)) 7556 (EQUAL (UNARY-/ X) '0))) 7557 7558(DEFAXIOM COMPLETION-OF-< 7559 (EQUAL (< X Y) 7560 (IF (IF (RATIONALP X) (RATIONALP Y) 'NIL) 7561 (< X Y) 7562 ((LAMBDA (X1 Y1) 7563 (IF (< (REALPART X1) (REALPART Y1)) 7564 (< (REALPART X1) (REALPART Y1)) 7565 (IF (EQUAL (REALPART X1) (REALPART Y1)) 7566 (< (IMAGPART X1) (IMAGPART Y1)) 7567 'NIL))) 7568 (IF (ACL2-NUMBERP X) X '0) 7569 (IF (ACL2-NUMBERP Y) Y '0))))) 7570 7571(DEFTHM DEFAULT-<-1 7572 (IMPLIES (NOT (ACL2-NUMBERP X)) 7573 (EQUAL (< X Y) (< '0 Y)))) 7574 7575(DEFTHM DEFAULT-<-2 7576 (IMPLIES (NOT (ACL2-NUMBERP Y)) 7577 (EQUAL (< X Y) (< X '0)))) 7578 7579(DEFAXIOM COMPLETION-OF-CAR (EQUAL (CAR X) (IF (CONSP X) (CAR X) 'NIL))) 7580 7581(DEFTHM DEFAULT-CAR (IMPLIES (NOT (CONSP X)) (EQUAL (CAR X) 'NIL))) 7582 7583(DEFAXIOM COMPLETION-OF-CDR (EQUAL (CDR X) (IF (CONSP X) (CDR X) 'NIL))) 7584 7585(DEFTHM DEFAULT-CDR (IMPLIES (NOT (CONSP X)) (EQUAL (CDR X) 'NIL))) 7586 7587(DEFTHM CONS-CAR-CDR 7588 (EQUAL (CONS (CAR X) (CDR X)) 7589 (IF (CONSP X) X (CONS 'NIL 'NIL)))) 7590 7591(DEFAXIOM COMPLETION-OF-CHAR-CODE 7592 (EQUAL (CHAR-CODE X) 7593 (IF (CHARACTERP X) (CHAR-CODE X) '0))) 7594 7595(DEFTHM DEFAULT-CHAR-CODE 7596 (IMPLIES (NOT (CHARACTERP X)) 7597 (EQUAL (CHAR-CODE X) '0))) 7598 7599(DEFAXIOM COMPLETION-OF-CODE-CHAR 7600 (EQUAL (CODE-CHAR X) 7601 (IF (IF (INTEGERP X) 7602 (IF (NOT (< X '0)) (< X '256) 'NIL) 7603 'NIL) 7604 (CODE-CHAR X) 7605 (CODE-CHAR '0)))) 7606 7607(DEFAXIOM COMPLETION-OF-COMPLEX 7608 (EQUAL (COMPLEX X Y) 7609 (COMPLEX (IF (RATIONALP X) X '0) 7610 (IF (RATIONALP Y) Y '0)))) 7611 7612(DEFTHM DEFAULT-COMPLEX-1 7613 (IMPLIES (NOT (RATIONALP X)) 7614 (EQUAL (COMPLEX X Y) (COMPLEX '0 Y)))) 7615 7616(DEFTHM DEFAULT-COMPLEX-2 7617 (IMPLIES (NOT (RATIONALP Y)) 7618 (EQUAL (COMPLEX X Y) 7619 (IF (RATIONALP X) X '0)))) 7620 7621(DEFTHM COMPLEX-0 (EQUAL (COMPLEX X '0) (RFIX X))) 7622 7623(DEFTHM ADD-DEF-COMPLEX 7624 (EQUAL (BINARY-+ X Y) 7625 (COMPLEX (BINARY-+ (REALPART X) (REALPART Y)) 7626 (BINARY-+ (IMAGPART X) (IMAGPART Y))))) 7627 7628(DEFTHM REALPART-+ 7629 (EQUAL (REALPART (BINARY-+ X Y)) 7630 (BINARY-+ (REALPART X) (REALPART Y)))) 7631 7632(DEFTHM IMAGPART-+ 7633 (EQUAL (IMAGPART (BINARY-+ X Y)) 7634 (BINARY-+ (IMAGPART X) (IMAGPART Y)))) 7635 7636(DEFAXIOM COMPLETION-OF-COERCE 7637 (EQUAL (COERCE X Y) 7638 (IF (EQUAL Y 'LIST) 7639 (IF (STRINGP X) (COERCE X 'LIST) 'NIL) 7640 (COERCE (MAKE-CHARACTER-LIST X) 7641 'STRING)))) 7642 7643(DEFTHM DEFAULT-COERCE-1 7644 (IMPLIES (NOT (STRINGP X)) 7645 (EQUAL (COERCE X 'LIST) 'NIL))) 7646 7647(DEFTHM MAKE-CHARACTER-LIST-MAKE-CHARACTER-LIST 7648 (EQUAL (MAKE-CHARACTER-LIST (MAKE-CHARACTER-LIST X)) 7649 (MAKE-CHARACTER-LIST X))) 7650 7651(DEFTHM DEFAULT-COERCE-2 7652 (IMPLIES (IF (SYNP 'NIL 7653 '(SYNTAXP (NOT (EQUAL Y ''STRING))) 7654 '(IF (NOT (EQUAL Y ''STRING)) 'T 'NIL)) 7655 (NOT (EQUAL Y 'LIST)) 7656 'NIL) 7657 (EQUAL (COERCE X Y) 7658 (COERCE X 'STRING)))) 7659 7660(DEFTHM DEFAULT-COERCE-3 7661 (IMPLIES (NOT (CONSP X)) 7662 (EQUAL (COERCE X 'STRING) '""))) 7663 7664(DEFAXIOM COMPLETION-OF-DENOMINATOR 7665 (EQUAL (DENOMINATOR X) 7666 (IF (RATIONALP X) (DENOMINATOR X) '1))) 7667 7668(DEFTHM DEFAULT-DENOMINATOR 7669 (IMPLIES (NOT (RATIONALP X)) 7670 (EQUAL (DENOMINATOR X) '1))) 7671 7672(DEFAXIOM COMPLETION-OF-IMAGPART 7673 (EQUAL (IMAGPART X) 7674 (IF (ACL2-NUMBERP X) (IMAGPART X) '0))) 7675 7676(DEFTHM DEFAULT-IMAGPART 7677 (IMPLIES (NOT (ACL2-NUMBERP X)) 7678 (EQUAL (IMAGPART X) '0))) 7679 7680(DEFAXIOM COMPLETION-OF-INTERN-IN-PACKAGE-OF-SYMBOL 7681 (EQUAL (INTERN-IN-PACKAGE-OF-SYMBOL X Y) 7682 (IF (IF (STRINGP X) (SYMBOLP Y) 'NIL) 7683 (INTERN-IN-PACKAGE-OF-SYMBOL X Y) 7684 'NIL))) 7685 7686(DEFAXIOM COMPLETION-OF-NUMERATOR 7687 (EQUAL (NUMERATOR X) 7688 (IF (RATIONALP X) (NUMERATOR X) '0))) 7689 7690(DEFTHM DEFAULT-NUMERATOR 7691 (IMPLIES (NOT (RATIONALP X)) 7692 (EQUAL (NUMERATOR X) '0))) 7693 7694(DEFAXIOM COMPLETION-OF-REALPART 7695 (EQUAL (REALPART X) 7696 (IF (ACL2-NUMBERP X) (REALPART X) '0))) 7697 7698(DEFTHM DEFAULT-REALPART 7699 (IMPLIES (NOT (ACL2-NUMBERP X)) 7700 (EQUAL (REALPART X) '0))) 7701 7702(DEFAXIOM COMPLETION-OF-SYMBOL-NAME 7703 (EQUAL (SYMBOL-NAME X) 7704 (IF (SYMBOLP X) (SYMBOL-NAME X) '""))) 7705 7706(DEFTHM DEFAULT-SYMBOL-NAME 7707 (IMPLIES (NOT (SYMBOLP X)) 7708 (EQUAL (SYMBOL-NAME X) '""))) 7709 7710(DEFAXIOM COMPLETION-OF-SYMBOL-PACKAGE-NAME 7711 (EQUAL (SYMBOL-PACKAGE-NAME X) 7712 (IF (SYMBOLP X) 7713 (SYMBOL-PACKAGE-NAME X) 7714 '""))) 7715 7716(DEFTHM DEFAULT-SYMBOL-PACKAGE-NAME 7717 (IMPLIES (NOT (SYMBOLP X)) 7718 (EQUAL (SYMBOL-PACKAGE-NAME X) '""))) 7719 7720(DEFUN DOUBLE-REWRITE (X) X) 7721 7722(DEFUN 7723 WITH-PROVER-TIME-LIMIT (TIME FORM) 7724 (PROG2$ 7725 (IF 7726 ((LAMBDA (TIME) 7727 (IF (RATIONALP TIME) (< '0 TIME) 'NIL)) 7728 (IF (IF (CONSP TIME) (NULL (CDR TIME)) 'NIL) 7729 (CAR TIME) 7730 TIME)) 7731 ((LAMBDA (TIME) 7732 (IF (RATIONALP TIME) (< '0 TIME) 'NIL)) 7733 (IF (IF (CONSP TIME) (NULL (CDR TIME)) 'NIL) 7734 (CAR TIME) 7735 TIME)) 7736 (ILLEGAL 7737 'WITH-PROVER-TIME-LIMIT 7738 '"The first argument to with-prover-time-limit must evaluate ~ 7739 to a non-negative rational number but that value is ~ 7740 ~x0." 7741 (CONS (CONS '#\0 TIME) 'NIL))) 7742 FORM)) 7743 7744(DEFUN TIME-LIMIT4-REACHED-P (MSG) 'NIL) 7745 7746(DEFUN 7747 TILDE-@-GUARD-CHECKING-PHRASE (VAL) 7748 (CONS 7749 '"The first argument to ~x0 must evaluate to one of ~v1. But such an ~ 7750 argument has evaluated to ~x2." 7751 (CONS (CONS '#\0 'WITH-GUARD-CHECKING) 7752 (CONS (CONS '#\1 '(T NIL :NOWARN :ALL :NONE)) 7753 (CONS (CONS '#\2 VAL) 'NIL))))) 7754 7755(DEFUN 7756 WITH-GUARD-CHECKING (VAL FORM) 7757 (PROG2$ (IF (MEMBER-EQ VAL '(T NIL :NOWARN :ALL :NONE)) 7758 (MEMBER-EQ VAL '(T NIL :NOWARN :ALL :NONE)) 7759 (HARD-ERROR 'WITH-GUARD-CHECKING 7760 '"~@0" 7761 (CONS (CONS '#\0 7762 (TILDE-@-GUARD-CHECKING-PHRASE VAL)) 7763 'NIL))) 7764 FORM)) 7765 7766(DEFUN ABORT! NIL 'NIL) 7767 7768(DEFUN P! NIL 'NIL) 7769 7770(DEFUN FMT-TO-COMMENT-WINDOW (STR ALIST COL EVISC-TUPLE) 'NIL) 7771 7772(DEFUN FMT-TO-COMMENT-WINDOW! (STR ALIST COL EVISC-TUPLE) 'NIL) 7773 7774(DEFUN PAIRLIS2 (X Y) 7775 (IF (ENDP Y) 7776 'NIL 7777 (CONS (CONS (CAR X) (CAR Y)) 7778 (PAIRLIS2 (CDR X) (CDR Y))))) 7779 7780(DEFUN WORMHOLE1 (NAME INPUT FORM LD-SPECIALS) 'NIL) 7781 7782(DEFUN WORMHOLE-P (STATE) (READ-ACL2-ORACLE STATE)) 7783 7784(DEFUN DUPLICATES (LST) 7785 (IF (ENDP LST) 7786 'NIL 7787 (IF (MEMBER-EQ (CAR LST) (CDR LST)) 7788 (ADD-TO-SET-EQ (CAR LST) 7789 (DUPLICATES (CDR LST))) 7790 (DUPLICATES (CDR LST))))) 7791 7792(DEFUN ADD-TO-SET-EQUAL (X L) (IF (MEMBER-EQUAL X L) L (CONS X L))) 7793 7794(DEFUN INTERSECTION-EQ (L1 L2) 7795 (IF (ENDP L1) 7796 'NIL 7797 (IF (MEMBER-EQ (CAR L1) L2) 7798 (CONS (CAR L1) 7799 (INTERSECTION-EQ (CDR L1) L2)) 7800 (INTERSECTION-EQ (CDR L1) L2)))) 7801 7802(DEFUN INTERSECTION-EQUAL (L1 L2) 7803 (IF (ENDP L1) 7804 'NIL 7805 (IF (MEMBER-EQUAL (CAR L1) L2) 7806 (CONS (CAR L1) 7807 (INTERSECTION-EQUAL (CDR L1) L2)) 7808 (INTERSECTION-EQUAL (CDR L1) L2)))) 7809 7810(DEFUN EVENS (L) (IF (ENDP L) 'NIL (CONS (CAR L) (EVENS (CDR (CDR L)))))) 7811 7812(DEFUN ODDS (L) (EVENS (CDR L))) 7813 7814(DEFUN SET-EQUALP-EQUAL (LST1 LST2) 7815 (IF (SUBSETP-EQUAL LST1 LST2) 7816 (SUBSETP-EQUAL LST2 LST1) 7817 'NIL)) 7818 7819(DEFUN 7820 RECORD-ERROR (NAME REC) 7821 (HARD-ERROR 'RECORD-ERROR 7822 '"An attempt was made to treat ~x0 as a record of type ~x1." 7823 (CONS (CONS '#\0 REC) 7824 (CONS (CONS '#\1 NAME) 'NIL)))) 7825 7826(DEFUN 7827 RECORD-ACCESSOR-FUNCTION-NAME 7828 (NAME FIELD) 7829 (INTERN-IN-PACKAGE-OF-SYMBOL 7830 (COERCE 7831 (BINARY-APPEND 7832 (COERCE '"Access " 'LIST) 7833 (BINARY-APPEND (COERCE (SYMBOL-NAME NAME) 'LIST) 7834 (BINARY-APPEND (COERCE '" record field " 'LIST) 7835 (COERCE (SYMBOL-NAME FIELD) 'LIST)))) 7836 'STRING) 7837 NAME)) 7838 7839(DEFUN 7840 MFC-CLAUSE (MFC) 7841 (IF 7842 (IF 7843 (TRUE-LISTP MFC) 7844 (IF 7845 (TRUE-LISTP 7846 ((LAMBDA 7847 (RCNST) 7848 (CAR (CDR (CDR (CDR (CDR (CDR (CDR (CDR (CDR (CDR RCNST))))))))))) 7849 MFC)) 7850 (IF 7851 (CONSP 7852 (NTH 7853 '4 7854 ((LAMBDA 7855 (RCNST) 7856 (CAR (CDR (CDR (CDR (CDR (CDR (CDR (CDR (CDR (CDR RCNST))))))))))) 7857 MFC))) 7858 (PSEUDO-TERM-LISTP 7859 ((LAMBDA (CURRENT-CLAUSE) 7860 (CDR (CAR (CDR (CDR (CDR (CDR CURRENT-CLAUSE))))))) 7861 ((LAMBDA 7862 (RCNST) 7863 (CAR (CDR (CDR (CDR (CDR (CDR (CDR (CDR (CDR (CDR RCNST))))))))))) 7864 MFC))) 7865 'NIL) 7866 'NIL) 7867 'NIL) 7868 ((LAMBDA (CURRENT-CLAUSE) 7869 (CDR (CAR (CDR (CDR (CDR (CDR CURRENT-CLAUSE))))))) 7870 ((LAMBDA 7871 (RCNST) 7872 (CAR (CDR (CDR (CDR (CDR (CDR (CDR (CDR (CDR (CDR RCNST))))))))))) 7873 MFC)) 7874 'NIL)) 7875 7876(DEFUN MFC-RDEPTH (MFC) 7877 (IF (TRUE-LISTP MFC) 7878 ((LAMBDA (RDEPTH) (CAR RDEPTH)) MFC) 7879 'NIL)) 7880 7881(DEFUN TYPE-ALIST-ENTRYP (X) 7882 (IF (CONSP X) 7883 (IF (PSEUDO-TERMP (CAR X)) 7884 (IF (CONSP (CDR X)) 7885 (IF (INTEGERP (CAR (CDR X))) 7886 (IF (NOT (< (CAR (CDR X)) '-8192)) 7887 (NOT (< '8191 (CAR (CDR X)))) 7888 'NIL) 7889 'NIL) 7890 'NIL) 7891 'NIL) 7892 'NIL)) 7893 7894(DEFUN TYPE-ALISTP (X) 7895 (IF (CONSP X) 7896 (IF (TYPE-ALIST-ENTRYP (CAR X)) 7897 (TYPE-ALISTP (CDR X)) 7898 'NIL) 7899 (EQ X 'NIL))) 7900 7901(DEFUN MFC-TYPE-ALIST (MFC) 7902 (IF (IF (TRUE-LISTP MFC) 7903 (TYPE-ALISTP ((LAMBDA (TYPE-ALIST) 7904 (CAR (CDR TYPE-ALIST))) 7905 MFC)) 7906 'NIL) 7907 ((LAMBDA (TYPE-ALIST) 7908 (CAR (CDR TYPE-ALIST))) 7909 MFC) 7910 'NIL)) 7911 7912(DEFUN 7913 MFC-ANCESTORS (MFC) 7914 (IF 7915 (IF 7916 (TRUE-LISTP MFC) 7917 (TRUE-LISTP ((LAMBDA (ANCESTORS) 7918 (CAR (CDR (CDR (CDR (CDR (CDR (CDR ANCESTORS)))))))) 7919 MFC)) 7920 'NIL) 7921 ((LAMBDA (ANCESTORS) 7922 (CAR (CDR (CDR (CDR (CDR (CDR (CDR ANCESTORS)))))))) 7923 MFC) 7924 'NIL)) 7925 7926(DEFTHM PSEUDO-TERM-LISTP-MFC-CLAUSE (PSEUDO-TERM-LISTP (MFC-CLAUSE MFC))) 7927 7928(DEFTHM TYPE-ALISTP-MFC-TYPE-ALIST (TYPE-ALISTP (MFC-TYPE-ALIST MFC))) 7929 7930(DEFUN BAD-ATOM (X) 7931 (NOT (IF (CONSP X) 7932 (CONSP X) 7933 (IF (ACL2-NUMBERP X) 7934 (ACL2-NUMBERP X) 7935 (IF (SYMBOLP X) 7936 (SYMBOLP X) 7937 (IF (CHARACTERP X) 7938 (CHARACTERP X) 7939 (STRINGP X))))))) 7940 7941(DEFTHM BAD-ATOM-COMPOUND-RECOGNIZER 7942 (IFF (BAD-ATOM X) 7943 (NOT (IF (CONSP X) 7944 (CONSP X) 7945 (IF (ACL2-NUMBERP X) 7946 (ACL2-NUMBERP X) 7947 (IF (SYMBOLP X) 7948 (SYMBOLP X) 7949 (IF (CHARACTERP X) 7950 (CHARACTERP X) 7951 (STRINGP X)))))))) 7952 7953(DEFAXIOM BOOLEANP-BAD-ATOM<= 7954 (IF (EQUAL (BAD-ATOM<= X Y) 'T) 7955 (EQUAL (BAD-ATOM<= X Y) 'T) 7956 (EQUAL (BAD-ATOM<= X Y) 'NIL))) 7957 7958(DEFAXIOM BAD-ATOM<=-ANTISYMMETRIC 7959 (IMPLIES (IF (BAD-ATOM X) 7960 (IF (BAD-ATOM Y) 7961 (IF (BAD-ATOM<= X Y) 7962 (BAD-ATOM<= Y X) 7963 'NIL) 7964 'NIL) 7965 'NIL) 7966 (EQUAL X Y))) 7967 7968(DEFAXIOM BAD-ATOM<=-TRANSITIVE 7969 (IMPLIES (IF (BAD-ATOM<= X Y) 7970 (IF (BAD-ATOM<= Y Z) 7971 (IF (BAD-ATOM X) 7972 (IF (BAD-ATOM Y) (BAD-ATOM Z) 'NIL) 7973 'NIL) 7974 'NIL) 7975 'NIL) 7976 (BAD-ATOM<= X Z))) 7977 7978(DEFAXIOM BAD-ATOM<=-TOTAL 7979 (IMPLIES (IF (BAD-ATOM X) (BAD-ATOM Y) 'NIL) 7980 (IF (BAD-ATOM<= X Y) 7981 (BAD-ATOM<= X Y) 7982 (BAD-ATOM<= Y X)))) 7983 7984(DEFUN 7985 ALPHORDER (X Y) 7986 (IF (RATIONALP X) 7987 (IF (RATIONALP Y) (NOT (< Y X)) 'T) 7988 (IF (RATIONALP Y) 7989 'NIL 7990 (IF (COMPLEX-RATIONALP X) 7991 (IF (COMPLEX-RATIONALP Y) 7992 (IF (< (REALPART X) (REALPART Y)) 7993 (< (REALPART X) (REALPART Y)) 7994 (IF (= (REALPART X) (REALPART Y)) 7995 (NOT (< (IMAGPART Y) (IMAGPART X))) 7996 'NIL)) 7997 'T) 7998 (IF (COMPLEX-RATIONALP Y) 7999 'NIL 8000 (IF (CHARACTERP X) 8001 (IF (CHARACTERP Y) 8002 (NOT (< (CHAR-CODE Y) (CHAR-CODE X))) 8003 'T) 8004 (IF (CHARACTERP Y) 8005 'NIL 8006 (IF (STRINGP X) 8007 (IF (STRINGP Y) 8008 (IF (STRING<= X Y) 'T 'NIL) 8009 'T) 8010 (IF (STRINGP Y) 8011 'NIL 8012 (IF (SYMBOLP X) 8013 (IF (SYMBOLP Y) (NOT (SYMBOL-< Y X)) 'T) 8014 (IF (SYMBOLP Y) 8015 'NIL 8016 (BAD-ATOM<= X Y)))))))))))) 8017 8018(DEFUN LEXORDER (X Y) 8019 (IF (ATOM X) 8020 (IF (ATOM Y) (ALPHORDER X Y) 'T) 8021 (IF (ATOM Y) 8022 'NIL 8023 (IF (EQUAL (CAR X) (CAR Y)) 8024 (LEXORDER (CDR X) (CDR Y)) 8025 (LEXORDER (CAR X) (CAR Y)))))) 8026 8027(DEFTHM ALPHORDER-REFLEXIVE (IMPLIES (NOT (CONSP X)) (ALPHORDER X X))) 8028 8029(DEFTHM ALPHORDER-TRANSITIVE 8030 (IMPLIES (IF (ALPHORDER X Y) 8031 (IF (ALPHORDER Y Z) 8032 (IF (NOT (CONSP X)) 8033 (IF (NOT (CONSP Y)) 8034 (NOT (CONSP Z)) 8035 'NIL) 8036 'NIL) 8037 'NIL) 8038 'NIL) 8039 (ALPHORDER X Z))) 8040 8041(DEFTHM ALPHORDER-ANTI-SYMMETRIC 8042 (IMPLIES (IF (NOT (CONSP X)) 8043 (IF (NOT (CONSP Y)) 8044 (IF (ALPHORDER X Y) 8045 (ALPHORDER Y X) 8046 'NIL) 8047 'NIL) 8048 'NIL) 8049 (EQUAL X Y))) 8050 8051(DEFTHM ALPHORDER-TOTAL 8052 (IMPLIES (IF (NOT (CONSP X)) 8053 (NOT (CONSP Y)) 8054 'NIL) 8055 (IF (ALPHORDER X Y) 8056 (ALPHORDER X Y) 8057 (ALPHORDER Y X)))) 8058 8059(DEFTHM LEXORDER-REFLEXIVE (LEXORDER X X)) 8060 8061(DEFTHM LEXORDER-ANTI-SYMMETRIC 8062 (IMPLIES (IF (LEXORDER X Y) (LEXORDER Y X) 'NIL) 8063 (EQUAL X Y))) 8064 8065(DEFTHM LEXORDER-TRANSITIVE 8066 (IMPLIES (IF (LEXORDER X Y) (LEXORDER Y Z) 'NIL) 8067 (LEXORDER X Z))) 8068 8069(DEFTHM LEXORDER-TOTAL (IF (LEXORDER X Y) (LEXORDER X Y) (LEXORDER Y X))) 8070 8071(DEFUN MERGE-LEXORDER (L1 L2 ACC) 8072 (IF (ENDP L1) 8073 (REVAPPEND ACC L2) 8074 (IF (ENDP L2) 8075 (REVAPPEND ACC L1) 8076 (IF (LEXORDER (CAR L1) (CAR L2)) 8077 (MERGE-LEXORDER (CDR L1) 8078 L2 (CONS (CAR L1) ACC)) 8079 (MERGE-LEXORDER L1 (CDR L2) 8080 (CONS (CAR L2) ACC)))))) 8081 8082(DEFTHM TRUE-LISTP-MERGE-SORT-LEXORDER 8083 (IMPLIES (IF (TRUE-LISTP L1) 8084 (TRUE-LISTP L2) 8085 'NIL) 8086 (TRUE-LISTP (MERGE-LEXORDER L1 L2 ACC)))) 8087 8088(DEFUN MERGE-SORT-LEXORDER (L) 8089 (IF (ENDP (CDR L)) 8090 L 8091 (MERGE-LEXORDER (MERGE-SORT-LEXORDER (EVENS L)) 8092 (MERGE-SORT-LEXORDER (ODDS L)) 8093 'NIL))) 8094 8095(DEFUN IF* (X Y Z) (IF X Y Z)) 8096 8097(DEFUN RESIZE-LIST (LST N DEFAULT-VALUE) 8098 (IF (IF (INTEGERP N) (< '0 N) 'NIL) 8099 (CONS (IF (ATOM LST) DEFAULT-VALUE (CAR LST)) 8100 (RESIZE-LIST (IF (ATOM LST) LST (CDR LST)) 8101 (BINARY-+ '-1 N) 8102 DEFAULT-VALUE)) 8103 'NIL)) 8104 8105(DEFUN 8106 E/D-FN (THEORY E/D-LIST ENABLE-P) 8107 (IF (ATOM E/D-LIST) 8108 THEORY 8109 (IF ENABLE-P 8110 (E/D-FN (CONS 'UNION-THEORIES 8111 (CONS THEORY 8112 (CONS (CONS 'QUOTE (CONS (CAR E/D-LIST) 'NIL)) 8113 'NIL))) 8114 (CDR E/D-LIST) 8115 'NIL) 8116 (E/D-FN (CONS 'SET-DIFFERENCE-THEORIES 8117 (CONS THEORY 8118 (CONS (CONS 'QUOTE (CONS (CAR E/D-LIST) 'NIL)) 8119 'NIL))) 8120 (CDR E/D-LIST) 8121 'T)))) 8122 8123(DEFUN MOD-EXPT (BASE EXP MOD) (MOD (EXPT BASE EXP) MOD)) 8124 8125(DEFUN CONJOIN2 (T1 T2) 8126 (IF (EQUAL T1 ''NIL) 8127 ''NIL 8128 (IF (EQUAL T2 ''NIL) 8129 ''NIL 8130 (IF (EQUAL T1 ''T) 8131 T2 8132 (IF (EQUAL T2 ''T) 8133 T1 8134 (CONS 'IF 8135 (CONS T1 (CONS T2 (CONS ''NIL 'NIL))))))))) 8136 8137(DEFUN CONJOIN (L) 8138 (IF (ENDP L) 8139 ''T 8140 (IF (ENDP (CDR L)) 8141 (CAR L) 8142 (CONJOIN2 (CAR L) (CONJOIN (CDR L)))))) 8143 8144(DEFUN DISJOIN2 (T1 T2) 8145 (IF (EQUAL T1 ''T) 8146 ''T 8147 (IF (EQUAL T2 ''T) 8148 ''T 8149 (IF (EQUAL T1 ''NIL) 8150 T2 8151 (IF (EQUAL T2 ''NIL) 8152 T1 8153 (CONS 'IF 8154 (CONS T1 (CONS ''T (CONS T2 'NIL))))))))) 8155 8156(DEFUN DISJOIN (LST) 8157 (IF (ENDP LST) 8158 ''NIL 8159 (IF (ENDP (CDR LST)) 8160 (CAR LST) 8161 (DISJOIN2 (CAR LST) 8162 (DISJOIN (CDR LST)))))) 8163 8164(DEFUN DISJOIN-LST (CLAUSE-LIST) 8165 (IF (ENDP CLAUSE-LIST) 8166 'NIL 8167 (CONS (DISJOIN (CAR CLAUSE-LIST)) 8168 (DISJOIN-LST (CDR CLAUSE-LIST))))) 8169 8170(DEFUN CONJOIN-CLAUSES (CLAUSE-LIST) (CONJOIN (DISJOIN-LST CLAUSE-LIST))) 8171 8172(DEFUN CLAUSES-RESULT (TUPLE) 8173 (IF (CAR TUPLE) 8174 (CONS 'NIL 'NIL) 8175 (CAR (CDR TUPLE)))) 8176 8177(DEFUN 8178 SPLICE-KEYWORD-ALIST 8179 (KEY NEW-SEGMENT KEYWORD-ALIST) 8180 (IF (ENDP KEYWORD-ALIST) 8181 'NIL 8182 (IF (EQ KEY (CAR KEYWORD-ALIST)) 8183 (BINARY-APPEND NEW-SEGMENT (CDR (CDR KEYWORD-ALIST))) 8184 (CONS (CAR KEYWORD-ALIST) 8185 (CONS (CAR (CDR KEYWORD-ALIST)) 8186 (SPLICE-KEYWORD-ALIST KEY NEW-SEGMENT 8187 (CDR (CDR KEYWORD-ALIST)))))))) 8188 8189(DEFUN 8190 SEARCH-FN-GUARD 8191 (SEQ1 SEQ2 FROM-END TEST 8192 START1 START2 END1 END2 END1P END2P) 8193 (IF 8194 (IF 8195 (NOT (MEMBER-EQ TEST '(EQUAL CHAR-EQUAL))) 8196 (HARD-ERROR 8197 'SEARCH 8198 '"For the macro ~x0, only the :test values ~x1 and ~x2 are ~ 8199 supported; ~x3 is not. If you need other tests supported, ~ 8200 please contact the ACL2 implementors." 8201 (CONS (CONS '#\0 'SEARCH) 8202 (CONS (CONS '#\1 'EQUAL) 8203 (CONS (CONS '#\2 'CHAR-EQUAL) 8204 (CONS (CONS '#\3 TEST) 'NIL))))) 8205 (IF 8206 (IF (STRINGP SEQ1) (STRINGP SEQ2) 'NIL) 8207 (IF 8208 (IF (STANDARD-CHAR-LISTP (COERCE SEQ1 'LIST)) 8209 (STANDARD-CHAR-LISTP (COERCE SEQ2 'LIST)) 8210 'NIL) 8211 (IF (STANDARD-CHAR-LISTP (COERCE SEQ1 'LIST)) 8212 (STANDARD-CHAR-LISTP (COERCE SEQ2 'LIST)) 8213 'NIL) 8214 (HARD-ERROR 8215 'SEARCH 8216 '"When ~x0 is called on two strings, they must both ~ 8217 consist of standard characters. However, this is not ~ 8218 the case for ~x1." 8219 (CONS (CONS '#\0 'SEARCH) 8220 (CONS (CONS '#\1 8221 (IF (STANDARD-CHAR-LISTP (COERCE SEQ1 'LIST)) 8222 SEQ2 SEQ1)) 8223 'NIL)))) 8224 (IF 8225 (EQ TEST 'CHAR-EQUAL) 8226 (HARD-ERROR 8227 'SEARCH 8228 '"For the macro ~x0, the :test ~x1 is only supported for ~ 8229 string arguments. If you need this test supported for ~ 8230 true lists, please contact the ACL2 implementors." 8231 (CONS (CONS '#\0 'SEARCH) 8232 (CONS (CONS '#\1 'CHAR-EQUAL) 'NIL))) 8233 (IF 8234 (IF (TRUE-LISTP SEQ1) 8235 (TRUE-LISTP SEQ2) 8236 'NIL) 8237 'T 8238 (HARD-ERROR 8239 'SEARCH 8240 '"The first two arguments of ~x0 must both evaluate to true ~ 8241 lists or must both evaluate to strings." 8242 (CONS (CONS '#\0 'SEARCH) 'NIL)))))) 8243 ((LAMBDA (END1 END2 SEQ2 SEQ1 START2 START1) 8244 (IF (NATP START1) 8245 (IF (NATP START2) 8246 (IF (NATP END1) 8247 (IF (NATP END2) 8248 (IF (NOT (< END1 START1)) 8249 (IF (NOT (< END2 START2)) 8250 (IF (NOT (< (LENGTH SEQ1) END1)) 8251 (NOT (< (LENGTH SEQ2) END2)) 8252 'NIL) 8253 'NIL) 8254 'NIL) 8255 'NIL) 8256 'NIL) 8257 'NIL) 8258 'NIL)) 8259 (IF END1P END1 (LENGTH SEQ1)) 8260 (IF END2P END2 (LENGTH SEQ2)) 8261 SEQ2 SEQ1 START2 START1) 8262 'NIL)) 8263 8264(DEFUN SEARCH-FROM-START 8265 (SEQ1 SEQ2 START2 END2) 8266 ((LAMBDA (BOUND2 SEQ2 SEQ1 START2 END2) 8267 (IF (IF (NOT (INTEGERP END2)) 8268 (NOT (INTEGERP END2)) 8269 (NOT (INTEGERP START2))) 8270 'NIL 8271 (IF (EQUAL SEQ1 (SUBSEQ SEQ2 START2 BOUND2)) 8272 START2 8273 (IF (NOT (< BOUND2 END2)) 8274 'NIL 8275 (SEARCH-FROM-START SEQ1 SEQ2 (BINARY-+ '1 START2) 8276 END2))))) 8277 (BINARY-+ START2 (LENGTH SEQ1)) 8278 SEQ2 SEQ1 START2 END2)) 8279 8280(DEFUN 8281 SEARCH-FROM-END 8282 (SEQ1 SEQ2 START2 END2 ACC) 8283 (IF 8284 (IF (NOT (INTEGERP END2)) 8285 (NOT (INTEGERP END2)) 8286 (NOT (INTEGERP START2))) 8287 'NIL 8288 ((LAMBDA 8289 (BOUND2 ACC END2 START2 SEQ2 SEQ1) 8290 ((LAMBDA (MATCHP BOUND2 END2 SEQ1 SEQ2 ACC START2) 8291 ((LAMBDA (NEW-ACC START2 SEQ2 SEQ1 END2 BOUND2) 8292 (IF (NOT (< BOUND2 END2)) 8293 NEW-ACC 8294 (SEARCH-FROM-END SEQ1 SEQ2 (BINARY-+ '1 START2) 8295 END2 NEW-ACC))) 8296 (IF MATCHP START2 ACC) 8297 START2 SEQ2 SEQ1 END2 BOUND2)) 8298 (EQUAL SEQ1 (SUBSEQ SEQ2 START2 BOUND2)) 8299 BOUND2 END2 SEQ1 SEQ2 ACC START2)) 8300 (BINARY-+ START2 (LENGTH SEQ1)) 8301 ACC END2 START2 SEQ2 SEQ1))) 8302 8303(DEFUN 8304 SEARCH-FN 8305 (SEQ1 SEQ2 FROM-END TEST 8306 START1 START2 END1 END2 END1P END2P) 8307 ((LAMBDA 8308 (END1 SEQ1 START1 8309 START2 FROM-END TEST SEQ2 END2 END2P) 8310 ((LAMBDA 8311 (END2 TEST 8312 SEQ2 FROM-END START2 END1 START1 SEQ1) 8313 ((LAMBDA 8314 (SEQ1 END2 8315 START2 END1 START1 FROM-END SEQ2 TEST) 8316 ((LAMBDA (MV FROM-END START1 END1 START2 END2) 8317 ((LAMBDA (SEQ1 SEQ2 FROM-END START1 END1 START2 END2) 8318 (IF (NOT (< (BINARY-+ END2 (UNARY-- START2)) 8319 (BINARY-+ END1 (UNARY-- START1)))) 8320 (IF FROM-END 8321 (SEARCH-FROM-END SEQ1 SEQ2 START2 END2 'NIL) 8322 (SEARCH-FROM-START SEQ1 SEQ2 START2 END2)) 8323 'NIL)) 8324 (MV-NTH '0 MV) 8325 (MV-NTH '1 MV) 8326 FROM-END START1 END1 START2 END2)) 8327 (IF (EQ TEST 'CHAR-EQUAL) 8328 (CONS (STRING-DOWNCASE SEQ1) 8329 (CONS (STRING-DOWNCASE SEQ2) 'NIL)) 8330 (CONS SEQ1 (CONS SEQ2 'NIL))) 8331 FROM-END START1 END1 START2 END2)) 8332 (SUBSEQ SEQ1 START1 END1) 8333 END2 8334 START2 END1 START1 FROM-END SEQ2 TEST)) 8335 (IF END2P END2 (LENGTH SEQ2)) 8336 TEST 8337 SEQ2 FROM-END START2 END1 START1 SEQ1)) 8338 (IF END1P END1 (LENGTH SEQ1)) 8339 SEQ1 START1 8340 START2 FROM-END TEST SEQ2 END2 END2P)) 8341 8342(DEFUN TIME$-LOGIC (REAL-MINTIME RUN-MINTIME MINALLOC MSG ARGS X) X) 8343 8344(DEFUN GC$-FN (ARGS) 'NIL) 8345 8346(DEFUN GET-WORMHOLE-STATUS (NAME STATE) (READ-ACL2-ORACLE STATE)) 8347 8348(ENCAP ((TOO-MANY-IFS-POST-REWRITE-WRAPPER 2))) 8349 8350(DEFUN TOO-MANY-IFS-POST-REWRITE-PRELIM (ARGS VAL) 'NIL) 8351