src/HOL/Hyperreal/Series.ML
changeset 14293 22542982bffd
parent 14288 d149e3cbdb39
child 14331 8dbbb7cf3637
equal deleted inserted replaced
14292:5b57cc196b12 14293:22542982bffd
   428 Goal "abs(x) < 1 ==> (%n. x ^ n) sums (1/(1 - x))";
   428 Goal "abs(x) < 1 ==> (%n. x ^ n) sums (1/(1 - x))";
   429 by (case_tac "x = 1" 1);
   429 by (case_tac "x = 1" 1);
   430 by (auto_tac (claset() addSDs [LIMSEQ_rabs_realpow_zero2],
   430 by (auto_tac (claset() addSDs [LIMSEQ_rabs_realpow_zero2],
   431              simpset() addsimps [sumr_geometric ,sums_def,
   431              simpset() addsimps [sumr_geometric ,sums_def,
   432                                  real_diff_def, real_add_divide_distrib]));
   432                                  real_diff_def, real_add_divide_distrib]));
   433 by (subgoal_tac "1 / (1 + -x) = 0/(x - 1) + - 1/(x - 1)" 1);
   433 by (subgoal_tac "1 / (1 + -x) = 0/(x - 1) + - 1/(x - 1)" 1); 
   434 by (asm_full_simp_tac (simpset() addsimps [
   434 by (asm_full_simp_tac (simpset() addsimps [thm"minus_divide_right"]) 2); 
   435                       real_divide_minus_eq RS sym, real_diff_def]) 2); 
       
   436 by (etac ssubst 1); 
   435 by (etac ssubst 1); 
   437 by (rtac LIMSEQ_add 1 THEN rtac LIMSEQ_divide 1);
   436 by (rtac LIMSEQ_add 1 THEN rtac LIMSEQ_divide 1);
   438 by (auto_tac (claset() addIs [LIMSEQ_const], 
   437 by (auto_tac (claset() addIs [LIMSEQ_const], 
   439               simpset() addsimps [real_diff_def, LIMSEQ_rabs_realpow_zero2]));
   438               simpset() addsimps [real_diff_def, LIMSEQ_rabs_realpow_zero2]));
   440 qed "geometric_sums";
   439 qed "geometric_sums";