equal_lists: ('a * 'b -> bool) -> 'a list * 'b list -> bool;
authorwenzelm
Sat, 04 Sep 1999 21:00:20 +0200
changeset 7468 6ce03d2f7d91
parent 7467 71e5d8671e7b
child 7469 7a8d3dff34b8
equal_lists: ('a * 'b -> bool) -> 'a list * 'b list -> bool;
src/Pure/library.ML
--- a/src/Pure/library.ML	Sat Sep 04 20:59:33 1999 +0200
+++ b/src/Pure/library.ML	Sat Sep 04 21:00:20 1999 +0200
@@ -107,6 +107,7 @@
   val seq2: ('a * 'b -> unit) -> 'a list * 'b list -> unit
   val ~~ : 'a list * 'b list -> ('a * 'b) list
   val split_list: ('a * 'b) list -> 'a list * 'b list
+  val equal_lists: ('a * 'b -> bool) -> 'a list * 'b list -> bool
   val prefix: ''a list * ''a list -> bool
   val take_prefix: ('a -> bool) -> 'a list -> 'a list * 'a list
   val take_suffix: ('a -> bool) -> 'a list -> 'a list * 'a list
@@ -592,6 +593,8 @@
   [(x1, y1), ..., (xn, yn)]  ===>  ([x1, ..., xn], [y1, ..., yn])*)
 fun split_list (l: ('a * 'b) list) = (map #1 l, map #2 l);
 
+fun equal_lists eq (xs, ys) = length xs = length ys andalso forall2 eq (xs, ys);
+
 
 (* prefixes, suffixes *)