STRIP_GOAL_THEN : (thm_tactic -> tactic)
A ?- !x.u ============== STRIP_GOAL_THEN ttac A ?- u[x'/x]where x' is a primed variant that does not appear free in the assumptions A. If t is a conjunction, then STRIP_GOAL_THEN simply splits the conjunction into two subgoals:
A ?- v /\ w ================= STRIP_GOAL_THEN ttac A ?- v A ?- wIf t is an implication "u ==> v" and if:
A ?- v =============== ttac (u |- u) A' ?- v'then:
A ?- u ==> v ==================== STRIP_GOAL_THEN ttac A' ?- v'Finally, a negation ~t is treated as the implication t ==> F.
?- (n = 1) ==> (n * n = n)a possible initial step is to apply
STRIP_GOAL_THEN SUBST1_TACthus obtaining the goal
?- 1 * 1 = 1