Arith.ML
changeset 171 16c4ea954511
parent 90 5c7a69cef18b
child 179 978854c19b5e
--- a/Arith.ML	Fri Nov 11 10:35:03 1994 +0100
+++ b/Arith.ML	Mon Nov 21 17:50:34 1994 +0100
@@ -116,7 +116,7 @@
 by (rtac (prem RS rev_mp) 1);
 by (res_inst_tac [("m","m"),("n","n")] diff_induct 1);
 by (ALLGOALS(asm_simp_tac arith_ss));
-val add_diff_inverse = result();
+qed "add_diff_inverse";
 
 
 (*** Remainder ***)
@@ -125,7 +125,7 @@
 by (res_inst_tac [("m","m"),("n","n")] diff_induct 1);
 by (etac less_SucE 3);
 by (ALLGOALS(asm_simp_tac arith_ss));
-val diff_less_Suc = result();
+qed "diff_less_Suc";
 
 (*In ordinary notation: if 0<n and n<=m then m-n < m *)
 goal Arith.thy "!!m. [| 0<n; ~ m<n |] ==> m - n < m";
@@ -133,23 +133,23 @@
 by (fast_tac HOL_cs 1);
 by (res_inst_tac [("m","m"),("n","n")] diff_induct 1);
 by (ALLGOALS(asm_simp_tac(arith_ss addsimps [diff_less_Suc])));
-val div_termination = result();
+qed "div_termination";
 
 val wf_less_trans = wf_pred_nat RS wf_trancl RSN (2, def_wfrec RS trans);
 
 goalw Nat.thy [less_def] "<m,n> : pred_nat^+ = (m<n)";
 by (rtac refl 1);
-val less_eq = result();
+qed "less_eq";
 
 goal Arith.thy "!!m. m<n ==> m mod n = m";
 by (rtac (mod_def RS wf_less_trans) 1);
 by(asm_simp_tac HOL_ss 1);
-val mod_less = result();
+qed "mod_less";
 
 goal Arith.thy "!!m. [| 0<n;  ~m<n |] ==> m mod n = (m-n) mod n";
 by (rtac (mod_def RS wf_less_trans) 1);
 by(asm_simp_tac (nat_ss addsimps [div_termination, cut_apply, less_eq]) 1);
-val mod_geq = result();
+qed "mod_geq";
 
 
 (*** Quotient ***)
@@ -157,12 +157,12 @@
 goal Arith.thy "!!m. m<n ==> m div n = 0";
 by (rtac (div_def RS wf_less_trans) 1);
 by(asm_simp_tac nat_ss 1);
-val div_less = result();
+qed "div_less";
 
 goal Arith.thy "!!M. [| 0<n;  ~m<n |] ==> m div n = Suc((m-n) div n)";
 by (rtac (div_def RS wf_less_trans) 1);
 by(asm_simp_tac (nat_ss addsimps [div_termination, cut_apply, less_eq]) 1);
-val div_geq = result();
+qed "div_geq";
 
 (*Main Result about quotient and remainder.*)
 goal Arith.thy "!!m. 0<n ==> (m div n)*n + m mod n = m";
@@ -172,7 +172,7 @@
 by (ALLGOALS (asm_simp_tac(arith_ss addsimps (add_ac @
                        [mod_less, mod_geq, div_less, div_geq,
 	                add_diff_inverse, div_termination]))));
-val mod_div_equality = result();
+qed "mod_div_equality";
 
 
 (*** More results about difference ***)
@@ -181,12 +181,12 @@
 by (rtac (prem RS rev_mp) 1);
 by (res_inst_tac [("m","m"),("n","n")] diff_induct 1);
 by (ALLGOALS (asm_simp_tac arith_ss));
-val less_imp_diff_is_0 = result();
+qed "less_imp_diff_is_0";
 
 val prems = goal Arith.thy "m-n = 0  -->  n-m = 0  -->  m=n";
 by (res_inst_tac [("m","m"),("n","n")] diff_induct 1);
 by (REPEAT(simp_tac arith_ss 1 THEN TRY(atac 1)));
-val diffs0_imp_equal_lemma = result();
+qed "diffs0_imp_equal_lemma";
 
 (*  [| m-n = 0;  n-m = 0 |] ==> m=n  *)
 val diffs0_imp_equal = standard (diffs0_imp_equal_lemma RS mp RS mp);
@@ -195,29 +195,29 @@
 by (rtac (prem RS rev_mp) 1);
 by (res_inst_tac [("m","m"),("n","n")] diff_induct 1);
 by (ALLGOALS(asm_simp_tac arith_ss));
-val less_imp_diff_positive = result();
+qed "less_imp_diff_positive";
 
 val [prem] = goal Arith.thy "n < Suc(m) ==> Suc(m)-n = Suc(m-n)";
 by (rtac (prem RS rev_mp) 1);
 by (res_inst_tac [("m","m"),("n","n")] diff_induct 1);
 by (ALLGOALS(asm_simp_tac arith_ss));
-val Suc_diff_n = result();
+qed "Suc_diff_n";
 
 goal Arith.thy "Suc(m)-n = if(m<n, 0, Suc(m-n))";
 by(simp_tac (nat_ss addsimps [less_imp_diff_is_0, not_less_eq, Suc_diff_n]
                     setloop (split_tac [expand_if])) 1);
-val if_Suc_diff_n = result();
+qed "if_Suc_diff_n";
 
 goal Arith.thy "P(k) --> (!n. P(Suc(n))--> P(n)) --> P(k-i)";
 by (res_inst_tac [("m","k"),("n","i")] diff_induct 1);
 by (ALLGOALS (strip_tac THEN' simp_tac arith_ss THEN' TRY o fast_tac HOL_cs));
-val zero_induct_lemma = result();
+qed "zero_induct_lemma";
 
 val prems = goal Arith.thy "[| P(k);  !!n. P(Suc(n)) ==> P(n) |] ==> P(0)";
 by (rtac (diff_self_eq_0 RS subst) 1);
 by (rtac (zero_induct_lemma RS mp RS mp) 1);
 by (REPEAT (ares_tac ([impI,allI]@prems) 1));
-val zero_induct = result();
+qed "zero_induct";
 
 (*13 July 1992: loaded in 105.7s*)
 
@@ -228,12 +228,12 @@
 by (ALLGOALS(simp_tac arith_ss));
 by (etac le_trans 1);
 by (rtac (lessI RS less_imp_le) 1);
-val le_add2 = result();
+qed "le_add2";
 
 goal Arith.thy "n <= ((n + m)::nat)";
 by (simp_tac (arith_ss addsimps add_ac) 1);
 by (rtac le_add2 1);
-val le_add1 = result();
+qed "le_add1";
 
 val less_add_Suc1 = standard (lessI RS (le_add1 RS le_less_trans));
 val less_add_Suc2 = standard (lessI RS (le_add2 RS le_less_trans));
@@ -242,5 +242,5 @@
 by (nat_ind_tac "k" 1);
 by (ALLGOALS (asm_simp_tac arith_ss));
 by (fast_tac (HOL_cs addDs [Suc_leD]) 1);
-val plus_leD1_lemma = result();
+qed "plus_leD1_lemma";
 val plus_leD1 = plus_leD1_lemma RS mp;