FILTER_STRIP_TAC : term -> tactic
If u is a term, then FILTER_STRIP_TAC u is a tactic that removes one outermost occurrence of one of the connectives !, ==>, ~ or /\ from the conclusion of the goal t, provided the term being stripped does not contain u. A negation ~t is treated as the implication t ==> F. FILTER_STRIP_TAC u also breaks apart conjunctions without applying any filtering.
If t is a universally quantified term, FILTER_STRIP_TAC u strips off the quantifier:
      A ?- !x.v
   ================  FILTER_STRIP_TAC ``u``       [where x is not u]
     A ?- v[x'/x]
      A ?- v /\ w
   =================  FILTER_STRIP_TAC ``u``
    A ?- v   A ?- w
    A ?- v1 /\ ... /\ vn ==> v            A ?- v1 \/ ... \/ vn ==> v
   ============================        =================================
       A u {v1,...,vn} ?- v             A u {v1} ?- v ... A u {vn} ?- v
     A ?- ?x.w ==> v
   ====================
    A u {w[x'/x]} ?- v
?- !n. m <= n /\ n <= m ==> (m = n)
FILTER_STRIP_TAC ``m:num``
FILTER_STRIP_TAC ``m:num = n``