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
     A ?- s
   ========== ttaci (|- ti[xi1'/xi1]..[xim'/xim])
    Ai ?- si
             A ?- s
   =========================  CASES_THENL [ttac1;...;ttacn] th
    A1 ?- s1  ...  An ?- sn