
(/VERSIONCHECK 2) 

(PUT '|PENDTREE;coerce;$T;1| '|SPADreplace| '(XLAM (|t|) |t|)) 

(DEFUN |PENDTREE;coerce;$T;1| (|t| $) |t|) 

(DEFUN |PENDTREE;ptree;S$;2| (|n| $)
  (SPADCALL |n| NIL (QREFELT $ 11))) 

(DEFUN |PENDTREE;ptree;3$;3| (|l| |r| $)
  (SPADCALL (SPADCALL |r| (QREFELT $ 13))
      (SPADCALL |l| (SPADCALL |r| (QREFELT $ 14)) (QREFELT $ 16))
      (QREFELT $ 11))) 

(DEFUN |PENDTREE;leaf?;$B;4| (|t| $)
  (SPADCALL (SPADCALL |t| (QREFELT $ 14)) (QREFELT $ 19))) 

(DEFUN |PENDTREE;=;2$B;5| (|t1| |t2| $)
  (SPADCALL |t1| |t2| (QREFELT $ 21))) 

(DEFUN |PENDTREE;left;2$;6| (|b| $)
  (COND
    ((SPADCALL |b| (QREFELT $ 20)) (|error| "ptree:no left"))
    ('T (SPADCALL (SPADCALL |b| (QREFELT $ 14)) (QREFELT $ 22))))) 

(DEFUN |PENDTREE;right;2$;7| (|b| $)
  (COND
    ((SPADCALL |b| (QREFELT $ 20)) (|error| "ptree:no right"))
    ('T
     (SPADCALL (SPADCALL |b| (QREFELT $ 13))
         (SPADCALL (SPADCALL |b| (QREFELT $ 14)) (QREFELT $ 24))
         (QREFELT $ 11))))) 

(DEFUN |PENDTREE;value;$S;8| (|b| $)
  (COND
    ((SPADCALL |b| (QREFELT $ 20)) (SPADCALL |b| (QREFELT $ 13)))
    ('T (|error| "the pendant tree has no value")))) 

(DEFUN |PENDTREE;coerce;$Of;9| (|b| $)
  (COND
    ((SPADCALL |b| (QREFELT $ 20))
     (SPADCALL (SPADCALL |b| (QREFELT $ 13)) (QREFELT $ 28)))
    ('T
     (SPADCALL
         (SPADCALL
             (LIST (SPADCALL (SPADCALL |b| (QREFELT $ 23))
                       (QREFELT $ 29))
                   (SPADCALL (SPADCALL |b| (QREFELT $ 25))
                       (QREFELT $ 29)))
             (QREFELT $ 30))
         (QREFELT $ 31))))) 

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

(DEFUN |PendantTree;| (|#1|)
  (PROG (DV$1 |dv$| $ #0=#:G1835 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #1=(|PendantTree|))
        (LETT |dv$| (LIST '|PendantTree| DV$1) . #1#)
        (LETT $ (GETREFV 44) . #1#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (LETT #0#
                                  (|HasCategory| |#1| '(|SetCategory|)) . #1#)
                            (AND #0#
                                 (|HasCategory| |#1|
                                     (LIST '|Evalable|
                                      (|devaluate| |#1|)))))) . #1#))
        (|haddProp| |$ConstructorCache| '|PendantTree| (LIST DV$1)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (AND (|HasCategory| $ '(|finiteAggregate|))
             (|augmentPredVector| $ 4))
        (AND (|HasCategory| $ '(|finiteAggregate|)) #0#
             (|augmentPredVector| $ 8))
        (AND (|HasCategory| $ '(|shallowlyMutable|))
             (|augmentPredVector| $ 16))
        (QSETREFV $ 7 (|Tree| |#1|))
        $)))) 

(MAKEPROP '|PendantTree| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) '|Rep| (|Tree| 6)
             |PENDTREE;coerce;$T;1| (|List| $) (0 . |tree|)
             |PENDTREE;ptree;S$;2| (6 . |value|) (11 . |children|)
             (|List| $$) (16 . |cons|) |PENDTREE;ptree;3$;3|
             (|Boolean|) (22 . |empty?|) |PENDTREE;leaf?;$B;4|
             |PENDTREE;=;2$B;5| (27 . |first|) |PENDTREE;left;2$;6|
             (32 . |rest|) |PENDTREE;right;2$;7| |PENDTREE;value;$S;8|
             (|OutputForm|) (37 . |coerce|) |PENDTREE;coerce;$Of;9|
             (42 . |blankSeparate|) (47 . |paren|)
             (|NonNegativeInteger|) (|List| 6) (|Equation| 6)
             (|List| 34) (|Mapping| 18 6) '"right" '"left" '"value"
             (|Mapping| 6 6) (|SingleInteger|) (|String|) (|Integer|))
          '#(~= 52 |value| 58 |size?| 63 |setvalue!| 69 |setright!| 75
             |setleft!| 81 |setelt| 87 |setchildren!| 108 |sample| 114
             |right| 118 |ptree| 123 |parts| 134 |nodes| 139 |node?|
             144 |more?| 150 |members| 156 |member?| 161 |map!| 167
             |map| 173 |less?| 179 |left| 185 |leaves| 190 |leaf?| 195
             |latex| 200 |hash| 205 |every?| 210 |eval| 216 |eq?| 242
             |empty?| 248 |empty| 253 |elt| 257 |distance| 275
             |cyclic?| 281 |count| 286 |copy| 298 |coerce| 303
             |children| 313 |child?| 318 |any?| 324 = 330 |#| 336)
          'NIL
          (CONS (|makeByteWordVec2| 2 '(0 0 0 0 2 1 0 2 1 1))
                (CONS '#(|BinaryRecursiveAggregate&|
                         |RecursiveAggregate&| |HomogeneousAggregate&|
                         |Aggregate&| |Evalable&| |SetCategory&| NIL
                         |InnerEvalable&| |BasicType&| NIL)
                      (CONS '#((|BinaryRecursiveAggregate| 6)
                               (|RecursiveAggregate| 6)
                               (|HomogeneousAggregate| 6) (|Aggregate|)
                               (|Evalable| 6) (|SetCategory|) (|Type|)
                               (|InnerEvalable| 6 6) (|BasicType|)
                               (|CoercibleTo| 27))
                            (|makeByteWordVec2| 43
                                '(2 7 0 6 10 11 1 7 6 0 13 1 7 10 0 14
                                  2 15 0 2 0 16 1 15 18 0 19 1 15 2 0
                                  22 1 15 0 0 24 1 6 27 0 28 1 27 0 10
                                  30 1 27 0 0 31 2 1 18 0 0 1 1 0 6 0
                                  26 2 0 18 0 32 1 2 5 6 0 6 1 2 5 0 0
                                  0 1 2 5 0 0 0 1 3 5 0 0 37 0 1 3 5 0
                                  0 38 0 1 3 5 6 0 39 6 1 2 5 0 0 10 1
                                  0 0 0 1 1 0 0 0 25 1 0 0 6 12 2 0 0 0
                                  0 17 1 3 33 0 1 1 0 10 0 1 2 1 18 0 0
                                  1 2 0 18 0 32 1 1 3 33 0 1 2 4 18 6 0
                                  1 2 5 0 40 0 1 2 0 0 40 0 1 2 0 18 0
                                  32 1 1 0 0 0 23 1 0 33 0 1 1 0 18 0
                                  20 1 1 42 0 1 1 1 41 0 1 2 3 18 36 0
                                  1 3 2 0 0 6 6 1 3 2 0 0 33 33 1 2 2 0
                                  0 34 1 2 2 0 0 35 1 2 0 18 0 0 1 1 0
                                  18 0 1 0 0 0 1 2 0 0 0 37 1 2 0 0 0
                                  38 1 2 0 6 0 39 1 2 0 43 0 0 1 1 0 18
                                  0 1 2 4 32 6 0 1 2 3 32 36 0 1 1 0 0
                                  0 1 1 1 27 0 29 1 0 8 0 9 1 0 10 0 1
                                  2 1 18 0 0 1 2 3 18 36 0 1 2 1 18 0 0
                                  21 1 3 32 0 1)))))
          '|lookupComplete|)) 
