(ASSEMBLE.CLAUSE ( setof 3 si ) 14 (allocate) (get.Ai.variable.Yn 3 2) (put.Ai.variable.Yn 3 1) (call 5 bagof 3 si) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart sort 2 si) ) (ASSEMBLE.CLAUSE ( bagof 3 si ) 83 (allocate) (get.Ai.variable.Yn 1 7) (get.Ai.variable.Yn 2 8) (get.Ai.variable.Yn 3 1) (put.Ai.variable.Yn 4 9) (put.Ai.nil 3) (put.Ai.value.Yn 2 7) (put.Ai.value.Yn 1 8) (call 12 free←variables 4 si) (put.Ai.nil 2) (put.Ai.value.Yn 1 9) (compare) (load.pos.word 0) (not.equal.to) (body.cut) (put.Ai.list 2) (unify.symbol %.) (unify.local.Yn 9) (put.Ai.variable.Yn 1 4) (call 11 %=%.%. 2 si) (put.Ai.variable.Yn 3 6) (put.Ai.symbol 2 %.) (put.Ai.value.Yn 1 4) (functor) (put.Ai.value.Yn 2 8) (put.Ai.structure 1 %- 2) (unify.local.Yn 4) (unify.local.Yn 7) (call 9 save←instances 2 si) (put.Ai.variable.Yn 4 5) (put.Ai.nil 3) (put.Ai.unsafe.Yn 2 6) (put.Ai.value.Yn 1 4) (call 8 list←instances 4 si) (put.Ai.variable.Yn 2 3) (put.Ai.unsafe.Yn 1 5) (call 7 keysort 2 si) (body.cut) (put.Ai.variable.Yn 3 2) (put.Ai.unsafe.Yn 2 4) (put.Ai.unsafe.Yn 1 3) (call 5 concordant←subset 3 si) (put.Ai.unsafe.Yn 1 2) (get.Ai.value.Yn 1 1) (progress) ) (ASSEMBLE.CLAUSE ( bagof 3 si ) 26 (put.Ai.value.Xn 4 1) (allocate) (get.Ai.variable.Yn 3 1) (put.Ai.structure 1 %- 1) (unify.local.Xn 4) (call 4 save←instances 2 si) (put.Ai.value.Yn 2 1) (put.Ai.nil 1) (call 4 list←instances 2 si) (put.Ai.nil 2) (put.Ai.value.Yn 1 1) (compare) (load.pos.word 0) (not.equal.to) (progress) ) (ASSEMBLE.CLAUSE ( save←instances 2 si ) 30 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 2) (put.Ai.symbol 2 si) (put.Ai.structure 1 Setof 1) (unify.symbol %-) (call 5 asserta←module 2 si) (put.Ai.value.Yn 1 2) (call 4 call 1 interp) (put.Ai.symbol 2 si) (put.Ai.structure 1 Setof 1) (unify.local.Yn 1) (call 3 asserta←module 2 si) (fail) ) (ASSEMBLE.CLAUSE ( save←instances 2 si ) 1 (proceed) ) (ASSEMBLE.CLAUSE ( list←instances 2 si ) 23 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.variable.Yn 2 3) (put.Ai.symbol 2 si) (put.Ai.structure 1 Setof 1) (unify.variable.Yn 1) (call 6 retract←module 2 si) (body.cut) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart list←instances 3 si) ) (ASSEMBLE.CLAUSE ( list←instances 3 si ) 9 (get.Ai.constant 1 %-) (put.Ai.value.Xn 1 2) (head.cut) (get.Ai.value.Xn 1 3) (proceed) ) (ASSEMBLE.CLAUSE ( list←instances 3 si ) 13 (get.Ai.structure 1 %- 1) (unify.variable.Xn 5) (put.Ai.value.Xn 4 2) (put.Ai.value.Xn 2 3) (put.Ai.list 1) (unify.value.Xn 5) (unify.local.Xn 4) (execute list←instances 2 si) ) (ASSEMBLE.CLAUSE ( list←instances 4 si ) 31 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.variable.Yn 2 3) (get.Ai.variable.Yn 3 4) (get.Ai.variable.Yn 4 5) (put.Ai.symbol 2 si) (put.Ai.structure 1 Setof 1) (unify.variable.Yn 1) (call 8 retract←module 2 si) (body.cut) (put.Ai.value.Yn 5 5) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart list←instances 5 si) ) (ASSEMBLE.CLAUSE ( list←instances 5 si ) 6 (get.Ai.constant 1 %-) (get.Ai.value.Xn 5 4) (cut.proceed) ) (ASSEMBLE.CLAUSE ( list←instances 5 si ) 40 (get.Ai.structure 1 %- 2) (allocate) (unify.variable.Yn 5) (unify.variable.Yn 4) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 3 2) (get.Ai.variable.Yn 4 3) (get.Ai.variable.Yn 5 6) (put.Ai.value.Yn 3 5) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 2) (call 9 replace←key←variables 3 si) (body.cut) (put.Ai.value.Yn 4 6) (put.Ai.structure 1 %- 2) (unify.value.Yn 5) (unify.value.Yn 4) (put.Ai.list 3) (unify.value.Xn 1) (unify.local.Yn 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart list←instances 4 si) ) (ASSEMBLE.CLAUSE ( replace←key←variables 3 si ) 4 (get.Ai.constant 1 0) (cut.proceed) ) (ASSEMBLE.CLAUSE ( replace←key←variables 3 si ) 28 (allocate) (get.Ai.variable.Yn 1 3) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 3 2) (put.Ai.variable.Yn 3 4) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 3) (arg) (put.Ai.unsafe.Yn 1 4) (is.a 254) (body.cut) (load.value.Yn 3) (add.neg.word -1) (store.variable.Xn 1) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 2 1) (depart replace←key←variables 3 si) ) (ASSEMBLE.CLAUSE ( replace←key←variables 3 si ) 31 (allocate) (get.Ai.variable.Yn 1 3) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 3 2) (put.Ai.variable.Yn 3 4) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 3) (arg) (put.Ai.unsafe.Yn 3 4) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 3) (arg) (load.value.Yn 3) (add.neg.word -1) (store.variable.Xn 1) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 2 1) (depart replace←key←variables 3 si) ) (ASSEMBLE.CLAUSE ( concordant←subset 3 si ) 35 (get.Ai.list 1) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.structure 4 %- 2) (allocate) (unify.variable.Yn 2) (unify.variable.Yn 4) (get.Ai.variable.Yn 2 5) (get.Ai.variable.Yn 3 6) (put.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 3) (put.Ai.value.Yn 2 2) (call 9 concordant←subset 4 si) (put.Ai.value.Yn 5 6) (put.Ai.value.Yn 4 5) (put.Ai.list 3) (unify.value.Yn 4) (unify.local.Yn 3) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart concordant←subset 5 si) ) (ASSEMBLE.CLAUSE ( concordant←subset 4 si ) 33 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.structure 1 %- 2) (unify.variable.Xn 1) (unify.variable.Xn 5) (get.Ai.variable.Yn 2 2) (get.Ai.list 3) (unify.value.Xn 5) (unify.variable.Yn 3) (get.Ai.variable.Yn 4 4) (put.Ai.value.Yn 2 2) (compare) (load.pos.word 0) (equal.to) (body.cut) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart concordant←subset 4 si) ) (ASSEMBLE.CLAUSE ( concordant←subset 4 si ) 4 (get.Ai.nil 3) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( concordant←subset 5 si ) 8 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 4 2) (get.Ai.value.Xn 5 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( concordant←subset 5 si ) 5 (get.Ai.value.Xn 4 2) (get.Ai.value.Xn 5 3) (proceed) ) (ASSEMBLE.CLAUSE ( concordant←subset 5 si ) 6 (put.Ai.value.Xn 2 4) (put.Ai.value.Xn 3 5) (execute concordant←subset 3 si) ) (ASSEMBLE.CLAUSE ( free←variables 4 si ) 28 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.variable.Yn 2 3) (get.Ai.variable.Yn 3 1) (get.Ai.list 4) (unify.local.Yn 2) (unify.local.Yn 1) (put.Ai.value.Yn 1 2) (is.a 1) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 3) (call 5 term←is←free←of 2 si) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (call 3 list←is←free←of 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( free←variables 4 si ) 5 (get.Ai.value.Xn 4 3) (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( free←variables 4 si ) 23 (allocate) (get.Ai.variable.Yn 3 3) (get.Ai.variable.Yn 4 4) (put.Ai.variable.Yn 4 2) (put.Ai.variable.Yn 3 1) (call 7 explicit←binding 4 si) (body.cut) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart free←variables 4 si) ) (ASSEMBLE.CLAUSE ( free←variables 4 si ) 27 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.variable.Yn 2 3) (get.Ai.variable.Yn 3 4) (get.Ai.variable.Yn 4 5) (put.Ai.variable.Yn 3 1) (put.Ai.void 2) (put.Ai.value.Yn 1 2) (functor) (put.Ai.value.Yn 5 5) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart free←variables 5 si) ) (ASSEMBLE.CLAUSE ( free←variables 5 si ) 6 (get.Ai.constant 1 0) (get.Ai.value.Xn 5 4) (cut.proceed) ) (ASSEMBLE.CLAUSE ( free←variables 5 si ) 44 (allocate) (get.Ai.variable.Yn 1 5) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 3 2) (get.Ai.variable.Yn 4 7) (get.Ai.variable.Yn 5 4) (put.Ai.variable.Yn 3 6) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 5) (arg) (put.Ai.variable.Yn 4 3) (put.Ai.value.Yn 3 7) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 6) (call 8 free←variables 4 si) (load.value.Yn 5) (add.neg.word -1) (store.variable.Xn 1) (body.cut) (put.Ai.value.Yn 5 4) (put.Ai.unsafe.Yn 4 3) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 2 1) (depart free←variables 5 si) ) (ASSEMBLE.CLAUSE ( explicit←binding 4 si ) 9 (get.Ai.structure 1 %\%+ 1) (unify.void 1) (get.Ai.symbol 3 fail) (get.Ai.value.Xn 4 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( explicit←binding 4 si ) 9 (get.Ai.structure 1 not 1) (unify.void 1) (get.Ai.symbol 3 fail) (get.Ai.value.Xn 4 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( explicit←binding 4 si ) 13 (get.Ai.structure 1 %↑ 2) (unify.variable.Xn 1) (unify.variable.Xn 5) (get.Ai.value.Xn 3 5) (get.Ai.structure 4 %+ 2) (unify.local.Xn 2) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( explicit←binding 4 si ) 17 (get.Ai.structure 1 setof 3) (unify.variable.Xn 1) (unify.variable.Xn 6) (unify.variable.Xn 5) (get.Ai.structure 3 %- 2) (unify.value.Xn 6) (unify.value.Xn 5) (get.Ai.structure 4 %+ 2) (unify.local.Xn 2) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( explicit←binding 4 si ) 17 (get.Ai.structure 1 bagof 3) (unify.variable.Xn 1) (unify.variable.Xn 6) (unify.variable.Xn 5) (get.Ai.structure 3 %- 2) (unify.value.Xn 6) (unify.value.Xn 5) (get.Ai.structure 4 %+ 2) (unify.local.Xn 2) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( explicit←binding 4 si ) 17 (get.Ai.structure 1 set←of 3) (unify.variable.Xn 1) (unify.variable.Xn 6) (unify.variable.Xn 5) (get.Ai.structure 3 %- 2) (unify.value.Xn 6) (unify.value.Xn 5) (get.Ai.structure 4 %+ 2) (unify.local.Xn 2) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( explicit←binding 4 si ) 17 (get.Ai.structure 1 bag←of 3) (unify.variable.Xn 1) (unify.variable.Xn 6) (unify.variable.Xn 5) (get.Ai.structure 3 %- 2) (unify.value.Xn 6) (unify.value.Xn 5) (get.Ai.structure 4 %+ 2) (unify.local.Xn 2) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( term←is←free←of 2 si ) 18 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 2) (put.Ai.value.Yn 1 1) (is.a 1) (body.cut) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (compare) (load.pos.word 0) (not.equal.to) (progress) ) (ASSEMBLE.CLAUSE ( term←is←free←of 2 si ) 19 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.variable.Yn 2 3) (put.Ai.variable.Yn 3 1) (put.Ai.void 2) (put.Ai.value.Yn 1 2) (functor) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart term←is←free←of 3 si) ) (ASSEMBLE.CLAUSE ( term←is←free←of 3 si ) 4 (get.Ai.constant 1 0) (cut.proceed) ) (ASSEMBLE.CLAUSE ( term←is←free←of 3 si ) 32 (allocate) (get.Ai.variable.Yn 1 3) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 3 2) (put.Ai.variable.Yn 3 4) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 3) (arg) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 4) (call 6 term←is←free←of 2 si) (load.value.Yn 3) (add.neg.word -1) (store.variable.Xn 1) (body.cut) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 2 1) (depart term←is←free←of 3 si) ) (ASSEMBLE.CLAUSE ( list←is←free←of 2 si ) 19 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 2) (put.Ai.value.Yn 2 2) (compare) (load.pos.word 0) (not.equal.to) (body.cut) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart list←is←free←of 2 si) ) (ASSEMBLE.CLAUSE ( list←is←free←of 2 si ) 4 (get.Ai.constant 1 NIL) (proceed) ) (ASSEMBLE.CLAUSE ( abolish←setof←facts 0 si ) 9 (put.Ai.symbol 3 si) (put.Ai.constant 2 1) (put.Ai.symbol 1 Setof) (execute abolish 3 si) ) STOP