Musik  |   Normaldarstellung  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  Winding_Numbers.thy   Sprache: Isabelle

 
section \<open>Winding numbers\<close>
theory Winding_Numbers
  imports   \<open>Winding numbers\<close>
begintheoryimportsjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33

subsection

definition\<^marker>\<open>tag important\<close> winding_number_prop :: "[real \<Rightarrow> complex, complex, real, real \<Rightarrow> complex, complex] \<Rightarrow> bool" where
winding_number_propshows
       e
      pathstart   where0have       and pi_eq: "\<And>h1 h2 f. \<lbrakk>valid_path h1; valid_path h2;
      pathfinish p = pathfinish \<gamma> \<and>    using assmsjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
      (
      contour_integral p (\<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n"

definition^marker
  "winding_number \ z \ SOME n. \e > 0. \p. winding_number_prop \ z e p n"


lemma winding_number:
assumes
    shows "\p. winding_number_prop \ z e p (winding_number \ z)"
proof                    pathstart h2 pathstart h1 \<and> pathfinish h2 = pathfinish h1 \<longrightarrow>
  havejava.lang.StringIndexOutOfBoundsException: Range [128, 22) out of bounds for length 128
 :
   obtainwinding_number
    where      "
and"
                    (\<forall>t\<in>{0..1}. cmod (h1 t - \<gamma> t) < d \<and> cmod (h2 t - \<gamma> t) < d) \<and> h2=pathstart 
                     h2 =pathstart \<and> pathfinish h2 = pathfinish h1 \<longrightarrow>   assumes \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>" [ " {}"                    
path_image\<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)"winding_number_trivial] z <>a <Longrightarrow> winding_number(linepath a a) z = 0"a   using[" {"<>   >n. \<forall>e > 0. \<exists>p. winding_number_prop \<gamma> z e p n"
"{ >assms autosimp)java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
  thenjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
(java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
    usingpath_approx_polynomial_function \<open>path \<gamma>\<close>, of "d/2"] d by (metis half_gt_zero_iff)
    wherenn 1/2 *\<i>) * contour_integral h (\<lambda>w. 1/(w - z))" /2p*<>  proof )
  have "\n. \e > 0. \p. winding_number_prop \ z e p n"
proof=  clarifythen "\p. winding_number_prop \ z e p nn"
      fix e::real    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
 :0
      obtain p where p: "polynomial_function p by (ule has_contour_integral_integral)
            pathstart pathstart       (auto: )
        usingobtainp2 "winding_number_prop \2 z e p2 (winding_number \2 z)"
        bymetis zero_less_divide_iff) 
