src/Provers/splitter.ML
changeset 59582 0fbed69ff081
parent 59498 50b60f501b05
child 59621 291934bac95e
--- a/src/Provers/splitter.ML	Tue Mar 03 19:08:04 2015 +0100
+++ b/src/Provers/splitter.ML	Wed Mar 04 19:53:18 2015 +0100
@@ -55,17 +55,19 @@
 
 fun split_format_err () = error "Wrong format for split rule";
 
-fun split_thm_info thm = case concl_of (Data.mk_eq thm) of
-     Const(@{const_name Pure.eq}, _) $ (Var _ $ t) $ c => (case strip_comb t of
-       (Const p, _) => (p, case c of (Const (s, _) $ _) => s = const_not | _ => false)
-     | _ => split_format_err ())
-   | _ => split_format_err ();
+fun split_thm_info thm =
+  (case Thm.concl_of (Data.mk_eq thm) of
+    Const(@{const_name Pure.eq}, _) $ (Var _ $ t) $ c =>
+      (case strip_comb t of
+        (Const p, _) => (p, case c of (Const (s, _) $ _) => s = const_not | _ => false)
+      | _ => split_format_err ())
+  | _ => split_format_err ());
 
 fun cmap_of_split_thms thms =
 let
   val splits = map Data.mk_eq thms
   fun add_thm thm cmap =
-    (case concl_of thm of _ $ (t as _ $ lhs) $ _ =>
+    (case Thm.concl_of thm of _ $ (t as _ $ lhs) $ _ =>
        (case strip_comb lhs of (Const(a,aT),args) =>
           let val info = (aT,lhs,thm,fastype_of t,length args)
           in case AList.lookup (op =) cmap a of
@@ -102,7 +104,7 @@
   (fn {context = ctxt, prems} =>
     rewrite_goals_tac ctxt prems THEN resolve_tac ctxt [reflexive_thm] 1)
 
-val _ $ _ $ (_ $ (_ $ abs_lift) $ _) = prop_of lift;
+val _ $ _ $ (_ $ (_ $ abs_lift) $ _) = Thm.prop_of lift;
 
 val trlift = lift RS transitive_thm;
 
@@ -286,7 +288,7 @@
 fun select cmap state i =
   let
     val thy = Thm.theory_of_thm state
-    val goal = term_of (Thm.cprem_of state i);
+    val goal = Thm.term_of (Thm.cprem_of state i);
     val Ts = rev (map #2 (Logic.strip_params goal));
     val _ $ t $ _ = Logic.strip_assums_concl goal;
   in (Ts, t, sort shorter (split_posns cmap thy Ts t)) end;
@@ -313,7 +315,7 @@
 
 fun inst_lift Ts t (T, U, pos) state i =
   let
-    val cert = cterm_of (Thm.theory_of_thm state);
+    val cert = Thm.cterm_of (Thm.theory_of_thm state);
     val (cntxt, u) = mk_cntxt t pos (T --> U);
     val trlift' = Thm.lift_rule (Thm.cprem_of state i)
       (Thm.rename_boundvars abs_lift u trlift);
@@ -341,7 +343,7 @@
     val thm' = Thm.lift_rule (Thm.cprem_of state i) thm;
     val (P, _) = strip_comb (fst (Logic.dest_equals
       (Logic.strip_assums_concl (Thm.prop_of thm'))));
-    val cert = cterm_of (Thm.theory_of_thm state);
+    val cert = Thm.cterm_of (Thm.theory_of_thm state);
     val cntxt = mk_cntxt_splitthm t tt TB;
   in cterm_instantiate [(cert P, cert (abss Ts cntxt))] thm'
   end;