(ASSEMBLE.CLAUSE ( predicate←property 2 si ) 4
    (put.Ai.symbol 3 user)
    (execute predicate←property 3 si)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 61
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 5)
    (get.Ai.variable.Yn 3 7)
    (put.Ai.value.Yn 4 5)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.variable.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (call 10 valid←pred←spec 4 si)
    (put.Ai.variable.Yn 4 4)
    (put.Ai.value.Yn 3 7)
    (put.Ai.value.Yn 2 3)
    (put.Ai.value.Yn 1 2)
    (call 9 find←proc 4 si)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 4)
    (get.word)
    (load.value.Yn 6)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Xn 1)
    (put.Ai.value.Yn 5 5)
    (put.Ai.unsafe.Yn 4 4)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (call 6 property←of←predicate 5 si)
    (put.Ai.unsafe.Yn 3 3)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (functor)
    (progress)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6
    (get.Ai.constant 1 fail)
    (get.Ai.symbol 2 built←in)
    (proceed)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6
    (get.Ai.constant 1 false)
    (get.Ai.symbol 2 built←in)
    (proceed)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6
    (get.Ai.constant 1 true)
    (get.Ai.symbol 2 built←in)
    (proceed)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6
    (get.Ai.constant 1 otherwise)
    (get.Ai.symbol 2 built←in)
    (proceed)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6
    (get.Ai.constant 1 %!)
    (get.Ai.symbol 2 built←in)
    (proceed)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 7
    (get.Ai.structure 1 %, 2)
    (unify.void 2)
    (get.Ai.symbol 2 built←in)
    (proceed)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 7
    (get.Ai.structure 1 %; 2)
    (unify.void 2)
    (get.Ai.symbol 2 built←in)
    (proceed)
)

(ASSEMBLE.CLAUSE ( predicate←property 3 si ) 7
    (get.Ai.structure 1 %-%> 2)
    (unify.void 2)
    (get.Ai.symbol 2 built←in)
    (proceed)
)

(ASSEMBLE.CLAUSE ( find←proc 4 si ) 23
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (get.Ai.variable.Yn 4 4)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (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 check←predicate 4 si)
)

(ASSEMBLE.CLAUSE ( find←proc 4 si ) 35
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (get.Ai.variable.Yn 4 5)
    (put.Ai.value.Yn 1 5)
    (call 8 current←procedure 1 si)
    (put.Ai.variable.Yn 4 4)
    (put.Ai.value.Yn 3 2)
    (put.Ai.value.Yn 2 1)
    (put.Ai.value.Yn 1 5)
    (call 7 p←procedure 4 si)
    (put.Ai.unsafe.Yn 4 4)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart predicate←module 4 si)
)

(ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 20
    (get.Ai.constant 1 1)
    (put.Ai.value.Xn 1 2)
    (put.Ai.value.Xn 2 3)
    (allocate)
    (get.Ai.variable.Yn 5 1)
    (call 4 built←in←predicate 2 si)
    (body.cut)
    (put.Ai.value.Yn 1 1)
    (get.Ai.constant 1 built←in)
    (progress)
)

(ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 28
    (get.Ai.constant 1 1)
    (put.Ai.value.Xn 1 4)
    (allocate)
    (get.Ai.variable.Yn 5 1)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 32)
    (boolean.and)
    (load.pos.word 0)
    (not.equal.to)
    (body.cut)
    (put.Ai.value.Yn 1 1)
    (get.Ai.constant 1 foreign)
    (progress)
)

(ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 6
    (get.Ai.constant 1 1)
    (get.Ai.symbol 5 compiled)
    (proceed)
)

(ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 6
    (get.Ai.constant 1 2)
    (get.Ai.symbol 5 interpreted)
    (proceed)
)

(ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 6
    (get.Ai.constant 1 3)
    (get.Ai.symbol 5 dynamic)
    (proceed)
)

(ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 6
    (get.Ai.constant 1 3)
    (get.Ai.symbol 5 interpreted)
    (proceed)
)

(ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 19
    (put.Ai.value.Xn 1 4)
    (get.Ai.symbol 5 multifile)
    (allocate)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 13)
    (get.word)
    (load.value.Yn 1)
    (load.pos.word 16)
    (boolean.and)
    (load.pos.word 0)
    (not.equal.to)
    (progress)
)

(ASSEMBLE.CLAUSE ( predicate←state 5 si ) 25
    (allocate)
    (get.Ai.variable.Yn 4 3)
    (get.Ai.variable.Yn 5 1)
    (put.Ai.value.Yn 4 3)
    (call 6 check←predicate 4 si)
    (body.cut)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 3)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 3)
    (boolean.and)
    (store.value.Yn 1)
    (progress)
)

