# HG changeset patch # User paulson # Date 1608815405 0 # Node ID 21c919addd8c4f9149a28445374df90a99ef9764 # Parent 4fc3dc37f4069963db1bd7fd142190537f14d6f9 Two biconditional simprules for summable diff -r 4fc3dc37f406 -r 21c919addd8c src/HOL/Series.thy --- a/src/HOL/Series.thy Wed Dec 23 16:25:52 2020 +0000 +++ b/src/HOL/Series.thy Thu Dec 24 13:10:05 2020 +0000 @@ -627,6 +627,29 @@ end +text \Biconditional versions for constant factors\ +context + fixes c :: "'a::real_normed_field" +begin + +lemma summable_cmult_iff [simp]: "summable (\n. c * f n) \ c=0 \ summable f" +proof - + have "\summable (\n. c * f n); c \ 0\ \ summable f" + using summable_mult_D by blast + then show ?thesis + by (auto simp: summable_mult) +qed + +lemma summable_divide_iff [simp]: "summable (\n. f n / c) \ c=0 \ summable f" +proof - + have "\summable (\n. f n / c); c \ 0\ \ summable f" + by (auto dest: summable_divide [where c = "1/c"]) + then show ?thesis + by (auto simp: summable_divide) +qed + +end + lemma power_half_series: "(\n. (1/2::real)^Suc n) sums 1" proof - have 2: "(\n. (1/2::real)^n) sums 2"