
(/VERSIONCHECK 2) 

(DEFUN |LO;Zero;$;1| ($)
  (CONS (|spadConstant| $ 11) (|spadConstant| $ 12))) 

(DEFUN |LO;zero?;$B;2| (|x| $) (SPADCALL (QCAR |x|) (QREFELT $ 14))) 

(DEFUN |LO;-;2$;3| (|x| $)
  (CONS (SPADCALL (QCAR |x|) (QREFELT $ 16)) (QCDR |x|))) 

(DEFUN |LO;=;2$B;4| (|x| |y| $)
  (SPADCALL (SPADCALL (QCDR |y|) (QCAR |x|) (QREFELT $ 18))
      (SPADCALL (QCDR |x|) (QCAR |y|) (QREFELT $ 18)) (QREFELT $ 19))) 

(PUT '|LO;numer;$M;5| '|SPADreplace| 'QCAR) 

(DEFUN |LO;numer;$M;5| (|x| $) (QCAR |x|)) 

(PUT '|LO;denom;$S;6| '|SPADreplace| 'QCDR) 

(DEFUN |LO;denom;$S;6| (|x| $) (QCDR |x|)) 

(DEFUN |LO;<;2$B;7| (|x| |y| $)
  (SPADCALL (SPADCALL (QCDR |y|) (QCAR |x|) (QREFELT $ 18))
      (SPADCALL (QCDR |x|) (QCAR |y|) (QREFELT $ 18)) (QREFELT $ 23))) 

(DEFUN |LO;+;3$;8| (|x| |y| $)
  (CONS (SPADCALL (SPADCALL (QCDR |y|) (QCAR |x|) (QREFELT $ 18))
            (SPADCALL (QCDR |x|) (QCAR |y|) (QREFELT $ 18))
            (QREFELT $ 25))
        (SPADCALL (QCDR |x|) (QCDR |y|) (QREFELT $ 26)))) 

(DEFUN |LO;*;I2$;9| (|n| |x| $)
  (CONS (SPADCALL |n| (QCAR |x|) (QREFELT $ 29)) (QCDR |x|))) 

(DEFUN |LO;*;R2$;10| (|r| |x| $)
  (COND
    ((SPADCALL |r| (QCDR |x|) (QREFELT $ 31))
     (CONS (QCAR |x|) (|spadConstant| $ 12)))
    ('T (CONS (SPADCALL |r| (QCAR |x|) (QREFELT $ 18)) (QCDR |x|))))) 

(DEFUN |LO;/;$S$;11| (|x| |d| $)
  (PROG (|u|)
    (RETURN
      (COND
        ((SPADCALL
             (LETT |u| (SPADCALL |d| (QCDR |x|) (QREFELT $ 26))
                   |LO;/;$S$;11|)
             (QREFELT $ 33))
         (|error| "division by zero"))
        ('T (CONS (QCAR |x|) |u|)))))) 

(DEFUN |LO;/;MS$;12| (|m| |d| $)
  (COND
    ((SPADCALL |d| (QREFELT $ 33)) (|error| "division by zero"))
    ('T (CONS |m| |d|)))) 

(DEFUN |LO;coerce;$Of;13| (|x| $)
  (PROG (|xd|)
    (RETURN
      (SEQ (LETT |xd| (QCDR |x|) |LO;coerce;$Of;13|)
           (EXIT (COND
                   ((SPADCALL |xd| (|spadConstant| $ 12)
                        (QREFELT $ 37))
                    (SPADCALL (QCAR |x|) (QREFELT $ 39)))
                   ('T
                    (SPADCALL (SPADCALL (QCAR |x|) (QREFELT $ 39))
                        (SPADCALL |xd| (QREFELT $ 40)) (QREFELT $ 41))))))))) 

(DEFUN |LO;latex;$S;14| (|x| $)
  (PROG (|xd| |nl| |dl|)
    (RETURN
      (SEQ (LETT |xd| (QCDR |x|) . #0=(|LO;latex;$S;14|))
           (EXIT (COND
                   ((SPADCALL |xd| (|spadConstant| $ 12)
                        (QREFELT $ 37))
                    (SPADCALL (QCAR |x|) (QREFELT $ 44)))
                   ('T
                    (SEQ (LETT |nl|
                               (STRCONC "{"
                                        (STRCONC
                                         (SPADCALL (QCAR |x|)
                                          (QREFELT $ 44))
                                         "}")) . #0#)
                         (LETT |dl|
                               (STRCONC "{"
                                        (STRCONC
                                         (SPADCALL (QCDR |x|)
                                          (QREFELT $ 45))
                                         "}")) . #0#)
                         (EXIT (STRCONC "{ "
                                        (STRCONC |nl|
                                         (STRCONC " \\over "
                                          (STRCONC |dl| " }"))))))))))))) 

(DEFUN |Localize| (&REST #0=#:G1849)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1850)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (|devaluateList| #0#)
                       (HGET |$ConstructorCache| '|Localize|)
                       '|domainEqualList|)
                   . #2=(|Localize|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (APPLY (|function| |Localize;|) #0#)
                 (LETT #1# T . #2#))
               (COND
                 ((NOT #1#) (HREM |$ConstructorCache| '|Localize|))))))))))) 

(DEFUN |Localize;| (|#1| |#2| |#3|)
  (PROG (DV$1 DV$2 DV$3 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|Localize|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT DV$3 (|devaluate| |#3|) . #0#)
        (LETT |dv$| (LIST '|Localize| DV$1 DV$2 DV$3) . #0#)
        (LETT $ (GETREFV 51) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#1|
                                '(|OrderedAbelianGroup|)))) . #0#))
        (|haddProp| |$ConstructorCache| '|Localize|
            (LIST DV$1 DV$2 DV$3) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (QSETREFV $ 9 (|Record| (|:| |num| |#1|) (|:| |den| |#3|)))
        (COND
          ((|testBitVector| |pv$| 1)
           (QSETREFV $ 24 (CONS (|dispatchFunction| |LO;<;2$B;7|) $))))
        $)))) 

(MAKEPROP '|Localize| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|local| |#3|) '|Rep|
             (CONS IDENTITY
                   (FUNCALL (|dispatchFunction| |LO;Zero;$;1|) $))
             (0 . |Zero|) (4 . |One|) (|Boolean|) (8 . |zero?|)
             |LO;zero?;$B;2| (13 . -) |LO;-;2$;3| (18 . *) (24 . =)
             |LO;=;2$B;4| |LO;numer;$M;5| |LO;denom;$S;6| (30 . <)
             (36 . <) (42 . +) (48 . *) |LO;+;3$;8| (|Integer|)
             (54 . *) |LO;*;I2$;9| (60 . =) |LO;*;R2$;10|
             (66 . |zero?|) |LO;/;$S$;11| |LO;/;MS$;12| (71 . |One|)
             (75 . =) (|OutputForm|) (81 . |coerce|) (86 . |coerce|)
             (91 . /) |LO;coerce;$Of;13| (|String|) (97 . |latex|)
             (102 . |latex|) |LO;latex;$S;14| (|Union| $ '"failed")
             (|NonNegativeInteger|) (|PositiveInteger|)
             (|SingleInteger|))
          '#(~= 107 |zero?| 113 |subtractIfCan| 118 |sample| 124
             |numer| 128 |min| 133 |max| 139 |latex| 145 |hash| 150
             |denom| 155 |coerce| 160 |Zero| 165 >= 169 > 175 = 181 <=
             187 < 193 / 199 - 211 + 222 * 228)
          'NIL
          (CONS (|makeByteWordVec2| 1
                    '(0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0))
                (CONS '#(|Module&| NIL NIL NIL NIL |AbelianGroup&| NIL
                         NIL NIL |AbelianMonoid&| NIL
                         |AbelianSemiGroup&| |OrderedSet&|
                         |SetCategory&| |BasicType&| NIL)
                      (CONS '#((|Module| 7) (|BiModule| 7 7)
                               (|LeftModule| 7) (|RightModule| 7)
                               (|OrderedAbelianGroup|) (|AbelianGroup|)
                               (|OrderedCancellationAbelianMonoid|)
                               (|CancellationAbelianMonoid|)
                               (|OrderedAbelianMonoid|)
                               (|AbelianMonoid|)
                               (|OrderedAbelianSemiGroup|)
                               (|AbelianSemiGroup|) (|OrderedSet|)
                               (|SetCategory|) (|BasicType|)
                               (|CoercibleTo| 38))
                            (|makeByteWordVec2| 50
                                '(0 6 0 11 0 8 0 12 1 6 13 0 14 1 6 0 0
                                  16 2 6 0 7 0 18 2 6 13 0 0 19 2 6 13
                                  0 0 23 2 0 13 0 0 24 2 6 0 0 0 25 2 8
                                  0 0 0 26 2 6 0 28 0 29 2 7 13 0 0 31
                                  1 7 13 0 33 0 7 0 36 2 8 13 0 0 37 1
                                  6 38 0 39 1 8 38 0 40 2 38 0 0 0 41 1
                                  6 43 0 44 1 8 43 0 45 2 0 13 0 0 1 1
                                  0 13 0 15 2 0 47 0 0 1 0 0 0 1 1 0 6
                                  0 21 2 1 0 0 0 1 2 1 0 0 0 1 1 0 43 0
                                  46 1 0 50 0 1 1 0 8 0 22 1 0 38 0 42
                                  0 0 0 10 2 1 13 0 0 1 2 1 13 0 0 1 2
                                  0 13 0 0 20 2 1 13 0 0 1 2 1 13 0 0
                                  24 2 0 0 6 8 35 2 0 0 0 8 34 2 0 0 0
                                  0 1 1 0 0 0 17 2 0 0 0 0 27 2 0 0 0 7
                                  1 2 0 0 28 0 30 2 0 0 7 0 32 2 0 0 48
                                  0 1 2 0 0 49 0 1)))))
          '|lookupComplete|)) 
