Proves the equivalence of the conjunctions of two equal sets of terms.
DESCRIBE
The arguments to CONJ_SET_CONV are two ML lists of terms [t1,...,tn] and
[u1,...,um]. If these are equal when considered as sets, that is
if the sets
{t1,...,tn} and {u1,...,um}
are equal, then CONJ_SET_CONV returns the theorem:
|- (t1 /\ ... /\ tn) = (u1 /\ ... /\ um)
Otherwise CONJ_SET_CONV fails.
FAILURE
CONJ_SET_CONV [t1,...,tn] [u1,...,um] fails if [t1,...,tn] and
[u1,...,um], regarded as sets of terms, are not equal. Also fails
if any ti or ui does not have type bool.
USES
Used to order conjuncts. First sort a list of conjuncts l1 into the
desired order to get a new list l2, then call CONJ_SET_CONV l1 l2.
COMMENTS
This is not a true conversion, so perhaps it ought to be called something else.