Tidied up the proofs
authorpaulson
Mon, 19 Aug 1996 13:03:17 +0200
changeset 1921 56a77911efe4
parent 1920 df683ce7aad8
child 1922 ce495557ac33
Tidied up the proofs
src/HOL/Trancl.ML
--- a/src/HOL/Trancl.ML	Mon Aug 19 11:51:39 1996 +0200
+++ b/src/HOL/Trancl.ML	Mon Aug 19 13:03:17 1996 +0200
@@ -23,11 +23,14 @@
 by (Fast_tac 1);
 qed "rtrancl_refl";
 
+Addsimps [rtrancl_refl];
+AddSIs   [rtrancl_refl];
+
+
 (*Closure under composition with r*)
-val prems = goal Trancl.thy
-    "[| (a,b) : r^*;  (b,c) : r |] ==> (a,c) : r^*";
+goal Trancl.thy "!!r. [| (a,b) : r^*;  (b,c) : r |] ==> (a,c) : r^*";
 by (stac rtrancl_unfold 1);
-by (fast_tac (!claset addIs prems) 1);
+by (Fast_tac 1);
 qed "rtrancl_into_rtrancl";
 
 (*rtrancl of r contains r*)
@@ -139,14 +142,14 @@
 by (rtac converseI 1);
 by (etac rtrancl_induct 1);
 by (rtac rtrancl_refl 1);
-by (fast_tac (!claset addIs [r_into_rtrancl,rtrancl_trans]) 1);
+by (deepen_tac (!claset addIs [r_into_rtrancl,rtrancl_trans]) 0 1);
 qed "rtrancl_converseD";
 
 goal Trancl.thy "!!r. (x,y) : converse(r^*) ==> (x,y) : (converse r)^*";
 by (dtac converseD 1);
 by (etac rtrancl_induct 1);
 by (rtac rtrancl_refl 1);
-by (fast_tac (!claset addIs [r_into_rtrancl,rtrancl_trans]) 1);
+by (deepen_tac (!claset addIs [r_into_rtrancl,rtrancl_trans]) 0 1);
 qed "rtrancl_converseI";
 
 goal Trancl.thy "(converse r)^* = converse(r^*)";
@@ -161,7 +164,7 @@
 \       !!y z.[| (y,z) : r;  (z,b) : r^*;  P(z) |] ==> P(y) |]  \
 \     ==> P(a)";
 br ((major RS converseI RS rtrancl_converseI) RS rtrancl_induct) 1;
- brs prems 1;
+brs prems 1;
 by(fast_tac (!claset addIs prems addSEs[converseD]addSDs[rtrancl_converseD])1);
 qed "converse_rtrancl_induct";
 
@@ -276,4 +279,3 @@
 (* Don't add r_into_rtrancl: it messes up the proofs in Lambda *)
 val trancl_cs = rel_cs addIs [rtrancl_refl];
 
-AddIs [rtrancl_refl];