STRIP_THM_THEN : thm_tactical
In particular, when stripping a conjunctive theorem A'|- u /\ v, the tactic
ttac(u|-u) THEN ttac(v|-v)
resulting from applying ttac to the conjuncts, is applied to the
goal. When stripping a disjunctive theorem A'|- u \/ v, the tactics
resulting from applying ttac to the disjuncts, are applied to split the goal
into two cases. That is, if
A ?- t A ?- t
========= ttac (u|-u) and ========= ttac (v|-v)
A ?- t1 A ?- t2
then:
A ?- t
================== STRIP_THM_THEN ttac (A'|- u \/ v)
A ?- t1 A ?- t2
When stripping an existentially quantified theorem A'|- ?x.u, the
tactic ttac(u|-u), resulting from applying ttac to the body of the
existential quantification, is applied to the goal. That is, if:
A ?- t
========= ttac (u|-u)
A ?- t1
then:
A ?- t
============= STRIP_THM_THEN ttac (A'|- ?x. u)
A ?- t1
The assumptions of the theorem being split are not added to the assumptions of
the goal(s) but are recorded in the proof. If A' is not a subset of the
assumptions A of the goal (up to alpha-conversion), STRIP_THM_THEN ttac th
results in an invalid tactic.