
(/VERSIONCHECK 2) 

(DEFUN |VARIABLE;coerce;$S;1| (|x| $) (QREFELT $ 6)) 

(DEFUN |VARIABLE;coerce;$Of;2| (|x| $)
  (SPADCALL (QREFELT $ 6) (QREFELT $ 10))) 

(DEFUN |VARIABLE;variable;S;3| ($) (QREFELT $ 6)) 

(PUT '|VARIABLE;=;2$B;4| '|SPADreplace| '(XLAM (|x| |y|) 'T)) 

(DEFUN |VARIABLE;=;2$B;4| (|x| |y| $) 'T) 

(DEFUN |VARIABLE;latex;$S;5| (|x| $)
  (SPADCALL (QREFELT $ 6) (QREFELT $ 16))) 

(DEFUN |Variable| (#0=#:G1820)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1821)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (LIST (|devaluate| #0#))
                       (HGET |$ConstructorCache| '|Variable|)
                       '|domainEqualList|)
                   . #2=(|Variable|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (|Variable;| #0#) (LETT #1# T . #2#))
               (COND
                 ((NOT #1#) (HREM |$ConstructorCache| '|Variable|))))))))))) 

(DEFUN |Variable;| (|#1|)
  (PROG (DV$1 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|Variable|))
        (LETT |dv$| (LIST '|Variable| DV$1) . #0#)
        (LETT $ (GETREFV 19) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|Variable| (LIST DV$1)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        $)))) 

(MAKEPROP '|Variable| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|Symbol|)
             |VARIABLE;coerce;$S;1| (|OutputForm|) (0 . |coerce|)
             |VARIABLE;coerce;$Of;2| |VARIABLE;variable;S;3|
             (|Boolean|) |VARIABLE;=;2$B;4| (|String|) (5 . |latex|)
             |VARIABLE;latex;$S;5| (|SingleInteger|))
          '#(~= 10 |variable| 16 |latex| 20 |hash| 25 |coerce| 30 = 40)
          'NIL
          (CONS (|makeByteWordVec2| 1 '(0 0 0 0))
                (CONS '#(|SetCategory&| |BasicType&| NIL NIL)
                      (CONS '#((|SetCategory|) (|BasicType|)
                               (|CoercibleTo| 7) (|CoercibleTo| 9))
                            (|makeByteWordVec2| 18
                                '(1 7 9 0 10 1 7 15 0 16 2 0 13 0 0 1 0
                                  0 7 12 1 0 15 0 17 1 0 18 0 1 1 0 7 0
                                  8 1 0 9 0 11 2 0 13 0 0 14)))))
          '|lookupComplete|)) 
