equal
deleted
inserted
replaced
1476 have "(\<lambda>n. \<Sum>k = n * 2..<n * 2 + 2. cos_coeff k * x ^ k) sums cos x" |
1476 have "(\<lambda>n. \<Sum>k = n * 2..<n * 2 + 2. cos_coeff k * x ^ k) sums cos x" |
1477 by (rule cos_converges [THEN sums_group], simp) |
1477 by (rule cos_converges [THEN sums_group], simp) |
1478 thus ?thesis unfolding cos_coeff_def by (simp add: mult_ac) |
1478 thus ?thesis unfolding cos_coeff_def by (simp add: mult_ac) |
1479 qed |
1479 qed |
1480 |
1480 |
1481 lemma fact_lemma: "real (n::nat) * 4 = real (4 * n)" |
|
1482 by simp |
|
1483 |
|
1484 lemma real_mult_inverse_cancel: |
1481 lemma real_mult_inverse_cancel: |
1485 "[|(0::real) < x; 0 < x1; x1 * y < x * u |] |
1482 "[|(0::real) < x; 0 < x1; x1 * y < x * u |] |
1486 ==> inverse x * y < inverse x1 * u" |
1483 ==> inverse x * y < inverse x1 * u" |
1487 apply (rule_tac c=x in mult_less_imp_less_left) |
1484 apply (rule_tac c=x in mult_less_imp_less_left) |
1488 apply (auto simp add: mult_assoc [symmetric]) |
1485 apply (auto simp add: mult_assoc [symmetric]) |
1514 apply (rule sumr_pos_lt_pair) |
1511 apply (rule sumr_pos_lt_pair) |
1515 apply (erule sums_summable, safe) |
1512 apply (erule sums_summable, safe) |
1516 unfolding One_nat_def |
1513 unfolding One_nat_def |
1517 apply (simp (no_asm) add: divide_inverse real_0_less_add_iff mult_assoc [symmetric] |
1514 apply (simp (no_asm) add: divide_inverse real_0_less_add_iff mult_assoc [symmetric] |
1518 del: fact_Suc) |
1515 del: fact_Suc) |
1519 apply (rule real_mult_inverse_cancel2) |
1516 apply (simp add: inverse_eq_divide less_divide_eq del: fact_Suc) |
1520 apply (simp del: fact_Suc) |
|
1521 apply (simp del: fact_Suc) |
|
1522 apply (simp (no_asm) add: mult_assoc [symmetric] del: fact_Suc) |
|
1523 apply (subst fact_lemma) |
|
1524 apply (subst fact_Suc [of "Suc (Suc (Suc (Suc (Suc (Suc (Suc (4 * d)))))))"]) |
1517 apply (subst fact_Suc [of "Suc (Suc (Suc (Suc (Suc (Suc (Suc (4 * d)))))))"]) |
1525 apply (simp only: real_of_nat_mult) |
1518 apply (simp only: real_of_nat_mult) |
1526 apply (rule mult_strict_mono, force) |
1519 apply (rule mult_strict_mono, force) |
1527 apply (rule_tac [3] real_of_nat_ge_zero) |
1520 apply (rule_tac [3] real_of_nat_ge_zero) |
1528 prefer 2 apply force |
1521 prefer 2 apply force |