src/ZF/Trancl.ML
changeset 760 f0200e91b272
parent 435 ca5356bd315a
child 782 200a16083201
--- a/src/ZF/Trancl.ML	Wed Dec 07 12:34:47 1994 +0100
+++ b/src/ZF/Trancl.ML	Wed Dec 07 13:12:04 1994 +0100
@@ -12,13 +12,13 @@
 by (rtac bnd_monoI 1);
 by (REPEAT (ares_tac [subset_refl, Un_mono, comp_mono] 2));
 by (fast_tac comp_cs 1);
-val rtrancl_bnd_mono = result();
+qed "rtrancl_bnd_mono";
 
 val [prem] = goalw Trancl.thy [rtrancl_def] "r<=s ==> r^* <= s^*";
 by (rtac lfp_mono 1);
 by (REPEAT (resolve_tac [rtrancl_bnd_mono, prem, subset_refl, id_mono,
 			 comp_mono, Un_mono, field_mono, Sigma_mono] 1));
-val rtrancl_mono = result();
+qed "rtrancl_mono";
 
 (* r^* = id(field(r)) Un ( r O r^* )    *)
 val rtrancl_unfold = rtrancl_bnd_mono RS (rtrancl_def RS def_lfp_Tarski);
@@ -31,7 +31,7 @@
 val [prem] = goal Trancl.thy "[| a: field(r) |] ==> <a,a> : r^*";
 by (resolve_tac [rtrancl_unfold RS ssubst] 1);
 by (rtac (prem RS idI RS UnI1) 1);
-val rtrancl_refl = result();
+qed "rtrancl_refl";
 
 (*Closure under composition with r  *)
 val prems = goal Trancl.thy
@@ -40,24 +40,24 @@
 by (rtac (compI RS UnI2) 1);
 by (resolve_tac prems 1);
 by (resolve_tac prems 1);
-val rtrancl_into_rtrancl = result();
+qed "rtrancl_into_rtrancl";
 
 (*rtrancl of r contains all pairs in r  *)
 val prems = goal Trancl.thy "<a,b> : r ==> <a,b> : r^*";
 by (resolve_tac [rtrancl_refl RS rtrancl_into_rtrancl] 1);
 by (REPEAT (resolve_tac (prems@[fieldI1]) 1));
-val r_into_rtrancl = result();
+qed "r_into_rtrancl";
 
 (*The premise ensures that r consists entirely of pairs*)
 val prems = goal Trancl.thy "r <= Sigma(A,B) ==> r <= r^*";
 by (cut_facts_tac prems 1);
 by (fast_tac (ZF_cs addIs [r_into_rtrancl]) 1);
-val r_subset_rtrancl = result();
+qed "r_subset_rtrancl";
 
 goal Trancl.thy "field(r^*) = field(r)";
 by (fast_tac (eq_cs addIs [r_into_rtrancl] 
 		    addSDs [rtrancl_type RS subsetD]) 1);
-val rtrancl_field = result();
+qed "rtrancl_field";
 
 
 (** standard induction rule **)
@@ -69,7 +69,7 @@
 \  ==>  P(<a,b>)";
 by (rtac ([rtrancl_def, rtrancl_bnd_mono, major] MRS def_induct) 1);
 by (fast_tac (ZF_cs addIs prems addSEs [idE,compE]) 1);
