SELECT_LTTactical.SELECT_LT : tactic -> list_tactic
Applies a tactic to the all the goals in the goal-list for which the tactic succeeds.
Given a list of goals gl, an application of
SELECT_LT tac to gl will try to apply
tac to each goal in gl in turn. If no goal
lets tac succeed, the goal state remains unchanged.
Otherwise, the goals for which tac succeeds will generate
(possibly empty) list(s) of new sub-goals. These new sub-goals are
pushed onto the front of the rest of gl.
The application of SELECT_LT to a tactic never fails.
The resulting list-tactic also never fails.
> SELECT_LT CONJ_TAC [([], “r ∧ s”), ([], “p ⇒ q”), ([“a ∨ b”], “p ∧ q”)]
val it =
([([], “r”), ([], “s”), ([“a ∨ b”], “p”), ([“a ∨ b”], “q”), ([], “p ⇒ q”)], fn):
goal list * list_validation
Tactical.SELECT_LT_THEN,
Tactical.FIRST_LT, Tactical.THEN_LT, Tactical.HEADGOAL