Fixed problem in add_elim_realizer (concerning inductive predicates with
authorberghofe
Sun, 27 Apr 2003 22:53:11 +0200
changeset 13928 d572aeea3ff3
parent 13927 6643b8808812
child 13929 21615e44ba88
Fixed problem in add_elim_realizer (concerning inductive predicates with parameters) introduced by last bugfix.
src/HOL/Tools/inductive_realizer.ML
--- a/src/HOL/Tools/inductive_realizer.ML	Sat Apr 26 12:44:29 2003 +0200
+++ b/src/HOL/Tools/inductive_realizer.ML	Sun Apr 27 22:53:11 2003 +0200
@@ -389,11 +389,11 @@
         val (prem :: prems) = prems_of elim;
         fun reorder1 (p, intr) =
           foldl (fn (t, ((s, _), T)) => all T $ lambda (Free (s, T)) t)
-            (strip_all p, Term.add_vars ([], prop_of intr));
+            (strip_all p, Term.add_vars ([], prop_of intr) \\ params');
         fun reorder2 (intr, i) =
           let
-            val fs1 = term_vars (prop_of intr);
-            val fs2 = Term.add_vars ([], prop_of intr)
+            val fs1 = term_vars (prop_of intr) \\ params;
+            val fs2 = Term.add_vars ([], prop_of intr) \\ params'
           in foldl (fn (t, x) => lambda (Var x) t)
             (list_comb (Bound (i + length fs1), fs1), fs2)
           end;