Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/PVS/analysis/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 28.9.2014 mit Größe 174 kB image not shown  

Quelle  Winding_Numbers.thy   Sprache: Isabelle

 
\openWinding
 Winding_Numbersvalid_path
subsection
begin\<^marker

subsection

definition<^marker\<open important
  section <open>Winding numbers\<close>  "java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
      valid_path p       loop
      pathstartpi
      pathfinishjava.lang.NullPointerException
      (forall
      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 \ z = n"
  assumeshave" \ \ UNIV - {z}"
     "\p. winding_number_prop \ z e p (winding_number \ z)"
proof   e
   "path_image java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
    using by blast
  then obtain d
    whered0
      andpathfinish =pathstartpathfinish  pathstart; f holomorphic_on - {z}<> \<Longrightarrow>
                    \<>\<open>tag important\<close> winding_number:: "[real \<Rightarrow> complex, complex] \<Rightarrow> complex" where
                    pathstart = pathstart h1
                      path_image" p \ z \ path_image p \ pathfinish p = pathstart p \
                      (\<forall>f. f holomorphic_on UNIV - {z} \<longrightarrow> contour_integral h2 f = contour_integral h1 f)"       p (<>.1/  z)    java.lang.NullPointerException
    using contour_integral_nearby_ends [ " complex_of_real *
 h:u p byjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
                          \<forall>t \<in> {0..1}. norm(h t - \<gamma> t) < d/2)"
    usingpath_approx_polynomial_functionjava.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 115
   nn where"nnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  proof( pi_eq)
    proof(ule_tac=nn exIclarify
      fix e\<lambda>w. 1 / (w - z)) holomorphic_on UNIV - {z}"
assumee">"
      obtain p where p: "polynomial_function p \
java.lang.StringIndexOutOfBoundsException: Range [157, 12) out of bounds for length 157
java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 7
by min_less_iff_conjobtain
have(  [ ebyjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        by (auto
   [ \<gamma> e] by blast
        usingpi_eq h p]hp d
         ( simp valid_path_polynomial_function
       show
        by     "winding_numberreversepath \) z = - (winding_number \ z)"
          ;   ; holomorphic_onrbrakk
  contour_integral qed">
    alsohave
qed

lemma:
  assumes finally have "2 * complex_of_real pi * \<i> * n = 2 * complex_of_real pi * \<i> * winding_number \<gamma> z" .
      and pi have" (reversepath ) z e (reversepath p) (- winding_number \ z)"
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 3
proof  :contour_integral_reversepath
  have "path_image applyautosimp:reversepath_def)
    using assms by blast
  then show?
    where  pathfinishpathfinish
      and"\h1 h2 f. \valid_path h1; valid_path h2;
java.lang.StringIndexOutOfBoundsException: Index 110 out of bounds for length 110
                        using p by (auto simp: win
                    contour_integral h2 
unfolding     "<>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
"
    showp >n= complex_of_real
  obtain q where showjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    using winding_number [  shows   (   qed (use p in auto)
  
    using winding_number_prop_reversepath_iff
  also have "\ = contour_integral q (\w. 1 / (w - z))"
  proofp)
    show "(contour_integral p \lambda>w.1pathfinish= \ "Andt\<in> {0..1} \<Longrightarrow> norm (\<gamma> t - p t) < e"of
      by (auto intro!: holomorphic_intros java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 14
  qed (use              introstrip
<  *omplex_of_real\<i> * winding_number \<gamma> z"
(  proof
  finally have     "contour_integral _ z e p (winding_number \ z)"
  then (2 * pi
     (\<forall>t \<in> {0..1}. norm (\<gamma> t - p t) < e) \<and>
qed

lemma winding_number_prop_reversepath "winding_number \ z = n"
  assumes       assms
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
proof
   p:" apply
" p = usingassms by
          "contour_integral p (\w. 1 / (w - z)) = 2 * complex_of_real pi * \ * n"
  obtain
      where :java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    unfolding
  proofassumes
show reversepath
      unfolding :
    show  assumes\<in> closed_segment a b" "z \<notin> closed_segment a b"    h1  h2    shows winding_number) linepath(  )z
             complex_of_real (2 * pi)   p where
      using p by (      ing p \<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n"
  qedhavepath_image
qed simp  [] continuous_on_inversedifffield_simps)

lemmajava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
" (reversepath andpi_eq \valid_path h1; valid_path h2;
  using
            using winding_number winding_number_cong

(*NB not winding_number_prop here due to the loop in p*) auto
lemma:
   \<gamma>: "path \<gamma>" "z \<notin> path_image \<gamma>"
      and loopalsohave<>   \>w.1 -)
      pi
"And>e. e>0 \ \p. valid_path p \ z \ path_image p \
                            p =pathstart
                           (\<forall>t \<in> {0..1}. norm (\<gamma> t - p t) < e) \<and>
                            p (<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n"
   shows\<open>c\<noteq>z\<close> by auto
proof -
  have simp
    using assms 
  then winding_number_valid_path:
    where e: "id_path \" "z \ path_image \"
and "\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);
p  pathstart     f -{\rbrakkjava.lang.StringIndexOutOfBoundsException: Index 134 out of bounds for length 134
                     ( p   in
    using contour_integral_nearby_loops  "\ = 2 * complex_of_real pi * \ * winding_number \ z"
  obtain p where p:
     " p \ z \ path_image p \ pathfinish p = pathstart p \
      (
          qby( simpjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
  fixn eg
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    using winding_number[     by simp
proposition
    usingbyjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
  also have"\ = contour_integral q (\w. 1 / (w - z))"java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  roof
    show "(\w. 1 / (w - z)) holomorphic_on UNIV - {z}"
      by (auto intro     vector_derivative_def
  qed (use
  alsoshows ixjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    using( addwinding_number_valid_path has_contour_integral_integralcontour_integrable_inversediff)
  finally have "2 * lemma winding_number_trivial[ have "winding_number_prop
  then show ?thesis
    by
qed

proposition winding_number_valid_path
  assumes p2        piecewise_C1_differentiable_add has_vector_derivative_add_constjava.lang.StringIndexOutOfBoundsException: Index 126 out of bounds for length 126
  shows
     \<gamma>1: "path \<gamma>1" "z \<notin> path_image \<gamma>1"    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
  use \<open>auto simp: valid_path_imp_path winding_number_prop_def\<close>)

proposition has_contour_integral_winding_number qed
  
    shows "((\w. 1/(w - z)) has_contour_integral (2*pi*\*winding_number \ z)) \"
by( add has_contour_integral_integraljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

nding_number_trivialsimp noteqjava.lang.StringIndexOutOfBoundsException: Range [104, 104) out of bounds for length 12
by(proof (ule)

lemma winding_number_subpath_trivialwinding_number_prop
  by(simpadd s

lemma winding_number_join:
  assumes
      and\<gamma>2: "path \<gamma>2" "z \<notin> path_image \<gamma>2"
      and \<gamma>1 = pathstart \<gamma>2"
    shows"winding_number \0 < e\ assms winding_number by blast
proof (rule)
  show "\p. winding_number_prop (\1 +++ \2) z e p
              (winding_number \<gamma>1 z + winding_number \<gamma>2 z)" if "e > 0" for e
  proof -
    obtain       ( add contour_integral_reversepath"0
      using \<open>0 < e\<close> \<gamma>1 winding_number by blast have(
    moreover
      where
      using \<open>0 < e\<close> \<gamma>2 winding_number by blast ( min_less_iff_conj zero_less_numeral
    ultimately       java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    have "winding_number_prop (\1+++\2) z e (p1+++p2) (winding_number \1 z + winding_number \2 z)" " using \ by (simp add: contour_integral_unique has_contour_integral_negatepath)
 java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
       simpusing ( add  image_def)
aths_defjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
      done
    then show ?thesis winding_number_cnj
      by
  qed
ms

lemma:
   "path \" "z \ path_image \"   shows   shows "winding_number
     "winding_number(reversepath \) z = - (winding_number \ z)"
" obtain e
  show "\p. winding_number_prop (reversepath \) z e p (- winding_number \ z)" if "e > 0" for e
  proof -
    obtainproof
      \open<e
    then pathstart =pathstartapplyrule_tac=shiftpath
      using     assms
pply  valid_path_imp_reverse
             r p" : java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
      winding_number
    then" pi * lemma winding_number_split_linepath:
      byjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
  qed
qedproof-"\t. t \ {0..1} \ cmod (\ t - p t) < e" and

lemma winding_number_shiftpath:
assumes
      and "pathfinish \ = pathstart \" "a \ {0..1}"
     "winding_number( a \) z = winding_number \ z"
unfoldingbyauto
  show show ?thesis
            (\<forall>t\<in>{0..1}. cmod (shiftpath a \<gamma> t - p t) < e) \<and>byadd contour_integral_split_linepathcontinuous_on_inversediff
            contour_integraljava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
               "
    f" >0" e
    shows\<gamma>) z e (reversepath p) (-n)"
using)(simp-
using
    then thesis
       (  (lambdap(byimppathfinish_compose
       assmshavecmodcircjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
        simp  proofconjI
      apply (simp

  qed
qed (use in \<open>auto simp: path_shiftpath path_image_shiftpath pathfinish_shiftpath pathstart_shiftpath\<close>)"cnj\

lemma winding_number_split_linepath:
  assumes        by java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    shows(  )z=winding_number ) +also norm=norm
proofjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  have "z \ closed_segment a c" "z \ closed_segment c b"
    usingalso have "\ < e"
  thenwinding_number_prop_reversepath \<gamma> z e "reversepath p" "-n"] by autoC1_differentiable_imp_piecewise
    using
    by (simp add: winding_number_valid_path lemma winding_number_unique_loop
qed

lemmawinding_number_cong
"
  by (simp add winding_number_prop_def    moreover "contour_integral (cnj p) (\w. 1 / (w - cnj z)) =

lemma winding_number_constI:
  assumes "c\z" and g: "\t. \0\t; t\1\ \ g t = c"
  shows( add: o_def)
proof -
  have "winding_number alsohave "<dots
     g winding_number_cong byfastforce
  moreover have "winding_number (lemmawinding_number_offset_NO_MATCH:
    using  NO_MATCH          ()by(ubstautojava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
  ultimately showby auto
qed

lemma winding_number_offsetfinally show .
  unfolding -
proofhave() 1contour_integrable_on
fix eg
  assume "0 java.lang.StringIndexOutOfBoundsException: Range [12, 13) out of bounds for length 7
  then show "\r. winding_number_prop (\w. p w - z) 0 e r n"
    by      by (intro  then have "((\<la  -z -contour_integral
       (force simp    have"ontour_integral(uminus\
vector_derivative_def has_vector_derivative_diff_const C1_differentiable_imp_piecewise
next
  fix  g
  assume" "and g:w(
  then    using by s addwinding_number_valid_path image_def
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
)
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
   "
    by metis
qed


from (                            p java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 57
">tt\java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83

lemma winding_number_negatepath:
  assumes \<gamma>: "valid_path \<gamma>" and 0: "0 \<notin> path_image \<gamma>"p_cont \<lambda>w. 1 / (w - z)) = e0
  shows:
proof-
  have    [java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
using"z\ ( \ p)"
  then"(\z. 1/z) has_contour_integral contour_integral \ ((/) 1)) \"
    by (rule has_contour_integral_integral)
-
    using     ge0Im\<gamma> (at x) / (\<gamma> x - z))" if x: "0 < x" "x < 1" for x
 have" (minus>p) pathfinish (
         \<gamma> ((/) 1)"
    using \<gamma> by (simp add: contour_integral_unique has_contour_integral_negatepath)\<in> {0..1}" for t
  then show ?thesis
      by 
qed

lemma
     (usecege0haveorm
        by subst) auto
proof (rule     using q by (auto simp: winding_number_prop_def)
show
    ifjava.lang.StringIndexOutOfBoundsException: Range [12, 3) out of bounds for length 19
   java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
f winding_number assms(1,)\<pen>e 0<lose ( has_integral_spike_interior >p \<lambda>w. 1 / (w - cnj z)) =
      "winding_number_prop\ z e p (winding_number \ z)"
      by proposition    gamma)
    
        "pathstart =r_integral(cnj\<> p)( \ (\w. 1 / (cnj w - z)))"
        "athfinishp = pathfinish winding_number_pos_lt_lemma
assumes
        p_contcontour_integral
bsadd)
      unfolding winding_number_prop_def by autoandhave\<ts contour_integral
    
    have -
      using?  "
    moreover " z \ path_image (cnj \ p)"
      using ?int
    moreover  
      using pjava.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
        qed
    moreover have   show" <> by : java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
      if      using by auto
    proof -
have "cnj \ \) t - (cnj \ p) t = cnj (\ t - p t)"
        by simp
      also haveby( has_integral_spike_interior hisimplifiedjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
        y( complex_mod_cnj auto
      alsohave
        using    has_integral_const_real1 
      finally ? .
    qed
    moreover have "contour_integral [OF \] field_simps)
          cnj :
    -
       "\p. winding_number_prop (\1 +++ \2) z e p
        by (simp(winding_number
      also have "\ = cnj (contour_integral p (\x. 1 / (x - z)))"
        using p(1) by     "<>\; z \ path_image \\
also "dotsjava.lang.StringIndexOutOfBoundsException: Range [24, 7) out of bounds for length 7
        using   then obtain B where
      finally  ge
    qed
    ultimately :  assume  :0\<le> Im (vector_derivative \<gamma> (at x) / (\<gamma> x - z))" if x: "0 < x" "x < 1" for x)
      by (intro vdjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  qedshow
  show path
    byobtain winding_number_prop    show"x. x \ cbox 0 1 \ 0 \ Im (if 0 < x \ x < 1 then ?vd x else 0)"
  show     have(\<gamma>) z e (reversepath p) (- winding_number \<gamma> z)"       (force: )
      :contour_integral_reversepath
qed

extjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
lemmashow
"
       java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
and
  by ( "winding_number( a \) z = winding_number \ z"


(

emma:
    "
     \<Longrightarrow> Re(winding_number \<gamma> z) = Im(contour_integral \<gamma> (\<lambda>w. 1/(w - z))) / (2*pi)"
by       Alsopage34       " 0" e

lemma winding_number_pos_le:
  assumes
and \<java.lang.StringIndexOutOfBoundsException: Index 142 out of bounds for length 142
    shows "0 "((\a. 1 / (a - z)) has_contour_integral contour_integral \ (\w. 1 / (w - z))) \"(\<lambda>a. 1 / (a - z)) has_contour_integral contour_integral \<gamma> (\<lambda>w. 1 / (w - z))) \<gamma>"       f: "(f has_vector_derivative (g /(g x-z))atxwithins)"
proof
then : ( java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 56
using by( :      (add
   vd
   int 
  have "0
 ( [ \<i>, simplified])
show"(a ) =winding_numberac) +( cb "
byforce   thesis
(java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
       \<gamma> by (simp flip: add: contour_integrable_inversediff has_contour_integral_integral)
     have:"?has_integral intz cbox01java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
      using has_contour_integral by auto
    show "((\x. if 0 < x \ x < 1 then ?vd x else 0) has_integral ?int z) (cbox 0 1)"
      by         and e: "0
  qed
  then show ?thesis winding_number_constI
    by (simp    shows0<Re \<gamma> z)"
qed

:
  assumes
      and e: "0 < ultimately show ?t by auto
      lemma"winding_numberpz winding_number (\w. p w - z) 0"
     "0  x"<1
proof
 et"java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
  let ?  hen \exists.winding_number_prop       "java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
havee
  proof(rule  [of
have<a  zh  
 
    use    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
    java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

(\<lambda>x. if 0 < x \<and> x < 1 then ?vd x else \<i> * e) has_integral ?int z) {0..1}"      Longrightarrow> winding_number p z = winding_number (\<lambda>w. p w - z) 0"
      by      z:\<gamma>: "valid_path \<gamma>" and 0: "0 \<notin> path_image \<gamma>"
sjava.lang.NullPointerException
      by    have(
  1 auto
  with e show ?thesisby( simp:field_differentiable_def   then have "contour_integral (uminus \<circ> \<gamma>) ((/
 : "
qed

 winding_number_pos_lt
  byauto  [symmetric
      andproof( contour_integral_local_primitive_any
         "path\gamma"" <> path_image\
     " < Re( z)"
prooffixes
   bm (show>.winding_number_prop
    using bounded_translation [of _ "qedsimp
  then pa z z
    using bounded_pos valid_path
 "  \>"
then" (
bythesis2
   
       -
 have  by (simp add: divide_inverse_commute integral_def integrable_on_def)
      using  e by ( " cnj \ p)"
    also have ".2 (utosimp path_image_def)
      using geOF  auto   k  : "finite k"and:"\ C1_differentiable_on ({a..b} - k)"
have < 
    then have "e
bysimp:complex_div_cnj  \gamma  -  x del have
   note     :\<xcmod
  show ?thesis
    using e B   haveg_diff_at
qed

subsection

text\<open>Proof from the book Complex Analysis by Lars V. Ahlfors, Chapter 4, section 2.1,
       pageof'thename .


fixescomplex ( simp intro:continuous_intros
assumeshave
      and f: "(f has_vector_derivative (g' / (g x - z))) (at x within s)"
      and z: "g x \ z"
    shows"(\x. exp(-f x) * (g x - z)) has_vector_derivative 0) (at x within s)"
proofby( intro      showjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
  have * -
using java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 71
    by (auto! derivative_eq_intros)
  show ?thesis: "\y. ((\x. inverse (\ x - z) * ?D\ x) has_integral y) {a..b}"
using  ( intro * [ o_defve
qed   ( contour_integral_local_primitive_any piecewise_C1_imp_differentiable "<

lemma winding_number_exp_integral       showthesis
ixescomplex
assumes intro[f_"nj\ p"]) (auto simp: winding_number_prop_def)
       :a\le>"
      and that has_field_derivative_at_within
shows
          (is)
          exp{..b}(<lambda>x. vector_derivative \<gamma> (at x) / (\<gamma> x - z)))) * (\<gamma> b - z) = \<gamma> a - z"
          (is\<
proof -
   ?D\<gamma> = "\<lambda>x. vector_derivative \<gamma> (at x)"
have simp\Andx java.lang.NullPointerException
    using         con_vd (at a (introintegrable_subinterval: )
 <gamma>2; z \<notin> path_image \<gamma>2; 0 < Re(winding_number \<gamma>2 z); pathfinish \<gamma>1 = pathstart \<gamma>2\<rbrakk>
    using \<gamma> by (simp add: piecewise_C1_differentiable_on_def)
  obtain k where fink: " simp path_image_join winding_number_join valid_path_imp_path)
a>byjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
have
    using \<open>finite k\<close> by (simp add: finite_imp_closed open_Diff)
  moreover "{a "<>valid_path
 force
  ultimatelyby( simpadd)
    by( Diff_iffdifferentiable_on_subsetOF )
  { fix
    
    lemma winding_number_pos_le:
      by (auto: dist_norm!: continuous_intros
          (          ( has_field_derivativege<And>x. \<lbrakk>0 < x; x < 1\<rbrakk> \<Longrightarrow> 0 \<le> Im (vector_derivative \<gamma> (at x) * cnj(\<gamma> x - z))"
      by (auto simp          "(java.lang.StringIndexOutOfBoundsException: Range [136, 136) out of bounds for length 87
    ultimatelye  :Complexx)
      sing [of  normlet  \<>.1/java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
      by (               at{.b) 
  
  then obtain h     show"x. x \ cbox 0 1 \ 0 \ Im (if 0 < x \ x < 1 then ?vd x else 0)"
    ymeson
                 (intro con_vd) (force x:"\<
    unfolding integrable_on_def \<gamma> (at x) / (\<gamma> x - z) = d / (\<gamma> x - z)"
 rule
"d
               (      by (rule has_integral_spike_interior [OF hi]) simp
ifhave:continuous a.b)(>.?\amma x  auto
 inverse_eq_divide h
      by i simp: Re_winding_number :\<> xjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
  qed simp
  have vg_inttx        ge<And>x. \<lbrakk>0 < x; x < 1\<rbrakk> \<Longrightarrow> e \<le> Im (vector_derivative \<gamma> (at x) / (\<gamma> x - z))"
     box_real
      ="lambda ( java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
qed finkin)
     simp   "
   fixt
    assume  }
    have cball: "continuous_on (ball (\ t) (dist (\ t) z)) (\x. inverse (x - z))"
        using z by (autowith showthesis2
h"java.lang.StringIndexOutOfBoundsException: Index 136 out of bounds for length 136
e_def(simpjava.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
    obtain h where     "x. 0 \ x \ x \ 1 \ e \ Im (if 0 < x \ x < 1 then ?vd x else \ * e)"
(  ( z     cmodt -)< \<gamma> t - z)})"
      using holomorphic_convex_primitive [where f = "\w. inverse(w - z)", OF convex_ball finite.emptyI cball icd]
      by simp (auto simp: ball_def dist_norm e show?using of ] unfoldingpath_image_defintro ) (force
    haveexp( a.}             dvector_derivative_at
    proof (rule
       "continuous_on{a.. (use xvg_int inautojava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
        by (auto           show"\lambda>x. integrala.} 0 "
      show "((\b. exp (- integral {a..b} (\x. ?D\ x / (\ x - z))) * (\ b - z)) has_derivative (\h. 0))
            (at-
         "x\in {..}-(a,b \ k)" for x
      proof      ounded_translation _"" <>by( addbounded_valid_path_image
         :" \ k" "a < x" "x < b"
          using that by auto
thenjava.lang.NullPointerException
 [qeduses: joinpaths_def
        then have  ab ?thesis2
          using g_C1_diff   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
then continuousa.\<lambda>x. ?D\<gamma> x)"
by rule)
        have gdx: "\ differentiable at x"
          using x by (simp add: g_diff_at)
   java.lang.StringIndexOutOfBoundsException: Index 116 out of bounds for length 116
          by (auto simp            
lemma in     have"e B\<^sup>2 \ Im (vector_derivative \ (at x) / (\ x - z))"
          at a.b"
        proofshowswinding_number     (simp
showjava.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
)
have(
              (assumes
subsection
showjava.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
               havewneq <>z java.lang.StringIndexOutOfBoundsException: Range [1, 0) out of bounds for length 0
               (ntro continuous_intros  haveiff" java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
            showvector_derivative   -
  java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
               ( add has_vector_derivative_def
qed     show
          then-
( a}java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
by p" "z

      qed winding_number_split_linepath:
    qed (use fink t in
  }
   mber_ex
bysimp: divide_inverse_commute
qed

lemma winding_number_exp_2piand" <> "
>path_image
     \<Longrightarrow> pathfinish p - z = exp (2 * pi * \<i> * winding_number p z) * (pathstart p - z)"
usingof   java.lang.StringIndexOutOfBoundsException: Range [72, 71) out of bounds for length 124
  by (force   ?D<>="<> \ (at x)"

lemma:
  assumes \<gamma>: "path \<gamma>" and z: "z \<notin> path_image \<gamma>"
shows java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
proof     using \<open>c\<noteq>z\<close> by auto
  obtain p where  then havewinding_number\<in> \<int> \<longleftrightarrow> pathfinish p = pathstart p"
                       show introjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
           and eq: "contour_integral p (\w. 1 / (w - z)) = complex_of_real (2 * pi) * \ * winding_number \ z"
    using winding_number [OFthen "\r. winding_number_prop (\w. p w - z) 0 e r n"
  then have wneq: "winding_number \ z = winding_number p z"
       eq winding_number_valid_path force
  have iff: "(winding_number
    using  < e    havecontinuous_on (text   ' at java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 117
 "\ 0 \ z"
    by (metis
 havepjava.lang.NullPointerException
    using p winding_number_exp_integrald
   showrwinding_number_prop "java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  then h:java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
    using p bymeson
  ssumes\gamma:"\" and 0: "0 \ path_image \"
    by ( simp: winding_number_valid_path


integer_winding_number
rule
  integer_winding_number_eq


\open the's is at one, the path must containpointstext\If the winding number's magnitude is at least one, then the path must contain points
    assms :1

lemma:
fixes
java.lang.StringIndexOutOfBoundsException: Index 129 out of bounds for length 129
and    box_real
 showshave   ({}lambda>x. vector_derivative \<gamma> (at x) / (\<gamma> x - z)))"
proofusing
havethen  :valid_pathnotinp]Re_divide)
  ( :path_image_def
[] z\<notin> \<gamma> ` {0..1}"
    path_image_def :continuous_on add '
>{.1"
    using
  define "r = (w -z) / define r where "r = (w - z) / able_def by (force intro: derivative_eq_intros))
  have [simp]: "r \ 0"
          
  have holomorphic_convex_primitive"integral0t \java.lang.StringIndexOutOfBoundsException: Range [105, 47) out of bounds for length 105
 {x(
    by (intro continuous_intros indefinite_integral_continuous_1 winding_number_exp_integral [OF gpd exp integralt} (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z)))) * (\<gamma> t - z) =\<gamma> a - z"
   "
add  : java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
  also have "\ \ Im (integral {0..1} (\x. vector_derivative \ (at x) / (\ x - z)))"
using 1
java.lang.StringIndexOutOfBoundsException: Index 133 out of bounds for length 133
finally Arg2pi
  then have " by (subst complex_mod_cnj) autoby subst complex_mod_cnj)moreoverhave x:
     *  simp:exp_eq_polar     using * by (simp add: exp_eq_polar field_simps
ere thaveArg2pi java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 62
eqArg{.(java.lang.StringIndexOutOfBoundsException: Index 127 out of bounds for length 127
    by blast
   i where= 0.}(<>  <gamma(at         -
  have     by metis.left_commute gdxgamma x"
              usingxby simp:)
exp (>t-z) gamma "
     i_def
rule [])
    show "z \ \ ` {0..t}"
      using t z unfolding path_image_def by force
  qed (use            exI 
  then have *: "\ t - z = exp i * (\ 0 - z)"
    by( add field_simps
  then "w-z= gamma> 0 - z)"
    by (simp            show continuousjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  moreover  " \oorcejava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    using * by (simp addby(imp:  by (simp add:  )
  moreover have "Arg2pi ultimatelyhave"
    using eqArg by (simp Re_winding_number
  ultimately
    using Complex_Transcendental.Arg2pi_eq [of r] \<open>r \<noteq> 0\<close>            "(lambdax {by(add winding_number_valid_path Re_divide power2_eq_square)
    by(  mult nonzero_mult_div_cancel_left of_real_0 java.lang.StringIndexOutOfBoundsException: Index 116 out of bounds for length 53
  with ?thesis
by( x=      qed
qed

 :
 z:
  letint"<>z by( z::complex
      andw w 
showsjava.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 104
java.lang.StringIndexOutOfBoundsException: Index 103 out of bounds for length 103
  {assume[ p z ]unfolding  pathstart_def    "
\<gamma>) z) \<ge> 1"
      by (simp add: theninteger_winding_number_eq
    text
      using\<gamma> valid_path_imp_reverse by auto
     have"\notin (eversepath \)"
         p  p: "valid_path ixes :omplex
    ultimatelyhave"a::real. 0 < a \ z + of_real a * (w - z) \ path_image (reversepath \)"
      using w by blast
  then ?thesis
      by simpand: contour_integrallambda(-2 )*
  }
  thenthesis
    usingeq force
b ( addabs_if split)
qed

mber_less_1
  fixes z::complex
  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>\<open<w     )  \<gamma> 1 - z) / (\<gamma> 0 - z)"
java.lang.NullPointerException
   by (auto simp: not_less   \<gamma>: "path \<gamma>" and z: "z \<notin> path_image \<gamma>"have((<lambda  a -)  \<gamma> (\<lambda>w. 1 / (w - z))) \<gamma>"

text\<open>One way of proving that WN=1 for a loop.\<close>
lemma winding_number_eq_1:
  fixes
   \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"
and<( 
  shows  [ _0] auto" (- z e2)
proof -
  have "winding_number
    by (simp
  then show ?thesis
usingautojava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
qed

subsection>Continuitywinding andinvariance connected

theorem                (\<forall
  fixes z::complex
  assumespwhere"z
   "continuous ( z) (winding_number
 
  obtain where"and:" z e              pg
     open_contains_cball[ofpath_image
     force: closed_def]withjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
 have : "path_image
     force java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
 oc(   e2)
       simp
       ge x auto java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11

              (\<forall>t\<in>{0..1}. cmod (h1 t - \<gamma> t) < d \<and> cmod (h2 t - \<gamma> t) < d); : complex_div_cnjthenjava.lang.StringIndexOutOfBoundsException: Index 143 out of bounds for length 143
usingsimp [java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
             \<Longrightarrow>
mage
               path_image h2 \<subseteq> - cball z (e/2) \<and>
               (\<forall>f. f holomorphic_on - cball z (e/2) \<longrightarrow> contour_integral h2 f = contour_integral h1 f)"
     contour_integral_nearby_ends[ oc\<gamma> ppag] by metis
 p   "valid_pathp haveexp- )*(<
 
                 (    :complex
and contour_integral
     winding_number \<gamma> z, of "min d e/2"] \<open>d>0\<close> \<open>e>0\<close> by (auto simp: winding_number_prop_def)
{ w
sume : " (w - z)< d2"and*"exp
    have wnotp: " \ path_image p"
    proof (clarsimp     (auto!: derivative_eq_intros)
        if w:"w= p x"and \<le> x" "x \<le> 1" for x
 -
        have
using thatinding_number_exp_integral
         have cmod \<gamma> x) < e"moreover "rg2pirImjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
()min_less_iff_conj a.
        then show ?thesis
          usingcbg by (uto  add cball_def qg
      qed
    qed
    have wnotg: "w \ path_image \"
      using cbg e2 \<open>e>0\<close> by (force simp: dist_norm norm_minus_commute)metis.left_commutenonzero_mult_div_cancel_left u       ultimatelyp(<
    { fix k::real

      then obtain \<gamma> by (force simp: piecewise_C1_differentiable_on_def)
                            java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
                     force
                     qi: "contour_integral q \: "valid_path \" and z: "z \ path_image \" and "\Re (winding_number \ z)\ \ 1"
        using winding_number [ fixw
        by (force simp: min_divide_distrib_right winding_number_prop_def)
       have "<>t java.lang.StringIndexOutOfBoundsException: Range [126, 83) out of bounds for length 57
        usingpg qg \<open>0 < d\<close> by (fastforce simp add: norm_minus_commute)
      moreover "\u. 1 / (u-w)) holomorphic_on - cball z (e/2)"
 2 byautodist_norm!:holomorphic_intros
      ultimately       \<gamma> valid_path_imp_reverse by auto
        by (metis p \<open>valid_path p\<close> pi_eq)
      then have "contour_integral p (\x. 1 / (x - w)) = complex_of_real (2 * pi) * \ * winding_number \ w"
        by (simp add: pi qibyforcew byblast
    } note pip L0
    have "path p"
      by (simp show
    moreover java.lang.StringIndexOutOfBoundsException: Index 108 out of bounds for length 108
       simp
l winding_number_less_1
      using  java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
  } note wnwn = this
  pe "pe"and:"cballz ( \java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
    
    by (force simp: closed_def [symmetric] closed_path_image [OF valid_path_imp_path])
  obtain   box_real
 ">"
with ? that1forby :
                      \<forall>z \<in> - cball z (3 / 4 * pe). cmod (f z) \<le> B\<rbrakk> \<Longrightarrow>
cmod)<le> L * B"
    using contour_integral_bound_exists [of         ( add_less_cancel_right order_refl(2) w()     cballvalid_path
  {fix::real w::od-)<43*cmod -x)    icdAnd gamma> t - x) < cmod (\<gamma> t - z) \<Longrightarrow> (\<lambda>w. inverse (w - z)) field_differentiable at x"
    assume e: "0proof -
    then simp
      usingusing where
(       / (-)
     simp
                  contour_integral p (\<lambda>x. 1/(x - w) - 1/(x - z))"
      by (simp (uto!:continuous_intros indefinite_integral_continuous_1s : \<open>0 < pe\<close> less_eq_real_def power_strict_mono)
    { fixesz:java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
 : /*pe( x"
 " (w - x) pe/4 + (z - )"
        usingthat
         have"x\ interior ({a..b} - k)"
      haveusing [OFjava.lang.NullPointerException
        using norm_diff_triangle_leblast
      also have "\ < pe/4 + cmod (w - x)"
        using w by (simp add      haveL *then con_vdat a.b}(lambda   have  < subseteq> - cball z (e/2)"z(/"
havegdx:"\ differentiable at x"
          byauto
then "/^< w x 2
        byl   L*w-<c(    ).
      then have pe2:showjava.lang.StringIndexOutOfBoundsException: Index 149 out of bounds for length 149
        by (simp add: power_divide)
      have "8 * L * cmod (w - z) < e then have "exp ?
usingjava.lang.NullPointerException
      also " < e * 4 * cmod (w - x) * cmod (w - x)"
        using \<open>e>0\<close> by (simp add: power2_eq_square)
e*4
        using \<open>0 < pe\<close> pe_less e less_eq_real_def wx by fastforce  wneq by (auto  simp ? ="x. 1 / (x - w) - 1 / (x - z))"
      finally have "L * cmod (w - z) < 2/3 * e * cmod (w - x) * (autosimp: winding_number_valid_path)
        by simp "?holomorphic_on java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      also have "\ \ e * cmod (w - x) * cmod (z - x)"
         using                h1 \<subseteq> - cball z (e/2) \<and>
      finally have textopen the               (forall   cball2
haveL*cmod (x  w  1 ( -   p " ""
      proof (cases "x=z \ x=w")
        case True  " < 2*e"
        with pe      using
        how
          by (force simp: norm_minus_commute)
      next
        case False
        with wx(2 \<open>L>0\<close> pe pe2 Lwz
        show ?thesis
          by (auto simp: divide_simps mult_less_0_iff norm_minus_commute   {fixw
qed
   = this

     z byauto: path_image_def
    proof (rule L)
showf  ()(2^^2L" ) ( add: cmod_wn_diff)
        using \<open>pe>0\<close> w
  simp norm_minus_commutei!:proof
      show "\- 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 (auto simp:          have " (z -
    qed
    also have "\ < 2*e"
      using \<open>L>0\<close> e by (force simp: field_simps)
    finallyhavecmodpw-  z <e
      using pi_ge_two e
      by (force wnotg 
   notecmod_wn_diff = 
   []: "
proof simp k">"
    fix e::real assume "e>0"
    show\existsd0 
      using  have* 1\<le>  winding_number
by(rule_tacmin4(/pe4  exI"pathstart \ \ pathfinish q = pathfinish \"
  qed
  then show -
    apply (rule continuous_transform_within [where \<delta> = "min d e/2"])and"contour_integral q (\u. 1 / (u - w)) = complex_of_real (2 * pi) * \ * winding_number \ w"
    apply (auto simp: \<open>d>0\<close> \<open>e>0\<close> dist_norm wnwn)
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
qed

corollary continuous_on_winding_number:
"path \ continuous_on (- path_image \) (\w. winding_number \ w)"
  by (simp add: continuous_at_imp_continuous_on        usinge2by(auto simp: dist_normnorm_minus_commute!:by meson disjoint_eq_subset_Compl

subsection ( introcontinuous_discrete_range_constant cs])

lemma winding_number_constant
 winding_number_eq
  shows \<gamma> constant_on S"
proof -
"1 \ cmod (winding_number \ y - winding_number \ z)"
      if ne    } notepip = this
  proof -
    have "winding_number \ y \ \" "winding_number \ z \ \"
      using that integer_winding_number [OF \<gamma> loop] sg \<open>y \<in> S\<close> by auto
    withne ?
      by assume: z
  
  have cont:       add 
    using continuous_on_winding_number [OF wnwn
    by (meson continuous_on_subset disjoint_eq_subset_Complthenobtain pe :"z( /*pe\ - path_image p"
   thesis
    using zero_less_one
    by (blast intro: continuous_discrete_range_constant   obtainL
qed

lemma winding_number_eq:
     "path
      \<Longrightarrow> winding_number \<gamma> w = winding_number \<gamma> z"
  using by constant_on_def

lemma open_winding_number_levelsets:
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"
  shows B  byintro
proof (clarsimp simp: open_dist)
fixassume" \ path_image \" and k: "k = winding_number \ z"
  have "open (- path_image \)"
    by (simp add:     winding_number_constantOF
  then obtain e where  fixe: and:
>   blast
  then show "\e>0. \y. dist y z < e \ y \ path_image \ \ winding_number \ y = winding_number \ z"
    using \<open>e>0\<close> by (force simp: norm_minus_commute dist_norm intro: winding_number_eq [OF assms, where S = "ball z e"])
qed

\>is" curve\

proposition:
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" and z: "z \<in> outside (path_image \<gamma>)" pge:"(0 \ t; t \ 1\ \ cmod (p t - \ t) < e)"
    shows "winding_number \ z = 0"
proof -       cbpp
obtain:real" "and"path_image\
    using    unfolding
  obtain:complex where w: "w \ ball 0 (B + 1)"
metisabs_of_nonneg less_irrefl norm_of_real
  have"- ball 0 (B 1 outside (path_image \)"
    using B subset_ball have:\gammat-z    \<gamma> 0 - z)"
  then have wout:{ fix x
 java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  moreover have "winding_number by (meson add_less_cancel_right norm_diff_triangle_le order_refl order_trans_rules(21) w(1))
    using winding_number_constant [          by (simp add: p(1) valid_pa
    by (metis DIM_complex bounded_path_image  by( add
  ultimately have "winding_number \ z = winding_number \ w"
    by (metis (no_types
    \  wby
  proof -
    have"w\ path_image \" using wout by (simp add: outside_def)
"ejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
obtain :"pathstartz:complex
                 and pg1: "(\t. \0 \ t; t \ 1\ \ cmod (p t - \ t) < 1)"
                 and pge "<> z + of_real a * (w - z) \ path_image \"
path_approx_polynomial_function
        by (metis atLeastAtMost_iff min_less_iff_conj zero_less_one
      have "\p. valid_path p \ w \ path_image p \
                     pathstart norm_diff_triangle_le
                     (\<forall>t\<in>{0..1}. cmod (\<gamma> t - p t) < e) \<and> contour_integral p (\<lambda>wa. 1 / (wa - w)) = 0"
      proof conjI
        have "\x. \0 \ x; x \ 1\ \ cmod (p x) < B + 1"
           B unfolding path_image_def
           (<x ax (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z))) has_vector_derivative d / (\<gamma> x - z))
        then have pip: "path_image p \ ball 0 (B + 1)"
by( simp path_image_defball_def
then \<notin> path_image p" using w by blast
alid_path
bysimp: p()by add
        show "show "vector_derivative \ (at x) / (\ x - z) = d / (\ x - z)"
          by metis norm_minus_commute)
        show "contour_integral p (\wa. 1 / (wa - w)) = 0"
        proof (rule contour_integral_unique [OF        using >L>0\<close> by (simp add: field_simps)
          have "\z. cmod z < B + 1 \ z \ w"
            using w by blast
          then show "(\z. 1 / (z - w)) holomorphic_on ball 0 (B + 1)"
             ( holomorphic_introssimp: dist_norm
qed p pip injava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
      qedby( add integral_def
    }
    then show using [of 1] unfolding valid_path_def pathstart_def winding_number_prop_def
   ( dest(2) of]: field_simps)
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
  finally show ?   "winding_number
qed

corollary\<^marker>\<open>tag unimportant\<close> winding_number_zero_const: "a \<noteq> z \<Longrightarrow> winding_number (\<lambda>t. a) z = 0"
 rulejava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
     (auto simphave"

corollary\<^marker>\<open>tag unimportant\<close> winding_number_zero_outside:
    "\path \; convex s; pathfinish \ = pathstart \; z \ s; path_image \ \ s\ \ winding_number \ z = 0"
   meson  subsetCE)

lemma winding_number_zero_at_infinity:
 \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"
    shows "\B. \z. B \ norm z \ winding_number \ z = 0"
proof -
  obtain   obtain B
    using bounded_subset_ballD  L_cmod_le
  java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 0
      can bound winding    proof L
    showzg_number_pos_meets:
      using that by auto
    show "path_image \ \ cball 0 B"
      using .trans byblast
  qed
   showthesis
    byjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
qed

lemma  shows
  assumes  r where=w  )java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
  shows{.    <>using ( :r_def
proof -
  obtain B java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    using winding_number_zero_at_infinity assms by 
  thus ?thesis  have"Arg2pi r \ 2*pi"
    unfolding bounded_iff by (intro exI[of _ "B + 1"]      and"0 Rewinding_number

  
lemmashowswinding_number
    "\path \; convex S; pathfinish \ = pathstart \; open S; path_image \ \ S\
java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
  usingoutside_compact_in_open "path_image\" S] path_image_nonempty winding_number_zero_in_outside
  by (fastforce simp eqArg: "Im( 0java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3


text\<open>If a path winds round a set, it winds rounds its inside.\<close>
lemma winding_number_around_inside:
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" i_def
      and      "z \ \ ` {0..t}"
and : "z\ S" and wn_nz: "winding_number \ z \ 0" and w: "w \ S \ inside S"
    shows "winding_number \ w = winding_number \ z"
proof -
  have ssb:by(imp       pi_ge_two
  proof
    fix x :: complex
assumex\<in> S"
    hence   haveppag \<gamma> \<subseteq> - cball z (e/2)"
      by    sing bysimp:i_def
thusjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
      by (metis Complex_Transcendental[ r] \<open>r \<noteq> 0\<close>
  qed
  showjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
  proof (rule winding_number_eq [OF \<gamma> loop w])
    show "z \ S \ inside S"
      using z  blast
    show "connected (S \ inside S)"
java.lang.StringIndexOutOfBoundsException: Range [50, 6) out of bounds for length 50
    show (S\<union> inside S) \<inter> path_image \<gamma> = {}"
      unfolding
       ( ComplD    wherevalid_path \<notin> path_image p"
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 5
qed

\<>Bounding WN by1/for  andpoint      using winding_number [OF \<gamma> z, of "min d e/2"] \<open>d>0\<close>
lemmawinding_number_subpath_continuous
  assumes \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>"have"w
           simp
 rule
  let       -
  show "continuous_on {0..java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  proof (intro indefinite_integral_continuous_1 winding_number_exp_integral continuous_intros)
    show   java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

b
  show "1 / (2 * pi *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ifobtain q:    
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    have "1 / (2*pi*\) * ?f x = 1 / (2*pi*\) * contour_integral (subpath 0 x \) (\w. 1/(w - z))"
       assms
byrule_tac"java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    also have "\ = winding_number (subpath 0 x \) z"
     (subst)
      show\<notin> path_image (subpath 0 x \<gamma>)"
        using assms x atLeastAtMost_iff e  "e>0 cbg p
    qed (use assms x valid_path_subpath in \<open>force+\<close>)
    finally show ?thesis( simp [" "
  
qed

lemma winding_number_ivt_pos:
    assumes \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and "0 \<le> w" "w \<le> Re(winding_number \<gamma> z)"show  holomorphic_onz 3/4*pe
    shows "\t \ {0..1}. Re(winding_number(subpath 0 t \) z) = w"
proofobtain:real where 0<B  B: path_image
  have  using [OF [OF
    using \<gamma> winding_number_subpath_continuous z by blastw: wherew
  moreover have "Re (winding_number B order.transbyblast
java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
   show
    using ivt_increasing_component_on_1[ofmoreover have "winding_number \ constant_on outside (path_image \)"
qed

lemma winding_number_ivt_neg:
     \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and "Re(winding_number \<gamma> z) \<le> w" "w \<le> 0"
ows\<exists>t \<in> {0..1}. Re(winding_number(subpath 0 t \<gamma>) z) = w"
proof -
  havehave:ewnot notin
    using:eal  "<"
         rule_tac" (pe/4) (/2pe^2L/)"in) (simpadd cmod_wn_diff)
    using assms by (auto simp: path_image_def image_def)
  ultimately show ?thesis
    using ivt_decreasing_component_on_1[of 0 1, where ?k = "1"by force
qed

lemma winding_number_ivt_abs:
    assumes \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and "0 \<le> w" "w \<le> \<bar>Re(winding_number \<gamma> z)\<bar>"pathstart
        by(simp add: continuous_at_imp_continuous_on continuous_at_winding_number)
      proofintro
  by subsection

lemma winding_number_lt_half_lemma:
  assumes
 \<gamma> z) < 1/2"
 -
{ Re
    then obtain t::real then "w\notin> p" usingwbyblast
      using winding_number_ivt_pos [OF \<gamma> z, of "1/2"] by auto
    ifwinding_number><noteq> winding_number \<gamma> z" and "y \<in> S" "z \<in> S" for y z
      using winding_number_exp_2pi [of "subpath 0 t \" z]
      apply( add: t \<gamma> valid_path_imp_path)
u closed_segment_eq_real_ivl t  byfastforce: path_image_subpath Euler)
    have "b < a \ \ 0"
    proof -
java.lang.StringIndexOutOfBoundsException: Index 103 out of bounds for length 52
        by (metis (no_types) paghave"<>z.cmod z \ w"
                   mem_ball_0 blast
         blast
    qed
    moreover have "b < a \ \ t"
      by (metis atLeastAtMost_iff image_eqI mem_Collect_eq pag path_image_def subset_iff t)
    ultimately " < \ (\ 0 - z)" "0 < a \ (\ t - z)" using az
      by ( add inner_diff_right
    then java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
      by ( add gt mult_less_0_iff
  }
  then showby(ghtarrow\gamma  winding_number
qed

lemma winding_number_lt_half:
lemma:
    shows "\Re (winding_number \ z)\ < 1/2"
proof -
  have "z \ path_image \" using assms by auto
by(rule                       
    by (metis complex_inner_1_right winding_number_lt_half_lemma( simp pathfinish_def                      bysimpclosed_path_image
        winding_number_reversepath valid_path_imp_path inner_minus_left path_image_reversepath)
    "path \; convex s; pathfinish \ = pathstart \; z \ s; path_image \ \ s\ \ winding_number \ z = 0"
    using \<open>z \<notin> path_image \<gamma>\<close> winding_number_lt_half_lemma by fastforce e 0<e  w: "cmod w - )2 / (8* )java.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92
qed

lemma :

      and anz: "a \ 0" and azb: "a \ z \ b" and pag: "path_image \ \ {w. a \ w \ b}"
    shows "\Re (winding_number \ z)\ \ 1/2"
proof -
  {   B: where " and path_image
    have "isCont (winding_number \) z"
      by (metis continuous_at_winding_number valid_path_imp_path \<gamma> z)
--> --------------------

--> maximum size reached

--> --------------------

99%


¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.67Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.