Like the basic resolution function IMP_RES_THEN, the resolution tactic
RES_THEN performs a single-step resolution of an implication and the
assumptions of a goal. RES_THEN differs from IMP_RES_THEN only in that the
implications used for resolution are taken from the assumptions of the goal
itself, rather than supplied as an argument.
When applied to a goal A ?- g, the tactic RES_THEN ttac uses RES_CANON to
obtain a set of implicative theorems in canonical form from the assumptions A
of the goal. Each of the resulting theorems (if there are any) will have the
form:
   ai |- !x1...xn. ui ==> vi
Tactics are produced using the theorem-tactic ttac from all these resolvents
(failures of ttac at this stage are filtered out) and these tactics are then
applied in an unspecified sequence to the goal.  That is,
has the effect of:
   MAP_EVERY (mapfilter ttac [... ; (ai,aj |- vi) ; ...]) (A ?- g)