COND_CASES_TAC : tactic
A ?- t ======================================================= COND_CASES_TAC A u {p} ?- t[u/(p=>u|v)] A u {~p} ?- t[v/(p=>u|v)]]
COND_CASES_TAC ([], "x = (P y => z1 | z2)");; ([(["P y"], "x = z1"); (["~P y"], "x = z2")], -) : subgoals
COND_CASES_TAC ([], "!y. x = (P y => z1 | z2)");; evaluation failed COND_CASES_TAC
ASM_CASES_TAC "P y" ([], "x = (P y => z1 | z2)");; ([(["P y"], "x = (P y => z1 | z2)"); (["~P y"], "x = (P y => z1 | z2)")], -) : subgoals