drule_all : thm -> tactic
!v1 .. vn. P1 ==> (P2 ==> (P3 ==> ... Q)...)
When finding assumptions, those that have been most recently added to the assumption list will be preferred.
!m n p. m < n /\ n <= p ==> m < p
> drule_all arithmeticTheory.LESS_LESS_EQ_TRANS
([“x < w”, “1 < x”, “z <= y”, “x <= z”, “y < z”], “P:bool”);
val it =
([([“x < w”, “1 < x”, “z <= y”, “x <= z”, “y < z”],
“1 < z ==> P”)], fn): goal list * validation