-val rtrancl_full_induct = result();
+qed "rtrancl_full_induct";
 
 (*nice induction rule.
   Tried adding the typing hypotheses y,z:field(r), but these
@@ -86,14 +86,14 @@
 (*now do the induction*)
 by (resolve_tac [major RS rtrancl_full_induct] 1);
 by (ALLGOALS (fast_tac (ZF_cs addIs prems)));
-val rtrancl_induct = result();
+qed "rtrancl_induct";
 
 (*transitivity of transitive closure!! -- by induction.*)
 goalw Trancl.thy [trans_def] "trans(r^*)";
 by (REPEAT (resolve_tac [allI,impI] 1));
 by (eres_inst_tac [("b","z")] rtrancl_induct 1);
 by (DEPTH_SOLVE (eresolve_tac [asm_rl, rtrancl_into_rtrancl] 1));
-val trans_rtrancl = result();
+qed "trans_rtrancl";
 
 (*elimination of rtrancl -- by induction on a special formula*)
 val major::prems = goal Trancl.thy
@@ -104,7 +104,7 @@
 (*see HOL/trancl*)
 by (rtac (major RS rtrancl_induct) 2);
 by (ALLGOALS (fast_tac (ZF_cs addSEs prems)));
-val rtranclE = result();
+qed "rtranclE";
 
 
 (**** The relation trancl ****)
@@ -114,31 +114,31 @@
 by (safe_tac comp_cs);
 by (rtac (rtrancl_into_rtrancl RS (trans_rtrancl RS transD RS compI)) 1);
 by (REPEAT (assume_tac 1));
-val trans_trancl = result();
+qed "trans_trancl";
 
 (** Conversions between trancl and rtrancl **)
 
 val [major] = goalw Trancl.thy [trancl_def] "<a,b> : r^+ ==> <a,b> : r^*";
 by (resolve_tac [major RS compEpair] 1);
 by (REPEAT (ares_tac [rtrancl_into_rtrancl] 1));
-val trancl_into_rtrancl = result();
+qed "trancl_into_rtrancl";
 
 (*r^+ contains all pairs in r  *)
 val [prem] = goalw Trancl.thy [trancl_def] "<a,b> : r ==> <a,b> : r^+";
 by (REPEAT (ares_tac [prem,compI,rtrancl_refl,fieldI1] 1));
-val r_into_trancl = result();
+qed "r_into_trancl";
 
 (*The premise ensures that r consists entirely of pairs*)
 val prems = goal Trancl.thy "r <= Sigma(A,B) ==> r <= r^+";
 by (cut_facts_tac prems 1);
 by (fast_tac (ZF_cs addIs [r_into_trancl]) 1);
-val r_subset_trancl = result();
+qed "r_subset_trancl";
 
 (*intro rule by definition: from r^* and r  *)
 val prems = goalw Trancl.thy [trancl_def]
     "[| <a,b> : r^*;  <b,c> : r |]   ==>  <a,c> : r^+";
 by (REPEAT (resolve_tac ([compI]@prems) 1));
-val rtrancl_into_trancl1 = result();
+qed "rtrancl_into_trancl1";
 
 (*intro rule from r and r^*  *)
 val prems = goal Trancl.thy
@@ -147,7 +147,7 @@
 by (resolve_tac (prems RL [r_into_trancl]) 1);
 by (etac (trans_trancl RS transD) 1);
 by (etac r_into_trancl 1);
-val rtrancl_into_trancl2 = result();
+qed "rtrancl_into_trancl2";
 
 (*Nice induction rule for trancl*)
 val major::prems = goal Trancl.thy
@@ -162,7 +162,7 @@
 by (fast_tac ZF_cs 1);
 by (etac rtrancl_induct 1);
 by (ALLGOALS (fast_tac (ZF_cs addIs (rtrancl_into_trancl1::prems))));
-val trancl_induct = result();
+qed "trancl_induct";
 
 (*elimination of r^+ -- NOT an induction rule*)
 val major::prems = goal Trancl.thy
@@ -175,13 +175,13 @@
 by (rtac (rewrite_rule [trancl_def] major RS compEpair) 1);
 by (etac rtranclE 1);
 by (ALLGOALS (fast_tac (ZF_cs addIs [rtrancl_into_trancl1])));
-val tranclE = result();
+qed "tranclE";
 
 goalw Trancl.thy [trancl_def] "r^+ <= field(r)*field(r)";
 by (fast_tac (ZF_cs addEs [compE, rtrancl_type RS subsetD RS SigmaE2]) 1);
-val trancl_type = result();
+qed "trancl_type";
 
 val [prem] = goalw Trancl.thy [trancl_def] "r<=s ==> r^+ <= s^+";
 by (REPEAT (resolve_tac [prem, comp_mono, rtrancl_mono] 1));
-val trancl_mono = result();
+qed "trancl_mono";