(ASSEMBLE.CLAUSE ( predicate←state 5 si ) 7
    (get.Ai.constant 4 0)
    (get.Ai.constant 5 0)
    (proceed)
)

(ASSEMBLE.CLAUSE ( valid←pred←spec 4 si ) 3
    (allocate)
    (is.a 1)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( valid←pred←spec 4 si ) 10
    (allocate)
    (get.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 2 1)
    (functor)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( valid←pred←spec 4 si ) 12
    (put.Ai.structure 3 predicate←property 2)
    (unify.local.Xn 1)
    (unify.local.Xn 4)
    (put.Ai.value.Xn 2 1)
    (put.Ai.constant 1 390)
    (execute nerror2 3 si)
)

(ASSEMBLE.CLAUSE ( dynamic←procedure 1 si ) 79
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 5)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Xn 1)
    (load.value.Xn 1)
    (load.pos.word 3)
    (equal.to.else 24)
    (progress)
    (load.choice.point)
    (store.variable.Yn 4)
    (either 7 37)
    (put.Ai.value.Yn 1 1)
    (call 7 has←clauses 1 si)
    (load.value.Yn 4)
    (cut.to.choice.point)
    (fail)
    (or.finally)
    (gettopval QP%.INTERPRET%.CLAUSE)
    (store.variable.Xn 3)
    (gettopval QP%.FAILURE%.CLAUSE)
    (store.variable.Yn 3)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.value.Yn 3 3)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 65532)
    (boolean.and)
    (load.pos.word 3)
    (boolean.or)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (progress)
)

(ASSEMBLE.CLAUSE ( interpreted←procedure 1 si ) 71
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 5)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Yn 4)
    (load.value.Yn 4)
    (load.pos.word 2)
    (not.less.than.else 24)
    (progress)
    (load.value.Yn 4)
    (load.pos.word 0)
    (equal.to.else 72)
    (gettopval QP%.INTERPRET%.CLAUSE)
    (store.variable.Xn 3)
    (gettopval QP%.FAILURE%.CLAUSE)
    (store.variable.Yn 3)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.value.Yn 3 3)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 65532)
    (boolean.and)
    (load.pos.word 2)
    (boolean.or)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (progress)
    (fail)
)

(ASSEMBLE.CLAUSE ( compiled←procedure 1 si ) 54
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 4)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Yn 3)
    (load.value.Yn 3)
    (load.pos.word 1)
    (equal.to.else 24)
    (progress)
    (load.value.Yn 3)
    (load.pos.word 0)
    (equal.to.else 55)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 65532)
    (boolean.and)
    (load.pos.word 1)
    (boolean.or)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (put.Ai.value.Yn 1 1)
    (depart check←traps 1 interp)
    (fail)
)

(ASSEMBLE.CLAUSE ( foreign←procedure 1 si ) 28
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (call 5 compiled←procedure 1 si)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 32)
    (boolean.or)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (progress)
)

(ASSEMBLE.CLAUSE ( abolish 1 si ) 13
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (is.a 1)
    (body.cut)
    (put.Ai.value.Yn 2 1)
    (put.Ai.symbol 1 abolish)
    (depart invalid 2 interp)
)

(ASSEMBLE.CLAUSE ( abolish 1 si ) 4
    (get.Ai.constant 1 NIL)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( abolish 1 si ) 12
    (get.Ai.list 1)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (head.cut)
    (call 4 abolish 1 si)
    (put.Ai.value.Yn 1 1)
    (depart abolish 1 si)
)

(ASSEMBLE.CLAUSE ( abolish 1 si ) 25
    (get.Ai.structure 1 %/ 2)
    (allocate)
    (unify.variable.Yn 1)
    (unify.variable.Yn 2)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (put.Ai.value.Yn 1 2)
    (is.a 24)
    (load.value.Yn 2)
    (load.pos.word 0)
    (not.less.than)
    (body.cut)
    (put.Ai.symbol 3 user)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart abolish 3 si)
)

(ASSEMBLE.CLAUSE ( abolish 1 si ) 36
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (body.cut)
    (either 6 36)
    (put.Ai.variable.Yn 2 3)
    (put.Ai.value.Yn 1 1)
    (call 6 current←predicate 2 si)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.value.Yn 2 1)
    (put.Ai.unsafe.Yn 1 3)
    (functor)
    (put.Ai.symbol 3 user)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (call 3 abolish 3 si)
    (fail)
    (or.finally)
    (progress)
)

(ASSEMBLE.CLAUSE ( abolish 1 si ) 6
    (put.Ai.value.Xn 2 1)
    (put.Ai.symbol 1 abolish)
    (execute invalid 2 interp)
)

(ASSEMBLE.CLAUSE ( abolish 2 si ) 4
    (put.Ai.symbol 3 user)
    (execute abolish 3 si)
)

