SUBST_ALL_TAC : thm_tactic
{t1,...,tn} ?- t ================================= SUBST_ALL_TAC (A|-u=v) {t1[v/u],...,tn[v/u]} ?- t[v/u]The assumptions of the theorem used to substitute with are not added to the assumptions of the goal, but they are recorded in the proof. If A is not a subset of the assumptions of the goal (up to alpha-conversion), then SUBST_ALL_TAC (A|-u=v) results in an invalid tactic.
SUBST_ALL_TAC automatically renames bound variables to prevent free variables in v becoming bound after substitution.
{0 + m = n} ?- 0 + (0 + m) = nby substituting with the theorem |- 0 + m = m for addition
SUBST_ALL_TAC (CONJUNCT1 ADD_CLAUSES)results in the goal
{m = n} ?- 0 + m = n