diff -r 67d28b35c5d8 -r ca004ccf2352 src/HOL/Groups_Big.thy --- a/src/HOL/Groups_Big.thy Wed Mar 20 21:12:49 2024 +0100 +++ b/src/HOL/Groups_Big.thy Thu Mar 21 14:19:39 2024 +0000 @@ -742,6 +742,22 @@ "(\i. i\K \ f i \ g i) \ (\i\K. f i) \ (\i\K. g i)" by (induct K rule: infinite_finite_induct) (use add_mono in auto) +lemma (in ordered_cancel_comm_monoid_add) sum_strict_mono_strong: + assumes "finite A" "a \ A" "f a < g a" + and "\x. x \ A \ f x \ g x" + shows "sum f A < sum g A" +proof - + have "sum f A = f a + sum f (A-{a})" + by (simp add: assms sum.remove) + also have "\ \ f a + sum g (A-{a})" + using assms by (meson DiffD1 add_left_mono sum_mono) + also have "\ < g a + sum g (A-{a})" + using assms add_less_le_mono by blast + also have "\ = sum g A" + using assms by (intro sum.remove [symmetric]) + finally show ?thesis . +qed + lemma (in strict_ordered_comm_monoid_add) sum_strict_mono: assumes "finite A" "A \ {}" and "\x. x \ A \ f x < g x"