(ASSEMBLE.CLAUSE ( abolish 3 si ) 32
    (allocate)
    (put.Ai.variable.Yn 4 1)
    (call 5 local←check←predicate 4 si)
    (body.cut)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 63)
    (boolean.and)
    (add.pos.word 0)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (put.Ai.unsafe.Yn 1 1)
    (depart abolish←procedure 1 si)
)

(ASSEMBLE.CLAUSE ( abolish 3 si ) 1
    (proceed)
)

(ASSEMBLE.CLAUSE ( abolish←procedure 1 si ) 83
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 5)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Yn 4)
    (load.value.Yn 4)
    (load.pos.word 0)
    (equal.to.else 24)
    (progress)
    (load.value.Yn 4)
    (load.pos.word 1)
    (equal.to.else 31)
    (jump.to 36)
    (put.Ai.value.Yn 1 1)
    (call 6 collect←clauses 1 si)
    (put.Ai.value.Yn 1 1)
    (call 6 remove←trap 1 interp)
    (gettopval QP%.UNDEFINED%.CLAUSE)
    (store.variable.Yn 3)
    (put.Ai.value.Yn 3 3)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.value.Yn 3 3)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.value.Yn 1 1)
    (call 5 clear←multi←files 1 si)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 65484)
    (boolean.and)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (progress)
)

(ASSEMBLE.CLAUSE ( interpreted 2 si ) 33
    (get.Ai.structure 1 %/ 2)
    (unify.variable.Xn 1)
    (unify.variable.Xn 5)
    (put.Ai.value.Xn 3 2)
    (allocate)
    (put.Ai.variable.Yn 4 2)
    (put.Ai.value.Xn 2 5)
    (call 5 check←predicate 4 si)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 13)
    (put.Ai.unsafe.Yn 1 2)
    (get.word)
    (load.value.Yn 1)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Xn 1)
    (load.value.Xn 1)
    (load.pos.word 2)
    (not.less.than)
    (progress)
)

(ASSEMBLE.CLAUSE ( initialise←state←bits 5 si ) 43
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (put.Ai.value.Xn 1 4)
    (get.Ai.variable.Yn 5 4)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 8)
    (get.addr)
    (gettopval QP%.UNDEFINED%.CLAUSE)
    (store.value.Yn 5)
    (body.cut)
    (put.Ai.value.Yn 1 4)
    (get.Ai.constant 1 verbose)
    (put.Ai.list 2)
    (unify.local.Yn 3)
    (unify.nil)
    (put.Ai.list 1)
    (unify.local.Yn 2)
    (unify.value.Xn 2)
    (put.Ai.list 3)
    (unify.local.Yn 1)
    (unify.value.Xn 1)
    (put.Ai.symbol 2 %[Warning%:% no% clauses% for% %~w%/%~w% in% %~w%]%~n)
    (put.Ai.symbol 1 user)
    (call 3 format 3 format)
    (fail)
)

(ASSEMBLE.CLAUSE ( initialise←state←bits 5 si ) 26
    (allocate)
    (get.Ai.variable.Yn 4 1)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 65532)
    (boolean.and)
    (load.pos.word 1)
    (boolean.or)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (progress)
)

(ASSEMBLE.CLAUSE ( has←listable←clauses 4 si ) 46
    (allocate)
    (get.Ai.variable.Yn 4 2)
    (put.Ai.value.Xn 4 3)
    (put.Ai.value.Xn 3 2)
    (put.Ai.value.Xn 2 1)
    (put.Ai.value.Yn 1 2)
    (call 6 procedure 4 si)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 2)
    (get.word)
    (load.value.Yn 3)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Xn 1)
    (load.value.Xn 1)
    (load.pos.word 2)
    (not.less.than)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 2)
    (get.addr)
    (gettopval QP%.FAILURE%.CLAUSE)
    (store.variable.Xn 1)
    (load.value.Yn 1)
    (load.value.Xn 1)
    (not.equal.to)
    (progress)
)

(ASSEMBLE.CLAUSE ( has←clauses 1 si ) 57
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 2)
    (get.word)
    (load.value.Yn 4)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Yn 3)
    (load.value.Yn 3)
    (load.pos.word 2)
    (not.less.than.else 38)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 2)
    (get.addr)
    (gettopval QP%.FAILURE%.CLAUSE)
    (store.variable.Xn 1)
    (load.value.Yn 1)
    (load.value.Xn 1)
    (not.equal.to)
    (progress)
    (load.value.Yn 3)
    (load.pos.word 1)
    (equal.to.else 58)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 2)
    (get.addr)
    (gettopval QP%.UNDEFINED%.CLAUSE)
    (store.variable.Xn 1)
    (load.value.Yn 1)
    (load.value.Xn 1)
    (not.equal.to)
    (progress)
    (fail)
)

STOP