equal
deleted
inserted
replaced
63 by (asm_simp_tac (HOL_ss addsimps |
63 by (asm_simp_tac (HOL_ss addsimps |
64 [CLAIM "(a::real) * (b * (c * d)) = (d * a) * (b * c)"] |
64 [CLAIM "(a::real) * (b * (c * d)) = (d * a) * (b * c)"] |
65 delsimps [realpow_Suc]) 2); |
65 delsimps [realpow_Suc]) 2); |
66 by (stac real_mult_inv_left 2); |
66 by (stac real_mult_inv_left 2); |
67 by (stac real_mult_inv_left 3); |
67 by (stac real_mult_inv_left 3); |
68 by (dtac (realpow_gt_zero RS real_not_refl2 RS not_sym) 2); |
68 by (rtac (real_not_refl2 RS not_sym) 2); |
69 by (assume_tac 2); |
69 by (etac zero_less_power 2); |
70 by (rtac real_of_nat_fact_not_zero 2); |
70 by (rtac real_of_nat_fact_not_zero 2); |
71 by (Simp_tac 2); |
71 by (Simp_tac 2); |
72 by (etac exE 1); |
72 by (etac exE 1); |
73 by (cut_inst_tac [("b","%t. f t - \ |
73 by (cut_inst_tac [("b","%t. f t - \ |
74 \ (sumr 0 n (%m. (diff m 0 / real (fact m)) * (t ^ m)) + \ |
74 \ (sumr 0 n (%m. (diff m 0 / real (fact m)) * (t ^ m)) + \ |
279 by (rtac (CLAIM "[| x = x'; y = y' |] ==> x + y = x' + (y'::real)") 1); |
279 by (rtac (CLAIM "[| x = x'; y = y' |] ==> x + y = x' + (y'::real)") 1); |
280 by (rtac sumr_fun_eq 1); |
280 by (rtac sumr_fun_eq 1); |
281 by (Asm_full_simp_tac 1); |
281 by (Asm_full_simp_tac 1); |
282 by (auto_tac (claset(),simpset() addsimps [real_divide_def, |
282 by (auto_tac (claset(),simpset() addsimps [real_divide_def, |
283 CLAIM "((a * b) * c) * d = (b * c) * (a * (d::real))", |
283 CLAIM "((a * b) * c) * d = (b * c) * (a * (d::real))", |
284 realpow_mult RS sym])); |
284 power_mult_distrib RS sym])); |
285 qed "Maclaurin_minus"; |
285 qed "Maclaurin_minus"; |
286 |
286 |
287 Goal "(h < 0 & 0 < n & diff 0 = f & \ |
287 Goal "(h < 0 & 0 < n & diff 0 = f & \ |
288 \ (ALL m t. \ |
288 \ (ALL m t. \ |
289 \ m < n & h <= t & t <= 0 --> DERIV (diff m) t :> diff (Suc m) t))\ |
289 \ m < n & h <= t & t <= 0 --> DERIV (diff m) t :> diff (Suc m) t))\ |
488 by (dtac lemma_even_mod_4_div_2 1); |
488 by (dtac lemma_even_mod_4_div_2 1); |
489 by (asm_full_simp_tac (simpset() addsimps [numeral_2_eq_2,real_divide_def]) 1); |
489 by (asm_full_simp_tac (simpset() addsimps [numeral_2_eq_2,real_divide_def]) 1); |
490 by (dtac lemma_odd_mod_4_div_2 1); |
490 by (dtac lemma_odd_mod_4_div_2 1); |
491 by (asm_full_simp_tac (simpset() addsimps [numeral_2_eq_2, real_divide_def]) 1); |
491 by (asm_full_simp_tac (simpset() addsimps [numeral_2_eq_2, real_divide_def]) 1); |
492 by (auto_tac (claset() addSIs [real_mult_le_lemma,mult_right_mono], |
492 by (auto_tac (claset() addSIs [real_mult_le_lemma,mult_right_mono], |
493 simpset() addsimps [real_divide_def,abs_mult,abs_inverse,realpow_abs RS |
493 simpset() addsimps [real_divide_def,abs_mult,abs_inverse,power_abs RS |
494 sym])); |
494 sym])); |
495 qed "Maclaurin_sin_bound"; |
495 qed "Maclaurin_sin_bound"; |
496 |
496 |
497 Goal "0 < n --> Suc (Suc (2 * n - 2)) = 2*n"; |
497 Goal "0 < n --> Suc (Suc (2 * n - 2)) = 2*n"; |
498 by (induct_tac "n" 1); |
498 by (induct_tac "n" 1); |
518 \ x ^ m)) \ |
518 \ x ^ m)) \ |
519 \ + ((sin(t + 1/2 * real (n) *pi) / real (fact n)) * x ^ n)"; |
519 \ + ((sin(t + 1/2 * real (n) *pi) / real (fact n)) * x ^ n)"; |
520 by (cut_inst_tac [("f","sin"),("n","n"),("x","x"), |
520 by (cut_inst_tac [("f","sin"),("n","n"),("x","x"), |
521 ("diff","%n x. sin(x + 1/2*real (n)*pi)")] |
521 ("diff","%n x. sin(x + 1/2*real (n)*pi)")] |
522 Maclaurin_all_lt_objl 1); |
522 Maclaurin_all_lt_objl 1); |
523 by (Step_tac 1); |
523 by (Safe_tac); |
524 by (Simp_tac 1); |
524 by (Simp_tac 1); |
525 by (Simp_tac 1); |
525 by (Simp_tac 1); |
526 by (case_tac "n" 1); |
526 by (case_tac "n" 1); |
527 by (Clarify_tac 1); |
527 by (Clarify_tac 1); |
528 by (Asm_full_simp_tac 1); |
528 by (Asm_full_simp_tac 1); |