# HG changeset patch # User paulson # Date 1712745168 -3600 # Node ID 646cd337bb0836adff89d429c110d5c39aedd9f1 # Parent f7b9179b5029198b6b57ad7ab009d0f9227add1f Tiny tweaks to proofs diff -r f7b9179b5029 -r 646cd337bb08 src/HOL/Complex_Analysis/Cauchy_Integral_Formula.thy --- a/src/HOL/Complex_Analysis/Cauchy_Integral_Formula.thy Mon Apr 08 16:27:11 2024 +0100 +++ b/src/HOL/Complex_Analysis/Cauchy_Integral_Formula.thy Wed Apr 10 11:32:48 2024 +0100 @@ -109,11 +109,15 @@ using open_contains_ball by blast have [simp]: "\n. cmod (1 + of_nat n) = 1 + of_nat n" by (metis norm_of_nat of_nat_Suc) - have cint: "\x. \x \ w; cmod (x - w) < d\ - \ (\z. (f' z / (z - x) ^ k - f' z / (z - w) ^ k) / (x * k - w * k)) contour_integrable_on \" - using int w d - apply (intro contour_integrable_div contour_integrable_diff has_contour_integral_integrable) - by (force simp: dist_norm norm_minus_commute) + have cint: "(\z. (f' z / (z - x) ^ k - f' z / (z - w) ^ k) / (x * k - w * k)) contour_integrable_on \" + if "x \ w" "cmod (x - w) < d" for x + proof - + have "x \ S - path_image \" + by (metis d dist_commute dist_norm mem_ball subsetD that(2)) + then show ?thesis + using contour_integrable_diff contour_integrable_div contour_integrable_on_def int w + by meson + qed have 1: "\\<^sub>F n in at w. (\x. f' x * (inverse (x - n) ^ k - inverse (x - w) ^ k) / (n - w) / of_nat k) contour_integrable_on \" unfolding eventually_at @@ -1573,11 +1577,15 @@ case True with assms interior_eq pole_lemma show ?thesis by fastforce next - case False with assms show ?thesis - apply (simp add: holomorphic_on_def field_differentiable_def [symmetric], clarify) - apply (rule field_differentiable_transform_within [where f = "\z. (f z - f a)/(z - a)" and d = 1]) + case False + then have "(\z. (f z - f a) / (z - a)) field_differentiable at x within S" + if "x \ S" for x + using assms that + apply (simp add: holomorphic_on_def) apply (rule derivative_intros | force)+ done + with False show ?thesis + using holomorphic_on_def holomorphic_transform by presburger qed lemma pole_theorem_open: @@ -1792,10 +1800,7 @@ then have "((\x. f z / (x - z)) has_contour_integral 0) \" by (simp add: field_split_simps) moreover have "((\x. (f x - f z) / (x - z)) has_contour_integral contour_integral \ (d z)) \" - using z - apply (simp add: v_def) - apply (metis (no_types, lifting) contour_integrable_eq d_def has_contour_integral_eq has_contour_integral_integral cint_fxy) - done + by (metis (no_types, lifting) z cint_fxy contour_integral_eq d_def has_contour_integral_integral mem_Collect_eq v_def) ultimately have *: "((\x. f z / (x - z) + (f x - f z) / (x - z)) has_contour_integral (0 + contour_integral \ (d z))) \" by (rule has_contour_integral_add) have "((\w. f w / (w - z)) has_contour_integral contour_integral \ (d z)) \" @@ -1821,10 +1826,7 @@ qed (use \0 < d0\ d0 in \force simp: dist_norm\) define T where "T \ {y + k |y k. y \ path_image \ \ k \ cball 0 (dd / 2)}" have "\x x'. \x \ path_image \; dist x x' * 2 < dd\ \ \y k. x' = y + k \ y \ path_image \ \ dist 0 k * 2 \ dd" - apply (rule_tac x=x in exI) - apply (rule_tac x="x'-x" in exI) - apply (force simp: dist_norm) - done + by (metis add.commute diff_add_cancel dist_0_norm dist_commute dist_norm less_eq_real_def) then have subt: "path_image \ \ interior T" using \0 < dd\ apply (clarsimp simp add: mem_interior T_def) diff -r f7b9179b5029 -r 646cd337bb08 src/HOL/Complex_Analysis/Conformal_Mappings.thy --- a/src/HOL/Complex_Analysis/Conformal_Mappings.thy Mon Apr 08 16:27:11 2024 +0100 +++ b/src/HOL/Complex_Analysis/Conformal_Mappings.thy Wed Apr 10 11:32:48 2024 +0100 @@ -716,16 +716,15 @@ qed qed define g where [abs_def]: "g z = (if z = \ then deriv h \ else (h z - h \) / (z - \))" for z - have holg: "g holomorphic_on S" - unfolding g_def by (rule pole_lemma [OF holh \]) have \
: "\z\S - {\}. (g z - g \) / (z - \) = f z" using h0 by (auto simp: g_def power2_eq_square divide_simps DERIV_imp_deriv h_def) - show ?thesis - apply (intro exI conjI) - apply (rule pole_lemma [OF holg \]) - apply (simp add: \
) - done - qed + have "g holomorphic_on S" + unfolding g_def by (rule pole_lemma [OF holh \]) + then have "(\z. if z = \ then deriv g \ else (g z - g \) / (z - \)) holomorphic_on S" + using \ pole_lemma by blast + then show ?thesis + using "\
" remove_def by fastforce + qed ultimately show "?P = ?Q" and "?P = ?R" by meson+ qed @@ -916,9 +915,8 @@ fix e::real assume "0 < e" with compf [of "cball 0 (inverse e)"] show "\B. \x. B \ cmod x \ dist ((inverse \ f) x) 0 \ e" - apply simp - apply (clarsimp simp add: compact_eq_bounded_closed bounded_pos norm_inverse) - by (metis (no_types, opaque_lifting) inverse_inverse_eq le_less_trans less_eq_real_def less_imp_inverse_less linordered_field_no_ub not_less) + apply (clarsimp simp: compact_eq_bounded_closed norm_divide divide_simps mult.commute elim!: bounded_normE_less) + by (meson linorder_not_le nle_le) qed then obtain a n where "\z. f z = (\i\n. a i * z^i)" using assms pole_at_infinity by blast @@ -1067,9 +1065,7 @@ ultimately have False using inj_onD [OF injf, of y0 y1] \y0 \ T\ \y1 \ T\ using complex_root_unity [of n 1] - apply (simp add: y0 y1 power_mult_distrib) - apply (force simp: algebra_simps) - done + by (auto simp: y0 y1 power_mult_distrib diff_eq_eq n_ne) then show ?thesis .. qed qed @@ -1300,7 +1296,7 @@ have conth': "continuous_on (cball 0 r) h" by (meson \r < 1\ dual_order.trans holh holomorphic_on_imp_continuous_on holomorphic_on_subset mem_ball_0 mem_cball_0 not_less subsetI) obtain w where w: "norm w = r" and lenw: "\z. norm z < r \ norm(h z) \ norm(h w)" - apply (rule Schwarz1 [OF holh']) using conth' \0 < r\ by auto + using conth' \0 < r\ by (auto simp add: intro: Schwarz1 [OF holh']) have "h w = f w / w" using fz_eq \r < 1\ nzr w by auto then have "cmod (h z) < inverse r" by (metis \0 < r\ \r < 1\ divide_strict_right_mono inverse_eq_divide @@ -1622,8 +1618,7 @@ using holf cnjs by (force simp: holomorphic_on_def) have 2: "(\z. if 0 \ Im z then f z else cnj (f (cnj z))) holomorphic_on (S \ {z. Im z < 0})" - apply (rule iffD1 [OF holomorphic_cong [OF refl]]) - using hol_cfc by auto + by (smt (verit) Int_Collect comp_def hol_cfc holomorphic_cong) have [simp]: "(S \ {z. 0 \ Im z}) \ (S \ {z. Im z \ 0}) = S" by force have eq: "\z. \z \ S; Im z \ 0; 0 \ Im z\ \ f z = cnj (f (cnj z))" @@ -1636,7 +1631,7 @@ then have 3: "continuous_on S (\z. if 0 \ Im z then f z else cnj (f (cnj z)))" by force show ?thesis - apply (rule holomorphic_on_paste_across_line [OF \open S\, of "- \" _ 0]) + using holomorphic_on_paste_across_line [OF \open S\, of "- \" _ 0] using 1 2 3 by auto qed @@ -1825,13 +1820,12 @@ by (metis add.comm_neutral \0 < r\ norm_eq_zero) have hol1: "(\z. f (a + z) - f a) holomorphic_on cball 0 r" by (intro holomorphic_intros hol0) - then have \
: "ball 0 ((3 - 2 * sqrt 2) * r * norm (deriv (\z. f (a + z) - f a) 0)) + moreover have "\z. cmod z < r \ + cmod (deriv (\z. f (a + z)) z) \ 2 * cmod (deriv (\z. f (a + z)) 0)" + by (simp add: fz deriv_chain dist_norm le) + ultimately have \
: "ball 0 ((3 - 2 * sqrt 2) * r * norm (deriv (\z. f (a + z) - f a) 0)) \ (\z. f (a + z) - f a) ` ball 0 r" - apply (rule Bloch_lemma_0) - using \0 < r\ - apply (simp_all add: \0 < r\ ) - apply (simp add: fz deriv_chain dist_norm le) - done + using \0 < r\ by (intro Bloch_lemma_0) auto show ?thesis proof clarify fix x