src/Provers/classical.ML
changeset 6967 a3c163ed1e04
parent 6955 9e2d97ef55d2
child 7004 c799d0859638
--- a/src/Provers/classical.ML	Sat Jul 10 21:44:26 1999 +0200
+++ b/src/Provers/classical.ML	Sat Jul 10 21:46:15 1999 +0200
@@ -252,10 +252,12 @@
 (*Duplication of hazardous rules, for complete provers*)
 fun dup_intr th = zero_var_indexes (th RS classical);
 
-fun dup_elim th = 
-    th RSN (2, revcut_rl) |> assumption 2 |> Seq.hd |> 
-    rule_by_tactic (TRYALL (etac revcut_rl))
-    handle _ => error ("Bad format for elimination rule\n" ^ string_of_thm th);
+fun dup_elim th =
+  (case try
+      (rule_by_tactic (TRYALL (etac revcut_rl)))
+      (th RSN (2, revcut_rl) |> assumption 2 |> Seq.hd) of
+    Some th' => th'
+  | _ => error ("Bad format for elimination rule\n" ^ string_of_thm th));
 
 
 (**** Classical rule sets ****)