importing theorems correctly causes problems with mutual recursive predicates in the predicate compiler; must be discussed with Stefan first
authorbulwahn
Sat, 24 Oct 2009 16:55:42 +0200
changeset 33118 973d18ad2a73
parent 33117 1413c62db675
child 33119 bf18c8174571
importing theorems correctly causes problems with mutual recursive predicates in the predicate compiler; must be discussed with Stefan first
src/HOL/Tools/Predicate_Compile/predicate_compile_core.ML
--- a/src/HOL/Tools/Predicate_Compile/predicate_compile_core.ML	Sat Oct 24 16:55:42 2009 +0200
+++ b/src/HOL/Tools/Predicate_Compile/predicate_compile_core.ML	Sat Oct 24 16:55:42 2009 +0200
@@ -291,7 +291,7 @@
 
 fun mk_casesrule ctxt nparams introrules =
   let
-    val (intros_th, ctxt1) = import_intros introrules ctxt
+    val ((_, intros_th), ctxt1) = Variable.import false introrules ctxt
     val intros = map prop_of intros_th
     val (pred, (params, args)) = strip_intro_concl nparams (hd intros)
     val ([propname], ctxt2) = Variable.variant_fixes ["thesis"] ctxt1
@@ -2174,7 +2174,7 @@
     
 fun prepare_intrs thy prednames intros =
   let
-    val (intrs, _) =  import_intros intros (ProofContext.init thy)
+    val ((_, intrs), _) = Variable.import false intros (ProofContext.init thy)
     val intrs = map prop_of intrs
     val nparams = nparams_of thy (hd prednames)
     val extra_modes = all_modes_of thy |> filter_out (fn (name, _) => member (op =) prednames name)