PROVEHYP_THEN : (thm -> thm -> tactic) -> thm -> tactic
Diagrammatically, one might see this as
A ?- g
============================================== PROVEHYP_THEN th2tac th
A ?- l ... th2tac (A |- l) (A |- r) (A ?- g)
> FIRST_X_ASSUM (PROVEHYP_THEN (K MP_TAC)) ([“p”, “p ==> q”], “r”)
val it = ([([“p”], “p”), ([“p”], “q ==> r”)], fn):
goal list * validation