simprocs: pattern now "x" (the proc is supposed to discriminate faster than Pattern.match);
authorwenzelm
Fri, 23 Sep 2005 22:31:22 +0200
changeset 17616 f526e2b9fe9e
parent 17615 3c5b158be33c
child 17617 73397145d58a
simprocs: pattern now "x" (the proc is supposed to discriminate faster than Pattern.match);
src/HOL/Tools/record_package.ML
--- a/src/HOL/Tools/record_package.ML	Fri Sep 23 22:21:55 2005 +0200
+++ b/src/HOL/Tools/record_package.ML	Fri Sep 23 22:31:22 2005 +0200
@@ -849,7 +849,7 @@
  *   subrecord.
  *)
 val record_simproc =
-  Simplifier.simproc HOL.thy "record_simp" ["s (u k r)"]   (* FIXME pattern!? *)
+  Simplifier.simproc HOL.thy "record_simp" ["x"]
     (fn sg => fn ss => fn t =>
       (case t of (sel as Const (s, Type (_,[domS,rangeS])))$
                    ((upd as Const (u,Type(_,[_,Type (_,[rT,_])]))) $ k $ r)=>
@@ -910,7 +910,7 @@
  * (But r(|more := r; A := A (r(|more := r|))|) = r(|more := r|)
 *)
 val record_upd_simproc =
-  Simplifier.simproc HOL.thy "record_upd_simp" ["u k r"]    (* FIXME pattern *)
+  Simplifier.simproc HOL.thy "record_upd_simp" ["x"]
     (fn sg => fn ss => fn t =>
       (case t of ((upd as Const (u, Type(_,[_,Type(_,[rT,_])]))) $ k $ r) =>
          let datatype ('a,'b) calc = Init of 'b | Inter of 'a
@@ -1041,7 +1041,7 @@
  * P t > 0: split up to given bound of record extensions
  *)
 fun record_split_simproc P =
-  Simplifier.simproc HOL.thy "record_split_simp" ["a t"]
+  Simplifier.simproc HOL.thy "record_split_simp" ["x"]
     (fn sg => fn _ => fn t =>
       (case t of (Const (quantifier, Type (_, [Type (_, [T, _]), _])))$trm =>
          if quantifier = "All" orelse quantifier = "all" orelse quantifier = "Ex"