1 2(SDEFUN |ILOGIC;proposition;S$;1| ((|s| |String|) ($ $)) (CONS 1 (LIST |s|))) 3 4(SDEFUN |ILOGIC;logicT;$;2| (($ $)) (CONS 0 (LIST 'T))) 5 6(SDEFUN |ILOGIC;logicF;$;3| (($ $)) (CONS 0 (LIST 'F))) 7 8(SDEFUN |ILOGIC;~;2$;4| ((|b| $) ($ $)) 9 (SPROG ((#1=#:G504 NIL) (|d| ($)) (|c| ($))) 10 (SEQ 11 (EXIT 12 (SEQ 13 (COND 14 ((QEQCAR |b| 0) 15 (COND 16 ((EQUAL (QCAR (CDR |b|)) 'T) 17 (PROGN (LETT #1# (CONS 0 (LIST 'F))) (GO #2=#:G503)))))) 18 (COND 19 ((QEQCAR |b| 3) 20 (SEQ (LETT |c| (QCDR (CDR |b|))) 21 (EXIT 22 (COND 23 ((QEQCAR |c| 3) 24 (SEQ (LETT |d| (QCDR (CDR |c|))) 25 (EXIT 26 (COND 27 ((QEQCAR |d| 0) 28 (COND 29 ((EQUAL (QCAR (CDR |d|)) 'T) 30 (PROGN 31 (LETT #1# (CONS 0 (LIST 'F))) 32 (GO #2#)))))))))))))) 33 (EXIT (CONS 3 (CONS 'NOT |b|))))) 34 #2# (EXIT #1#)))) 35 36(SDEFUN |ILOGIC;/\\;3$;5| ((|a| $) (|b| $) ($ $)) 37 (SPROG ((#1=#:G521 NIL)) 38 (SEQ 39 (EXIT 40 (SEQ 41 (COND 42 ((QEQCAR |a| 0) 43 (COND 44 ((EQUAL (QCAR (CDR |a|)) 'F) 45 (PROGN (LETT #1# (CONS 0 (LIST 'F))) (GO #2=#:G520)))))) 46 (COND 47 ((QEQCAR |b| 0) 48 (COND 49 ((EQUAL (QCAR (CDR |b|)) 'F) 50 (PROGN (LETT #1# (CONS 0 (LIST 'F))) (GO #2#)))))) 51 (COND 52 ((SPADCALL |a| |b| (QREFELT $ 13)) 53 (PROGN (LETT #1# |a|) (GO #2#)))) 54 (COND 55 ((SPADCALL |a| (SPADCALL |b| (QREFELT $ 11)) (QREFELT $ 13)) 56 (PROGN (LETT #1# (CONS 0 (LIST 'F))) (GO #2#)))) 57 (COND 58 ((SPADCALL (SPADCALL |a| (QREFELT $ 11)) |b| (QREFELT $ 13)) 59 (PROGN (LETT #1# (CONS 0 (LIST 'F))) (GO #2#)))) 60 (COND 61 ((QEQCAR |b| 0) 62 (COND 63 ((EQUAL (QCAR (CDR |b|)) 'T) 64 (PROGN (LETT #1# |a|) (GO #2#)))))) 65 (COND 66 ((QEQCAR |a| 0) 67 (COND 68 ((EQUAL (QCAR (CDR |a|)) 'T) 69 (PROGN (LETT #1# |b|) (GO #2#)))))) 70 (EXIT (CONS 2 (VECTOR 'AND |a| |b|))))) 71 #2# (EXIT #1#)))) 72 73(SDEFUN |ILOGIC;\\/;3$;6| ((|a| $) (|b| $) ($ $)) 74 (SPROG ((#1=#:G536 NIL)) 75 (SEQ 76 (EXIT 77 (SEQ 78 (COND 79 ((QEQCAR |a| 0) 80 (COND 81 ((EQUAL (QCAR (CDR |a|)) 'T) 82 (PROGN (LETT #1# (CONS 0 (LIST 'T))) (GO #2=#:G535)))))) 83 (COND 84 ((QEQCAR |b| 0) 85 (COND 86 ((EQUAL (QCAR (CDR |b|)) 'T) 87 (PROGN (LETT #1# (CONS 0 (LIST 'T))) (GO #2#)))))) 88 (COND 89 ((SPADCALL |a| |b| (QREFELT $ 13)) 90 (PROGN (LETT #1# |a|) (GO #2#)))) 91 (COND 92 ((QEQCAR |b| 0) 93 (COND 94 ((EQUAL (QCAR (CDR |b|)) 'F) 95 (PROGN (LETT #1# |a|) (GO #2#)))))) 96 (COND 97 ((QEQCAR |a| 0) 98 (COND 99 ((EQUAL (QCAR (CDR |a|)) 'F) 100 (PROGN (LETT #1# |b|) (GO #2#)))))) 101 (EXIT (CONS 2 (VECTOR 'OR |a| |b|))))) 102 #2# (EXIT #1#)))) 103 104(SDEFUN |ILOGIC;implies;3$;7| ((|a| $) (|b| $) ($ $)) 105 (SPROG ((#1=#:G550 NIL)) 106 (SEQ 107 (EXIT 108 (SEQ 109 (COND 110 ((QEQCAR |a| 0) 111 (COND 112 ((QEQCAR |b| 0) 113 (SEQ 114 (COND 115 ((SPADCALL (QCAR (CDR |a|)) 'F (QREFELT $ 17)) 116 (COND 117 ((EQUAL (QCAR (CDR |b|)) 'F) 118 (PROGN 119 (LETT #1# (CONS 0 (LIST 'F))) 120 (GO #2=#:G549)))))) 121 (EXIT 122 (PROGN (LETT #1# (CONS 0 (LIST 'T))) (GO #2#)))))))) 123 (EXIT (CONS 2 (VECTOR 'IMPLY |a| |b|))))) 124 #2# (EXIT #1#)))) 125 126(SDEFUN |ILOGIC;redux;2$;8| ((|n| $) ($ $)) 127 (SPROG ((#1=#:G564 NIL) (#2=#:G474 NIL)) 128 (SEQ 129 (EXIT 130 (SEQ 131 (COND ((QEQCAR |n| 0) (PROGN (LETT #1# |n|) (GO #3=#:G563)))) 132 (COND ((QEQCAR |n| 1) (PROGN (LETT #1# |n|) (GO #3#)))) 133 (COND 134 ((QEQCAR |n| 2) 135 (SEQ 136 (COND 137 ((EQUAL 138 (QVELT 139 (PROG2 (LETT #2# |n|) 140 (QCDR #2#) 141 (|check_union2| (QEQCAR #2# 2) 142 (|Record| (|:| |typ| (|Symbol|)) 143 (|:| |c1| $) (|:| |c2| $)) 144 (|Union| 145 (|:| |const| 146 (|Record| 147 (|:| |val| (|Symbol|)))) 148 (|:| |var| 149 (|Record| 150 (|:| |str| (|String|)))) 151 (|:| |binaryOp| 152 (|Record| 153 (|:| |typ| (|Symbol|)) 154 (|:| |c1| $) (|:| |c2| $))) 155 (|:| |unaryOp| 156 (|Record| 157 (|:| |typ| (|Symbol|)) 158 (|:| |c1| $)))) 159 #2#)) 160 0) 161 'IMPLY) 162 (PROGN 163 (LETT #1# 164 (SPADCALL 165 (SPADCALL 166 (QVELT 167 (PROG2 (LETT #2# |n|) 168 (QCDR #2#) 169 (|check_union2| (QEQCAR #2# 2) 170 (|Record| 171 (|:| |typ| (|Symbol|)) 172 (|:| |c1| $) (|:| |c2| $)) 173 (|Union| 174 (|:| |const| 175 (|Record| 176 (|:| |val| 177 (|Symbol|)))) 178 (|:| |var| 179 (|Record| 180 (|:| |str| 181 (|String|)))) 182 (|:| |binaryOp| 183 (|Record| 184 (|:| |typ| 185 (|Symbol|)) 186 (|:| |c1| $) 187 (|:| |c2| $))) 188 (|:| |unaryOp| 189 (|Record| 190 (|:| |typ| 191 (|Symbol|)) 192 (|:| |c1| $)))) 193 #2#)) 194 1) 195 (QREFELT $ 19)) 196 (SPADCALL 197 (QVELT 198 (PROG2 (LETT #2# |n|) 199 (QCDR #2#) 200 (|check_union2| (QEQCAR #2# 2) 201 (|Record| 202 (|:| |typ| (|Symbol|)) 203 (|:| |c1| $) (|:| |c2| $)) 204 (|Union| 205 (|:| |const| 206 (|Record| 207 (|:| |val| 208 (|Symbol|)))) 209 (|:| |var| 210 (|Record| 211 (|:| |str| 212 (|String|)))) 213 (|:| |binaryOp| 214 (|Record| 215 (|:| |typ| 216 (|Symbol|)) 217 (|:| |c1| $) 218 (|:| |c2| $))) 219 (|:| |unaryOp| 220 (|Record| 221 (|:| |typ| 222 (|Symbol|)) 223 (|:| |c1| $)))) 224 #2#)) 225 2) 226 (QREFELT $ 19)) 227 (QREFELT $ 18))) 228 (GO #3#)))) 229 (COND 230 ((EQUAL 231 (QVELT 232 (PROG2 (LETT #2# |n|) 233 (QCDR #2#) 234 (|check_union2| (QEQCAR #2# 2) 235 (|Record| (|:| |typ| (|Symbol|)) 236 (|:| |c1| $) (|:| |c2| $)) 237 (|Union| 238 (|:| |const| 239 (|Record| 240 (|:| |val| (|Symbol|)))) 241 (|:| |var| 242 (|Record| 243 (|:| |str| (|String|)))) 244 (|:| |binaryOp| 245 (|Record| 246 (|:| |typ| (|Symbol|)) 247 (|:| |c1| $) (|:| |c2| $))) 248 (|:| |unaryOp| 249 (|Record| 250 (|:| |typ| (|Symbol|)) 251 (|:| |c1| $)))) 252 #2#)) 253 0) 254 'AND) 255 (PROGN 256 (LETT #1# 257 (SPADCALL 258 (SPADCALL 259 (QVELT 260 (PROG2 (LETT #2# |n|) 261 (QCDR #2#) 262 (|check_union2| (QEQCAR #2# 2) 263 (|Record| 264 (|:| |typ| (|Symbol|)) 265 (|:| |c1| $) (|:| |c2| $)) 266 (|Union| 267 (|:| |const| 268 (|Record| 269 (|:| |val| 270 (|Symbol|)))) 271 (|:| |var| 272 (|Record| 273 (|:| |str| 274 (|String|)))) 275 (|:| |binaryOp| 276 (|Record| 277 (|:| |typ| 278 (|Symbol|)) 279 (|:| |c1| $) 280 (|:| |c2| $))) 281 (|:| |unaryOp| 282 (|Record| 283 (|:| |typ| 284 (|Symbol|)) 285 (|:| |c1| $)))) 286 #2#)) 287 1) 288 (QREFELT $ 19)) 289 (SPADCALL 290 (QVELT 291 (PROG2 (LETT #2# |n|) 292 (QCDR #2#) 293 (|check_union2| (QEQCAR #2# 2) 294 (|Record| 295 (|:| |typ| (|Symbol|)) 296 (|:| |c1| $) (|:| |c2| $)) 297 (|Union| 298 (|:| |const| 299 (|Record| 300 (|:| |val| 301 (|Symbol|)))) 302 (|:| |var| 303 (|Record| 304 (|:| |str| 305 (|String|)))) 306 (|:| |binaryOp| 307 (|Record| 308 (|:| |typ| 309 (|Symbol|)) 310 (|:| |c1| $) 311 (|:| |c2| $))) 312 (|:| |unaryOp| 313 (|Record| 314 (|:| |typ| 315 (|Symbol|)) 316 (|:| |c1| $)))) 317 #2#)) 318 2) 319 (QREFELT $ 19)) 320 (QREFELT $ 14))) 321 (GO #3#)))) 322 (EXIT 323 (COND 324 ((EQUAL 325 (QVELT 326 (PROG2 (LETT #2# |n|) 327 (QCDR #2#) 328 (|check_union2| (QEQCAR #2# 2) 329 (|Record| (|:| |typ| (|Symbol|)) 330 (|:| |c1| $) 331 (|:| |c2| $)) 332 (|Union| 333 (|:| |const| 334 (|Record| 335 (|:| |val| (|Symbol|)))) 336 (|:| |var| 337 (|Record| 338 (|:| |str| (|String|)))) 339 (|:| |binaryOp| 340 (|Record| 341 (|:| |typ| (|Symbol|)) 342 (|:| |c1| $) (|:| |c2| $))) 343 (|:| |unaryOp| 344 (|Record| 345 (|:| |typ| (|Symbol|)) 346 (|:| |c1| $)))) 347 #2#)) 348 0) 349 'OR) 350 (PROGN 351 (LETT #1# 352 (SPADCALL 353 (SPADCALL 354 (QVELT 355 (PROG2 (LETT #2# |n|) 356 (QCDR #2#) 357 (|check_union2| (QEQCAR #2# 2) 358 (|Record| 359 (|:| |typ| (|Symbol|)) 360 (|:| |c1| $) (|:| |c2| $)) 361 (|Union| 362 (|:| |const| 363 (|Record| 364 (|:| |val| 365 (|Symbol|)))) 366 (|:| |var| 367 (|Record| 368 (|:| |str| 369 (|String|)))) 370 (|:| |binaryOp| 371 (|Record| 372 (|:| |typ| 373 (|Symbol|)) 374 (|:| |c1| $) 375 (|:| |c2| $))) 376 (|:| |unaryOp| 377 (|Record| 378 (|:| |typ| 379 (|Symbol|)) 380 (|:| |c1| $)))) 381 #2#)) 382 1) 383 (QREFELT $ 19)) 384 (SPADCALL 385 (QVELT 386 (PROG2 (LETT #2# |n|) 387 (QCDR #2#) 388 (|check_union2| (QEQCAR #2# 2) 389 (|Record| 390 (|:| |typ| (|Symbol|)) 391 (|:| |c1| $) (|:| |c2| $)) 392 (|Union| 393 (|:| |const| 394 (|Record| 395 (|:| |val| 396 (|Symbol|)))) 397 (|:| |var| 398 (|Record| 399 (|:| |str| 400 (|String|)))) 401 (|:| |binaryOp| 402 (|Record| 403 (|:| |typ| 404 (|Symbol|)) 405 (|:| |c1| $) 406 (|:| |c2| $))) 407 (|:| |unaryOp| 408 (|Record| 409 (|:| |typ| 410 (|Symbol|)) 411 (|:| |c1| $)))) 412 #2#)) 413 2) 414 (QREFELT $ 19)) 415 (QREFELT $ 15))) 416 (GO #3#)))))))) 417 (COND 418 ((QEQCAR |n| 3) 419 (PROGN 420 (LETT #1# 421 (SPADCALL (SPADCALL (QCDR (CDR |n|)) (QREFELT $ 19)) 422 (QREFELT $ 11))) 423 (GO #3#)))) 424 (EXIT |n|))) 425 #3# (EXIT #1#)))) 426 427(SDEFUN |ILOGIC;factor;$L;9| ((|n| $) ($ |List| $)) 428 (SPROG ((|ch| (|List| $)) (#1=#:G577 NIL) (#2=#:G474 NIL)) 429 (SEQ 430 (EXIT 431 (SEQ 432 (COND 433 ((NOT (QEQCAR |n| 2)) 434 (PROGN (LETT #1# (LIST |n|)) (GO #3=#:G576)))) 435 (COND 436 ((NOT 437 (EQUAL 438 (QVELT 439 (PROG2 (LETT #2# |n|) 440 (QCDR #2#) 441 (|check_union2| (QEQCAR #2# 2) 442 (|Record| (|:| |typ| (|Symbol|)) 443 (|:| |c1| $) (|:| |c2| $)) 444 (|Union| 445 (|:| |const| 446 (|Record| 447 (|:| |val| (|Symbol|)))) 448 (|:| |var| 449 (|Record| 450 (|:| |str| (|String|)))) 451 (|:| |binaryOp| 452 (|Record| (|:| |typ| (|Symbol|)) 453 (|:| |c1| $) 454 (|:| |c2| $))) 455 (|:| |unaryOp| 456 (|Record| (|:| |typ| (|Symbol|)) 457 (|:| |c1| $)))) 458 #2#)) 459 0) 460 'AND)) 461 (PROGN (LETT #1# (LIST |n|)) (GO #3#)))) 462 (LETT |ch| (SPADCALL |n| (QREFELT $ 21))) 463 (EXIT 464 (SPADCALL 465 (SPADCALL (SPADCALL |ch| (QREFELT $ 23)) (QREFELT $ 24)) 466 (SPADCALL (SPADCALL |ch| (QREFELT $ 25)) (QREFELT $ 24)) 467 (QREFELT $ 26))))) 468 #3# (EXIT #1#)))) 469 470(SDEFUN |ILOGIC;removeDup| ((|a| |List| $) (|b| |List| $) ($ |List| $)) 471 (SPROG 472 ((|res| (|List| $)) (|fnd| (|Boolean|)) (#1=#:G584 NIL) (|a1| NIL) 473 (#2=#:G583 NIL) (|b1| NIL)) 474 (SEQ (LETT |res| NIL) 475 (SEQ (LETT |b1| NIL) (LETT #2# |b|) G190 476 (COND 477 ((OR (ATOM #2#) (PROGN (LETT |b1| (CAR #2#)) NIL)) 478 (GO G191))) 479 (SEQ (LETT |fnd| 'NIL) 480 (SEQ (LETT |a1| NIL) (LETT #1# |a|) G190 481 (COND 482 ((OR (ATOM #1#) 483 (PROGN (LETT |a1| (CAR #1#)) NIL)) 484 (GO G191))) 485 (SEQ 486 (EXIT 487 (COND 488 ((SPADCALL |a1| |b1| (QREFELT $ 13)) 489 (LETT |fnd| 'T))))) 490 (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL)) 491 (EXIT 492 (COND 493 ((NULL |fnd|) 494 (LETT |res| 495 (SPADCALL |res| |b1| (QREFELT $ 27))))))) 496 (LETT #2# (CDR #2#)) (GO G190) G191 (EXIT NIL)) 497 (EXIT |res|)))) 498 499(SDEFUN |ILOGIC;deductions1| ((|ln| |List| $) ($ |List| $)) 500 (SPROG 501 ((|res| (|List| $)) (#1=#:G601 NIL) (|n2| NIL) (|ch| (|List| $)) 502 (#2=#:G600 NIL) (|n| NIL)) 503 (SEQ (LETT |res| NIL) 504 (SEQ (LETT |n| NIL) (LETT #2# |ln|) G190 505 (COND 506 ((OR (ATOM #2#) (PROGN (LETT |n| (CAR #2#)) NIL)) 507 (GO G191))) 508 (SEQ 509 (EXIT 510 (COND 511 ((QEQCAR |n| 2) 512 (COND 513 ((EQUAL (QVELT (CDR |n|) 0) 'IMPLY) 514 (SEQ (LETT |ch| (SPADCALL |n| (QREFELT $ 21))) 515 (EXIT 516 (SEQ (LETT |n2| NIL) (LETT #1# |ln|) G190 517 (COND 518 ((OR (ATOM #1#) 519 (PROGN (LETT |n2| (CAR #1#)) NIL)) 520 (GO G191))) 521 (SEQ 522 (EXIT 523 (COND 524 ((SPADCALL 525 (SPADCALL |ch| (QREFELT $ 23)) |n2| 526 (QREFELT $ 13)) 527 (LETT |res| 528 (SPADCALL |res| 529 (SPADCALL |ch| 530 (QREFELT $ 531 25)) 532 (QREFELT $ 27))))))) 533 (LETT #1# (CDR #1#)) (GO G190) G191 534 (EXIT NIL)))))))))) 535 (LETT #2# (CDR #2#)) (GO G190) G191 (EXIT NIL)) 536 (EXIT |res|)))) 537 538(SDEFUN |ILOGIC;deductions;2L;12| ((|ln| |List| $) ($ |List| $)) 539 (SPROG 540 ((|loopbreaker| (|NonNegativeInteger|)) (|emptyres| (|Boolean|)) 541 (|res| (|List| $)) (|thisres| (|List| $)) (|allres| (|List| $))) 542 (SEQ (LETT |res| NIL) (LETT |thisres| (|ILOGIC;deductions1| |ln| $)) 543 (LETT |res| (SPADCALL |res| |thisres| (QREFELT $ 26))) 544 (LETT |emptyres| (SPADCALL |thisres| (QREFELT $ 28))) 545 (LETT |loopbreaker| 1) 546 (SEQ G190 547 (COND 548 ((NULL (COND (|emptyres| NIL) ('T (< |loopbreaker| 20)))) 549 (GO G191))) 550 (SEQ (LETT |allres| (SPADCALL |ln| |res| (QREFELT $ 26))) 551 (LETT |thisres| (|ILOGIC;deductions1| |allres| $)) 552 (LETT |thisres| (|ILOGIC;removeDup| |res| |thisres| $)) 553 (LETT |thisres| 554 (|ILOGIC;removeDup| |allres| |thisres| $)) 555 (LETT |res| (SPADCALL |res| |thisres| (QREFELT $ 26))) 556 (LETT |emptyres| (SPADCALL |thisres| (QREFELT $ 28))) 557 (EXIT (LETT |loopbreaker| (+ |loopbreaker| 1)))) 558 NIL (GO G190) G191 (EXIT NIL)) 559 (EXIT |res|)))) 560 561(SDEFUN |ILOGIC;opType;$S;13| ((|n| $) ($ |Symbol|)) 562 (SPROG ((#1=#:G609 NIL)) 563 (SEQ 564 (EXIT 565 (SEQ 566 (COND 567 ((QEQCAR |n| 2) 568 (PROGN (LETT #1# (QVELT (CDR |n|) 0)) (GO #2=#:G608)))) 569 (COND ((QEQCAR |n| 3) (PROGN (LETT #1# 'NOT) (GO #2#)))) 570 (EXIT 'OTHER))) 571 #2# (EXIT #1#)))) 572 573(SDEFUN |ILOGIC;atom?;$B;14| ((|n| $) ($ |Boolean|)) 574 (COND ((QEQCAR |n| 1) 'T) ('T (QEQCAR |n| 0)))) 575 576(SDEFUN |ILOGIC;value;$S;15| ((|n| $) ($ |Symbol|)) 577 (SPROG ((#1=#:G624 NIL)) 578 (SEQ 579 (EXIT 580 (SEQ 581 (COND 582 ((QEQCAR |n| 0) 583 (SEQ 584 (COND 585 ((EQUAL (QCAR (CDR |n|)) 'F) 586 (PROGN (LETT #1# 'F) (GO #2=#:G623)))) 587 (COND 588 ((EQUAL (QCAR (CDR |n|)) 'T) 589 (PROGN (LETT #1# 'T) (GO #2#)))) 590 (EXIT (PROGN (LETT #1# 'E) (GO #2#)))))) 591 (COND ((QEQCAR |n| 1) (PROGN (LETT #1# 'P) (GO #2#)))) 592 (EXIT 'C))) 593 #2# (EXIT #1#)))) 594 595(SDEFUN |ILOGIC;getChildren;$L;16| ((|n| $) ($ |List| $)) 596 (SPROG ((#1=#:G630 NIL) (#2=#:G475 NIL)) 597 (SEQ 598 (EXIT 599 (SEQ 600 (COND 601 ((SPADCALL |n| (QREFELT $ 31)) 602 (PROGN (LETT #1# NIL) (GO #3=#:G629)))) 603 (COND 604 ((QEQCAR |n| 2) 605 (PROGN 606 (LETT #1# (LIST (QVELT (CDR |n|) 1) (QVELT (CDR |n|) 2))) 607 (GO #3#)))) 608 (EXIT 609 (COND 610 ((QEQCAR |n| 3) 611 (PROGN 612 (LETT #1# 613 (LIST 614 (QCDR 615 (PROG2 (LETT #2# |n|) 616 (QCDR #2#) 617 (|check_union2| (QEQCAR #2# 3) 618 (|Record| 619 (|:| |typ| (|Symbol|)) 620 (|:| |c1| $)) 621 (|Union| 622 (|:| |const| 623 (|Record| 624 (|:| |val| (|Symbol|)))) 625 (|:| |var| 626 (|Record| 627 (|:| |str| (|String|)))) 628 (|:| |binaryOp| 629 (|Record| 630 (|:| |typ| (|Symbol|)) 631 (|:| |c1| $) 632 (|:| |c2| $))) 633 (|:| |unaryOp| 634 (|Record| 635 (|:| |typ| (|Symbol|)) 636 (|:| |c1| $)))) 637 #2#))))) 638 (GO #3#))))))) 639 #3# (EXIT #1#)))) 640 641(SDEFUN |ILOGIC;=;2$B;17| ((|a| $) (|b| $) ($ |Boolean|)) 642 (SEQ 643 (COND 644 ((QEQCAR |a| 0) 645 (COND 646 ((QEQCAR |b| 0) 647 (EXIT 648 (SEQ 649 (COND 650 ((EQUAL (QCAR (CDR |a|)) 'F) 651 (COND ((EQUAL (QCAR (CDR |b|)) 'F) (EXIT 'T))))) 652 (COND 653 ((EQUAL (QCAR (CDR |a|)) 'T) 654 (COND ((EQUAL (QCAR (CDR |b|)) 'T) (EXIT 'T))))) 655 (EXIT NIL))))))) 656 (COND 657 ((QEQCAR |a| 1) 658 (COND 659 ((QEQCAR |b| 1) 660 (EXIT 661 (COND ((EQUAL (QCAR (CDR |a|)) (QCAR (CDR |b|))) 'T) 662 (#1='T NIL))))))) 663 (COND 664 ((QEQCAR |a| 2) 665 (COND 666 ((QEQCAR |b| 2) 667 (EXIT 668 (COND 669 ((SPADCALL (QVELT (CDR |a|) 0) (QVELT (CDR |b|) 0) 670 (QREFELT $ 17)) 671 NIL) 672 (#1# 673 (SEQ 674 (COND 675 ((SPADCALL (QVELT (CDR |a|) 1) (QVELT (CDR |b|) 1) 676 (QREFELT $ 13)) 677 (COND 678 ((SPADCALL (QVELT (CDR |a|) 2) (QVELT (CDR |b|) 2) 679 (QREFELT $ 13)) 680 (EXIT 'T))))) 681 (EXIT NIL))))))))) 682 (COND 683 ((QEQCAR |a| 3) 684 (COND 685 ((QEQCAR |b| 3) 686 (EXIT 687 (NULL 688 (OR (SPADCALL (QCAR (CDR |a|)) (QCAR (CDR |b|)) (QREFELT $ 17)) 689 (NULL 690 (SPADCALL (QCDR (CDR |a|)) (QCDR (CDR |b|)) 691 (QREFELT $ 13)))))))))) 692 (EXIT NIL))) 693 694(SDEFUN |ILOGIC;parseBracketTerm| 695 ((|t1| |String|) (|pin| . #1=(|NonNegativeInteger|)) 696 ($ |Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 697 (SPROG 698 ((|p1| #1#) (#2=#:G662 NIL) (|ch| (|Character|)) (|trm| ($)) 699 (|r2| (|Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|))))) 700 (SEQ 701 (EXIT 702 (SEQ (LETT |p1| |pin|) (LETT |trm| (SPADCALL (QREFELT $ 9))) 703 (LETT |ch| (STR_ELT1 |t1| |p1|)) 704 (COND 705 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| "("))) 706 (SEQ (|error| "bracket term must start with (") 707 (EXIT 708 (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3=#:G661)))))) 709 (LETT |p1| (+ |p1| 1)) 710 (COND 711 ((> |p1| (SPADCALL |t1| (QREFELT $ 34))) 712 (SEQ (|error| "opening but no closing bracket") 713 (EXIT (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3#)))))) 714 (LETT |r2| (SPADCALL |t1| |p1| (QREFELT $ 37))) 715 (LETT |trm| (QCAR |r2|)) (LETT |p1| (QCDR |r2|)) 716 (LETT |ch| (STR_ELT1 |t1| |p1|)) 717 (COND 718 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| ")"))) 719 (SEQ (|error| "can't find closing bracket") 720 (EXIT (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3#)))))) 721 (LETT |p1| (+ |p1| 1)) (EXIT (CONS |trm| |p1|)))) 722 #3# (EXIT #2#)))) 723 724(SDEFUN |ILOGIC;parseILand| 725 ((|t1| |String|) (|pin| . #1=(|NonNegativeInteger|)) (|firstTerm| $) 726 ($ |Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 727 (SPROG 728 ((|p1| #1#) (|secondTerm| ($)) 729 (|r| (|Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 730 (#2=#:G669 NIL) (|ch| (|Character|)) (|trm| ($)) (|pt| #1#)) 731 (SEQ 732 (EXIT 733 (SEQ (LETT |p1| |pin|) (LETT |pt| |pin|) 734 (LETT |trm| (SPADCALL (QREFELT $ 9))) 735 (LETT |ch| (STR_ELT1 |t1| |p1|)) 736 (COND 737 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| "/"))) 738 (SEQ (|error| "expecting /\\") 739 (EXIT 740 (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3=#:G668)))))) 741 (LETT |p1| (+ |p1| 1)) (LETT |ch| (STR_ELT1 |t1| |p1|)) 742 (COND 743 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| "\\"))) 744 (SEQ (|error| "expecting /\\") 745 (EXIT (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3#)))))) 746 (LETT |p1| (+ |p1| 1)) 747 (LETT |r| (SPADCALL |t1| |p1| (QREFELT $ 37))) 748 (LETT |secondTerm| (QCAR |r|)) (LETT |p1| (QCDR |r|)) 749 (EXIT 750 (CONS (SPADCALL |firstTerm| |secondTerm| (QREFELT $ 14)) 751 |p1|)))) 752 #3# (EXIT #2#)))) 753 754(SDEFUN |ILOGIC;parseILor| 755 ((|t1| |String|) (|pin| . #1=(|NonNegativeInteger|)) (|firstTerm| $) 756 ($ |Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 757 (SPROG 758 ((|p1| #1#) (|secondTerm| ($)) 759 (|r| (|Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 760 (#2=#:G676 NIL) (|ch| (|Character|)) (|trm| ($)) (|pt| #1#)) 761 (SEQ 762 (EXIT 763 (SEQ (LETT |p1| |pin|) (LETT |pt| |pin|) 764 (LETT |trm| (SPADCALL (QREFELT $ 9))) 765 (LETT |ch| (STR_ELT1 |t1| |p1|)) 766 (COND 767 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| "\\"))) 768 (SEQ (|error| "expecting \\/") 769 (EXIT 770 (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3=#:G675)))))) 771 (LETT |p1| (+ |p1| 1)) (LETT |ch| (STR_ELT1 |t1| |p1|)) 772 (COND 773 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| "/"))) 774 (SEQ (|error| "expecting \\/") 775 (EXIT (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3#)))))) 776 (LETT |p1| (+ |p1| 1)) 777 (LETT |r| (SPADCALL |t1| |p1| (QREFELT $ 37))) 778 (LETT |secondTerm| (QCAR |r|)) (LETT |p1| (QCDR |r|)) 779 (EXIT 780 (CONS (SPADCALL |firstTerm| |secondTerm| (QREFELT $ 15)) 781 |p1|)))) 782 #3# (EXIT #2#)))) 783 784(SDEFUN |ILOGIC;parseILfn| 785 ((|t1| |String|) (|pin| . #1=(|NonNegativeInteger|)) (|firstTerm| $) 786 ($ |Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 787 (SPROG 788 ((|p1| #1#) (|secondTerm| ($)) 789 (|r| (|Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 790 (#2=#:G683 NIL) (|ch| (|Character|)) (|trm| ($)) (|pt| #1#)) 791 (SEQ 792 (EXIT 793 (SEQ (LETT |p1| |pin|) (LETT |pt| |pin|) 794 (LETT |trm| (SPADCALL (QREFELT $ 9))) 795 (LETT |ch| (STR_ELT1 |t1| |p1|)) 796 (COND 797 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| "-"))) 798 (SEQ (|error| "expecting ->") 799 (EXIT 800 (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3=#:G682)))))) 801 (LETT |p1| (+ |p1| 1)) (LETT |ch| (STR_ELT1 |t1| |p1|)) 802 (COND 803 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| ">"))) 804 (SEQ (|error| "expecting ->") 805 (EXIT (PROGN (LETT #2# (CONS |trm| |p1|)) (GO #3#)))))) 806 (LETT |p1| (+ |p1| 1)) 807 (LETT |r| (SPADCALL |t1| |p1| (QREFELT $ 37))) 808 (LETT |secondTerm| (QCAR |r|)) (LETT |p1| (QCDR |r|)) 809 (EXIT 810 (CONS (SPADCALL |firstTerm| |secondTerm| (QREFELT $ 18)) 811 |p1|)))) 812 #3# (EXIT #2#)))) 813 814(SDEFUN |ILOGIC;parseILName| 815 ((|t1| |String|) (|pin| . #1=(|NonNegativeInteger|)) 816 ($ |Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 817 (SPROG 818 ((|ch| (|Character|)) (#2=#:G689 NIL) (|pt| #1#) (|vnm| (|String|))) 819 (SEQ 820 (EXIT 821 (SEQ (LETT |vnm| "") (LETT |pt| |pin|) 822 (LETT |ch| (STR_ELT1 |t1| |pt|)) 823 (SEQ G190 824 (COND ((NULL (SPADCALL |ch| (QREFELT $ 39))) (GO G191))) 825 (SEQ (LETT |vnm| (SPADCALL |vnm| |ch| (QREFELT $ 40))) 826 (LETT |pt| (+ |pt| 1)) 827 (COND 828 ((> |pt| (SPADCALL |t1| (QREFELT $ 34))) 829 (PROGN 830 (LETT #2# 831 (CONS (SPADCALL |vnm| (QREFELT $ 8)) |pt|)) 832 (GO #3=#:G688)))) 833 (EXIT (LETT |ch| (STR_ELT1 |t1| |pt|)))) 834 NIL (GO G190) G191 (EXIT NIL)) 835 (EXIT (CONS (SPADCALL |vnm| (QREFELT $ 8)) |pt|)))) 836 #3# (EXIT #2#)))) 837 838(SDEFUN |ILOGIC;parseILTerm;SNniR;23| 839 ((|t1| |String|) (|pin| |NonNegativeInteger|) 840 ($ |Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 841 (SPROG 842 ((|p1| (|NonNegativeInteger|)) (|res| ($)) 843 (|r| (|Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 844 (|ch| (|Character|)) (#1=#:G706 NIL)) 845 (SEQ 846 (EXIT 847 (SEQ (LETT |p1| |pin|) (LETT |res| (SPADCALL (QREFELT $ 9))) 848 (LETT |ch| (STR_ELT1 |t1| |p1|)) 849 (SEQ G190 850 (COND 851 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| " "))) (GO G191))) 852 (SEQ (LETT |p1| (+ |p1| 1)) 853 (COND 854 ((> |p1| (SPADCALL |t1| (QREFELT $ 34))) 855 (PROGN 856 (LETT #1# (CONS |res| |p1|)) 857 (GO #2=#:G705)))) 858 (EXIT (LETT |ch| (STR_ELT1 |t1| |p1|)))) 859 NIL (GO G190) G191 (EXIT NIL)) 860 (LETT |r| (CONS |res| |p1|)) 861 (COND 862 ((SPADCALL |ch| (QREFELT $ 41)) 863 (LETT |r| (|ILOGIC;parseILName| |t1| |p1| $)))) 864 (COND 865 ((|eql_SI| |ch| (|STR_to_CHAR| "(")) 866 (LETT |r| (|ILOGIC;parseBracketTerm| |t1| |p1| $)))) 867 (LETT |res| (QCAR |r|)) (LETT |p1| (QCDR |r|)) 868 (COND 869 ((> |p1| (SPADCALL |t1| (QREFELT $ 34))) 870 (PROGN (LETT #1# (CONS |res| |p1|)) (GO #2#)))) 871 (LETT |ch| (STR_ELT1 |t1| |p1|)) 872 (COND 873 ((|eql_SI| |ch| (|STR_to_CHAR| " ")) 874 (SEQ (LETT |p1| (+ |p1| 1)) 875 (EXIT 876 (COND 877 ((> |p1| (SPADCALL |t1| (QREFELT $ 34))) 878 (PROGN (LETT #1# (CONS |res| |p1|)) (GO #2#)))))))) 879 (LETT |ch| (STR_ELT1 |t1| |p1|)) 880 (COND 881 ((|eql_SI| |ch| (|STR_to_CHAR| "/")) 882 (SEQ (LETT |r| (|ILOGIC;parseILand| |t1| |p1| |res| $)) 883 (LETT |res| (QCAR |r|)) (EXIT (LETT |p1| (QCDR |r|)))))) 884 (COND 885 ((|eql_SI| |ch| (|STR_to_CHAR| "\\")) 886 (SEQ (LETT |r| (|ILOGIC;parseILor| |t1| |p1| |res| $)) 887 (LETT |res| (QCAR |r|)) (EXIT (LETT |p1| (QCDR |r|)))))) 888 (COND 889 ((|eql_SI| |ch| (|STR_to_CHAR| "-")) 890 (SEQ (LETT |r| (|ILOGIC;parseILfn| |t1| |p1| |res| $)) 891 (LETT |res| (QCAR |r|)) (EXIT (LETT |p1| (QCDR |r|)))))) 892 (EXIT (CONS |res| |p1|)))) 893 #2# (EXIT #1#)))) 894 895(SDEFUN |ILOGIC;parseIL2;SNniR;24| 896 ((|t1| |String|) (|pin| |NonNegativeInteger|) 897 ($ |Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 898 (SPROG 899 ((|p1| (|NonNegativeInteger|)) (|res| ($)) 900 (|r| (|Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 901 (|ch| (|Character|)) (#1=#:G714 NIL)) 902 (SEQ 903 (EXIT 904 (SEQ (LETT |p1| |pin|) (LETT |res| (SPADCALL (QREFELT $ 9))) 905 (LETT |ch| (STR_ELT1 |t1| |p1|)) 906 (SEQ G190 907 (COND 908 ((NULL (|eql_SI| |ch| (|STR_to_CHAR| " "))) (GO G191))) 909 (SEQ (LETT |p1| (+ |p1| 1)) 910 (COND 911 ((> |p1| (SPADCALL |t1| (QREFELT $ 34))) 912 (PROGN 913 (LETT #1# (CONS |res| |p1|)) 914 (GO #2=#:G713)))) 915 (EXIT (LETT |ch| (STR_ELT1 |t1| |p1|)))) 916 NIL (GO G190) G191 (EXIT NIL)) 917 (LETT |r| (CONS |res| |p1|)) 918 (COND 919 ((SPADCALL |ch| (QREFELT $ 41)) 920 (LETT |r| (|ILOGIC;parseILName| |t1| |p1| $)))) 921 (COND 922 ((|eql_SI| |ch| (|STR_to_CHAR| "(")) 923 (LETT |r| (|ILOGIC;parseBracketTerm| |t1| |p1| $)))) 924 (LETT |res| (QCAR |r|)) (LETT |p1| (QCDR |r|)) 925 (EXIT (CONS |res| |p1|)))) 926 #2# (EXIT #1#)))) 927 928(SDEFUN |ILOGIC;parseIL;S$;25| ((|t1| |String|) ($ $)) 929 (SPROG 930 ((|r| (|Record| (|:| |rft| $) (|:| |pout| (|NonNegativeInteger|)))) 931 (#1=#:G715 NIL)) 932 (SEQ 933 (LETT |r| 934 (SPADCALL |t1| 935 (PROG1 (LETT #1# (SPADCALL |t1| (QREFELT $ 43))) 936 (|check_subtype2| (>= #1# 0) 937 '(|NonNegativeInteger|) 938 '(|Integer|) #1#)) 939 (QREFELT $ 37))) 940 (EXIT (QCAR |r|))))) 941 942(SDEFUN |ILOGIC;toString;$S;26| ((|n| $) ($ |String|)) 943 (SPROG ((#1=#:G734 NIL) (#2=#:G474 NIL) (|s1| (|String|))) 944 (SEQ 945 (EXIT 946 (SEQ 947 (COND 948 ((QEQCAR |n| 0) 949 (SEQ 950 (COND 951 ((EQUAL (QCAR (CDR |n|)) 'F) 952 (PROGN (LETT #1# "_|_") (GO #3=#:G733)))) 953 (COND 954 ((EQUAL (QCAR (CDR |n|)) 'T) 955 (PROGN (LETT #1# "T") (GO #3#)))) 956 (EXIT (PROGN (LETT #1# "?") (GO #3#)))))) 957 (COND 958 ((QEQCAR |n| 1) 959 (PROGN (LETT #1# (QCAR (CDR |n|))) (GO #3#)))) 960 (COND 961 ((QEQCAR |n| 2) 962 (SEQ (LETT |s1| "->") 963 (COND 964 ((EQUAL 965 (QVELT 966 (PROG2 (LETT #2# |n|) 967 (QCDR #2#) 968 (|check_union2| (QEQCAR #2# 2) 969 (|Record| (|:| |typ| (|Symbol|)) 970 (|:| |c1| $) 971 (|:| |c2| $)) 972 (|Union| 973 (|:| |const| 974 (|Record| 975 (|:| |val| (|Symbol|)))) 976 (|:| |var| 977 (|Record| 978 (|:| |str| (|String|)))) 979 (|:| |binaryOp| 980 (|Record| 981 (|:| |typ| (|Symbol|)) 982 (|:| |c1| $) 983 (|:| |c2| $))) 984 (|:| |unaryOp| 985 (|Record| 986 (|:| |typ| (|Symbol|)) 987 (|:| |c1| $)))) 988 #2#)) 989 0) 990 'AND) 991 (LETT |s1| "/\\"))) 992 (COND 993 ((EQUAL 994 (QVELT 995 (PROG2 (LETT #2# |n|) 996 (QCDR #2#) 997 (|check_union2| (QEQCAR #2# 2) 998 (|Record| (|:| |typ| (|Symbol|)) 999 (|:| |c1| $) 1000 (|:| |c2| $)) 1001 (|Union| 1002 (|:| |const| 1003 (|Record| 1004 (|:| |val| (|Symbol|)))) 1005 (|:| |var| 1006 (|Record| 1007 (|:| |str| (|String|)))) 1008 (|:| |binaryOp| 1009 (|Record| 1010 (|:| |typ| (|Symbol|)) 1011 (|:| |c1| $) 1012 (|:| |c2| $))) 1013 (|:| |unaryOp| 1014 (|Record| 1015 (|:| |typ| (|Symbol|)) 1016 (|:| |c1| $)))) 1017 #2#)) 1018 0) 1019 'OR) 1020 (LETT |s1| "\\/"))) 1021 (EXIT 1022 (PROGN 1023 (LETT #1# 1024 (SPADCALL 1025 (LIST "(" 1026 (SPADCALL 1027 (QVELT 1028 (PROG2 (LETT #2# |n|) 1029 (QCDR #2#) 1030 (|check_union2| (QEQCAR #2# 2) 1031 (|Record| 1032 (|:| |typ| 1033 (|Symbol|)) 1034 (|:| |c1| $) 1035 (|:| |c2| $)) 1036 (|Union| 1037 (|:| |const| 1038 (|Record| 1039 (|:| |val| 1040 (|Symbol|)))) 1041 (|:| |var| 1042 (|Record| 1043 (|:| |str| 1044 (|String|)))) 1045 (|:| |binaryOp| 1046 (|Record| 1047 (|:| |typ| 1048 (|Symbol|)) 1049 (|:| |c1| $) 1050 (|:| |c2| 1051 $))) 1052 (|:| |unaryOp| 1053 (|Record| 1054 (|:| |typ| 1055 (|Symbol|)) 1056 (|:| |c1| 1057 $)))) 1058 #2#)) 1059 1) 1060 (QREFELT $ 45)) 1061 |s1| 1062 (SPADCALL 1063 (QVELT 1064 (PROG2 (LETT #2# |n|) 1065 (QCDR #2#) 1066 (|check_union2| (QEQCAR #2# 2) 1067 (|Record| 1068 (|:| |typ| 1069 (|Symbol|)) 1070 (|:| |c1| $) 1071 (|:| |c2| $)) 1072 (|Union| 1073 (|:| |const| 1074 (|Record| 1075 (|:| |val| 1076 (|Symbol|)))) 1077 (|:| |var| 1078 (|Record| 1079 (|:| |str| 1080 (|String|)))) 1081 (|:| |binaryOp| 1082 (|Record| 1083 (|:| |typ| 1084 (|Symbol|)) 1085 (|:| |c1| $) 1086 (|:| |c2| 1087 $))) 1088 (|:| |unaryOp| 1089 (|Record| 1090 (|:| |typ| 1091 (|Symbol|)) 1092 (|:| |c1| 1093 $)))) 1094 #2#)) 1095 2) 1096 (QREFELT $ 45)) 1097 ")") 1098 (QREFELT $ 46))) 1099 (GO #3#)))))) 1100 (COND 1101 ((QEQCAR |n| 3) 1102 (PROGN 1103 (LETT #1# 1104 (SPADCALL 1105 (LIST "~(" 1106 (SPADCALL (QCDR (CDR |n|)) (QREFELT $ 45)) 1107 ")") 1108 (QREFELT $ 46))) 1109 (GO #3#)))) 1110 (EXIT (|error| "toString: unexpected representation")))) 1111 #3# (EXIT #1#)))) 1112 1113(SDEFUN |ILOGIC;toStringUnwrapped;$S;27| ((|n| $) ($ |String|)) 1114 (SPROG ((#1=#:G751 NIL) (#2=#:G474 NIL) (|s1| (|String|))) 1115 (SEQ 1116 (EXIT 1117 (SEQ 1118 (COND 1119 ((QEQCAR |n| 0) 1120 (SEQ 1121 (COND 1122 ((EQUAL (QCAR (CDR |n|)) 'F) 1123 (PROGN (LETT #1# "_|_") (GO #3=#:G750)))) 1124 (COND 1125 ((EQUAL (QCAR (CDR |n|)) 'T) 1126 (PROGN (LETT #1# "T") (GO #3#)))) 1127 (EXIT (PROGN (LETT #1# "?") (GO #3#)))))) 1128 (COND 1129 ((QEQCAR |n| 1) 1130 (PROGN (LETT #1# (QCAR (CDR |n|))) (GO #3#)))) 1131 (COND 1132 ((QEQCAR |n| 2) 1133 (SEQ (LETT |s1| "->") 1134 (COND 1135 ((EQUAL 1136 (QVELT 1137 (PROG2 (LETT #2# |n|) 1138 (QCDR #2#) 1139 (|check_union2| (QEQCAR #2# 2) 1140 (|Record| (|:| |typ| (|Symbol|)) 1141 (|:| |c1| $) 1142 (|:| |c2| $)) 1143 (|Union| 1144 (|:| |const| 1145 (|Record| 1146 (|:| |val| (|Symbol|)))) 1147 (|:| |var| 1148 (|Record| 1149 (|:| |str| (|String|)))) 1150 (|:| |binaryOp| 1151 (|Record| 1152 (|:| |typ| (|Symbol|)) 1153 (|:| |c1| $) 1154 (|:| |c2| $))) 1155 (|:| |unaryOp| 1156 (|Record| 1157 (|:| |typ| (|Symbol|)) 1158 (|:| |c1| $)))) 1159 #2#)) 1160 0) 1161 'AND) 1162 (LETT |s1| "/\\"))) 1163 (COND 1164 ((EQUAL 1165 (QVELT 1166 (PROG2 (LETT #2# |n|) 1167 (QCDR #2#) 1168 (|check_union2| (QEQCAR #2# 2) 1169 (|Record| (|:| |typ| (|Symbol|)) 1170 (|:| |c1| $) 1171 (|:| |c2| $)) 1172 (|Union| 1173 (|:| |const| 1174 (|Record| 1175 (|:| |val| (|Symbol|)))) 1176 (|:| |var| 1177 (|Record| 1178 (|:| |str| (|String|)))) 1179 (|:| |binaryOp| 1180 (|Record| 1181 (|:| |typ| (|Symbol|)) 1182 (|:| |c1| $) 1183 (|:| |c2| $))) 1184 (|:| |unaryOp| 1185 (|Record| 1186 (|:| |typ| (|Symbol|)) 1187 (|:| |c1| $)))) 1188 #2#)) 1189 0) 1190 'OR) 1191 (LETT |s1| "\\/"))) 1192 (EXIT 1193 (PROGN 1194 (LETT #1# 1195 (SPADCALL 1196 (LIST 1197 (SPADCALL 1198 (QVELT 1199 (PROG2 (LETT #2# |n|) 1200 (QCDR #2#) 1201 (|check_union2| (QEQCAR #2# 2) 1202 (|Record| 1203 (|:| |typ| (|Symbol|)) 1204 (|:| |c1| $) 1205 (|:| |c2| $)) 1206 (|Union| 1207 (|:| |const| 1208 (|Record| 1209 (|:| |val| 1210 (|Symbol|)))) 1211 (|:| |var| 1212 (|Record| 1213 (|:| |str| 1214 (|String|)))) 1215 (|:| |binaryOp| 1216 (|Record| 1217 (|:| |typ| 1218 (|Symbol|)) 1219 (|:| |c1| $) 1220 (|:| |c2| $))) 1221 (|:| |unaryOp| 1222 (|Record| 1223 (|:| |typ| 1224 (|Symbol|)) 1225 (|:| |c1| $)))) 1226 #2#)) 1227 1) 1228 (QREFELT $ 45)) 1229 |s1| 1230 (SPADCALL 1231 (QVELT 1232 (PROG2 (LETT #2# |n|) 1233 (QCDR #2#) 1234 (|check_union2| (QEQCAR #2# 2) 1235 (|Record| 1236 (|:| |typ| (|Symbol|)) 1237 (|:| |c1| $) 1238 (|:| |c2| $)) 1239 (|Union| 1240 (|:| |const| 1241 (|Record| 1242 (|:| |val| 1243 (|Symbol|)))) 1244 (|:| |var| 1245 (|Record| 1246 (|:| |str| 1247 (|String|)))) 1248 (|:| |binaryOp| 1249 (|Record| 1250 (|:| |typ| 1251 (|Symbol|)) 1252 (|:| |c1| $) 1253 (|:| |c2| $))) 1254 (|:| |unaryOp| 1255 (|Record| 1256 (|:| |typ| 1257 (|Symbol|)) 1258 (|:| |c1| $)))) 1259 #2#)) 1260 2) 1261 (QREFELT $ 45))) 1262 (QREFELT $ 46))) 1263 (GO #3#)))))) 1264 (COND 1265 ((QEQCAR |n| 3) 1266 (PROGN 1267 (LETT #1# 1268 (SPADCALL 1269 (LIST "~(" 1270 (SPADCALL (QCDR (CDR |n|)) (QREFELT $ 45)) 1271 ")") 1272 (QREFELT $ 46))) 1273 (GO #3#)))) 1274 (EXIT 1275 (|error| "toStringUnwrapped: unexpected representation")))) 1276 #3# (EXIT #1#)))) 1277 1278(SDEFUN |ILOGIC;coerce;$Of;28| ((|n| $) ($ |OutputForm|)) 1279 (SPROG 1280 ((#1=#:G475 NIL) (#2=#:G474 NIL) (|s1| (|OutputForm|)) 1281 (#3=#:G473 NIL)) 1282 (SEQ 1283 (COND 1284 ((QEQCAR |n| 0) 1285 (COND ((EQUAL (QCAR (CDR |n|)) 'F) (SPADCALL "_|_" (QREFELT $ 49))) 1286 ((EQUAL (QCAR (CDR |n|)) 'T) (SPADCALL "T" (QREFELT $ 49))) 1287 (#4='T (SPADCALL "?" (QREFELT $ 49))))) 1288 ((QEQCAR |n| 1) 1289 (SPADCALL 1290 (QCAR 1291 (PROG2 (LETT #3# |n|) 1292 (QCDR #3#) 1293 (|check_union2| (QEQCAR #3# 1) 1294 (|Record| (|:| |str| (|String|))) 1295 (|Union| 1296 (|:| |const| 1297 (|Record| (|:| |val| (|Symbol|)))) 1298 (|:| |var| (|Record| (|:| |str| (|String|)))) 1299 (|:| |binaryOp| 1300 (|Record| (|:| |typ| (|Symbol|)) 1301 (|:| |c1| $) (|:| |c2| $))) 1302 (|:| |unaryOp| 1303 (|Record| (|:| |typ| (|Symbol|)) 1304 (|:| |c1| $)))) 1305 #3#))) 1306 (QREFELT $ 49))) 1307 ((QEQCAR |n| 2) 1308 (SEQ (LETT |s1| (SPADCALL "->" (QREFELT $ 49))) 1309 (COND 1310 ((EQUAL 1311 (QVELT 1312 (PROG2 (LETT #2# |n|) 1313 (QCDR #2#) 1314 (|check_union2| (QEQCAR #2# 2) 1315 (|Record| (|:| |typ| (|Symbol|)) 1316 (|:| |c1| $) (|:| |c2| $)) 1317 (|Union| 1318 (|:| |const| 1319 (|Record| (|:| |val| (|Symbol|)))) 1320 (|:| |var| 1321 (|Record| (|:| |str| (|String|)))) 1322 (|:| |binaryOp| 1323 (|Record| (|:| |typ| (|Symbol|)) 1324 (|:| |c1| $) 1325 (|:| |c2| $))) 1326 (|:| |unaryOp| 1327 (|Record| (|:| |typ| (|Symbol|)) 1328 (|:| |c1| $)))) 1329 #2#)) 1330 0) 1331 'AND) 1332 (LETT |s1| (SPADCALL "/\\" (QREFELT $ 49))))) 1333 (COND 1334 ((EQUAL 1335 (QVELT 1336 (PROG2 (LETT #2# |n|) 1337 (QCDR #2#) 1338 (|check_union2| (QEQCAR #2# 2) 1339 (|Record| (|:| |typ| (|Symbol|)) 1340 (|:| |c1| $) (|:| |c2| $)) 1341 (|Union| 1342 (|:| |const| 1343 (|Record| (|:| |val| (|Symbol|)))) 1344 (|:| |var| 1345 (|Record| (|:| |str| (|String|)))) 1346 (|:| |binaryOp| 1347 (|Record| (|:| |typ| (|Symbol|)) 1348 (|:| |c1| $) 1349 (|:| |c2| $))) 1350 (|:| |unaryOp| 1351 (|Record| (|:| |typ| (|Symbol|)) 1352 (|:| |c1| $)))) 1353 #2#)) 1354 0) 1355 'OR) 1356 (LETT |s1| (SPADCALL "\\/" (QREFELT $ 49))))) 1357 (EXIT 1358 (SPADCALL 1359 (SPADCALL |s1| 1360 (SPADCALL 1361 (QVELT 1362 (PROG2 (LETT #2# |n|) 1363 (QCDR #2#) 1364 (|check_union2| (QEQCAR #2# 2) 1365 (|Record| 1366 (|:| |typ| (|Symbol|)) 1367 (|:| |c1| $) (|:| |c2| $)) 1368 (|Union| 1369 (|:| |const| 1370 (|Record| 1371 (|:| |val| 1372 (|Symbol|)))) 1373 (|:| |var| 1374 (|Record| 1375 (|:| |str| 1376 (|String|)))) 1377 (|:| |binaryOp| 1378 (|Record| 1379 (|:| |typ| (|Symbol|)) 1380 (|:| |c1| $) 1381 (|:| |c2| $))) 1382 (|:| |unaryOp| 1383 (|Record| 1384 (|:| |typ| (|Symbol|)) 1385 (|:| |c1| $)))) 1386 #2#)) 1387 1) 1388 (QREFELT $ 50)) 1389 (SPADCALL 1390 (QVELT 1391 (PROG2 (LETT #2# |n|) 1392 (QCDR #2#) 1393 (|check_union2| (QEQCAR #2# 2) 1394 (|Record| 1395 (|:| |typ| (|Symbol|)) 1396 (|:| |c1| $) (|:| |c2| $)) 1397 (|Union| 1398 (|:| |const| 1399 (|Record| 1400 (|:| |val| 1401 (|Symbol|)))) 1402 (|:| |var| 1403 (|Record| 1404 (|:| |str| 1405 (|String|)))) 1406 (|:| |binaryOp| 1407 (|Record| 1408 (|:| |typ| (|Symbol|)) 1409 (|:| |c1| $) 1410 (|:| |c2| $))) 1411 (|:| |unaryOp| 1412 (|Record| 1413 (|:| |typ| (|Symbol|)) 1414 (|:| |c1| $)))) 1415 #2#)) 1416 2) 1417 (QREFELT $ 50)) 1418 (QREFELT $ 51)) 1419 (QREFELT $ 52))))) 1420 ((QEQCAR |n| 3) 1421 (SPADCALL 1422 (LIST (SPADCALL "~(" (QREFELT $ 49)) 1423 (SPADCALL 1424 (QCDR 1425 (PROG2 (LETT #1# |n|) 1426 (QCDR #1#) 1427 (|check_union2| (QEQCAR #1# 3) 1428 (|Record| (|:| |typ| (|Symbol|)) 1429 (|:| |c1| $)) 1430 (|Union| 1431 (|:| |const| 1432 (|Record| (|:| |val| (|Symbol|)))) 1433 (|:| |var| 1434 (|Record| (|:| |str| (|String|)))) 1435 (|:| |binaryOp| 1436 (|Record| (|:| |typ| (|Symbol|)) 1437 (|:| |c1| $) 1438 (|:| |c2| $))) 1439 (|:| |unaryOp| 1440 (|Record| (|:| |typ| (|Symbol|)) 1441 (|:| |c1| $)))) 1442 #1#))) 1443 (QREFELT $ 50)) 1444 (SPADCALL ")" (QREFELT $ 49))) 1445 (QREFELT $ 53))) 1446 (#4# (|error| "coerce: unexpected representation")))))) 1447 1448(DECLAIM (NOTINLINE |ILogic;|)) 1449 1450(DEFUN |ILogic| () 1451 (SPROG NIL 1452 (PROG (#1=#:G767) 1453 (RETURN 1454 (COND 1455 ((LETT #1# (HGET |$ConstructorCache| '|ILogic|)) 1456 (|CDRwithIncrement| (CDAR #1#))) 1457 ('T 1458 (UNWIND-PROTECT 1459 (PROG1 1460 (CDDAR 1461 (HPUT |$ConstructorCache| '|ILogic| 1462 (LIST (CONS NIL (CONS 1 (|ILogic;|)))))) 1463 (LETT #1# T)) 1464 (COND ((NOT #1#) (HREM |$ConstructorCache| '|ILogic|)))))))))) 1465 1466(DEFUN |ILogic;| () 1467 (SPROG ((|dv$| NIL) ($ NIL) (|pv$| NIL)) 1468 (PROGN 1469 (LETT |dv$| '(|ILogic|)) 1470 (LETT $ (GETREFV 56)) 1471 (QSETREFV $ 0 |dv$|) 1472 (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL))) 1473 (|haddProp| |$ConstructorCache| '|ILogic| NIL (CONS 1 $)) 1474 (|stuffDomainSlots| $) 1475 (SETF |pv$| (QREFELT $ 3)) 1476 (QSETREFV $ 6 1477 (|Union| (|:| |const| (|Record| (|:| |val| (|Symbol|)))) 1478 (|:| |var| (|Record| (|:| |str| (|String|)))) 1479 (|:| |binaryOp| 1480 (|Record| (|:| |typ| (|Symbol|)) (|:| |c1| $) 1481 (|:| |c2| $))) 1482 (|:| |unaryOp| 1483 (|Record| (|:| |typ| (|Symbol|)) 1484 (|:| |c1| $))))) 1485 $))) 1486 1487(MAKEPROP '|ILogic| '|infovec| 1488 (LIST 1489 '#(NIL NIL NIL NIL NIL NIL '|Rep| (|String|) 1490 |ILOGIC;proposition;S$;1| |ILOGIC;logicT;$;2| |ILOGIC;logicF;$;3| 1491 |ILOGIC;~;2$;4| (|Boolean|) |ILOGIC;=;2$B;17| |ILOGIC;/\\;3$;5| 1492 |ILOGIC;\\/;3$;6| (|Symbol|) (0 . ~=) |ILOGIC;implies;3$;7| 1493 |ILOGIC;redux;2$;8| (|List| $) |ILOGIC;getChildren;$L;16| 1494 (|List| $$) (6 . |first|) |ILOGIC;factor;$L;9| (11 . |second|) 1495 (16 . |concat|) (22 . |concat|) (28 . |empty?|) 1496 |ILOGIC;deductions;2L;12| |ILOGIC;opType;$S;13| 1497 |ILOGIC;atom?;$B;14| |ILOGIC;value;$S;15| (|Integer|) 1498 (33 . |maxIndex|) (|Record| (|:| |rft| $) (|:| |pout| 36)) 1499 (|NonNegativeInteger|) |ILOGIC;parseILTerm;SNniR;23| 1500 (|Character|) (38 . |alphanumeric?|) (43 . |concat|) 1501 (49 . |alphabetic?|) |ILOGIC;parseIL2;SNniR;24| (54 . |minIndex|) 1502 |ILOGIC;parseIL;S$;25| |ILOGIC;toString;$S;26| (59 . |concat|) 1503 |ILOGIC;toStringUnwrapped;$S;27| (|OutputForm|) (64 . |message|) 1504 |ILOGIC;coerce;$Of;28| (69 . |infix|) (76 . |paren|) 1505 (81 . |hconcat|) (|HashState|) (|SingleInteger|)) 1506 '#(~= 86 ~ 92 |value| 97 |toStringUnwrapped| 102 |toString| 107 1507 |redux| 112 |proposition| 117 |parseILTerm| 122 |parseIL2| 128 1508 |parseIL| 134 |opType| 139 |logicT| 144 |logicF| 148 |latex| 152 1509 |implies| 157 |hashUpdate!| 163 |hash| 169 |getChildren| 174 1510 |factor| 179 |deductions| 184 |coerce| 189 |atom?| 194 |_\|_| 199 1511 |\\/| 203 T$ 209 = 213 |/\\| 219) 1512 'NIL 1513 (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0)) 1514 (CONS '#(NIL NIL NIL NIL NIL |SetCategory&| |BasicType&| NIL) 1515 (CONS 1516 '#((|BoundedLattice|) (|BoundedMeetSemilattice|) 1517 (|BoundedJoinSemilattice|) (|MeetSemilattice|) 1518 (|JoinSemilattice|) (|SetCategory|) (|BasicType|) 1519 (|CoercibleTo| 48)) 1520 (|makeByteWordVec2| 55 1521 '(2 16 12 0 0 17 1 22 2 0 23 1 22 2 1522 0 25 2 22 0 0 0 26 2 22 0 0 2 27 1523 1 22 12 0 28 1 7 33 0 34 1 38 12 1524 0 39 2 7 0 0 38 40 1 38 12 0 41 1 1525 7 33 0 43 1 7 0 20 46 1 48 0 7 49 1526 3 48 0 0 0 0 51 1 48 0 0 52 1 48 1527 0 20 53 2 0 12 0 0 1 1 0 0 0 11 1 1528 0 16 0 32 1 0 7 0 47 1 0 7 0 45 1 1529 0 0 0 19 1 0 0 7 8 2 0 35 7 36 37 1530 2 0 35 7 36 42 1 0 0 7 44 1 0 16 1531 0 30 0 0 0 9 0 0 0 10 1 0 7 0 1 2 1532 0 0 0 0 18 2 0 54 54 0 1 1 0 55 0 1533 1 1 0 20 0 21 1 0 20 0 24 1 0 20 1534 20 29 1 0 48 0 50 1 0 12 0 31 0 0 1535 0 1 2 0 0 0 0 15 0 0 0 1 2 0 12 0 1536 0 13 2 0 0 0 0 14))))) 1537 '|lookupComplete|)) 1538 1539(MAKEPROP '|ILogic| 'NILADIC T) 1540