ASSUM_LIST : (thm list -> tactic) -> tactic

SYNOPSIS
Applies a tactic generated from the goal's assumption list.

DESCRIPTION
When applied to a function of type thm list -> tactic and a goal, ASSUM_LIST constructs a tactic by applying f to a list of ASSUMEd assumptions of the goal, then applies that tactic to the goal.
   ASSUM_LIST f ({A1;...;An} ?- t)
         = f [A1 |- A1; ... ; An |- An] ({A1;...;An} ?- t)

FAILURE CONDITIONS
Fails if the function fails when applied to the list of ASSUMEd assumptions, or if the resulting tactic fails when applied to the goal.

COMMENTS
There is nothing magical about ASSUM_LIST: the same effect can usually be achieved just as conveniently by using ASSUME a wherever the assumption a is needed. If ASSUM_LIST is used, it is extremely unwise to use a function which selects elements from its argument list by number, since the ordering of assumptions should not be relied on.

EXAMPLE
The tactic:
   ASSUM_LIST(MP_TAC o end_itlist CONJ)
adds a conjunction of all assumptions as an antecedent of a goal.

USES
Making more careful use of the assumption list than simply rewriting.

SEE ALSO
ASM_REWRITE_TAC, EVERY_ASSUM, POP_ASSUM, POP_ASSUM_LIST, REWRITE_TAC.