As shown in [1] and [2], forward (backward) chaining systems may have
trouble if variables are bound to predicates/frames in the head (body)
of a rule.
So for Core, we have to decide whether one style is preferred to the other.
I know that in most PR systems, all variables must be bound to
predicates or frames in the condition. We need a "PRD Core" that
defines a subset of PRD where all variables are bound to predicates or
frames in the condition. This will allow a PRD translator to be
implemented without the burden of equation solving for the
frame/predicate variables in body should you receive a rule in which
they are bound in the head Is this too onerous for Core? I imagine
that a "BLD Core" would want just the reverse: all variables are bound
to predicates or frames in the head.
[1] http://www.w3.org/2005/rules/wiki/Chaining_strategy_numeric-subtract_1
[2] http://www.w3.org/2005/rules/wiki/Chaining_strategy_numeric-add_1