TFL/casesplit.ML
changeset 15570 8d8c70b41bab
parent 15531 08c8dad8e399
child 15798 016f3be5a5ec
--- a/TFL/casesplit.ML	Thu Mar 03 09:22:35 2005 +0100
+++ b/TFL/casesplit.ML	Thu Mar 03 12:43:01 2005 +0100
@@ -207,7 +207,7 @@
           let val (n,ty) = Term.dest_Free x in 
             (if vstr = n orelse vstr = Syntax.dest_skolem n 
              then SOME (n,ty) else NONE )
-            handle LIST _ => NONE
+            handle Fail _ => NONE (* dest_skolem *)
           end;
       val (n,ty) = case Library.get_first getter freets 
                 of SOME (n, ty) => (n, ty)
@@ -311,7 +311,7 @@
               raise ERROR_MESSAGE "splitto: cannot find variable to split on")
             | SOME v => 
              let 
-               val gt = Data.dest_Trueprop (nth_elem(0, Thm.prems_of th));
+               val gt = Data.dest_Trueprop (List.nth(Thm.prems_of th, 0));
                val split_thm = mk_casesplit_goal_thm sgn v gt;
                val (subthms, expf) = IsaND.fixed_subgoal_thms split_thm;
              in 
@@ -340,7 +340,7 @@
    the well-foundness conditions have been solved. *)
 local
   fun get_related_thms i = 
-      mapfilter ((fn (r,x) => if x = i then SOME r else NONE));
+      List.mapPartial ((fn (r,x) => if x = i then SOME r else NONE));
       
   fun solve_eq (th, [], i) = 
       raise ERROR_MESSAGE "derive_init_eqs: missing rules"