REPEAT_TCL : (thm_tactical -> thm_tactical)
REPEAT_TCL ttl ttac thREPEAT_TCL repeatedly modifies the theorem according to ttl until it fails when given to the theorem-tactic ttac.
Alternatively, one might want to repeatedly break apart a theorem which is a
nested conjunction and apply the same theorem-tactic to each conjunct. For
example the following goal:
?- ((0 = w) /\ (0 = x)) /\ (0 = y) /\ (0 = z) ==> (w + x + y + z = 0)
might be solved by
DISCH_THEN (REPEAT_TCL CONJUNCTS_THEN (SUBST1_TAC o SYM)) THEN
REWRITE_TAC[ADD_CLAUSES]