Calls Blast_tac. Tidied some proofs
authorpaulson
Fri, 04 Apr 1997 11:20:31 +0200
changeset 2892 67fb21ddfe15
parent 2891 d8f254ad1ab9
child 2893 2ee005e46d6d
Calls Blast_tac. Tidied some proofs
src/HOL/Sexp.ML
--- a/src/HOL/Sexp.ML	Fri Apr 04 11:18:52 1997 +0200
+++ b/src/HOL/Sexp.ML	Fri Apr 04 11:20:31 1997 +0200
@@ -12,17 +12,17 @@
 
 goalw Sexp.thy [sexp_case_def] "sexp_case c d e (Leaf a) = c(a)";
 by (rtac select_equality 1);
-by (ALLGOALS (Fast_tac));
+by (ALLGOALS Blast_tac);
 qed "sexp_case_Leaf";
 
 goalw Sexp.thy [sexp_case_def] "sexp_case c d e (Numb k) = d(k)";
 by (rtac select_equality 1);
-by (ALLGOALS (Fast_tac));
+by (ALLGOALS Blast_tac);
 qed "sexp_case_Numb";
 
 goalw Sexp.thy [sexp_case_def] "sexp_case c d e (M$N) = e M N";
 by (rtac select_equality 1);
-by (ALLGOALS (Fast_tac));
+by (ALLGOALS Blast_tac);
 qed "sexp_case_Scons";
 
 
@@ -41,19 +41,19 @@
 AddIs (sexp.intrs@[SigmaI, uprodI]);
 
 goal Sexp.thy "range(Leaf) <= sexp";
-by (Fast_tac 1);
+by (Blast_tac 1);
 qed "range_Leaf_subset_sexp";
 
 val [major] = goal Sexp.thy "M$N : sexp ==> M: sexp & N: sexp";
 by (rtac (major RS setup_induction) 1);
 by (etac sexp.induct 1);
-by (ALLGOALS Fast_tac);
+by (ALLGOALS Blast_tac);
 qed "Scons_D";
 
 (** Introduction rules for 'pred_sexp' **)
 
 goalw Sexp.thy [pred_sexp_def] "pred_sexp <= sexp Times sexp";
-by (Fast_tac 1);
+by (Blast_tac 1);
 qed "pred_sexp_subset_Sigma";
 
 (* (a,b) : pred_sexp^+ ==> a : sexp *)
@@ -62,14 +62,14 @@
 and trancl_pred_sexpD2 = 
     pred_sexp_subset_Sigma RS trancl_subset_Sigma RS subsetD RS SigmaD2;
 
-val prems = goalw Sexp.thy [pred_sexp_def]
-    "[| M: sexp;  N: sexp |] ==> (M, M$N) : pred_sexp";
-by (fast_tac (!claset addIs prems) 1);
+goalw Sexp.thy [pred_sexp_def]
+    "!!M. [| M: sexp;  N: sexp |] ==> (M, M$N) : pred_sexp";
+by (Blast_tac 1);
 qed "pred_sexpI1";
 
-val prems = goalw Sexp.thy [pred_sexp_def]
-    "[| M: sexp;  N: sexp |] ==> (N, M$N) : pred_sexp";
-by (fast_tac (!claset addIs prems) 1);
+goalw Sexp.thy [pred_sexp_def]
+    "!!M. [| M: sexp;  N: sexp |] ==> (N, M$N) : pred_sexp";
+by (Blast_tac 1);
 qed "pred_sexpI2";
 
 (*Combinations involving transitivity and the rules above*)