--- a/src/FOL/fologic.ML Thu Oct 04 14:49:10 2001 +0200
+++ b/src/FOL/fologic.ML Thu Oct 04 14:49:38 2001 +0200
@@ -19,6 +19,8 @@
val mk_disj : term * term -> term
val mk_imp : term * term -> term
val dest_imp : term -> term*term
+ val dest_conj : term -> term list
+ val dest_concls : term -> term list
val mk_iff : term * term -> term
val dest_iff : term -> term*term
val all_const : typ -> term
@@ -62,6 +64,12 @@
fun dest_imp (Const("op -->",_) $ A $ B) = (A, B)
| dest_imp t = raise TERM ("dest_imp", [t]);
+fun dest_conj (Const ("op &", _) $ t $ t') = t :: dest_conj t'
+ | dest_conj t = [t];
+
+fun imp_concl_of t = imp_concl_of (#2 (dest_imp t)) handle TERM _ => t;
+val dest_concls = map imp_concl_of o dest_conj o dest_Trueprop;
+
fun dest_iff (Const("op <->",_) $ A $ B) = (A, B)
| dest_iff t = raise TERM ("dest_iff", [t]);