--- a/src/Pure/pattern.ML Thu Sep 25 09:28:05 2008 +0200
+++ b/src/Pure/pattern.ML Thu Sep 25 09:28:06 2008 +0200
@@ -22,6 +22,7 @@
val first_order_match: theory -> term * term
-> Type.tyenv * Envir.tenv -> Type.tyenv * Envir.tenv
val matches: theory -> term * term -> bool
+ val matchess: theory -> term list * term list -> bool
val equiv: theory -> term * term -> bool
val matches_subterm: theory -> term * term -> bool
val unify: theory -> term * term -> Envir.env -> Envir.env
@@ -390,6 +391,8 @@
fun matches thy po = (match thy po (Vartab.empty, Vartab.empty); true) handle MATCH => false;
+fun matchess thy pos = (fold (match thy) (op ~~ pos) (Vartab.empty, Vartab.empty); true) handle MATCH => false;
+
fun equiv thy (t, u) = matches thy (t, u) andalso matches thy (u, t);