...``partitions''
both terms are used interchangeably in this paper

...argument
thus an extension of the standard WAM switching instructions is needed on the concrete level: either (as in the KCM [BBB+89]) add an additional argument to all three switching instructions, or (as in our approach) add one new instruction (set_index_number n; see appendix B) to change the value of an index register (IX) which is looked up by the switch instructions

...clauses
mainly facts

...p_cd
c stands for constant and d for don't know

...deterministic
primitive deterministic is an extended definition of head deterministic which looks not only at the clause heads but also at the primitive instructions at the beginning of the bodies

...program
see also appendices B and C.2.2

...heads
if a variable in the head is directly bound to a constant or structure in the body before any other subgoals, this information can also be used (e.g. in p(X) :- X = 5, q(6)); anyway, RELFUN's normalizer would move such body goals into the head (e.g. obtaining p(5) :- q(6))

...``guards''
side-effect free builtins (<,>,)

...selective
selectivity is the number of different constants and functors

...arrows
and/2 and or/2 of the hash table are presented here in the opposite order of earlier examples, which if of course immaterial

...arguments
in future DAXes layout will occasionally enforce copying; in our implementation, identical sub-DAXes are always shared (see [Ste92])

...30%)
of course this constant could be easily changed

...selectivity
see section 11.1

...presented
and unrestricted

...selectivity
see section 11.1

...in
the pruning can be influenced by the indexing :max-args <n> and indexing :max-depth <n> commands in RELFUN which are described in appendix A

...in
a more efficient alternative to this transformation is implemented as part of RELFUN's compilation laboratory

...horizontal
source to source

...vertical
source to code

...(
cannot be changed by the user

...dnf-procedure
cf. section 11 and appendix C.2.2

...dnf
the only difference to standard PROLOG here being the use of square brackets instead of round parentheses for structures

...code
an instruction inst(arg1, , argN) is internally written as (inst arg1 argN), i.e. in LISP syntax

...benchmarks
these benchmark results are not very exact, since run-time was taken by hand (our emulator has no run-time measure predicate).

Michael Sintek - sintek@dfki.uni-kl.de