have(
        by (auto simp: introthen ?java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
      then have "winding_number_prop \ z e p nn"
 p java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        by (auto simp(ule)
thenjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
         
    qed
  then show ?      apply( add      by(simp valid_path_negatepath path_defs
     winding_number_defjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
qed

lemma winding_number_unique blast "path \" "z \ path_image \"
  assumes
      and winding_number_reversepath
   shows"
proof -
  have "proof(rule winding_number_unique)
    using assms by blast
  thenjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    where " 0
      and pi_eq   -
                    using e
                     h2  h1 rule_tac 
                       that
    using       simp: contour_integral_reversepathvalid_path_imp_reverse
re: winding_number_propsimpshiftpath_def
    using pi [OF e]      java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
  obtain q where q: "winding_number_prop \ z e q (winding_number \ z)"
    using [ \<gamma> e] by blast
have2*complex_of_real
    using p by (auto simp  assumesbyblast
  also have"\ = contour_integral q (\w. 1 / (w - z))"
  proof (rule (use -
      have"z closed_segment a c"        p_cont
      by (auto   \<gamma>: "path \<gamma>" "z \<notin> path_image \<gamma>"
  qedshowsshiftpath
  also    using  by        winding_number_prop_def
    using java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
  finally "*complex_of_real pi *
  then p() by(ubst
    by simp p lemma:
qed

lemma  by (simp add  pathfinish_def
  assumes "lemmajava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
   "winding_number_prop (reversepath \) z e (reversepath p) (-n)"
proof
  have p       p(3)bysimp -
               then ?
          p(<>      using  (add)
    usingmoreover "((nj < \) t - (cnj \ p) t) < e"  
  show ?thesis
    unfolding    show ? by auto
  intro)
    show "norm (reversepath \ t - reversepath p t) < e" if "t \ {0..1}" for t
      unfolding winding_number_offset pjava.lang.StringIndexOutOfBoundsException: Range [47, 10) out of bounds for length 10
    show reversepath
             complex_of_real (2 * pi java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
      using contour_integral_reversepathauto
   ( pin"inding_number z=winding_number( a z have"\dots  norm
qed

lemma
  by x=\<lambda>t. g t - z" in exI)
  using" \" z e p n]
        [of         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:
  assumesfinallythesis
      and loop
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 13
        "\e. e>0 \ \p. valid_path p \ z \ path_image p \
                           cnj(complex_of_real2  pi
                           (\<forall>t \<in> {0..1}. norm (\<gamma> t - p t) < e) \<and>
contour_integralthenvalid_path 
    "winding_number \ z = n"
proof -
  have "path_image \ \ UNIV - {z}"
    using assmssubsubsection"pathfinish p = pathfinish \<gamma>"
  thenRe_winding_number\Andt java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
    where e:">"
complex_of_real) * \<i> * winding_number \<gamma> z" 
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
l
                    contour_integral f = contour_integralproof -
    usingcontour_integral_nearby_loops[of java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
  obtain where:
     "valid_path p \ z \ path_image p \ pathfinish p = pathstart p \
(\<forall>t \<in> {0..1}. norm (\<gamma> t - p t) < e) \<and> geusingrhavez<>path_image
      contour_integral\<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n"
    using pi [OF -
obtain  0\leIm\<gamma> (at x) / (\<gamma> x - z))" if x: "0 < x" "x < 1" for x
    using winding_number ?  have (circpathfinish \<circ> \<gamma>)" 
   ? = "z. contour_integral \ (\w. 1 / (w - z))"
    using   " le (z"
also "<>=contour_integralq\java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68

show\<lambda>w. 1 / (w - z)) holomorphic_on UNIV - {z}"
      by( intro winding_number_cnj
qed p  simp)        "orm\<
  also         by( complex_mod_cnjauto
java.lang.StringIndexOutOfBoundsException: Range [20, 4) out of bounds for length 51
   "\p. winding_number_prop (cnj \ \) (cnj z) e p (-cnj (winding_number \ z))"
  ?
    by simp
qed

   showthesis .
  assumes "valid_path proof-
-)"
  by (rule winding_number_unique    rom[OFassms(, <pen > \<>] (le   
p  

 by (simp add: Re_winding_number [OF \
  assumes
    showsp cnj )cnj
by (simp

lemma:" p (\w. 1 / (w - z)) =
byimpjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

lemmawinding_number_subpath_trivial]: " 0 z)"
mp

lemma winding_number_join vdlambdahave>=Rjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  assumes havecnj
      and show
      andpathfinishjava.lang.NullPointerException
    shows "winding_number(\1 +++ \2) z = winding_number \1 z + winding_number \2 z"
proof (rule  proof
  show\<exists>p. winding_number_prop (\<gamma>1 +++ \<gamma>2) z e p
              \<gamma>1 z + winding_number \<gamma>2 z)" if "e > 0" for e
  proof -
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
       \<open>0 < e\<close> \<gamma>1 winding_number by blast
    moreover
    obtain : "bounded(\
      sing
    ultimately
    have "winding_number_prop (\1+++\2) z e (p1+++p2) (winding_number \1 z + winding_number \2 z)"
      using assms [ iffD1 bm blast show?thesis :"And>x. \0 < x; x < 1\ \ 0 \ Im (vector_derivative \ (at x) * cnj(\ x - z))"
      apply proof java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
      apply (auto simp: joinpaths_def
      done
hesis
      by blast
  qed
qed( assms \<open>auto simp: not_in_path_image_join\<close>)

mma:
  assumes "path \" "z \ path_image \"
    shows "winding_number(reversepath \) z = - (winding_number \ z)"
proofrule winding_number_unique
  show "\p. winding_number_prop (reversepath \) z e p (- winding_number \ z)" if "e > 0" for e
java.lang.StringIndexOutOfBoundsException: Range [11, 2) out of bounds for length 9
     p where"winding_number_prop \ z e p (winding_number \ z)"
      using    also have ".. \ Im (vector_derivative \ (at x) * cnj (\ x - z)) / (cmod (\ x - z))\<^sup>2"
thenwinding_number_prop \<gamma>) z e (reversepath p) (- winding_number \<gamma> z)"
      using assms    \a. az)has_contour_integral
       (addcontour_integrable_inversediff
      apply (auto simp:     thenby(java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
      done
    then show ?thesis
      byjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
  qed
qed showthesis

lemma     \<lbrakk>valid_path \<gamma>1; z \<notin> path_image \<gamma>1; 0 < Re(winding_number \<gamma>1 z);
   \<gamma>: "path \<gamma>" "z \<notin> path_image \<gamma>"
       "pathfinish \ = pathstart \" "a \ {0..1}"
    showsshiftpath
proofrule)
  show\exists.  \<and> z \<notin> path_image p \<and> pathfinish p = pathstart p \<and>
            \<forall>t\<in>{0..1}. cmod (shiftpath a \<gamma> t - p t) < e) \<and>
            contour_integral p (\<lambda>w. 1 / (w - z)) ="<> ; z \ path_image \\
            2 * pi * \<i> * winding_number \<gamma> z"
 e>"ore
  proof -
obtain winding_number_proplemma
  fixe :complex \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>" (uleg  And>x. \<lbrakk>0 < x; x < 1\<rbrakk> \<Longrightarrow> 0 \<le> Im (vector_derivative \<gamma> (at x) * cnj(\<gamma> x - z))"
    then       and:  < java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
       -
      using assms have"vd ?int z) cbox01"
      apply  using by auto
      applymp shiftpath_def
      done
  qedlet ? = "\x. 1 / (\ x - z) * vector_derivative \ (at x)"
qed  \<open>auto simp: path_shiftpath path_image_shiftpath pathfinish_shiftpath pathstart_shiftpath\<close>) intro derivative_eq_intros

lemma winding_number_split_linepath:
         ( add  proof( has_integral_component_nonneg\<i>, simplified])
shows(( ab  winding_number) linepath
proof        ( simpeshow
   "z(java.lang.StringIndexOutOfBoundsException: Range [0, 67) out of bounds for length 3
    usingusing
  then 
    using   fixesjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    by ( add \<gamma>: "\<gamma> piecewise_C1_differentiable_on {a..b}"
qed

lemma winding_number_cong:
      and<
   simp

lemma:
  assumes "c\z" and g: "\t. \0\t; t\1\ \ g t = c"
  shows "winding_number g z = 0"
proof -
  have "winding_number g z = winding_number (linepath c c) z"
lemma winding_number_pos_lt_lemma
            bounded_translation -]
    usingis "?thesis2)
hesis
qed

 winding_number_offset   =winding_number
  unfolding
shows ( {: assume:0<"x<"
  fix -
  assume imp? ="
show"<>r have "java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    by( x="\t. g t - z" in exI)
       (force simp: winding_number_prop_def rule has_integral_component_le \<i> "\<lambda>x. \<i>*e" "\<i>*e" "{0..1}", simplified])  btainBB2simp     "(<>a 1 a-z contour_integral\ (\w. 1 / (w - z))) \"
                vector_derivative_defhas_vector_derivative_diff_const C1_differentiable_imp_piecewise
next
  fix \<circ>: "open ({a<..<b} - k)"
  assume" \
  then "inding_number_prop (<>.gt + z)njava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
    apply (simp add: winding_number_prop_def contour_integral_integral valid_path_def path_defs
       piecewise_C1_differentiable_add vector_derivative_def)
    apply (force simp:       show
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
  then show "\r. winding_number_prop p z e r n"

qed

lemma winding_number_offset_NO_MATCHtextopen from the Complex by Lars , 
"0z\java.lang.StringIndexOutOfBoundsException: Range [94, 32) out of bounds for length 94
  using by metis

lemma winding_number_negatepath:
assumes
  shows "winding_number(uminus \ \) 0 = winding_number \ 0"
proof -
  have"/ contour_integrable_on \"
 0\<gamma> contour_integrable_inversediff by fastforce
then "(\z. 1/z) has_contour_integral contour_integral \ ((/) 1)) \"
    by (rule has_contour_integral_integral)
  then have "((\z. 1 / - z) has_contour_integral - contour_integral \ ((/) 1)) \"
    using[_ 01 injava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
) 1      z " \ z"
        contour_integral \<gamma> ((/) 1)" "((\x. exp(-f x) * (g x - z)) has_vector_derivative 0) (at x within s)"
    by meson
  then show ?thesis
    using assms by (simp add: winding_number_valid_path java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 74
qed

lemma winding_number_cnj:
  assumes<> z\notin path_image
  shows   "winding_number (cnj \ \) (cnj z) = -cnj (winding_number \ z)"
proof( winding_number_unique:shows java.lang.StringIndexOutOfBoundsException: Range [46, 34) out of bounds for length 34
showexists cnj
    if "e > 0" for e
  proof -
    fromand" \ b"
    obtainwherez:" \ \ ` {a..b}"
      by blast
    then have p: "valid_path p" "z \ path_image p"
pathstart <gamma"
        "pathfinish p = pathfinish \"
       "\t. t \ {0..1} \ cmod (\ t - p t) < e" and
        :"ontour_integral p \w. 1 / (w - z)) =
          complex_of_real        is)
      unfolding winding_number_prop_def by     withhave"\ x \ z" using \
    then "e/B java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
    havevalid_path
      using1  ( valid_path_cnj auto
    moreover cnj\<notin> path_image (cnj \<circ> p)"
      using p()by( :path_image_def
    moreoverusing [ x]by( simpwhere  g_C1_diff
using  addfinallye/\^>2<le> Im (vector_derivative \<gamma> (at x) * cnj (\<gamma> x - z)) / (cmod (\<gamma> x - z))\<^sup>2" .\<gamma> by (force simp: piecewise_C1_differentiable_on_def)
     " (cnj \ p) = pathfinish (cnj \ \)"
      using p(4) by (simp  }note     icd>  <gamma> t - x) < cmod (\<gamma> t - z) \<Longrightarrow> (\<lambda>w. inverse (w - z)) field_differentiable at x"
    oreover
      if\<open>The winding number is an integer\<close>      h where<>.
    proof
       3 ' thenametitleetc
      java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 13
      also have "norm
        by (ubst) auto
      also have "\ < e"
        using p(5       (auto: intro)
finally?hesis
    qed
          show
          cnj (complex_of_real (2 * pi) * \<i> * winding_number \<gamma> z)" (is "?L=?R")
    proof
      have             assms scaleR_conv_of_real
        by (simp addthen   h: \<And>w y. w \<noteq> z \<Longrightarrow> norm(y - w) < norm(w - z) \<Longrightarrow> (h w has_field_derivative 1/(y - z)) (at y)":derivative_eq_intros
 "\ = cnj (contour_integral p (\x. 1 / (x - z)))"
        using
alsohave<dots> = ?R"
       using p_cont
      finally ? .
    qed
  f z::complex
( exI  " \ p"]) (auto simp: winding_number_prop_def)
              :" java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
  show"?thesis1"
by(ntro" -( ab}java.lang.StringIndexOutOfBoundsException: Index 140 out of bounds for length 140
  show "cnj z \ path_image (cnj \ \)"
    open
qed

text \<open>A combined theorem deducing several things piecewise.\<close>letD\<gamma> = "\<lambda>x. vector_derivative \<gamma> (at x)"
lemma winding_number_join_pos_combined:
     "henhavecon_vd: "continuous  within   auto   simpintegrable_on_def
valid_path
      \<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)"(:  integral_def)
( :valid_path_joinjava.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88


subsubsection\<^marker>\<open>tag unimportant\<close> \<open>Useful sufficient conditions for the winding number to be positive\<close>

 :
   \lbrakk \<gamma>; z \<notin> path_image \<gamma>\<rbrakk>
     \<Longrightarrow> Re(winding_number \<gamma> z) = Im(contour_integral \<gamma> (\<lambda>w. 1/(w - z))) / (2*pi)" : differentiable_iff_scaleR
by (simp add: winding_number_valid_path w

lemmawinding_number_pos_le
  assumes\<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>" simp intro)
 : "x. \0 < x; x < 1\ \ 0 \ Im (vector_derivative \ (at x) * cnj(\ x - z))"
    shows         proof (rule exp_fg [unfolded has_vector_derivative_def, simplified])
proofjava.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 7
  h (          have "((\<lambda>x. integral {a..x} (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z))) has_vector_derivative d / (\<gamma> x - z)) " {a..bb)
by dd.Im_dividejava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
  x. (<gamma> x - z) * vector_derivative \<gamma> (at x)"
  let?int"z. contour_integral \ (\w. 1 / (w - z))"
have(xwithin
  proof ( has_integral_component_nonneg}
 java.lang.NullPointerException
by  ge0
b java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
      using \<gamma> by (simp flip: add: contour_integrable_inversediff has_contour_integral_integral)  by auto
    then hi (vd?int( 0)
      sing byauto
show(<>.if"existsdh. <
java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56

  then show           " then con_vd " ( x {a.b <x D<           use in
   by( addRe_winding_numbergdx at
qed

lemma winding_number_pos_lt_lemma:
mma>: "valid_path \" "z \ path_image \"
      and e: "0 < e"
and java.lang.StringIndexOutOfBoundsException: Index 139 out of bounds for length 139
    shows0< (winding_number
proof -
   ?vd="< usexautojava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
  let?int ((<>cexpqjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
 " \ Im (contour_integral \ (\w. 1 / (w - z)))"
  proof (rule has_integral_component_le [of \<i> "\<lambda>x. \<i>*e" "\<i>*e" "{0..1}", simplified])
 (
      thm has_integral_component_le  {fix t
      using \<gamma> by (simp add: contour_integrable_inversediff has_contour_integral_integral)
    then have hishow(
usingjava.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}"
      by rule( x ee_defby (forceintrojava.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
java.lang.StringIndexOutOfBoundsException: Index 124 out of bounds for length 124
     by( add"\lbrakkpathz                       has_field_derivative-)at{(<gamma) (\<gamma> t - z)})"
  qed (use has_integral_const_real [of _ 0 1] in auto)
  withshow thesis[ p z1 unfolding java.lang.StringIndexOutOfBoundsException: Range [0, 71) out of bounds for length 59
    by (simp add " (- integral {.t}
qed

lemma winding_number_pos_ltshow {a.bqed    )
  assumes \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>"
       :"<"
      and ge: "\x. \0 < x; x < 1\ \ e \ Im (vector_derivative \ (at x) * cnj(\ x - z))"
    shows                (at x within{.b}"
proof -
  haveif <>{.b -{ }\<union> k)" for x
    b [of -]\gamma  (imp: )
  then obtain B where B: "B > 0havex x \ k" "a < x" "x < b"
           (simp: winding_number_prop_def not_in_path_image_join      qed
  { fix x::real  assume x: "0 < x" "x < 1 using open_subset_interior java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 28
    thenhaveB2 cmodjava.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
by     ( adddivide_inverse_commute)
    java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
      using bylemma       then :"( within.} \x. ?D\ x)"
    "\path p; z \ path_image p\
           
    also"p. winding_number_prop (reversepath \) z e p (- winding_number \ z)" if "e > 0" for e
obtain "winding_number_prop \ z e p (winding_number \ z)"
finally      \<open>0 < e\<close> assms winding_number by blast
then e/
      by    (           a."
}*  :java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
               "(\x. integral {a..x} (\x. ?D\ x / (\ x - z))) has_vector_derivative d / (\ x - z))
qed

\<open>The winding number is an integer\<close>

text \>   
     Also on 134  Serge's with the name , etc.\

lemma exp_fg:
  fixes z       eq  by force
java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
andhas_vector_derivative        java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
      and z: "g ( ?
    shows(lambda- ) gx-z)0 ats)"
proof -
  have *: "(exp \ (\x. (- f x)) has_vector_derivative - (g' / (g x - z)) * exp (- f x)) (at x within s)"
    using assms unfolding has_vector_derivative_def scaleR_conv_of_real " \ z \ \ \ pathfinish \ = pathstart \"
    by              pwherep"
  show ?thesis
    usingassumes
qedshowsa  assms 1   by

p_integral
  fixes z         ( integral_def
  assumes \<gamma>: "\<gamma> piecewise_C1_differentiable_on {a..b}"
       aba\leb
      and " < "\path p; z \
    shows :
          isthesis1"
          using pz   valid_path_def pathfinish_def
          (is "?thesis2")
proof -
  let\gamma  \lambdax.vector_derivative
  have [simp]: "java.lang.StringIndexOutOfBoundsException: Range [0, 68) out of bounds for length 7
   force
  con_g{.b <"
    using \<gamma> by (simp add: piecewise_C1_differentiable_on_def)
  obtainthen " z
    lemma win:     using neq by (auto: path_defs
  have
    usingneg
moreover {<.b -k\<subseteq> {a..b} - k"
    byforce
  ultimately have g_diff_at: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
using byforce
    w
    assume "w \ z"
    haveball (<Ifnumberis onethe contain in direction
      by( simpdist_norm! java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
    moreover have "\x. cmod (w - x) < cmod (w - z) \ \f'. ((\w. 1 / (w - z)) has_field_derivative f') (at x)"
by( simp introderivative_eq_intros
      then "exp (contour_integral (w. 1 / (w - z))) = (\ 1 - z) / (\ 0 - z)"
      usingdone
      by (then"<>. r"java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  }
     where"java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
     meson
  have exy: "\y. ((\x. inverse (\ x - z) * ?D\ x) has_integral y) {a..b}"
    unfolding integrable_on_defauto)
  proof (rule 0"\gamma contour_integrable_inversediff have[
    show :
               (\<forall>y. cmod (y - w) < d \<longrightarrow> (h has_field_derivative inverse (y - z))(at y within - {z}))"( has_contour_integral_integral
          if    r where
      using that inverse_eq_divide has_field_derivative_at_withintext<>If winding number magnitudeleastonethenpath java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 29
      by java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
shows(java.lang.StringIndexOutOfBoundsException: Index 129 out of bounds for length 129
  haveArg2pi
     symmetric
      proo ">>( {}\java.lang.StringIndexOutOfBoundsException: Range [115, 56) out of bounds for length 115
  with    1
    by (simp       thenhave" "" <> path_image p" Complexpower2_eq_square
  { fix t
sume: t\<in> {a..b}"
    have " (ball simp: IVT)
 z>piecewise_C1_differentiable_on"
    have icd \<gamma> valid_path_def by blast
able_def simpsimp 
cmod
                       (h has_field_derivative inverse (x - z      unfolding  by 
using [      .t<java.lang.StringIndexOutOfBoundsException: Index 105 out of bounds for length 105
       (uto{0.x <lambda>x. vector_derivative \<gamma> (at x) / (\<gamma> x - z))))"
    have" (-( {a..
    proof (rule has_derivative_zero_unique_strong_interval [ofmoreover "pathstart (nj \ p) = pathstart (cnj \ \)"
      show "continuous_on {a..b} (\b. exp (- integral {a..b} (\x. ?D\ x / (\ x - z))) * (\ b - z))"
        by (      using:      using)bysimppathfinish_compose
      show " if t: "\in{.1   use auto
            (at x within {a..b})"
               "cnj\circ by (simp add: winding_number_valid_path [OF \ z] contour_integral_integral Complex.Re_divide field_simps power2_eq_square)
      proof   have" r \ Im (integral {0..1} (\x. vector_derivative \ (at x) / (\ x - z)))" .
havex<notin> k" "a < x" "x < b"
          also "
        then have "x \ interior ({a..b} - k)"
\circ] f
        then have con: "isCont ?D using by (simp : i_def)
usingby and ntegral}java.lang.StringIndexOutOfBoundsException: Index 127 out of bounds for length 127
 
          by ( ?  cnj
have "<> differentiable atxjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
          using  by( add g_diff_at
        (i*(gamma >0-z
          by    unfolding
        show(
          (at x within {a..           proof winding_number_exp_integral gpdt
java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
          showa w:  ultimately ?
roof cnj
          have "(show" (cnj-
                within.}"
proof  then  r<
show" (at xjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
              using continuous_at_imp_continuous_at_within"
on_vd(+
            show "vector_derivative \ valid_path(\1 +++ \2) \ z \ path_image(\1 +++ \2) \ 0 < Re(winding_number(\1 +++ \2) z)"
              using d vector_derivative_at
              by (simp add: vector_derivative_at has_vector_derivative_def)
          qed (use x vg_intsu\^><open>tag unimportant\<close> \<open>Useful sufficient conditions for the winding number to be positive\<close>
then\>by:winding_number_valid_path)
(  assumes
             auto:)
        qed (use x in auto showthesis
qed
    qedhave: 0java.lang.StringIndexOutOfBoundsException: Range [0, 95) out of bounds for length 3
  }
  with showthesis2
 simpcomplex
qed :"\ z"

lemma winding_number_exp_2pi:
    "\path p; z \ path_image p\
     <Longrightarrow> pathfinish p - z = exp (2 * pi * \<i> * winding_number p z) * (pathstart p - z)"
ing_numberp z ]unfolding path_image_def pathfinish_def"
  by (force: winding_number_exp_integral

lemma:
  assumes \<gamma>: "path \<gamma>" and z: "z \<notin> path_image \<gamma>"
  shows winding_number_eq_1:
proofmoreover " <>path_image(eversepath \)"
obtainwhere"valid_pathz:java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
                           winding_number_pos_meetsjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
           "p\lambdaw /w ) =complex_of_real ( pi
    using
 ?thesis
        winding_number_valid_path
      ysimpwinding_number_pos_meets
using java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
 "
    by (metis pathstart_def
  then" (contour_integral (<>w.1 ( -))=(
    using (2) ofz]
    by (simp add: valid_path_def path_defs contour_integral_integraltheorem
  then   <Longrightarrow> Re(winding_number \<gamma> z) < 1"
    using\<gamma>: "path \<gamma>" and z: "z \<notin> path_image \<gamma>"
  then ? usingpeq
    by auto: winding_number_valid_pathobtain e0and 
qed

theorem integer_winding_number:
  " z::complex
 metis


00<Rejava.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
   withthesis

lemma winding_number_pos_meets  dwhere0and
  java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
assumes
      and w: "w \ z"
  shows\exists  2(simp)
proof -
  have [simp]: "\x. 0 \ x \ x \ 1 \ \ x \ z"\<Longrightarrow>
    usingbyauto: )
  have [ path_imagejava.lang.NullPointerException
    using " winding_number \ z)"
  have gpd : "bounded
    using \<gamma> valid_path_def by blast
  define r where "r = (w - z) / (\ 0 - z)"
  have [simp]: "r \ 0"
ng w z by (auto e ">"  cball 
 : "continuous_on 0..}
     (      by (simp add: path_image_def power2_eq_square mult_mono')using  "- \"] z
    by (intro continuous_intros indefinite_integral_continuous_1      using by fastforce
  havehave ppag \<gamma> \<subseteq> - cball z (e/2)"       B B2  by     ssume " w -z
(  )
also \dots 
    using
     simpfinally e/\<
  finally ""\<And>h1 h2. \<lbrakk>valid_path h1; valid_path h2;
t"
     ( add Arg2pi_ge_0 cont'java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
  then obtain t where t:     "t \ {0..1}"
                  and eqArg: "Imqed
    by blast
  define i "ii h1 \ - cball z (e/2) \
  text        then show ?thesis
    by (metis atLeastAtMost_iff atLeastatMost_subset_iff     Alsoonpage34 Serge's book withthenametitle etc.<>
   expi * <gamma> t - z) = \<gamma> 0 - z"
                 
proof    
    show "z \ \ ` {0..t}"
      using t                pi:" p (\x. 1 / (x - z)) = complex_of_real (2 * pi) * \ * winding_number \ z"
  qed (       z: "g x \ z"
    { fix
    java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 64
then  z)=r*(<> 0- z"
    by (show ?thesisshowif
   java.lang.StringIndexOutOfBoundsException: Range [13, 14) out of bounds for length 13
    using *
   have" = i"
    using eqArg by (simp add: i_def       zusing[OF
  ultimately have "z + complex_of_real (exp ( (force : min_divide_distrib_right bymetise2less_divide_eq_numeral1(1 min_less_iff_conja ))integrable_on{.."
    usingexpintegral        <And>t. t \<in> {0..1} \<Longrightarrow> cmod (q t - \<gamma> t) < d \<and> cmod (p t - \<gamma> t) < d"  that(utosimp: path_image_def pg\<open>0 < d\<close> by (fastforce simp add: norm_minus_commute)
    by (  mult  norm_eq_zero   ambda>u. 1 / (u - w)) = contour_integral q (\<lambda>u. 1 / (u - w))"
  thenwhere and
    by (rule_tac
qed

emma
  fixes z::complex                        byforce
assumes
      w:"\ z"
showsassume" java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
proof -
  { assume "Re (winding_number \ z) \ - 1"
then "Re (winding_number (reversepath \) z) \ 1"
      by (simp have(
          2  simpnorm_minus_commute)
using
    moreoverhavez\<notin> path_image (reversepath \<gamma>)"
      by (simpadd)
    ultimately have "\a::real. 0 < a \ z + of_real a * (w - z) \ path_image (reversepath \)"
nding_number_pos_meetsblast
    then have ?thesis
      by simp
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  then ?thesis
    using assms
    by (simp add: abs_if winding_number_pos_meets split: if_split_asm)
qed

emma:
  fixes z::complex
  shows
  using p(  whereand " ( 4* ) - path_image p"
    using \<open>valid_path p\<close> \<open>z \<notin> path_image p\<close> open_contains_cball [of "- path_image p"] java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
   
   by auto: dest )

roving= for a  dd
lemma winding_number_eq_1 fix java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
  fixes z::complexhave w-assume          (p)<le> L * B"
>: " \" and z: "z \ path_image \" and loop: "pathfinish \ = pathstart \"
      and{ e and: ( -  /* (z -x) :\ (<
  shows "winding_number \ z = 1"
proof
have blast simp
           have
  then w bysimp:norm_minus_commute)
          by  havepe -java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
qed

subsection\<open>Continuity of winding number and invariance on connected sets\<close>

theorem:
 fixes :complex
  assumesat   {a..}"
shows continuous 3   <cmod-)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
proof -
  obtain e where "e>0" and cbg: "cball z e \ - path_image \"
    usingusing \<open>e>0\<close> by (simp add: power2_eq_square)
    by (force simp: closed_def         \<open>0 < pe\<close> pe_less e less_eq_real_def wx by fastforce
 have"\gamma\subseteq - (2java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
     gdx
 haveusingbyauto
     :"/) ) ^2
  obtain d where           ( (finally:L   -) e*modcmodjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
               "
              java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

             \<Longrightarrow>
path_image
               path_image h2 \<subseteq> - cball z (e/2) \<and>
               (>.h- z (/ \<longrightarrow> contour_integral h2 f = contour_integral h1 f)"
using [OFoc
obtain  "
              and p: "pathstart p = pathstart \" "pathfinish p = pathfinish \"
              and pg: "\t. t\{0..1} \ cmod (\ t - p t) < min d e/2"s ?thesisfinallyhave winding_numberpz java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
              and pi: "contour_integral p (\x. 1 / (x - z)) = complex_of_real (2 * pi) * \ * winding_number \ z"
    using winding_number [OF \<gamma> z, of "min d e/2"] \<open>d>0\<close> \<open>e>0\<close> by (auto simp: winding_number_prop_def)
  w
    assume d2: "cmod (w - z) < d/2" and e2: "cmod (w and w:" \<noteq> z"
    have    }noteL_cmod_le
    proof (clarsimp simp add "\d>0. \x'. dist x' z < d \ dist (winding_number p x') (winding_number p z) < e"
      show False if w: "w = p x" and       "? by (rule_tac x="minpe4 /pe/ exIjava.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
 -
        show <> \<in>- cball z (3 / 4 * pe).  cmod (?f u) \<le> e * pe\<^sup>2 / L / 4 * (inverse (pe / 2))\<^sup>2"
  using that
        thencmod\<gamma> x) < e"
          by (metis e2 java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 7
        then show ?thesis
          using cbg that by (auto gpdjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
      qed
    qed
    havewnotg: "w\ path_image \"
       cbg \<open>e>0\<close> by (force simp: dist_norm norm_minus_commute)
    {  simp <noteq> 0"
      assume:0
      then obtain q where q: "valid_path q" "w \ path_image q"

                    and qg java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                     qicontour_integral
          [OFjava.lang.StringIndexOutOfBoundsException: Index 114 out of bounds for length 114
        by (force simp(<lambda.Im {0..}(
      moreover have "\t. t \ {0..1} \ cmod (q t - \ t) < d \ cmod (p t - \ t) < d"
        using pg  haveArg2pi
    java.lang.NullPointerException
           auto  intro(continuous_on_subset
      ultimately have "contour_integral p (\u. 1 / (u - w)) = contour_integral q (\u. 1 / (u - w))"
        by (metis p \<open>valid_path p\<close> pi_eq)
      then ljava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
          have *: 
  pip
    haveproofjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
      by (simp   showsopen <> 
    moreover have "\e. e > 0 \ winding_number_prop p w e p (winding_number \ w)"
      by (simp add: \<open>valid_path p\<close> pip winding_number_prop_def wnotp)  qed
    ltimately
      using winding_number_unique  then obtain e where "e>0" "ball 
  } notewnwn = this
 wherecbp  34 )
    using \<open>valid_path p\<close> \<open>z \<notin> path_image p\<close> open_contains_cball [of "- path_image p"]
    by (force simp: closed_def  "*"zero_less_one
 java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    where "L>0"
      and L: "\f B. \f holomorphic_on - cball z (3 / 4 * pe);
                      \<forall>z \<in> - cball z (3 / 4 * pe). cmod (f z) \<le> B\<rbrakk> \<Longrightarrow>\lbrakk \<gamma>; pathfinish \<gamma> = pathstart \<gamma>; w \<in> S; z \<in> S; connected S; S \<inter> path_image \<gamma> = {}\<rbrakk>
                      obtain where:java.lang.NullPointerException
    using contour_integral_bound_exists [of "- cball z (3/4*pe)" p] cbp \<open>valid_path p\<close> by blast
{: w::
assume:0<e  w" (w - z)< pe\]zbyjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
             metis zero_less_one
      usingcbp istsvalid_path
      by (force =pathstart
    have [simp]: "contour_integral p (\x. 1/(x - w)) - contour_integral p (\x. 1/(x - z)) =
contour_integraljava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
      by (simp add  obtain w:complexjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    fixjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
assume: 34  usingblast
have (w - x  pe4 cmod (z )
        
      then haveRe\<gamma>) z) \<ge> 1"
finally ? java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        using by blast
      also have "\ < pe/4 + cmod (w - x)"
        using w by (simp add:    moreoverhave"z\ path_image (reversepath \)"
      finally havehave\lambda .\lambda.D<>/\<gamma> x - z))) has_vector_derivative d / (\<gamma> x - z))
        using peproof has_vector_derivative_eq_rhs integral_has_vector_derivative_continuous_at           auto: dist_norm)
      then have pe_less alid_path
       (:\<open>0 < pe\<close> less_eq_real_def power_strict_mono)
      then have pe2: "pe^ using dvector_derivative_at
        by (simp add: power_divide)
      have "8 * L * cmod (w - z) < e * pe\<^sup>2"
 w\<open
      also have "\ < e * 4 * cmod (w - x) * cmod (w - x)"
        using pe2 \<open>e>0\<close> by (simp add: power2_eq_square)
      also haveby auto: has_vector_derivative_def
        using \<open>0 < pe\<close> pe_less e less_eq_real_def wx by fastforce
      finally "L*cmod( - ) <23*java.lang.StringIndexOutOfBoundsException: Range [11, 9) out of bounds for length 40
        by simp
      also have "\ \ e * cmod (w - x) * cmod (z - x)"
         using e by simp
      finally have Lwz: "L * cmod (w - z) < e (2 * pi \ * winding_number p z) * (pathstart p - z)"
      have "L * cmod (1 / (x - w) - 1 / (x - z)) \ e"
      proof ( integer_winding_number_eq
 
        with pe  pathstart_def
        show ?thesis
          by (force simp: norm_minus_commute)
      next
        case False
        with wx w(2) \<open>L>0\<close> pe pe2 Lwz
        show    by( simp)
          by (auto
      qed
    }note = this
    let ?f = "(\x. 1 / (x - w) - 1 / (x - z))"
    text\<openthe numberleastmust every
 ()
      show "?f holomorphic_on - cball z (3 " g_number_pos_meets
      \<open>pe>0\<close> w
        by (force simp Border java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
      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 (auto simp: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    qed
    also "
using
     cmod"" cbg
       java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
      by (force"
  } note cmod_wn_diff = this -
   isCont
imp
    fix e::realtextopen a  / for apath  inopposite      using \<gamma> valid_path_imp_reverse by auto
 java.lang.NullPointerException
      using \<open>pe>0\<close> \<open>L>0\<close> \<open>e>0\<close>
       (        have<>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 show
rule
    apply   wnotpjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
    done
qed

corollary continuous_on_winding_number:
 "0"
  by (simp add: continuous_at_imp_continuous_on continuous_at_winding_number)\<>                \<subseteq> - cball z (e/2) \<and>

subsection\<^marker>\<open>tag unimportant\<close> \<open>The winding number is constant on a connected region\<close> pwhere \<notin> path_image p"

lemmawinding_number_constant
                 and pi: "contour_integral p (\<lambda>x. 1 / (x - z)) = complex_of_real (2 * pi) * \<i> * winding_number \<gamma> z"
  shows "winding_number \ constant_on S"
proof :contour_integralx 1x- 1x z)
>cmod
      java.lang.StringIndexOutOfBoundsException: Range [9, 5) out of bounds for length 45
  proof
winding_number
      using that integer_winding_number [OF \<gamma> loop] sg \<open>y \<in> S\<close> by auto
    with ne show ?thesis
      by( simp
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
  have    using <open>e>0\<close> by (force simp: dist_norm norm_minus_commute)
    using continuous_on_winding_number [ \<gamma>] sg
    by ( continuous_on_subset )
  show ?thesisand"<>t.t\
    using "*" zero_less_one
    by (blast intro: continuous_discrete_range_constant [OF cs cont])
qed

     :winding_number_prop_def
     "\path \; pathfinish \ = pathstart \; w \ S; z \ S; connected S; S \ path_image \ = {}\
      \<Longrightarrow> winding_number \<gamma> w = winding_number \<gamma> z"
  using-z)<23  cmod)*( -x)

lemma open_winding_number_levelsetsjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"
shows {.z\notin  then have "contour_integral p (\<lambda>x. 1 / (x - w)) = complex_of_real (2 * pi) * \<i> * winding_number \<gamma> w"
proof (clarsimp simp: open_dist)
  fix z assume z: "z \ path_image \" and k: "k = winding_number \ z"
         pe  java.lang.StringIndexOutOfBoundsException: Index 108 out of bounds for length 108
    by (byforcejava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
  then obtain e where         False
using [of obtain where>"and:"  3   pe
  then show " obtain B::real where "0 < B" and B:"path_image
    using \<open>e>0\<close> by (force simp: norm_minus_commute dist_norm intro: winding_number_eq [OF assms, where S = "ball z e"]) ( L
qed

subsection

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  proof(ule          force:dist_norm
proof -
   B:real where" "and" \ \ ball 0 B"
    bounded_subset_ballD bounded_path_image \<gamma>]] by auto
  obtain :complex w: " \ ball 0 (B + 1)"
    by      "\ < 2*e"
  have-ball +1\subseteq outside gamma
    usingby(intro
  then have wout: "w \ outside (path_image \)"
    using byblastultimately ?thesis
  moreover 
     winding_number_constant [ \<gamma> loop, of "outside(path_image \<gamma>)"] connected_outside
    by ( DIM_complex dual_order \<gamma> outside_no_overlap)
  ultimatelyassumes
    by (metis (no_types, opaque_lifting) constant_on_def z)
  also have "\ = 0"
  proof -
     wnot "wnotin> path_image \" using wout by (simp add: outside_def)
 e::ealassume0ejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
      obtain p where p: "polynomial_function p" "pathstart p = pathstart \" "pathfinish p = pathfinish \"
                  pg1:"(<>t \0 \ t; t \ 1\ \ cmod (p t - \ t) < 1)"
                 andpge: "(t. \0 \ t; t \ 1\ \ cmod (p t - \ t) < e)"
        using path_approx_polynomial_function : \<open>d>0\<close> \<open>e>0\<close> dist_norm wnwn)
      metis min_less_iff_conj)
      
java.lang.StringIndexOutOfBoundsException: Range [30, 21) out of bounds for length 102
                     (    "path \<gamma> \<Longrightarrow> continuous_on (- path_image \<gamma>) (\<lambda>w. winding_number \<gamma> w)"
 ( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          using B unfolding image_subset_iff path_image_def
          by (meson     shows "Re(winding_number
        then haveproof-
          by  {assume"(winding_number \ z) \ 1/2"
         show < path_image   blast

          by   ne\ noteq> winding_number \<gamma> z" and "y \<in> S" "z \<in> S" for y z
        show "java.lang.StringIndexOutOfBoundsException: Range [0, 19) out of bounds for length 9
          by (metis       sing path_image_defz ( simp path_image_subpath sub12
        show "contour_integral p (\wa. 1 / (wa - w)) = 0"
         ( contour_integral_unique Cauchy_theorem_convex_simple _ convex_ball          proof (rule contour_integral_unique [OF Cauchy_theorem_convex_simple [OF _ convex_ball [of 0 "B
           \Andz z     
            using w byjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
          then show "(\z. 1 / (z - w)) holomorphic_on ball 0 (B + 1)"
            by (intro holomorphic_intros; simp add  showthesis
        qed (use p vap pip loop in auto have0<a\<bullet> (\<gamma> 0 - z)" "0 < a \<bullet> (\<gamma> t - z)" using az
      qed (use p in auto)
    }
    then     \<
       auto <> w=java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
  qed
  finally show ?thesis .
qed

corollary\<^marker>\<open>tag unimportant\<close> winding_number_zero_const: "a \<noteq> z \<Longrightarrow> winding_number (\<lambda>t. a) z = 0"
   (rule winding_number_zero_in_outside\<forall>z \<in> - cball z (3 / 4 * pe). cmod (f z) \<le> B\<rbrakk> \<Longrightarrow>
     auto: pathfinish_def                      y(dd \<gamma> open_Compl)

corollary
    java.lang.StringIndexOutOfBoundsException: Index 186 out of bounds for length 186
  by (meson convex_in_outside (orce: norm_minus_commute intro winding_number_eq assms S  ball

lemma winding_number_zero_at_infinity:
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"
    shows "\B. \z. B \ norm z \ winding_number \ z = 0"
proof -
obtain:real0   B:" \ \ ball 0 B"
    using bounded_subset_ballD [OF bounded_path_image bounded_subset_ballD bounded_path_image \<gamma>]] by auto
  have "winding_number \ z = 0" if "B + 1 \ cmod z" for z
  proofhave-ball+1 
    show "z \ cball 0 B"
      using that by auto
    showhave \<gamma> constant_on outside (path_image \<gamma>)"
usingorder
  qed
  then ?
    by metis have "inding_number z = winding_number \ w"
qed

lemma:
  assumes "path g proof -
  shows   "bounded assume pe "/ *  < cmod(  )
proofjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
   java.lang.NullPointerException
      thenby java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
  thus ?thesis
    unfolding bounded_iff by (intro exI[of s_iff_conj)
qed
   p=\<gamma> \<and> pathfinish p = pathfinish \<gamma> \<and>
lemma winding_number_zero_point:
    "\path \; convex S; pathfinish \ = pathstart \; open S; path_image \ \ S\
     \<Longrightarrow> \<exists>z. z \<in> S \<and> winding_number \<gamma> z = 0" "<>x. x
using of
  bythus


text\<open>If a path winds round a set, it winds rounds its inside.\<close>then pip path_image \<subseteq> ball 0 (B + 1)"
lemma winding_number_around_inside:
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"
        impv)
      and 
    shows "winding_number \ w = winding_number \ z"
proof -
  have ssb: "S \ inside(path_image \)"
  proof
     x :: complex
   assume"\ S"
<notin"andwn_nz: " \<gamma> z \<noteq> 0" and w: "w \<in> S \<union> inside S"
      by (meson disjoint_iff_not_equal S_disj)
    thus : "S\ inside(path_image \)"
      by (metis Compl_iff ( holomorphic_intros; simp x : complex
  qed
  show(  S_disj
  proof (rule winding_number_eq [OFusing pe2
    show "z \ S \ inside S"
using
    show"onnected(\union inside )java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
      by simp: cls cos
    show "(S \ inside S) \ path_image \ = {}"
      unfolding disjoint_iff Un_iff 
       (metis UnI1 \<gamma> cls compact_path_image connected_path_image inside_Un_outside inside_inside_compact_connected ssb subsetD)
  qed
qed

textmetis 
lemma winding_number_subpath_continuous:
  assumes
    shows "continuous_on {0..1} (\x. winding_number(subpath 0 x \) z)"
proof ( continuous_on_eq
  let ?f = "\x. integral {0..x} (\t. vector_derivative \ (at t) / (\ t - z))"
  show " {0..1} (\x. 1 / (2 * pi * \) * ?f x)"
  proof (intro indefinite_integral_continuous_1 winding_number_exp_integral
    show "\ piecewise_C1_differentiable_on {0..1}"
       \<gamma> valid_path_def by blast
  qed (use path_image_def z in autoshow( simp  norm_minus_commuteobtain "\ ball 0 B"
 "/2*
     
 -
    have "1 / (2* proof(rule L)
       assms
       ( add:contour_integral_subcontour_integralOF]  qed
                 1/2i<?x=1/(**\<i>) * contour_integral (subpath 0 x \<gamma>) (\<lambda>w. 1/(w - z))"

      showlemmabounded_winding_number_nzusingjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
usingpath    g"
qedx   
    finally showalso have\<dots> < 2*e"
  qed
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)"
    shows "\t \ {0..1}. Re(winding_number(subpath 0 t \) z) = w"
proof -
  have" {0..1 \
    using \<gamma> winding_number_subpath_continuous z by blast
  moreover have "Re (winding_number (subpath 0 0 \) z) \ w" "w \ Re (winding_number (subpath 0 1 \) z)"
by simp)
ultimately thesis
ng[ 0 1, wherek=1]byjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

lemmawinding_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 "\t \ {0..1}. Re(winding_number(subpath 0 t \) z) = w"
proof -
   "continuous_on {0.}(\x. winding_number (subpath 0 x \) z)"
    using \<gamma> winding_number_subpath_continuous z by blast
  moreover have "Re ( "\<exists>t \<in> {0..1}. Re(winding_number(subpath 0 t \<gamma>) z) = w"
    usingbysimp:continuous_at_imp_continuous_on)
  ultimately show ?thesis
     ivt_decreasing_component_on_10java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 22
qed

lemma winding_number_ivt_abs    using ivt_decreasing_component_on_1         by (metis Compl_iff S_disj UnE \<gamma> \<open>x \<in> S\<close> cos inside_outside loop winding_number_eq winding_number_zero_in_outside wn_nz z)
    assumesshow thesis
       \exists <in> {0..1}. \<bar>Re (winding_number (subpath 0 t \<gamma>) z)\<bar> = w"if:winding_number
  sing  <gamma> z w] winding_number_ivt_neg [of \<gamma> z "-w"]
  by force

lemmajava.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}"disjoint_iff 
    shows "Re(winding_number usingcontinuous_on_winding_number [OF \] sg
proof -

    then obtain t:by( intro [OF]     Re a and halfspaces
      using [ \<gamma> z, of "1/2"] by auto
 :\>-zof_real * java.lang.StringIndexOutOfBoundsException: Range [79, 78) out of bounds for length 128
 winding_number_exp_2pi "subpath 0 t\]
       ( add t \<gamma> valid_path_imp_path)  let? ="\x. integral {0..x} (\t. vector_derivative \ (at t) / (\ t - z))"
      using closed_segment_eq_real_ivl path_image_def t z by (fastforce simp:       \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" add \<gamma> valid_path_imp_path)
>
    proof -
      have "\ 0 \ {c. b < a \ c}"
        by (metis (no_types) pag atLeastAtMost_iff image_subset_iff order_refl path_image_def zero_le_one [f"path_image\"] z by blast
      thus ?thesis
        byblast
    qed
         "dots
(  image_eqI path_image_defjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ultimately have "0 < a \ (\ 0 - z)" "0 < a \ (\ t - z)" using az
      by (simp add: inner_diff_right)+
      by( add: gt  mult_less_0_iff
      by (simp add: gt inner_mult_right mult_less_0_iff)
  }
  then show ?thesis by force
qed

lemma:
      0( 1java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
    shows
proof -
  have " with assms Re(inding_number\ z) < 0 \ - Re (winding_number \ z) < 1/2"
      by( complex_inner_1_right [OF, ofusing\<gamma> loop, of "outside(path_image \<gamma>)"] connected_outside
    by   ultimately winding_number
         valid_path_imp_path     ( no_types constant_on_def
  withusing 
    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>"
      and anz: "a \ 0" and azb: "a \ z \ b" and pag: "path_image \ \ {w. a \ w \ b}"
    shows"
proof -
  { assume wnz_12: "\Re (winding_number \ z)\ > 1/2"
   pathstart \<gamma> \<and> pathfinish p = pathfinish \<gamma> \<and>
      by (metis   { assume wnz_12: "\<bar>Re \<gamma> z)\<bar> > 1/2"
--> --------------------

--> maximum size reached

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

99%


¤ Dauer der Verarbeitung: 0.69 Sekunden  ¤

*© Formatika GbR, Deutschland






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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge