When given a list of theorem-tactics [ttac1;...;ttacn] and a theorem whose
conclusion is a top-level disjunction of n terms, CASES_THENL splits a goal
into n subgoals resulting from applying to the original goal the result of
applying the i’th theorem-tactic to the i’th disjunct. This can be
represented as follows, where the number of existentially quantified variables
in a disjunct may be zero. If the theorem th has the form:
A' |- ?x11..x1m. t1 \/ ... \/ ?xn1..xnp. tn
where the number of existential quantifiers may be zero,
and for all i from 1 to n:
A ?- s
========== ttaci (|- ti[xi1'/xi1]..[xim'/xim])
Ai ?- si
where the primed variables have the same type as their unprimed
counterparts, then:
A ?- s
========================= CASES_THENL [ttac1;...;ttacn] th
A1 ?- s1 ... An ?- sn
Unless A' is a subset of A, this is an invalid tactic.