DISJ_CASES_THENL : (thm_tactic list -> thm_tactic)
|- d1 \/ d2 \/...\/ dnproduce results as follows when applied to a goal (A ?- t):
A ?- t A ?- t
========= f1 (d1 |- d1) and ... and ========= fn (dn |- dn)
A ?- t1 A ?- tn
then applying DISJ_CASES_THENL [f1;...;fn] (|- d1 \/...\/ dn)
to the goal (A ?- t) produces n subgoals.
A ?- t
======================= DISJ_CASES_THENL [f1;...;fn] (|- d1 \/...\/ dn)
A ?- t1 ... A ?- tn
DISJ_CASES_THENL is defined using iteration, hence for
theorems with more than n disjuncts, dn would itself be disjunctive.