If my goal state is foo ==> bar --> qux
, I know that I can use the statement
apply (intro impI)
to yield the goal state foo ==> bar ==> qux
. What about the other direction? Which command will send me back to the goal state foo ==> bar --> qux
?
The best I have come up with so far is
apply (rule_tac P="bar" in rev_mp, assumption, thin_tac "bar")
but that's rather clunky, and I'd like to learn if there's a nicer way.