ection theory
Cauchy_Integral_Theorem Cauchy_Integral_Theorembegin begin\ <>\<close>
\<open>Definition\<close>
definition>\<open>tag important\<close> winding_number_prop :: "[real \<Rightarrow> complex, complex, real, real \<Rightarrow> complex, complex] \<Rightarrow> bool" where
winding_number_prop \<gamma> z e p n \<equiv>
valid_path p \<and> z \<notin> path_image p \<and>
pathstart p = pathstart \<gamma> \<and>
pathfinish p = pathfinish \<gamma> \<and>
(\<forall>t \<in> {0..1}. norm(\<gamma> t - p t) < e) \<and>
contour_integral p (\<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n"
definition\<^marker>\<open>tag important\<close> winding_number:: "[real \<Rightarrow> complex, complex] \<Rightarrow> complex" where "winding_number \ z \ SOME n. \e > 0. \p. winding_number_prop \ z e p n"
lemma winding_number: assumes"path \" "z \ path_image \" "0 < e" shows"\p. winding_number_prop \ z e p (winding_number \ z)" proof - have"path_image \ \ UNIV - {z}" using assms by blast thenobtain d where d: "d>0" and pi_eq: "\h1 h2. valid_path h1 \ valid_path h2 \
(\<forall>t\<in>{0..1}. cmod (h1 t - \<gamma> t) < d \<and> cmod (h2 t - \<gamma> t) < d) \<and>
pathstart h2 = pathstart h1 \<and> pathfinish h2 = pathfinish h1 \<longrightarrow>
path_image h1 \<subseteq> UNIV - {z} \<and> path_image h2 \<subseteq> UNIV - {z} \<and>
(\<forall>f. f holomorphic_on UNIV - {z} \<longrightarrow> contour_integral h2 f = contour_integral h1 f)" using contour_integral_nearby_ends [of "UNIV - {z}"\<gamma>] assms by (auto simp: open_delete) thenobtain h where h: "polynomial_function h \ pathstart h = pathstart \ \ pathfinish h = pathfinish \ \
(\<forall>t \<in> {0..1}. norm(h t - \<gamma> t) < d/2)" using path_approx_polynomial_function [OF \<open>path \<gamma>\<close>, of "d/2"] d by (metis half_gt_zero_iff)
define nn where"nn = 1/(2* pi*\) * contour_integral h (\w. 1/(w - z))" have"\n. \e > 0. \p. winding_number_prop \ z e p n" proof (rule_tac x=nn in exI, clarify) fix e::real assume e: "e>0" obtain p where p: "polynomial_function p \
pathstart p = pathstart \<gamma> \<and> pathfinish p = pathfinish \<gamma> \<and> (\<forall>t\<in>{0..1}. cmod (p t - \<gamma> t) < min e (d/2))" using path_approx_polynomial_function [OF \<open>path \<gamma>\<close>, of "min e (d/2)"] d \<open>0<e\<close> by (metis min_less_iff_conj zero_less_divide_iff zero_less_numeral) have"(\w. 1 / (w - z)) holomorphic_on UNIV - {z}" by (auto simp: intro!: holomorphic_intros) thenhave"winding_number_prop \ z e p nn" using pi_eq [of h p] h p d by (auto simp: valid_path_polynomial_function norm_minus_commute nn_def winding_number_prop_def) thenshow"\p. winding_number_prop \ z e p nn" by metis qed thenshow ?thesis unfolding winding_number_def by (rule someI2_ex) (blast intro: \<open>0<e\<close>) qed
lemma winding_number_unique: assumes\<gamma>: "path \<gamma>" "z \<notin> path_image \<gamma>" and pi: "\e. e>0 \ \p. winding_number_prop \ z e p n" shows"winding_number \ z = n" proof - have"path_image \ \ UNIV - {z}" using assms by blast thenobtain e where e: "e>0" and pi_eq: "\h1 h2 f. \valid_path h1; valid_path h2;
(\<forall>t\<in>{0..1}. cmod (h1 t - \<gamma> t) < e \<and> cmod (h2 t - \<gamma> t) < e);
pathstart h2 = pathstart h1; pathfinish h2 = pathfinish h1; f holomorphic_on UNIV - {z}\<rbrakk> \<Longrightarrow>
contour_integral h2 f = contour_integral h1 f" using contour_integral_nearby_ends [of "UNIV - {z}"\<gamma>] assms by (auto simp: open_delete) obtain p where p: "winding_number_prop \ z e p n" using pi [OF e] by blast obtain q where q: "winding_number_prop \ z e q (winding_number \ z)" using winding_number [OF \<gamma> e] by blast have"2 * complex_of_real pi * \ * n = contour_integral p (\w. 1 / (w - z))" using p by (auto simp: winding_number_prop_def) alsohave"\ = contour_integral q (\w. 1 / (w - z))" proof (rule pi_eq) show"(\w. 1 / (w - z)) holomorphic_on UNIV - {z}" by (auto intro!: holomorphic_intros) qed (use p q in\<open>auto simp: winding_number_prop_def norm_minus_commute\<close>) alsohave"\ = 2 * complex_of_real pi * \ * winding_number \ z" using q by (auto simp: winding_number_prop_def) finallyhave"2 * complex_of_real pi * \ * n = 2 * complex_of_real pi * \ * winding_number \ z" . thenshow ?thesis by simp qed
lemma winding_number_prop_reversepath: assumes"winding_number_prop \ z e p n" shows"winding_number_prop (reversepath \) z e (reversepath p) (-n)" proof - have p: "valid_path p""z \ path_image p" "pathstart p = pathstart \" "pathfinish p = pathfinish \" "\t. t \ {0..1} \ norm (\ t - p t) < e" "contour_integral p (\w. 1 / (w - z)) = 2 * complex_of_real pi * \ * n" using assms by (auto simp: winding_number_prop_def) show ?thesis unfolding winding_number_prop_def proof (intro conjI strip) show"norm (reversepath \ t - reversepath p t) < e" if "t \ {0..1}" for t unfolding reversepath_def using p(5)[of "1 - t"] that by auto show"contour_integral (reversepath p) (\w. 1 / (w - z)) =
complex_of_real (2 * pi) * \<i> * - n" using p by (subst contour_integral_reversepath) auto qed (use p in auto) qed
lemma winding_number_prop_reversepath_iff: "winding_number_prop (reversepath \) z e p n \ winding_number_prop \ z e (reversepath p) (-n)" using winding_number_prop_reversepath[of "reversepath \" z e p n]
winding_number_prop_reversepath[of \<gamma> z e "reversepath p" "-n"] by auto
(*NB not winding_number_prop here due to the loop in p*) lemma winding_number_unique_loop: assumes\<gamma>: "path \<gamma>" "z \<notin> path_image \<gamma>" and: "pathfinish \ = pathstart \" and : "e. e>0 \ \p. valid_path p \ z \ path_image p \
pathfinish p = pathstart p \<and> \<>t \<in> {0..1}. norm (\<gamma> t - p t) < e) \<and>
contour_integral p (\<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n" shows proof - have path_image " \ z e p n \ obtain
: "e>"
java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
d: ">0
h1 h1; h2= h2 UNIV}rbrakk
contour_integral\<forall>t \<in> {0..1}. norm(\<gamma> t - p t) < e) \<and>\<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n" "path \" "z \ path_image \" "0 < e" obtain p where p: -
valid_path
(\<forall>t \<in> {0..1}. norm (\<gamma> t - p t) < e) \<and>
contour_integral\lambdaw /w- ))=2*pi* \<i> * n" using pi [OF e] by blast obtain q where q: "winding_number_prop \ z e q (winding_number \ z)" using winding_number [OF \<gamma> e] by blast have"2* pi*\ * n = contour_integral p (\w. 1 / (w - z))"
sing java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 using [OF <open>path \<gamma>\<close>, of "d/2"] d by (metis half_gt_zero_iff)
rule r x in, )
auto :java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 qed p q loop \<open>auto simp: winding_number_prop_def norm_minus_commute\<close>) alsohave"<2*complex_of_realpi* \ * winding_number \ z" usingbyauto: winding_number_prop_def d: "> finallyhave"2 * contour_integral p (\w. 1/(w - z)) = 2 * pi * \ * n" thenshow ?thesis by simp qed
proposition obtainjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 assumesarrow> contour_integral h2 f = contour_integral h1 f)"usingof-z (<forall>t\<in>{0..1}. cmod (h1 t - \<gamma> t) < d \<and> cmod (h2 t - \<gamma> t) < d) \<and> "((\w. 1/(w - z)) has_contour_integral (2*pi*\*winding_number \ z)) \"
number_valid_path \<subseteq> UNIV - {z} \<and> path_image h2 \<subseteq> UNIV - {z} \<and>
lemma [simp:"z\ winding_number(linepath a a) z= 0contour_integral_nearby_endsfUNIV- {z} by (simp: winding_number_valid_path:eal
lemmaassume e: e>0 by (simpaddwinding_number_valid_path
lemma using contour_integral_nearby_ends -z" <>]assms auto open_delete) assumeshave \<gamma>2: "path \<gamma>2" "z \<notin> path_image \<gamma>2" obtain showshave"\w. 1 / (w - z)) holomorphic_on UNIV - {z}"
(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 show exI
(winding_number proof
p1 have "(\<lambda>w. 1 / (w ( : intro
pi_equnfoldingbysomeI2_exintro: moreover obtain by (auto simp: valid_path_polynomial_function norm_minus_commute nn_def winding_number_prop_def) java.lang.NullPointerException
number ultimately have"winding_number_prop (\1+++\2) z e (p1+++p2) (winding_number \1 z + winding_number \2 z)" usingunfolding java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 15
<> \<gamma>" "z \<notin> path_image \<gamma>" apply (auto: joinpaths_def done
- byjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
( [ e qedusein
winding_number <gamma>" "z \<notin> path_image \<gamma>" [ofp] java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 shows(reversepath proof (rule winding_number_uniqueby auto pathstart=h1h2 ; -{} showpwinding_number_prop proof - obtain p where java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 using then winding_number_propjava.lang.NullPointerException
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 3 applysimp valid_path_imp_reverse apply(simp
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10 then thesis by blast qedpathstart) qed ( using assms h2
lemma (uto!: ) assumes andshownorm showswinding_number\<gamma>) z = winding_number \<gamma> z" q byauto: obtain p where p: "winding_number_prop \<gamma>
(rulewinding_number_unique_loop pjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 show"\p. valid_path p \ z \ path_image p \ pathfinish p = pathstart p \ \<forall>t\<in>{0..1}. cmod (shiftpath a \<gamma> t - p t) < e) \<and>
p(<>w. ppathfinish<>. \<in> {0..1} \<Longrightarrow> norm (\<gamma> t - p t) < e"[java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
2 ) if"> pi*\ * winding_number \ z"
-
number_prop using\<open>0 < e\<close> assms winding_number by blast then usingp java.lang.NullPointerException qedproof- using that apply (- apply"reversepath\) z e p n \ winding_number_prop \ z e (reversepath p) (-n)" done obtain
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
lemma: "c \ closed_segment a b" "z \ closed_segment a b" shows"(linepath a bz ( a c)z (linepathc b)z proof- havez \<notin> closed_segment a c" "z \<notin> closed_segment c b"contour_integral_nearby_loopspathfinish p \<and>
contour_integral\<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n" then ?thesis -
by : winding_number_valid_pathsymmetric field_simps qedobtainjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
lemma:
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by winding_number_unique_looppathfinish
\< contour_integralw.1 wz)" and shows"qed (use qp p = p \ proof have"winding_number pi [OF blast usingg by fastforce " (linepath c "
java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43 ultimatelyshow ? shows" qed
lemmawinding_number_offset"show\lambdaw1 (-z athfinish=pathstarth1 h2=pathstarth2;fholomorphic_on z<>\java.lang.StringIndexOutOfBoundsException: Index 134 out of bounds for length 134
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 "*pi*
n lemma ]:z OF then p by (rule_tac b winding_number_unique assms
(force simp: winding_number_prop_def"(gamma1 roof( )
next
neg assume"0 < e"and g: "winding_number_prop (\w. p w - z) 0 e g n" thenjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 9
proposition
piecewise_C1_differentiable_addC1_differentiable_imp_piecewise apply\<open>0 < e\<close> \<gamma>2 winding_number by blast done\<gamma>2: "path \<gamma>2" "z \<notin> path_image \<gamma>2"
r_prop \<gamma>1 z + winding_number \<gamma>2 z"
qed
lemma
NO_MATCH usinglemma winding_number_trivial []: "z\<> a \ winding_number(linepath a a) z = 0"
lemma winding_number_negatepath (proof winding_number_unique assumes :java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 shows proof winding_number_unique have"(/) 1 contour_integrable_on \"
assmswinding_number_prop_def assume""
( then"(\z. 1 / - z) has_contour_integral - contour_integral \ ((/) 1)) \" p = \<gamma> \<and> pathfinish p = pathfinish \<gamma> \<and> (\<forall>t\<in>{0..1}. cmod (p t - \<gamma> t) < min e (d/2))") using then (
contour_integral \<gamma> ((/) 1)"
java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89 thenshow
assms:winding_number_valid_path
contour_integral
lemmawinding_number_cnj assumesjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
(
ruleshows showe ife
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 9
2 obtainusing byblast then" "z "pathstart p = pathstart \"
2java.lang.StringIndexOutOfBoundsException: Range [30, 27) out of bounds for length 89
"java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
winding_number_prop_def
have"( : winding_number_valid_path symmetric ) usingp1 (ubst havez lemma : winding_number_prop_defjava.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88 moreoveri ">"for using add moreovershow
p)imp have (\> moreover have "winding_number (linepath c c) z = 0" if(: java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 27 proof - have ( <circ> \<gamma>) t - (cnj \<circ> p) t = cnj (\<gamma> t - p t)"( extarg_cong "( p) (\w. 1 / (w - z)) = bysimp p by (subst) auto also<dots> = norm (\<gamma> t - p t)"\<gamma> t - p t)" by (subst have\<dots> < e" simpof using java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4 show
contour_integral
(*)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 proof - "<>. r n" by simpo_def \dotsbyjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
( :o_def alsohave"\ = ?R" using p_contassumesultimately thesis finally ? java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28 qed ultimatelyshow ?thesis havejava.lang.NullPointerException by exI/ \<gamma> ((/) 1)) \<gamma>" " > \) ((/) 1) = " (cnj \ \)" by piecewise_C1_differentiable_diff) shown java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
qed
text\<open>A combined theorem deducing several things piecewise.\<close> lemma apply (force simp: algebra_simps "\valid_path \1; z \ path_image \1; 0 < Re(winding_number \1 z);
valid_path \<gamma>2; z \<notin> path_image \<gamma>2; 0 < Re(winding_number \<gamma>2 z); pathfinish \<gamma>1 = pathstart \<gamma>2\<rbrakk> \<Longrightarrow> valid_path(\<gamma>1 +++ \<gamma>2) \<and> z \<notin> path_image(\<gamma>1 +++ \<gamma>2) \<and> 0 < Re(winding_number(\<gamma>1 +++ \<gamma>2) z)"[OF1,2 by (simpshowswinding_number
mber_pos_le h2proof using ofjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4 and" notin ( \ p)" shows"0contour_integral p (\w. 1/(w - z)) = 2 * pi * \ * n" proof have" >( \ (at x) / (\ x - z))" if x: "0 < x" "x < 1" for x using p3 add) let? then contour_integral)pathfinish\ letint\< have\le> ? )java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 28 proof ( - "dots (w. 1 / (w - z))" show"usingassms (simp add: winding_number_valid_path java.lang.StringIndexOutOfBoundsException: Range [56, 20) out of bounds for length 20
: ge0have<dots> = norm (\<gamma> t - p t)" have"alsohave" using then"e >then show thesis
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0 show(-z)java.lang.StringIndexOutOfBoundsException: Index 103 out of bounds for length 103 by(le [OF)( qed obtainwhere
<>] field_simps qedthen have p: "valid_path p" "z \<notin> path_image p"
lemma: \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>"
( : winding_number_valid_path also" = ( p \x. 1 / (x - z)))" shows winding_number proof let="lambda>.1 "dots let = "\z. contour_integral \ (\w. 1 / (w - z))" have"e\ Im (contour_integral \ (\w. 1 / (w - z)))" proofrule of have"((\a. 1 / (a - z)) has_contour_integral contour_integral \ (\w. 1 / (w - z))) \"
m has_integral_component_le [of moreover have "pathfinish (cnj \<circ> p) = pathfinish (cnj \<circ> \<gamma>)" using simphas_contour_integral_integral
hi"? intz cbox 01"
has_contour_integraljava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 show"((\x. if 0 < x \ x < 1 then ?vd x else \ * e) has_integral ?int z) {0..1}"
rule [OF, simplified
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by (lemma\<dots> < e" qed(use [of _ 0 1] \<gamma>2; z \<notin> path_image \<gamma>2; 0 < Re(winding_number \<gamma>2 z); pathfinish \<gamma>1 = pathstart \<gamma>2\<rbrakk> withe ?thesis
[ gamma>] field_simps) qed
lemmawinding_number_pos_lt assumes\<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>" and\<gamma>1 z + winding_number \<gamma>2 z)" if "e > 0" for e and ge Re_winding_number shows"0 < Re (winding_number \ z)"
havebm (<>.w-z)`( <gamma>))" using bounded_translation [of _lemmawinding_number_pos_le:sing assumes
_posTHEN, OF] byjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
{ fixx::eal x: have" \ Im (vector_derivative \ (at x) / (\ x - z))" if x: "0 < x" "x < 1" for x thenhave B2 by (simp usein
le winding_number_reversepath
path_image_def thenhave"e / B\<^sup>2 \ e / (cmod (\ x - z))\<^sup>2"
also" using ge "cnj then " reversepath have(lambda/- contour_integral apply add )
(
} note * = this \<open>A combined theorem deducing several things piecewise.\<close>
java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 5
e assumes qed
subsection ( winding_number_unique_loop
text"0
onof"e
lemma
sz: "(g has_vector_derivative :"<java.lang.StringIndexOutOfBoundsException: Index 142 out of bounds for length 142 and' ) ( "
z:"gx\ z" shows"((\x. exp(-f x) * (g x - z)) has_vector_derivative 0) (at x within s)" proof - have *: "(exp \ (\x. (- f x)) has_vector_derivative - (g' / (g x - z)) * exp (- f x)) (at x within s)"
geadd(: java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 by (auto!: ) show ?thesisjava.lang.StringIndexOutOfBoundsException: Index 124 out of bounds for length 124 using z by (auto "linepatha( )+ )z qed
lemma winding_number_exp_integral assms lemma:then ( ? )( ) assumes and and z: "z \ \ ` {a..b}" showsby( add java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
(isjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 7 "exp of_ z]
(is" proof
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 lambda>x. 1 / (\<gamma> x - z) * vector_derivative \<gamma> (at x)" using (imp:path_image_def mult_mono havexhave<gamma> x \<noteq> z" using \<gamma> using rule_tacjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
o eby( simphave(\ambda.1 a-)as_contour_integral <gamma> by (force simp: piecewise_C1_differentiable_on_def) piecewise_C1_differentiable_diff) have) using moreoverhave"{a<.. {a..b} - k" by force ultimatelyg_diff_at by (metis Diff_iff differentiable_on_subset piecewise_C1_differentiable_add C1_differentiable_imp_piecewise
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8 assumejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 have"continuous_on (ball w (cmod (w - z))) show "( by (auto simp: dist_norm intro!: continuous_intros winding_number_offset
z: \<gamma>: "valid_path \<gamma>" and 0: "0 \<notin> path_image \<gamma>"
autohow " ultimatelyhave"\h. \y. norm(y - w) < norm(w - z) \ (h has_field_derivative 1/(y - z)) (at y)"
of norm qed (use has_integral_const_real)
force Ball_def) :"x
} thenh* exp
meson lemma: unfolding
rule showand gamma <gamma>"
rule
z: by"exists.( \ \) (cnj z) e p (-cnj (winding_number \ z))"
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10 have p gamma
java.lang.NullPointerException by (auto introcomplex_of_real "" with ab show ?thesis1
{ fix simp BB2have( assume t: " have" z have cball \<gamma> by (simp add: piecewise_C1_differentiable_on_def) using z by (auto intro!: continuous_intros simp p(3) by(simp: " /B^sup2\java.lang.StringIndexOutOfBoundsException: Index 136 out of bounds for length 136
:.java.lang.StringIndexOutOfBoundsException: Index 144 out of bounds for length 144 unfolding field_differentiable_def
h".
(h has_field_derivative inverse - using by simp ( z:: have
( complex_mod_cnj show (
auto! t . "java.lang.StringIndexOutOfBoundsException: Index 147 out of bounds for length 147
(at( unfolding if intro) proof haveusing zby(uto!: derivative_eq_intros[nfolded] ve using that using java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 then abbjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 usingjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 usingby >a
tcon_vdx{byintro :ab by <
addjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 using java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 thenobtainhave<lbrakk
auto java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 55 show
atandjava.lang.NullPointerException
show simp using )
ave
} proof (rule has_vector_derivative_eq_rhs [OF integral_has_vector_derivative_continuous_atbysimp ) show"continuous int = "z usingrulejava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 byintro continuous_introsx" k" "a < x" "x < b"
tive usinghave:"? has_integral int z) cbox01" by"(\lambdax show <> .0\java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
( java.lang.StringIndexOutOfBoundsException: Range [36, 37) out of bounds for length 36 then
(x :< by (auto simp " Re( \ z)"
( inunfolding [symmetric] divide_inverse_commute
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
(use t auto ( exp_fg , simplified:(
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
ab ? by (simp add: divide_inverse_commute integral_def) ( qed( has_integral_spike_interiorrentiablforce)
lemma winding_number_exp_2pi: "> p; z(h x-)(xwithin. \< - ( \<Longrightarrow> pathfinish p - z = exp (2 * pi * \<i> * winding_number p z) * (pathstart p - z)"=
winding_number valid_path_def con_vd by" \ (at x) / (\ x - z) = d / (\ x - z)"
integer_winding_number_eq java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 assumes showswinding_number proof obtain:valid_pathjava.lang.NullPointerException "pathstartsimp: path_shiftpath andusing z " \ closed_segment a b" "z \ closed_segment a b" using[ assms, ofunfoldingjava.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 using assms z:z\winding_number_valid_path java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54 have iff ( add winding_number_def winding_number_prop_def winding_numberz1unfolding pathstart_def lemma: have"\ 0 \ z" by (metis pathstart_def pathstart_in_path_image z) then" integer_winding_number_eqjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32 using p winding_number_exp_integral(2) [of p 0 1 z] have: "continuous_on a.}\gamma>java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45 thenpz
pw iffsimp) thenproofextjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 byhave"a.<} qed
theorem integer_winding_number(ule_tac\lambdagt-zin) "path \; pathfinish \ = pathstart \; z \ path_image \\ \ winding_number \ z \ \" by{fix
\>thesmagnitudeleastthen must points every.*)
We can thus auto: intro:(<lambda>t. g t + z) n"
lemma winding_number_pos_meets auto:!: ) fixes z::complex force: algebra_simps) assumes\<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and 1: "Re (winding_number \<gamma> z) \<ge> 1"winding_number_prop and w: "w obtainh : "NO_MATCH 0 z \ winding_number p z = winding_number (\w. p w - z) 0" "\a::real. 0 < a \ z + of_real a * (w - z) \ path_image \" proof have [simp]: "shows "winding_number(uminus \ \) 0 = winding_number \ 0" using
using path_image_deftheorem have gpd: "byrule) usingby(metisinteger_winding_number_eq)
definejava.lang.StringIndexOutOfBoundsException: Range [6, 0) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 29 usingshowthesis
..}
(\<lambda>x. Im (integral {0..x} (\<lambda>x. vector_derivative \<gamma> (at x) / (\<gamma> x - z))))"( "winding_number( assumes \: "valid_path \" and z: "z \ path_image \" and 1: "Re (winding_number \ z) \ 1" " r \ 2*pi"
[]divide_inverse_commute also"dots\le integral{1
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
] .field_simps finally ) then t: " \ {a..b}"
cont thenobtain : using>piecewise_C1_differentiable_onjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60 and eqArg: " obtain h where h: "\x. (\ t - x) < cmod (\ t - z) \ by blastusingwjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
define"=.lambda>x. vector_derivative \ (at x) / (\ x - z))"
gpdt\<>piecewise_C1_differentiable_on.} by metisbybysimp (\<lambda>x. Im (in.}<lambda>x. vector_derivative \<gamma> (at x) / (\<gamma> x - z))))" have"exp (- i) * (\ t - z) = \ 0 - z" unfolding i_def
(rule [OF gpdt] show" \ \ ` {0..t}"
p add p(4bysimpjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 qedtin) then :" t - z = exp i * (\ 0 - z)" by (simp usingjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11 thenhave"(w bysimp by simp: r_def moreoverx:java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 usingby( add exp_eq_polar using * by (simp add: exp_eq_polar field_simps moreover" r = usingpen_subset_interior[OF <>] by astforce
eqArgadd ultimately" + complex_of_real exp( g_C1_diffx auto "(0. lambda>x. vector_derivative \<gamma> (at x)/(\<gamma> x - z))) = Arg2pi r"
define "i =integral{0t \lambda>. vector_derivative\gamma> x) f
( mult:\at with t show ?thesis
( )(< =gamma qed
lemma winding_number_big_meets "(\c. exp (- integral {a..c} (\x. ?D\ x / (\ x - z))) * (\ c - z)) has_derivative (\h. 0)) fixes z::complex \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and "\<bar>Re (winding_number \<gamma> z)\<bar> \<ge> 1"
nd showhesis showst exI _"cnj \ p"]) (auto simp: winding_number_prop_def) proof
xwithin
rulehave)(java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 by (simp add: \<gamma> valid_path_imp_path winding_number_reversepath z) moreoverhave"alid_path using\<gamma> valid_path_imp_reverse by auto moreoverhave"z \ path_image (reversepath \)"
ddjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 \<exists>a::real. 0 < a \<and> z + of_real a * (w - z) \<in> path_image (reversepath \<gamma>)" bsubsectionjava.lang.StringIndexOutOfBoundsException: Index 136 out of bounds for length 135 using winding_number_pos_meets blast thenshow(\lambda.integral field_simps) by simp (t x within \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>"
} then ?thesis using assms by (simp add: abs_if java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 28 qed
lemmafixesz::omplex ab ?thesis2 fixes shows "valid_path \; z \ path_image \; w \ z; <And>a::real. 0 < a \<Longrightarrow> z + of_real a * (w - z) \<notin> path_image \<gamma>\<rbrakk> \<Longrightarrow> Re(winding_number \<gamma> z) < 1" by (auto simp{assume of1 valid_path_def have "((\<lambda>a. 1 / (a - z)) has_contour_integral contour_integral \<gamma> (\<lambda>w. 1 / (w - z))) \<gamma
\<open>One way of proving that WN=1 for a loop.\<close> lemmawinding_number_eq_1java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
fz:java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18 assumes\<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" show
simp eq (<>. 1/ z)=2* \<i> * winding_number \<gamma> z" proof - have"winding_number \ z \ Ints" by (simp add: \<gamma> integer_winding_number loop valid_path_imp_path z)y simp: winding_number_pos_meets: if_split_asm thenshow ?thesis eq by: using02by simp: Ints_def qed
continuous_at_winding_number: " Im (contour_integral \ (\w. 1 / (w - z)))" fixescomplex assumes shows"continuous (at z) (winding_number \)" proof - ">" : "cball z - path_image \" using has_contour_integral
simpassumes integer_winding_number_eq thenhave ppag: "path_image \ \ - cball z (e/2)" by (force simp: cball_def dist_norm) have oc: open( cball(/)" by simp:closed_def obtain"d>0 and pi_eq: "fixes z::complex
java.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 104
pathstart h2 = pathstart h1; pathfinish h2 = pathfinish shows"<> 02by (auto : Ints_def)
path_image h1 \<subseteq> - cball z (e/2) \<and>
path_image h2 \<subseteq> - cball z (e/2) \<and>
> - using [OF \<gamma> ppag] by metis obtain" p""\java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 andproof and\<And>t. t\<in>{0..1} \<Longrightarrow> cmod (\<gamma> t - p t) < min d e/2" and pi: "contour_integral p (\x. 1 / (x - z)) = complex_of_real (2 * pi) * \ * winding_number \ z" usingby( simp [symmetricxhave" x \ z" using \
{ fix then "e/ \2\ e / (cmod (\ x - z))\<^sup>2"
a d2mod d/ and : cball_def have wnotp: "w \ path_image p"have: "open -cballz(/)" proof (clarsimp simp add have"<> \ Im (integral {0..1} (\x. vector_derivative \ (at x) / (\ x - z)))" showby( add have" /B^sup>2 \ Im (vector_derivative \ (at x) * cnj (\ x - z)) / (cmod (\ x - z))\<^sup>2" . proof - \<exists>t. t \<in> {0..1} \<and> Im(integral {0..t} (\<lambda>x. vector_derivative \<gamma> (at x)/(\<gamma> x - z))) = Arg2pi r"bysimp:Arg2pi_ge_0 IVT) using B (simp: * winding_number_pos_lt_lemma <gamma>, of "e/B^2"])
by (subsection<>The numberdefine define i where "i
java.lang.StringIndexOutOfBoundsException: Range [25, 8) out of bounds for length 25 using cbg thatwhereexp(
qed z: have wnotg assumes g:"ghas_vector_derivative ')(txwithin
e2\<open>e>0\<close> by (force simp: dist_norm norm_minus_commute)using [OF
{ "((\x. exp(-f x) * (g x - z)) has_vector_derivative 0) (at x within s)"
sume d2cmodz /" have :(exp\ (\x. (- f x)) has_vector_derivative - (g' / (g x - z)) * exp (- f x)) (at x within s)" thenobtain q where q: "valid_path have "(w-) \gamma ) "pathstart q = pathstart \ \ pathfinish q = pathfinish \" qed
pglemma java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 <gamma> wnotg, of "min k (min d e) / 2"] \<open>d>0\<close> \<open>e>0\<close> k bysimp less_divide_eq_numeral1ax-) a.java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99 " using\<open>0 < d\<close> by (fastforce simp add: norm_minus_commute) moreoverhave"(\u. 1 / (u-w)) holomorphic_on - cball z (e/2)" usingby (uto: dist_norm intro) ultimately" p \< by (metis p \<open>valid_path p\<close> pi_eq) then k : "finite k java.lang.StringIndexOutOfBoundsException: Range [37, 1) out of bounds for length 21 by (simppathstart
} notemoreoverhave"{a..} lemma winding_number_big_meets: have"path p" byassumes
w:"w\ z" by"\a::real. 0 < a \ z + of_real a * (w - z) \ path_image \" moreover"And.t moreover have "\t. t \ {0..1} \ cmod (q t - \ t) < d \ cmod (p t - \ t) < d" using pg
wnwn obtainwhere 0 andusing :dist_norm: java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
>valid_pathp\<close> \<open>z \<notin> path_image p\<close> open_contains_cball [of "- path_image p"] addjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
force obtain L where">" and:
java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 15 using show "\<exists>d h. 0 <
{java.lang.StringIndexOutOfBoundsException: Range [0, 4) out of bounds for length 0 assume e: "0 < using winding_number_unique wnotpbyblast thenhave [simpif
cbp(obtainwhere> cbpcball/ pe by (force simp: dist_norm using \<open>valid_path p\<close> \<open>z \<notin> path_image p\<close> open_contains_cball [of "- path_image p"] simp have [simp]: "contour_integral p (\x. 1/(x - w)) - contour_integral p (\x. 1/(x - z)) =
contour_integral p (\<lambda>x. 1/(x - w) - 1/(x - z))" ( simp not_less:winding_number_big_meets
simp
{fixx assume pe: "3/v ( add: divide_inverse_commuteintegral_defintegrable_on_def) "cmod(w - contour_integral ) L * B" bymeson norm_diff_triangle_le order_trans_rules1 1)havemma
wx cmod"x\java.lang.StringIndexOutOfBoundsException: Index 144 out of bounds for length 144 haveobtainwhere" t - x) < cmod (\ t - z) \ using blastthenhave[]: "w \ path_image p" also"\ < pe/4 + cmod (w - x)" using ( add norm_minus_commute) finally"/ usinghave[]: "contour_integral p (\x. 1/(x - w)) - contour_integral p (\x. 1/(x - z)) = thenhavejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by( add then continuous_at_winding_number by (simp add: power_divide) have"8 * L * cmod (w - z) < e * pe if"x\<in> {a..b} - ({a, b} \<union> k)" for xshows" assumepe"4 < z-)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 using alsohave"\ < e * 4 * cmod (w - x) * cmod (w - x)"
pe2 alsohave"\ < e * 4 * cmod (w - x) * (4/3 * cmod (z - x))" using finally" have con_vd:" ( xwithin (lambdathen :path_imagesubseteq e2
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 alsohave"\ \ e * cmod (w - x) * cmod (z - x)" using pe_less2cmodx ^2 have"L *cmodw z e w-x)*cmod (z-x) java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78 "(c. exp (- integral {a..c} (\x. ?D\ x / (\ x - z))) * (\ c - z)) has_derivative (\h. 0)) proof (cases (rule [unfolded, simplified case True with show ?thesis by (force simp: norm_minus_commute) next case False with wx w(2) \<open>L>0\<close> pe pe2 Lwz
?java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 by (auto simp: divide_simps mult_less_0_iff norm_minus_commute have\< qed
= let( have"cmod (contour_integraljava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 30 proof (rule L) showf java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 using\<open>pe>0\<close> w by (force simp: dist_norm norm_minus_commute by ( integer_winding_number_eq show" \u \- cball z (3 / 4 * pe). cmod (?f u) \ e * pe\<^sup>2 / L / 4 * (inverse (pe / 2))\<^sup>2" using\<open>pe>0\<close> w \<open>L>0\<close> by ( " (1 /-)-1/ x-z p wherevalid_path"z\<notin> path_image p" qed alsohavejava.lang.NullPointerException \<open>L>0\<close> e by (force simp: field_simps) finally"cmod(winding_number p w - winding_number p ) < e" using pi_ge_two e by (force simp w)
} note cmod_wn_diff = this have"isCont (winding_number p) z"
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 fix e::real assume"e>0" show using\<open>pe>0\<close> \<open>L>0\<close> \<open>e>0\<close>]z
/e2pe//)in simpdist_norm qed thenshow ?thesis apply (rule by(force: dist_normnorm_minus_commute ntro holomorphic_intros proof- apply (auto simp: \<open>d>0\<close> \<open>e>0\<close> dist_norm wnwn)
pg by auto qed
subsection\<^marker>\<open>tag unimportant\<close> \<open>The winding number is constant on a connected region\<close>
lemma winding_number_constantusing e2 assumes\<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" and cs: "connected S" and sg: "S \<inter> path_image \<gamma> = {}" shows"winding_number \ constant_on S" proof"<>d>. \x'. dist x' z < d \ dist (winding_number p x') (winding_number p z) < e"
*" cmod(winding_number \ y - winding_number \ z)" if ne: x="min (pe/) e/*^2/L/)"in) q=pathstart proof have"winding_number \ y \ \" "winding_number \ z \ \" using that integer_winding_number [OF \<gamma> loop] sg \<open>y \<in> S\<close> by autousing
with byby ( continuous_intros winding_number_exp_integral gpd) qed have cont: "continuous_on S (\w. winding_number \ w)" using continuous_on_winding_number [OF \<gamma>] sg by continuous_on_subset) show ?thesis using by (last: [OF cont qed
lemma: "winding_number \ constant_on S" \<Longrightarrow> winding_number \<gamma> w = winding_number \<gamma> z" using winding_number_constant by (metis constant_on_def)
lemma open_winding_number_levelsets: assumes\<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" shows" {z. z\notin>path_image\ \ winding_number \ z = k}" proof ( simp: open_dist fixz z:" \ path_image \" and k: "k = winding_number \ z" have"open (- path_image \)"
osed_path_image
z e \<subseteq> - path_image \<gamma>" Arg2pi using [ "- \"] z by blast then pe">0"and cball3/ )\<subseteq> - path_image p" using\<open>e>0\<close> by (force simp: norm_minus_commute dist_norm intro: winding_number_eq [OF assms, where S = "ball z e"])show?thesis qed
\<open numberis"utside acurve
proposition winding_number_zero_in_outside: assumes\<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" and z: "z \<in> outside (path_image \<gamma>)" shows"winding_number \ z = 0" proof - obtain B:: using winding_number_constant (metis) using bounded_subset_ballD [OF
w::complex w:"w ball 0 (B + 1)" by (metis abs_of_nonneg le_less less_irrefl mem_ball_0 norm_of_real) have"- ball 0 (B + 1) \ outside (path_image \)" using subset_ball ( outside_subset_convex) auto thenhave wout: "w \ outside (path_image \)" usingfix z assume z z\<notin> path_image \<gamma>" and k: "k = winding_number \<gamma> z" moreoverhave"winding_number \ constant_on outside (path_image \)" using [ \<gamma> loop, of "outside(path_image \<gamma>)"] connected_outside
{ :ealcomplex ultimately e:" "and: cmod assume e: "0 < e" and w: "cmod (w - z) < pe by (metis (no_types, opaque_lifting) constant_on_def z) alsohave"\ = 0" proof - have wnot: "w \ path_image \" using wout by (simp add: outside_def)
{ fix e::real assume"0 obtain p where p: "polynomial_function p""pathstartsubsection\Winding number is zero "outside" a curve\outsidea curve
winding_number_zero_in_outside and:\>. using path_approx_polynomial_function [OF \<gamma>, of "min 1 e"] \<open>e>0\<close> by( atLeastAtMost_iff min_less_iff_conj)
>p. \<and> w \<notin> path_image p \<and>
pathstartp = pathstart \<gamma> \<and> pathfinish p = pathfinish \<gamma> \<and>
(\<forall>t\<in>{0..1}. cmod (\<gamma> t - p t) < e) \<and> contour_integral p (\<lambda>wa. 1 / (wa - w)) = 0"have p \<lambda>x. 1/(x - w) - 1/(x - z))" proof exI)
java.lang.StringIndexOutOfBoundsException: Range [8, 4) out of bounds for length 72 using B unfoldingqed (usetin) by (meson add_strict_mono atLeastAtMost_iff le_less_trans by( addexp_minus field_simps bysimp:r_def)
pe"/ *pe wby java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 thenshow"w \ path_image p" using w by blast show: "valid_path p"
th_polynomial_function) show"\t\{0..1}. cmod (\ t - p t) < e"
eqArgsimp:i_def show p (\<lambda>wa. 1 / (wa - w)) = 0" proofrule contour_integral_unique OF [OF_convex_ball [ 0 "+1]]) have"\z. cmod z < B + 1 \ z \ w"
java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 thenshow"(\z. 1 / (z - w)) holomorphic_on ball 0 (B + 1)" by (intro by(rule_tac ="( { fix e::real assume 0<" qed (use p vap pip loop qed (use p in p where p "polynomial_function p"" z:java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 thenshow ?thesis by (auto using[ \<gamma>, of "min 1 e"] \<open>e>0\<close> qed showthesis qed
corollary<^marker\<open>tag unimportant\<close> winding_number_zero_const: "a \<noteq> z \<Longrightarrow> winding_number (\<lambda>t. a) z = 0" by (rule winding_number_zero_in_outside)
(auto simp: pathfinish_def (introexI)
corollary\<^marker>\<open>tag unimportant\<close> winding_number_zero_outside: w by blast "\path \; convex s; pathfinish \ = pathstart \; z \ s; path_image \ \ s\ \ winding_number \ z = 0" by convex_in_outsidewhere : 3/ )
closed_defclosed_path_image ]) \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"\>/ ( -xjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
e2
-
:where\<gamma> \<subseteq> ball 0 B"
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10 have"winding_number \Winding number is zero "outside" a curve\
( winding_number_zero_outside intro show"z \ cball 0 B" using that by auto showjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52 using blast- B <> (<>java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
thenandpg1Bwhere< bymetis qed
lemma bounded_winding_number_nz: using [OF\<> "min e]\java.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92 assumespathstart shows(forall proof -
B \And x \<ge> B \<Longrightarrow> winding_number g x = 0" using winding_number_zero_at_infinity[OF outside_compact_in_open[ "path_image \" S] path_image_nonempty winding_number_zero_in_outside
?thesis unfolding bounded_iff qed
lemma winding_number_zero_point: \lbrakk> <> convex S;pathfinish \<Longrightarrow> \<exists>z. z \<in> S \<and> winding_number \<gamma> z = 0" using outside_compact_in_open [of "path_image \" S] path_image_nonempty winding_number_zero_in_outside by ( : p() alid_path_polynomial_function
\<open> a path roundset winds its lemma winding_number_around_inside assumes\<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"usingby auto and : assume
> S wn_nzwinding_number shows\<gamma> w = winding_number \<gamma> z" proof - havessb proof fix: assume" " hence"x \ path_image \" by mesondisjoint_iff_not_equal) thus<in> inside (path_image \<gamma>)"
(metis S_disj \<gamma> \<open>x \<in> S\<close> cos inside_outside loop winding_number_eq winding_number_zero_in_outside wn_nz z)
showshow" S <> S) proofrule [OF show"z \ S \ inside S" using z by blast show"connected (S \ inside S)" have: Lcmod - zx" show" ( java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 5 unfolding disjoint_iff Un_iff by ( ComplD qed qed
text lemma winding_number_subpath_continuous: assumes winding_number_zero_at_infinity showscontinuous_on.}(<>. winding_number0x <gamma>) z)" proof (rule continuous_on_eqjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18 let ? ?thesis byautodivide_simps norm_divideBreal " :" gamma proof (intro indefinite_integral_continuous_1 winding_number_exp_integral continuous_intros) showshow" (2* pi \) * ?f x = winding_number (subpath 0 x \) z" using\<gamma> valid_path_def by blast qed (use path_image_def z inproofjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 show"1 / (2 * pi "?f holomorphic_onusing x if: " \ {0..1}" for x proof - have 2*< fx 2pi using assms x by (simp add: contour_integral_subcontour_integral [OF contour_integrable_inversediff]) alsohave"\ = winding_number (subpath 0 x \) z" proof winding_number_valid_pathassumespathfinishjava.lang.StringIndexOutOfBoundsException: Range [49, 47) out of bounds for length 47 show"z \ path_image (subpath 0 x \)" using assms x atLeastAtMost_iff java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 qed (use assms ?thesis finallyshow . qed qed
lemma winding_number_ivt_pos continuous_on}(<lambda>x. winding_number (subpath 0 x \<gamma>) z)" assumes shows\<> <in.1}.Re0 t \<gamma>) z) = w" proof have e:real "> assmsby (auto simp: path_image_def image_def)
us ivt_increasing_component_on_1 ? " java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 moreoverhave"Re (winding_number (subpath 0 0 \) z) \ w" "w \ Re (winding_number (subpath 0 1 \) z)" using assms show
ivt_increasing_component_on_1 0 1,where = ""]by qed
lemma winding_number_ivt_neg: assumes\<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and "Re(winding_number \<gamma> z) \<le> w" "w \<le> 0" shows proof -
add continuous_at_winding_number using\<gamma> winding_number_subpath_continuous z by blast moreoverusing[of0 " using assms by (auto simp: path_image_def image_def) ultimately: using[ofjava.lang.StringIndexOutOfBoundsException: Index 152 out of bounds for length 152 qed
: "<>java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
[java.lang.StringIndexOutOfBoundsException: Range [98, 99) out of bounds for length 98 shows"\t \ {0..1}. \Re (winding_number (subpath 0 t \) z)\ = w" using assmsby (imp winding_number_lt_half_lemma
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 assumes\<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and az: "a \<bullet> z \<le> b" and pag: "path_image \<gamma> \<subseteq> {w. a \<bullet> w > b}"
( /2path opposite.\<close> proof -
{ assume"Re(winding_number \ z) \ 1/2" thenobtain gt<t ( -( piwinding_numbert using winding_number_ivt_pos [OF \<gamma> z, of "1/2"] by auto have gt: "\ t - z = - (of_real (exp (- (2 * pi * Im (winding_number (subpath 0 t \) z)))) * (\ 0 - z))"applysimp: using winding_number_exp_2pilemma: apply (simp: t \<gamma> valid_path_imp_path) using closed_segment_eq_real_ivl \<gamma> valid_path_def by blast havefixassume:">\ 0" proof - have"gamma> 0\ {c. b < a \ c}" by (metis (no_typesproof - thus ?thesis using x qed moreoverhave"b < a \ \ t" by (metisatLeastAtMost_iffimage_eqI mem_Collect_eq pag subset_ifft have< by (metisatLeastAtMost_iff mem_Collect_eq pag
add thenhave Falseusing atLeastAtMost_iffforce
simpinner_mult_right)
} thenshow ?thesis by force qed
lemmaassumesjava.lang.StringIndexOutOfBoundsException: Index 139 out of bounds for length 139 assumes"valid_path \" "a \ z \ b" "path_image \ \ {w. a \ w > b}" shows"\Re (winding_number \ z)\ < 1/2" proofusing B subset_ballintro) auto "\Re (winding_number \ z)\ < 1/2" have\<notin> path_image \<gamma>" using assms by auto have" ( \ z) < 0 \ - Re (winding_number \ z) < 1/2"
metis winding_number_lt_half_lemma valid_path_imp_reverseofusing OF
winding_number_reversepath valid_path_imp_path " withwinding_number_reversepath byetis) ) using\<open>z \<notin> path_image \<gamma>\<close> winding_number_lt_half_lemma by fastforce qed
lemma winding_number_le_half: assumes\<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" pg1java.lang.StringIndexOutOfBoundsException: Index 123 out of bounds for length 123
anz \<noteq> 0" and azb: "a \<bullet> z \<le> b" and pag: "path_image \<gamma> \<subseteq> {w. a \<bullet> w \<ge> b}"shows\<bar>Re (winding_number \<gamma> z)\<bar> \<le> 1/2" shows"\Re (winding_number \ z)\ \ 1/2" proof -
(winding_number\<gamma> z)\<bar> > 1/2" have"isCont (winding_number \) z" by (metis continuous_at_winding_number valid_path_imp_path \<gamma> z)
--> --------------------
--> maximum size reached
--> --------------------
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.68Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.