--- a/src/HOL/Real/Real.ML Wed Jul 28 22:01:58 1999 +0200
+++ b/src/HOL/Real/Real.ML Thu Jul 29 12:44:57 1999 +0200
@@ -6,10 +6,10 @@
*)
Goal "(0r < x) = (? y. x = real_of_preal y)";
-by (auto_tac (claset(),simpset() addsimps [real_of_preal_zero_less]));
+by (auto_tac (claset(), simpset() addsimps [real_of_preal_zero_less]));
by (cut_inst_tac [("x","x")] real_of_preal_trichotomy 1);
by (blast_tac (claset() addSEs [real_less_irrefl,
- real_of_preal_not_minus_gt_zero RS notE]) 1);
+ real_of_preal_not_minus_gt_zero RS notE]) 1);
qed "real_gt_zero_preal_Ex";
Goal "real_of_preal z < x ==> ? y. x = real_of_preal y";
@@ -19,12 +19,12 @@
Goal "real_of_preal z <= x ==> ? y. x = real_of_preal y";
by (blast_tac (claset() addDs [real_le_imp_less_or_eq,
- real_gt_preal_preal_Ex]) 1);
+ real_gt_preal_preal_Ex]) 1);
qed "real_ge_preal_preal_Ex";
Goal "y <= 0r ==> !x. y < real_of_preal x";
by (auto_tac (claset() addEs [real_le_imp_less_or_eq RS disjE]
- addIs [real_of_preal_zero_less RSN(2,real_less_trans)],
+ addIs [real_of_preal_zero_less RSN(2,real_less_trans)],
simpset() addsimps [real_of_preal_zero_less]));
qed "real_less_all_preal";
@@ -43,12 +43,12 @@
by (auto_tac (claset(), simpset() addsimps real_add_ac));
qed "real_lemma_add_positive_imp_less";
-Goal "!!(R::real). ? T. 0r < T & R + T = S ==> R < S";
+Goal "? T. 0r < T & R + T = S ==> R < S";
by (blast_tac (claset() addIs [real_lemma_add_positive_imp_less]) 1);
qed "real_ex_add_positive_left_less";
(*Alternative definition for real_less. NOT for rewriting*)
-Goal "!!(R::real). (R < S) = (? T. 0r < T & R + T = S)";
+Goal "(R < S) = (? T. 0r < T & R + T = S)";
by (blast_tac (claset() addSIs [real_less_add_positive_left_Ex,
real_ex_add_positive_left_less]) 1);
qed "real_less_iff_add";
@@ -62,7 +62,7 @@
by (blast_tac (claset() addIs [real_less_trans]) 2);
by (auto_tac (claset(),
simpset() addsimps
- [real_gt_zero_preal_Ex,real_of_preal_minus_less_self]));
+ [real_gt_zero_preal_Ex,real_of_preal_minus_less_self]));
qed "real_gt_zero_iff";
Goal "(x < 0r) = (x < -x)";
@@ -72,11 +72,11 @@
qed "real_lt_zero_iff";
Goalw [real_le_def] "(0r <= x) = (-x <= x)";
-by (auto_tac (claset(),simpset() addsimps [real_lt_zero_iff RS sym]));
+by (auto_tac (claset(), simpset() addsimps [real_lt_zero_iff RS sym]));
qed "real_ge_zero_iff";
Goalw [real_le_def] "(x <= 0r) = (x <= -x)";
-by (auto_tac (claset(),simpset() addsimps [real_gt_zero_iff RS sym]));
+by (auto_tac (claset(), simpset() addsimps [real_gt_zero_iff RS sym]));
qed "real_le_zero_iff";
Goal "(real_of_preal m1 <= real_of_preal m2) = (m1 <= m2)";
@@ -86,31 +86,31 @@
by (etac preal_less_irrefl 1);
qed "real_of_preal_le_iff";
-Goal "!!(x::real). [| 0r < x; 0r < y |] ==> 0r < x * y";
-by (auto_tac (claset(),simpset() addsimps [real_gt_zero_preal_Ex]));
+Goal "[| 0r < x; 0r < y |] ==> 0r < x * y";
+by (auto_tac (claset(), simpset() addsimps [real_gt_zero_preal_Ex]));
by (res_inst_tac [("x","y*ya")] exI 1);
by (full_simp_tac (simpset() addsimps [real_of_preal_mult]) 1);
qed "real_mult_order";
-Goal "!!(x::real). [| x < 0r; y < 0r |] ==> 0r < x * y";
+Goal "[| x < 0r; y < 0r |] ==> 0r < x * y";
by (REPEAT(dtac (real_minus_zero_less_iff RS iffD2) 1));
by (dtac real_mult_order 1 THEN assume_tac 1);
by (Asm_full_simp_tac 1);
qed "real_mult_less_zero1";
-Goal "!!(x::real). [| 0r <= x; 0r <= y |] ==> 0r <= x * y";
+Goal "[| 0r <= x; 0r <= y |] ==> 0r <= x * y";
by (REPEAT(dtac real_le_imp_less_or_eq 1));
by (auto_tac (claset() addIs [real_mult_order, real_less_imp_le],
simpset()));
qed "real_le_mult_order";
-Goal "!!(x::real). [| 0r < x; 0r <= y |] ==> 0r <= x * y";
+Goal "[| 0r < x; 0r <= y |] ==> 0r <= x * y";
by (dtac real_le_imp_less_or_eq 1);
by (auto_tac (claset() addIs [real_mult_order,
- real_less_imp_le],simpset()));
+ real_less_imp_le],simpset()));
qed "real_less_le_mult_order";
-Goal "!!(x::real). [| x <= 0r; y <= 0r |] ==> 0r <= x * y";
+Goal "[| x <= 0r; y <= 0r |] ==> 0r <= x * y";
by (rtac real_less_or_eq_imp_le 1);
by (dtac real_le_imp_less_or_eq 1 THEN etac disjE 1);
by Auto_tac;
@@ -118,17 +118,17 @@
by (auto_tac (claset() addDs [real_mult_less_zero1],simpset()));
qed "real_mult_le_zero1";
-Goal "!!(x::real). [| 0r <= x; y < 0r |] ==> x * y <= 0r";
+Goal "[| 0r <= x; y < 0r |] ==> x * y <= 0r";
by (rtac real_less_or_eq_imp_le 1);
by (dtac real_le_imp_less_or_eq 1 THEN etac disjE 1);
by Auto_tac;
by (dtac (real_minus_zero_less_iff RS iffD2) 1);
by (rtac (real_minus_zero_less_iff RS subst) 1);
by (blast_tac (claset() addDs [real_mult_order]
- addIs [real_minus_mult_eq2 RS ssubst]) 1);
+ addIs [real_minus_mult_eq2 RS ssubst]) 1);
qed "real_mult_le_zero";
-Goal "!!(x::real). [| 0r < x; y < 0r |] ==> x*y < 0r";
+Goal "[| 0r < x; y < 0r |] ==> x*y < 0r";
by (dtac (real_minus_zero_less_iff RS iffD2) 1);
by (dtac real_mult_order 1 THEN assume_tac 1);
by (rtac (real_minus_zero_less_iff RS iffD1) 1);
@@ -137,7 +137,7 @@
Goalw [real_one_def] "0r < 1r";
by (auto_tac (claset() addIs [real_gt_zero_preal_Ex RS iffD2],
- simpset() addsimps [real_of_preal_def]));
+ simpset() addsimps [real_of_preal_def]));
qed "real_zero_less_one";
(*** Monotonicity results ***)
@@ -204,7 +204,7 @@
by (Full_simp_tac 1);
qed "real_add_order";
-Goal "!!(x::real). [| 0r <= x; 0r <= y |] ==> 0r <= x + y";
+Goal "[| 0r <= x; 0r <= y |] ==> 0r <= x + y";
by (REPEAT(dtac real_le_imp_less_or_eq 1));
by (auto_tac (claset() addIs [real_add_order, real_less_imp_le],
simpset()));
@@ -228,12 +228,12 @@
Goal "EX (x::real). x < y";
by (rtac (real_add_zero_right RS subst) 1);
-by (res_inst_tac [("x","y + -1r")] exI 1);
+by (res_inst_tac [("x","y + (-1r)")] exI 1);
by (auto_tac (claset() addSIs [real_add_less_mono2],
simpset() addsimps [real_minus_zero_less_iff2, real_zero_less_one]));
qed "real_less_Ex";
-Goal "!!(u::real). 0r < r ==> u + -r < u";
+Goal "0r < r ==> u + (-r) < u";
by (res_inst_tac [("C","r")] real_less_add_right_cancel 1);
by (simp_tac (simpset() addsimps [real_add_assoc]) 1);
qed "real_add_minus_positive_less_self";
@@ -242,10 +242,10 @@
by (Step_tac 1);
by (dres_inst_tac [("x","-s")] real_add_left_le_mono1 1);
by (dres_inst_tac [("x","r")] real_add_left_le_mono1 2);
-by (Auto_tac);
+by Auto_tac;
by (dres_inst_tac [("z","-r")] real_add_le_mono1 1);
by (dres_inst_tac [("z","s")] real_add_le_mono1 2);
-by (auto_tac (claset(),simpset() addsimps [real_add_assoc]));
+by (auto_tac (claset(), simpset() addsimps [real_add_assoc]));
qed "real_le_minus_iff";
Addsimps [real_le_minus_iff RS sym];
@@ -257,14 +257,14 @@
Goal "0r <= x*x";
by (res_inst_tac [("R2.0","0r"),("R1.0","x")] real_linear_less2 1);
by (auto_tac (claset() addIs [real_mult_order,
- real_mult_less_zero1,real_less_imp_le],
- simpset()));
+ real_mult_less_zero1,real_less_imp_le],
+ simpset()));
qed "real_le_square";
Addsimps [real_le_square];
-(*---------------------------------------------------------------------------------
+(*----------------------------------------------------------------------------
An embedding of the naturals in the reals
- ---------------------------------------------------------------------------------*)
+ ----------------------------------------------------------------------------*)
Goalw [real_of_posnat_def] "real_of_posnat 0 = 1r";
by (full_simp_tac (simpset() addsimps [pnat_one_iff RS sym,real_of_preal_def]) 1);
@@ -324,7 +324,7 @@
by (induct_tac "n" 1);
by (auto_tac (claset(),
simpset () addsimps [real_of_posnat_Suc,real_of_posnat_one,
- real_of_posnat_less_zero, real_less_imp_le]));
+ real_of_posnat_less_zero, real_less_imp_le]));
qed "real_of_posnat_less_one";
Addsimps [real_of_posnat_less_one];
@@ -352,7 +352,7 @@
by (EVERY1[dtac real_le_imp_less_or_eq, Step_tac]);
by (dtac real_mult_less_zero1 1 THEN assume_tac 1);
by (auto_tac (claset() addIs [real_zero_less_one RS real_less_asym],
- simpset() addsimps [real_minus_mult_eq1 RS sym]));
+ simpset() addsimps [real_minus_mult_eq1 RS sym]));
qed "real_rinv_gt_zero";
Goal "x < 0r ==> rinv x < 0r";
@@ -360,8 +360,7 @@
by (dtac (real_minus_zero_less_iff RS iffD2) 1);
by (rtac (real_minus_zero_less_iff RS iffD1) 1);
by (dtac (real_minus_rinv RS sym) 1);
-by (auto_tac (claset() addIs [real_rinv_gt_zero],
- simpset()));
+by (auto_tac (claset() addIs [real_rinv_gt_zero], simpset()));
qed "real_rinv_less_zero";
Goal "0r < rinv(real_of_posnat n)";
@@ -400,7 +399,7 @@
by (full_simp_tac (simpset() addsimps [real_mult_assoc]) 1);
qed "real_sum_of_halves";
-Goal "!!(x::real). [| 0r<z; x<y |] ==> x*z<y*z";
+Goal "[| 0r<z; x<y |] ==> x*z<y*z";
by (rotate_tac 1 1);
by (dtac real_less_sum_gt_zero 1);
by (rtac real_sum_gt_zero_less 1);
@@ -409,11 +408,11 @@
real_minus_mult_eq2 RS sym, real_mult_commute ]) 1);
qed "real_mult_less_mono1";
-Goal "!!(y::real). [| 0r<z; x<y |] ==> z*x<z*y";
+Goal "[| 0r<z; x<y |] ==> z*x<z*y";
by (asm_simp_tac (simpset() addsimps [real_mult_commute,real_mult_less_mono1]) 1);
qed "real_mult_less_mono2";
-Goal "!!(x::real). [| 0r<z; x*z<y*z |] ==> x<y";
+Goal "[| 0r<z; x*z<y*z |] ==> x<y";
by (forw_inst_tac [("x","x*z")] (real_rinv_gt_zero
RS real_mult_less_mono1) 1);
by (auto_tac (claset(),
@@ -421,7 +420,7 @@
[real_mult_assoc,real_not_refl2 RS not_sym]));
qed "real_mult_less_cancel1";
-Goal "!!(x::real). [| 0r<z; z*x<z*y |] ==> x<y";
+Goal "[| 0r<z; z*x<z*y |] ==> x<y";
by (etac real_mult_less_cancel1 1);
by (asm_full_simp_tac (simpset() addsimps [real_mult_commute]) 1);
qed "real_mult_less_cancel2";
@@ -438,105 +437,107 @@
Addsimps [real_mult_less_iff1,real_mult_less_iff2];
-Goal "!!(x::real). [| 0r<=z; x<y |] ==> x*z<=y*z";
+Goal "[| 0r<=z; x<y |] ==> x*z<=y*z";
by (EVERY1 [rtac real_less_or_eq_imp_le, dtac real_le_imp_less_or_eq]);
by (auto_tac (claset() addIs [real_mult_less_mono1],simpset()));
qed "real_mult_le_less_mono1";
-Goal "!!(x::real). [| 0r<=z; x<y |] ==> z*x<=z*y";
+Goal "[| 0r<=z; x<y |] ==> z*x<=z*y";
by (asm_simp_tac (simpset() addsimps [real_mult_commute,real_mult_le_less_mono1]) 1);
qed "real_mult_le_less_mono2";
-Goal "!!x y (z::real). [| 0r<=z; x<=y |] ==> z*x<=z*y";
+Goal "[| 0r<=z; x<=y |] ==> z*x<=z*y";
by (dres_inst_tac [("x","x")] real_le_imp_less_or_eq 1);
by (auto_tac (claset() addIs [real_mult_le_less_mono2], simpset()));
qed "real_mult_le_le_mono1";
-Goal "!!(x::real). [| 0r < r1; r1 <r2; 0r < x; x < y|] \
+Goal "[| 0r < r1; r1 <r2; 0r < x; x < y|] \
\ ==> r1 * x < r2 * y";
by (dres_inst_tac [("x","x")] real_mult_less_mono2 1);
by (dres_inst_tac [("R1.0","0r")] real_less_trans 2);
by (dres_inst_tac [("x","r1")] real_mult_less_mono1 3);
-by (Auto_tac);
+by Auto_tac;
by (blast_tac (claset() addIs [real_less_trans]) 1);
qed "real_mult_less_mono";
-Goal "!!(x::real). [| 0r < r1; r1 <r2; 0r < y|] \
+Goal "[| 0r < r1; r1 <r2; 0r < y|] \
\ ==> 0r < r2 * y";
by (dres_inst_tac [("R1.0","0r")] real_less_trans 1);
by (assume_tac 1);
by (blast_tac (claset() addIs [real_mult_order]) 1);
qed "real_mult_order_trans";
-Goal "!!(x::real). [| 0r < r1; r1 <r2; 0r <= x; x < y|] \
+Goal "[| 0r < r1; r1 <r2; 0r <= x; x < y|] \
\ ==> r1 * x < r2 * y";
-by (auto_tac (claset() addSDs [real_le_imp_less_or_eq] addIs
- [real_mult_less_mono,real_mult_order_trans],
+by (auto_tac (claset() addSDs [real_le_imp_less_or_eq]
+ addIs [real_mult_less_mono,real_mult_order_trans],
simpset()));
qed "real_mult_less_mono3";
-Goal "!!(x::real). [| 0r <= r1; r1 <r2; 0r <= x; x < y|] \
+Goal "[| 0r <= r1; r1 <r2; 0r <= x; x < y|] \
\ ==> r1 * x < r2 * y";
-by (auto_tac (claset() addSDs [real_le_imp_less_or_eq] addIs
- [real_mult_less_mono,real_mult_order_trans,
- real_mult_order],simpset()));
+by (auto_tac (claset() addSDs [real_le_imp_less_or_eq]
+ addIs [real_mult_less_mono,real_mult_order_trans,
+ real_mult_order],
+ simpset()));
by (dres_inst_tac [("R2.0","x")] real_less_trans 1);
by (assume_tac 1);
by (blast_tac (claset() addIs [real_mult_order]) 1);
qed "real_mult_less_mono4";
-Goal "!!(x::real). [| 0r < r1; r1 <= r2; 0r <= x; x <= y |] \
-\ ==> r1 * x <= r2 * y";
-by (rtac real_less_or_eq_imp_le 1);
-by (REPEAT(dtac real_le_imp_less_or_eq 1));
-by (auto_tac (claset() addIs [real_mult_less_mono,
- real_mult_order_trans,real_mult_order],simpset()));
-qed "real_mult_le_mono";
-
-Goal "!!(x::real). [| 0r < r1; r1 < r2; 0r <= x; x <= y |] \
+Goal "[| 0r < r1; r1 <= r2; 0r <= x; x <= y |] \
\ ==> r1 * x <= r2 * y";
by (rtac real_less_or_eq_imp_le 1);
by (REPEAT(dtac real_le_imp_less_or_eq 1));
by (auto_tac (claset() addIs [real_mult_less_mono,
- real_mult_order_trans,real_mult_order],simpset()));
+ real_mult_order_trans,real_mult_order],
+ simpset()));
+qed "real_mult_le_mono";
+
+Goal "[| 0r < r1; r1 < r2; 0r <= x; x <= y |] \
+\ ==> r1 * x <= r2 * y";
+by (rtac real_less_or_eq_imp_le 1);
+by (REPEAT(dtac real_le_imp_less_or_eq 1));
+by (auto_tac (claset() addIs [real_mult_less_mono, real_mult_order_trans,
+ real_mult_order],
+ simpset()));
qed "real_mult_le_mono2";
-Goal "!!(x::real). [| 0r <= r1; r1 < r2; 0r <= x; x <= y |] \
+Goal "[| 0r <= r1; r1 < r2; 0r <= x; x <= y |] \
\ ==> r1 * x <= r2 * y";
by (dtac real_le_imp_less_or_eq 1);
by (auto_tac (claset() addIs [real_mult_le_mono2],simpset()));
by (dtac real_le_trans 1 THEN assume_tac 1);
-by (auto_tac (claset() addIs [real_less_le_mult_order],simpset()));
+by (auto_tac (claset() addIs [real_less_le_mult_order], simpset()));
qed "real_mult_le_mono3";
-Goal "!!(x::real). [| 0r <= r1; r1 <= r2; 0r <= x; x <= y |] \
+Goal "[| 0r <= r1; r1 <= r2; 0r <= x; x <= y |] \
\ ==> r1 * x <= r2 * y";
by (dres_inst_tac [("x","r1")] real_le_imp_less_or_eq 1);
-by (auto_tac (claset() addIs [real_mult_le_mono3,
- real_mult_le_le_mono1],simpset()));
+by (auto_tac (claset() addIs [real_mult_le_mono3, real_mult_le_le_mono1],
+ simpset()));
qed "real_mult_le_mono4";
-Goal "!!x. 1r <= x ==> 0r < x";
+Goal "1r <= x ==> 0r < x";
by (rtac ccontr 1 THEN dtac real_leI 1);
by (dtac real_le_trans 1 THEN assume_tac 1);
-by (auto_tac (claset() addDs [real_zero_less_one
- RSN (2,real_le_less_trans)],simpset() addsimps
- [real_less_not_refl]));
+by (auto_tac (claset() addDs [real_zero_less_one RSN (2,real_le_less_trans)],
+ simpset() addsimps [real_less_not_refl]));
qed "real_gt_zero";
-Goal "!!r. [| 1r < r; 1r <= x |] ==> x <= r * x";
+Goal "[| 1r < r; 1r <= x |] ==> x <= r * x";
by (dtac (real_gt_zero RS real_less_imp_le) 1);
by (auto_tac (claset() addSDs [real_mult_le_less_mono1],
simpset()));
qed "real_mult_self_le";
-Goal "!!r. [| 1r <= r; 1r <= x |] ==> x <= r * x";
+Goal "[| 1r <= r; 1r <= x |] ==> x <= r * x";
by (dtac real_le_imp_less_or_eq 1);
by (auto_tac (claset() addIs [real_mult_self_le],
- simpset() addsimps [real_le_refl]));
+ simpset() addsimps [real_le_refl]));
qed "real_mult_self_le2";
-Goal "!!(x::real). x < y ==> x < (x + y)*rinv(1r + 1r)";
+Goal "x < y ==> x < (x + y)*rinv(1r + 1r)";
by (dres_inst_tac [("C","x")] real_add_less_mono2 1);
by (dtac (real_add_self RS subst) 1);
by (dtac (real_zero_less_two RS real_rinv_gt_zero RS
@@ -544,7 +545,7 @@
by (asm_full_simp_tac (simpset() addsimps [real_mult_assoc]) 1);
qed "real_less_half_sum";
-Goal "!!(x::real). x < y ==> (x + y)*rinv(1r + 1r) < y";
+Goal "x < y ==> (x + y)*rinv(1r + 1r) < y";
by (dtac real_add_less_mono1 1);
by (dtac (real_add_self RS subst) 1);
by (dtac (real_zero_less_two RS real_rinv_gt_zero RS
@@ -552,20 +553,21 @@
by (asm_full_simp_tac (simpset() addsimps [real_mult_assoc]) 1);
qed "real_gt_half_sum";
-Goal "!!(x::real). x < y ==> EX r. x < r & r < y";
+Goal "x < y ==> EX r::real. x < r & r < y";
by (blast_tac (claset() addSIs [real_less_half_sum,
- real_gt_half_sum]) 1);
+ real_gt_half_sum]) 1);
qed "real_dense";
Goal "(EX n. rinv(real_of_posnat n) < r) = (EX n. 1r < r * real_of_posnat n)";
by (Step_tac 1);
by (dres_inst_tac [("n1","n")] (real_of_posnat_less_zero
- RS real_mult_less_mono1) 1);
+ RS real_mult_less_mono1) 1);
by (dres_inst_tac [("n2","n")] (real_of_posnat_less_zero RS
- real_rinv_gt_zero RS real_mult_less_mono1) 2);
+ real_rinv_gt_zero RS real_mult_less_mono1) 2);
by (auto_tac (claset(),
simpset() addsimps [(real_of_posnat_less_zero RS
- real_not_refl2 RS not_sym),real_mult_assoc]));
+ real_not_refl2 RS not_sym),
+ real_mult_assoc]));
qed "real_of_posnat_rinv_Ex_iff";
Goal "(rinv(real_of_posnat n) < r) = (1r < r * real_of_posnat n)";
@@ -573,8 +575,8 @@
by (dres_inst_tac [("n1","n")] (real_of_posnat_less_zero
RS real_mult_less_mono1) 1);
by (dres_inst_tac [("n2","n")] (real_of_posnat_less_zero RS
- real_rinv_gt_zero RS real_mult_less_mono1) 2);
-by (auto_tac (claset(),simpset() addsimps [real_mult_assoc]));
+ real_rinv_gt_zero RS real_mult_less_mono1) 2);
+by (auto_tac (claset(), simpset() addsimps [real_mult_assoc]));
qed "real_of_posnat_rinv_iff";
Goal "(rinv(real_of_posnat n) <= r) = (1r <= r * real_of_posnat n)";
@@ -584,7 +586,7 @@
by (dres_inst_tac [("n3","n")] (real_of_posnat_less_zero RS
real_rinv_gt_zero RS real_less_imp_le RS
real_mult_le_le_mono1) 2);
-by (auto_tac (claset(),simpset() addsimps real_mult_ac));
+by (auto_tac (claset(), simpset() addsimps real_mult_ac));
qed "real_of_posnat_rinv_le_iff";
Goalw [real_of_posnat_def] "(real_of_posnat n < real_of_posnat m) = (n < m)";
@@ -616,14 +618,14 @@
real_of_posnat_less_zero,real_not_refl2 RS not_sym]));
qed "real_of_posnat_rinv_eq_iff";
-Goal "!!x. [| 0r < r; r < x |] ==> rinv x < rinv r";
+Goal "[| 0r < r; r < x |] ==> rinv x < rinv r";
by (forward_tac [real_less_trans] 1 THEN assume_tac 1);
by (forward_tac [real_rinv_gt_zero] 1);
by (forw_inst_tac [("x","x")] real_rinv_gt_zero 1);
by (forw_inst_tac [("x","r"),("z","rinv r")] real_mult_less_mono1 1);
by (assume_tac 1);
by (asm_full_simp_tac (simpset() addsimps [real_not_refl2 RS
- not_sym RS real_mult_inv_right]) 1);
+ not_sym RS real_mult_inv_right]) 1);
by (forward_tac [real_rinv_gt_zero] 1);
by (forw_inst_tac [("x","1r"),("z","rinv x")] real_mult_less_mono2 1);
by (assume_tac 1);
@@ -631,14 +633,14 @@
not_sym RS real_mult_inv_left,real_mult_assoc RS sym]) 1);
qed "real_rinv_less_swap";
-Goal "!!x. [| 0r < r; 0r < x|] ==> (r < x) = (rinv x < rinv r)";
+Goal "[| 0r < r; 0r < x|] ==> (r < x) = (rinv x < rinv r)";
by (auto_tac (claset() addIs [real_rinv_less_swap],simpset()));
by (res_inst_tac [("t","r")] (real_rinv_rinv RS subst) 1);
by (etac (real_not_refl2 RS not_sym) 1);
by (res_inst_tac [("t","x")] (real_rinv_rinv RS subst) 1);
by (etac (real_not_refl2 RS not_sym) 1);
by (auto_tac (claset() addIs [real_rinv_less_swap],
- simpset() addsimps [real_rinv_gt_zero]));
+ simpset() addsimps [real_rinv_gt_zero]));
qed "real_rinv_less_iff";
Goal "r < r + rinv(real_of_posnat n)";
@@ -653,87 +655,85 @@
qed "real_add_rinv_real_of_posnat_le";
Addsimps [real_add_rinv_real_of_posnat_le];
-Goal "r + -rinv(real_of_posnat n) < r";
+Goal "r + (-rinv(real_of_posnat n)) < r";
by (res_inst_tac [("C","-r")] real_less_add_left_cancel 1);
by (full_simp_tac (simpset() addsimps [real_add_assoc RS sym,
- real_minus_zero_less_iff2]) 1);
+ real_minus_zero_less_iff2]) 1);
qed "real_add_minus_rinv_real_of_posnat_less";
Addsimps [real_add_minus_rinv_real_of_posnat_less];
-Goal "r + -rinv(real_of_posnat n) <= r";
+Goal "r + (-rinv(real_of_posnat n)) <= r";
by (rtac real_less_imp_le 1);
by (Simp_tac 1);
qed "real_add_minus_rinv_real_of_posnat_le";
Addsimps [real_add_minus_rinv_real_of_posnat_le];
-Goal "!!r. 0r < r ==> r*(1r + -rinv(real_of_posnat n)) < r";
+Goal "0r < r ==> r*(1r + (-rinv(real_of_posnat n))) < r";
by (simp_tac (simpset() addsimps [real_add_mult_distrib2]) 1);
by (res_inst_tac [("C","-r")] real_less_add_left_cancel 1);
-by (auto_tac (claset() addIs [real_mult_order],simpset()
- addsimps [real_add_assoc RS sym,real_minus_mult_eq2 RS sym,
- real_minus_zero_less_iff2]));
+by (auto_tac (claset() addIs [real_mult_order],
+ simpset() addsimps [real_add_assoc RS sym,
+ real_minus_mult_eq2 RS sym,
+ real_minus_zero_less_iff2]));
qed "real_mult_less_self";
-Goal "0r <= 1r + -rinv(real_of_posnat n)";
+Goal "0r <= 1r + (-rinv(real_of_posnat n))";
by (res_inst_tac [("C","rinv(real_of_posnat n)")] real_le_add_right_cancel 1);
by (simp_tac (simpset() addsimps [real_add_assoc,
- real_of_posnat_rinv_le_iff]) 1);
+ real_of_posnat_rinv_le_iff]) 1);
qed "real_add_one_minus_rinv_ge_zero";
-Goal "!!r. 0r < r ==> 0r <= r*(1r + -rinv(real_of_posnat n))";
-by (dtac (real_add_one_minus_rinv_ge_zero RS
- real_mult_le_less_mono1) 1);
-by (Auto_tac);
+Goal "0r < r ==> 0r <= r*(1r + (-rinv(real_of_posnat n)))";
+by (dtac (real_add_one_minus_rinv_ge_zero RS real_mult_le_less_mono1) 1);
+by Auto_tac;
qed "real_mult_add_one_minus_ge_zero";
-Goal "!!x. x*y = 0r ==> x = 0r | y = 0r";
-by (auto_tac (claset() addIs [ccontr] addDs
- [real_mult_not_zero],simpset()));
+Goal "x*y = 0r ==> x = 0r | y = 0r";
+by (auto_tac (claset() addIs [ccontr] addDs [real_mult_not_zero],
+ simpset()));
qed "real_mult_zero_disj";
Goal "x + x*y = x*(1r + y)";
by (simp_tac (simpset() addsimps [real_add_mult_distrib2]) 1);
qed "real_add_mult_distrib_one";
-Goal "!!x. [| x ~= 1r; y * x = y |] ==> y = 0r";
+Goal "[| x ~= 1r; y * x = y |] ==> y = 0r";
by (dtac (sym RS (real_eq_minus_iff RS iffD1)) 1);
by (dtac sym 1);
by (asm_full_simp_tac (simpset() addsimps [real_minus_mult_eq2,
real_add_mult_distrib_one]) 1);
by (dtac real_mult_zero_disj 1);
-by (auto_tac (claset(),simpset()
- addsimps [real_eq_minus_iff2 RS sym]));
+by (auto_tac (claset(),
+ simpset() addsimps [real_eq_minus_iff2 RS sym]));
qed "real_mult_eq_self_zero";
Addsimps [real_mult_eq_self_zero];
-Goal "!!x. [| x ~= 1r; y = y * x |] ==> y = 0r";
+Goal "[| x ~= 1r; y = y * x |] ==> y = 0r";
by (dtac sym 1);
by (Asm_full_simp_tac 1);
qed "real_mult_eq_self_zero2";
Addsimps [real_mult_eq_self_zero2];
-Goal "!!x. [| 0r <= x*y; 0r < x |] ==> 0r <= y";
+Goal "[| 0r <= x*y; 0r < x |] ==> 0r <= y";
by (forward_tac [real_rinv_gt_zero] 1);
by (dres_inst_tac [("x","rinv x")] real_less_le_mult_order 1);
by (dtac (real_not_refl2 RS not_sym RS real_mult_inv_left) 2);
-by (auto_tac (claset(),simpset() addsimps
- [real_mult_assoc RS sym]));
+by (auto_tac (claset(),
+ simpset() addsimps [real_mult_assoc RS sym]));
qed "real_mult_ge_zero_cancel";
-Goal "!!x. [|x ~= 0r; y ~= 0r |] ==> \
-\ rinv(x) + rinv(y) = (x + y)*rinv(x*y)";
+Goal "[|x ~= 0r; y ~= 0r |] ==> rinv(x) + rinv(y) = (x + y)*rinv(x*y)";
by (asm_full_simp_tac (simpset() addsimps
- [real_rinv_distrib,real_add_mult_distrib,
- real_mult_assoc RS sym]) 1);
+ [real_rinv_distrib,real_add_mult_distrib,
+ real_mult_assoc RS sym]) 1);
by (rtac (real_mult_assoc RS ssubst) 1);
by (rtac (real_mult_left_commute RS subst) 1);
-by (asm_full_simp_tac (simpset() addsimps
- [real_add_commute]) 1);
+by (asm_full_simp_tac (simpset() addsimps [real_add_commute]) 1);
qed "real_rinv_add";
-(*---------------------------------------------------------------------------------
+(*----------------------------------------------------------------------------
Another embedding of the naturals in the reals (see real_of_posnat)
- ---------------------------------------------------------------------------------*)
+ ----------------------------------------------------------------------------*)
Goalw [real_of_nat_def] "real_of_nat 0 = 0r";
by (full_simp_tac (simpset() addsimps [real_of_posnat_one]) 1);
qed "real_of_nat_zero";
@@ -754,7 +754,7 @@
qed "real_of_nat_Suc";
Goalw [real_of_nat_def] "(n < m) = (real_of_nat n < real_of_nat m)";
-by (Auto_tac);
+by Auto_tac;
qed "real_of_nat_less_iff";
Addsimps [real_of_nat_less_iff RS sym];
@@ -762,22 +762,22 @@
Goal "inj real_of_nat";
by (rtac injI 1);
by (auto_tac (claset() addSIs [inj_real_of_posnat RS injD],
- simpset() addsimps [real_of_nat_def,real_add_right_cancel]));
+ simpset() addsimps [real_of_nat_def,real_add_right_cancel]));
qed "inj_real_of_nat";
Goalw [real_of_nat_def] "0r <= real_of_nat n";
by (res_inst_tac [("C","1r")] real_le_add_right_cancel 1);
-by (asm_full_simp_tac (simpset() addsimps
- [real_add_assoc]) 1);
+by (asm_full_simp_tac (simpset() addsimps [real_add_assoc]) 1);
qed "real_of_nat_ge_zero";
Addsimps [real_of_nat_ge_zero];
Goal "real_of_nat n1 * real_of_nat n2 = real_of_nat (n1 * n2)";
by (induct_tac "n1" 1);
by (dtac sym 2);
-by (auto_tac (claset(),simpset() addsimps [real_of_nat_zero,
- real_of_nat_add RS sym,real_of_nat_Suc,real_add_mult_distrib,
- real_add_commute]));
+by (auto_tac (claset(),
+ simpset() addsimps [real_of_nat_zero,
+ real_of_nat_add RS sym,real_of_nat_Suc,
+ real_add_mult_distrib, real_add_commute]));
qed "real_of_nat_mult";
Goal "(real_of_nat n = real_of_nat m) = (n = m)";
@@ -788,21 +788,20 @@
(*------- lemmas -------*)
goal NatDef.thy "!!m. [| m < Suc n; n <= m |] ==> m = n";
by (auto_tac (claset() addSDs [le_imp_less_or_eq] addIs [less_asym],
- simpset() addsimps [less_Suc_eq]));
+ simpset() addsimps [less_Suc_eq]));
qed "lemma_nat_not_dense";
goal NatDef.thy "!!m. [| m <= Suc n; n < m |] ==> m = Suc n";
by (auto_tac (claset() addSDs [le_imp_less_or_eq] addIs [less_asym],
- simpset() addsimps [le_Suc_eq]));
+ simpset() addsimps [le_Suc_eq]));
qed "lemma_nat_not_dense2";
goal NatDef.thy "!!m. m < Suc n ==> ~ Suc n <= m";
-by (blast_tac (claset() addDs
- [less_le_trans] addIs [less_asym]) 1);
+by (blast_tac (claset() addDs [less_le_trans] addIs [less_asym]) 1);
qed "lemma_not_leI";
goalw NatDef.thy [le_def] "!!m. ~ Suc n <= m ==> ~ Suc (Suc n) <= m";
-by (Auto_tac);
+by Auto_tac;
qed "lemma_not_leI2";
(*------- lemmas -------*)
@@ -815,14 +814,15 @@
(* Goalw [real_of_nat_def]
"real_of_nat (n1 - n2) = real_of_nat n1 + -real_of_nat n2";*)
-Goal "n2 < n1 --> real_of_nat (n1 - n2) = real_of_nat n1 + -real_of_nat n2";
+Goal "n2 < n1 --> real_of_nat (n1 - n2) = real_of_nat n1 + (-real_of_nat n2)";
by (induct_tac "n1" 1);
by (Step_tac 1 THEN dtac leI 1 THEN dtac sym 2);
by (dtac lemma_nat_not_dense 1);
-by (auto_tac (claset(),simpset() addsimps [real_of_nat_Suc,
- real_of_nat_zero] @ real_add_ac));
+by (auto_tac (claset(),
+ simpset() addsimps [real_of_nat_Suc, real_of_nat_zero] @
+ real_add_ac));
by (asm_full_simp_tac (simpset() addsimps [real_of_nat_one RS sym,
- real_of_nat_add,Suc_diff_n]) 1);
+ real_of_nat_add,Suc_diff_n]) 1);
qed "real_of_nat_minus";