src/HOL/Real/RealPow.ML
changeset 7588 26384af93359
parent 7292 dff3470c5c62
child 8423 3c19160b6432
--- a/src/HOL/Real/RealPow.ML	Thu Sep 23 14:39:39 1999 +0200
+++ b/src/HOL/Real/RealPow.ML	Thu Sep 23 18:39:05 1999 +0200
@@ -94,6 +94,12 @@
 qed "realpow_eq_one";
 Addsimps [realpow_eq_one];
 
+(** New versions using #0 and #1 instead of 0r and 1r
+    REMOVE AFTER CONVERTING THIS FILE TO USE #0 AND #1 **)
+
+Addsimps (map (rename_numerals thy) [realpow_zero, realpow_eq_one]);
+
+
 Goal "rabs(-(1r ^ n)) = 1r";
 by (simp_tac (simpset() addsimps 
     [rabs_minus_cancel,rabs_one]) 1);
@@ -137,21 +143,13 @@
 by (auto_tac (claset() addIs [real_less_trans],simpset()));
 qed "realpow_two_gt_one";
 
-Goal "1r <= r ==> 1r <= r ^ 2";
-by (etac (real_le_imp_less_or_eq RS disjE) 1);
-by (etac (realpow_two_gt_one RS real_less_imp_le) 1);
-by (asm_simp_tac (simpset()) 1);
-qed "realpow_two_ge_one";
-
-(* more general result *)
 Goal "1r < r --> 1r <= r ^ n";
 by (induct_tac "n" 1);
 by (auto_tac (claset() addSDs [real_le_imp_less_or_eq],
-    simpset()));
+	      simpset()));
 by (dtac (real_zero_less_one RS real_mult_less_mono) 1);
-by (dtac sym 4);
 by (auto_tac (claset() addSIs [real_less_imp_le],
-    simpset() addsimps [real_zero_less_one]));
+	      simpset() addsimps [real_zero_less_one]));
 qed_spec_mp "realpow_ge_one";
 
 Goal "1r < r ==> 1r < r ^ (Suc n)";
@@ -166,8 +164,7 @@
 
 Goal "1r <= r ==> 1r <= r ^ n";
 by (dtac real_le_imp_less_or_eq 1); 
-by (auto_tac (claset() addDs [realpow_ge_one],
-    simpset()));
+by (auto_tac (claset() addDs [realpow_ge_one], simpset()));
 qed "realpow_ge_one2";
 
 Goal "0r < r ==> 0r < r ^ Suc n";
@@ -181,24 +178,23 @@
 Goal "0r <= r ==> 0r <= r ^ Suc n";
 by (etac (real_le_imp_less_or_eq RS disjE) 1);
 by (etac (realpow_ge_zero) 1);
-by (asm_simp_tac (simpset()) 1);
+by (Asm_simp_tac 1);
 qed "realpow_Suc_ge_zero";
 
-Goal "1r <= (1r +1r) ^ n";
-by (res_inst_tac [("j","1r ^ n")] real_le_trans 1);
+Goal "(#1::real) <= #2 ^ n";
+by (res_inst_tac [("j","#1 ^ n")] real_le_trans 1);
 by (rtac realpow_le 2);
 by (auto_tac (claset() addIs [real_less_imp_le],
-    simpset() addsimps [real_zero_less_one,
-    real_one_less_two]));
+	      simpset() addsimps [zero_eq_numeral_0]));
 qed "two_realpow_ge_one";
 
-Goal "real_of_nat n < (1r + 1r) ^ n";
+Goal "real_of_nat n < #2 ^ n";
 by (induct_tac "n" 1);
 by (auto_tac (claset(),
-	      simpset() addsimps [real_of_nat_Suc, real_of_nat_zero,
-				  real_zero_less_one,real_add_mult_distrib,
-				  real_of_nat_one]));
-by (blast_tac (claset() addSIs [real_add_less_le_mono, two_realpow_ge_one]) 1);
+	      simpset() addsimps [zero_eq_numeral_0, one_eq_numeral_1,
+				  real_mult_2,
+				  real_of_nat_Suc, real_of_nat_zero,
+				  real_add_less_le_mono, two_realpow_ge_one]));
 qed "two_realpow_gt";
 Addsimps [two_realpow_gt,two_realpow_ge_one];
 
@@ -371,3 +367,11 @@
 qed "realpow_two_mult_rinv";
 Addsimps [realpow_two_mult_rinv];
 
+
+(** New versions using #0 and #1 instead of 0r and 1r
+    REMOVE AFTER CONVERTING THIS FILE TO USE #0 AND #1 **)
+
+Addsimps (map (rename_numerals thy) 
+	  [realpow_two_le, realpow_zero_le,
+	   rabs_minus_realpow_one, rabs_realpow_minus_one,
+	   realpow_minus_one, realpow_minus_one2, realpow_minus_one_odd]);