---------------------------------------------------------------------- MAP_FIRST (Tactical) ---------------------------------------------------------------------- MAP_FIRST : (('a -> tactic) -> 'a list -> tactic) SYNOPSIS Applies first tactic that succeeds in a list given by mapping a function over a list. KEYWORDS theorem-tactical, list. DESCRIBE When applied to a tactic-producing function {f} and an operand list {[x1,...,xn]}, the elements of which have the same type as {f}’s domain type, {MAP_FIRST} maps the function {f} over the list, producing a list of tactics, then tries applying these tactics to the goal till one succeeds. If {f(xm)} is the first to succeed, then the overall effect is the same as applying {f(xm)}. Thus: MAP_FIRST f [x1,...,xn] = (f x1) ORELSE ... ORELSE (f xn) FAILURE The application of {MAP_FIRST} to a function and tactic list fails iff the function does when applied to any of the elements of the list. The resulting tactic fails iff all the resulting tactics fail when applied to the goal. SEEALSO Tactical.EVERY, Tactical.FIRST, Tactical.MAP_EVERY, Tactical.ORELSE. ----------------------------------------------------------------------