diff -r 1eb12389c499 -r a854ca7ca7d9 src/HOL/Analysis/Uniform_Limit.thy --- a/src/HOL/Analysis/Uniform_Limit.thy Mon Mar 24 21:24:03 2025 +0000 +++ b/src/HOL/Analysis/Uniform_Limit.thy Tue Mar 25 21:19:26 2025 +0000 @@ -631,6 +631,22 @@ qed qed +lemma Weierstrass_m_test_general': + fixes f :: "'a \ 'b \ 'c :: banach" + fixes M :: "'a \ real" + assumes norm_le: "\x y. x \ X \ y \ Y \ norm (f x y) \ M x" + assumes has_sum: "\y. y \ Y \ ((\x. f x y) has_sum S y) X" + assumes summable: "M summable_on X" + shows "uniform_limit Y (\X y. \x\X. f x y) S (finite_subsets_at_top X)" +proof - + have "uniform_limit Y (\X y. \x\X. f x y) (\y. \\<^sub>\x\X. f x y) (finite_subsets_at_top X)" + using norm_le summable by (rule Weierstrass_m_test_general) + also have "?this \ ?thesis" + by (intro uniform_limit_cong refl always_eventually allI ballI) + (use has_sum in \auto simp: has_sum_iff\) + finally show ?thesis . +qed + subsection\<^marker>\tag unimportant\ \Structural introduction rules\