IMP_CANON : (thm -> thm list)
A |- t1 /\ t2 A |- !x. t A |- (t1 /\ t2) ==> t ------------------- ------------ ------------------------ A |- t1 A |- t2 A |- t A |- t1 ==> (t2 ==> t) A |- (t1 \/ t2) ==> t A |- (?x. t1) ==> t2 ------------------------------- ---------------------- A |- t1 ==> t A |- t2 ==> t A |- t1[x'/x] ==> t2