A call to IRULE_CANON th returns a theorem th' that is equivalent
to th, but syntactically rearranged to be in the form
!v1 .. vn. c1 /\ c2 ... /\ cm ==> c
(also allowing for no conjuncts at all). The variables v1 to vn
all occur in the conclusion c, which is not universally quantified,
nor an implication.
Each of the conjuncts is of the form
?ev1 .. evi. ec1 /\ .. ecj
where it is possible that there are not existentially quantified
variables. The existential quantification ensures that there are no free variables in the output theorem th'.