A call to RESORT_FORALL_CONV f t strips the outer
universally-quantified variables of t, giving a list vs, such that
t is of the form !vs. body. The list vs is then passed to the
function argument f. The result of the call f vs is expected to
be a new list of variables vs', and the result of the conversion is
the theorem
|- (!vs. body) <=> (!vs'. body)
The function f is generally expected to return a permutation of the
variables appearing in the term vs, but may in fact introduce fresh
variables that are fresh for body, and may also remove variables
from vs that also don’t appear in body.