FILTER_DISCH_TAC will move the antecedent of an implication into the
assumptions, provided its parameter does not occur in the antecedent.
A ?- u ==> v
============== FILTER_DISCH_TAC w
A u {u} ?- v
Note that DISCH_TAC treats ~u as u ==> F. Unlike
DISCH_TAC, the antecedent will be STRIPed into its various components
before being ASSUMEd. This stripping includes generating multiple goals for
case-analysis of disjunctions. Also, unlike DISCH_TAC, should any component
of the discharged antecedent directly imply or contradict the goal, then this
simplification will also be made. Again, unlike DISCH_TAC, FILTER_DISCH_TAC
will not duplicate identical or alpha-equivalent assumptions.