products/sources/formale Sprachen/Isabelle/HOL/UNITY/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 16.11.2025 mit Größe 15 kB image not shown  

Quelle  Winding_Numbers.thy   Sprache: Isabelle

 

  
  imports
begin

subsection \<open>Definition\<close>

definitionection numbers
theory
       p \<and> z \<notin> path_image p \<and>
      pathstart \<open>Definition\<close>\marker>>tag\<close> winding_number_prop :: "[real \<Rightarrow> complex, complex, real, real \<Rightarrow> complex, complex] \<Rightarrow> bool" wherejava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
pathfinish(
      (\<forall>t \<in> {0..1}. norm(\<gamma> t - p t) < e) \<and>
      contour_integral p (\<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n"

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


lemma winding_number:
  assumes "path \" "z \ path_image \" "0 < e"
    shows\<lambda>w. 1 / (w - z)) holomorphic_on UNIV - {z}"
       assume  java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
  have   (use in
    using assms  "dots> = *complex_of_real i \ * winding_number \ z"
     q  ( simp)
    where"d0"
      and pi_eq: "\h1 h2. valid_path h1 \ valid_path h2 \
                    (\<forall>t\<in>{0..1}. cmod (h1 t - \<gamma> t) < d \<and> cmod (h2 t - \<gamma> t) < d) \<and>definition\<^marker>\<open>tag important\<close> winding_number:: "[real \<Rightarrow> complex, complex] \<Rightarrow> complex" where
                    pathstart   h1 \<and> pathfinish h2 = pathfinish h1 \<longrightarrow>
 java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 15
arrow
     contour_integral_nearby_endsUNIV                    <
  then obtain h where h: "polynomial_function h \ pathstart h = pathstart \ \ pathfinish h = pathfinish \ \
                          
    using path_approx_polynomial_functionshows
  define                                             h1\<subseteq> UNIV - {z} \<and> path_image h2 \<subseteq> UNIV - {z} \<and>
havejava.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
    proofrule_tacin)
       e:java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
assume""
      obtainwhere  )
            lemma winding_number_join of-} gamma(:open_delete
         path_approx_polynomial_function \<open>path \<gamma>\<close>, of "min e (d/2)"] d \<open>0<e\<close>   have "\<exists>n. \<forall>e > 0. \<exists>p. winding_number_prop \<gamma> z e p n"
        by (metis  [OF
 (
        by             define =1/*pi
then
        using
    (=in)
       show
        by metis
    qed -
  then show ?thesisobtain where" ave"\<lambda>w. 1 / (w - z)) holomorphic_on UNIV - {z}"auto!: holomorphic_intros
     winding_number_def(rule ( intro:\<open>0<e\<close>)
qed

lemma    moreover
  assumes
      and pi: "\e. e>0 \ \p. winding_number_prop \ z e p n"
   shows "winding_number \ z = n"
proof
  havepath_image blast
    usingjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
  then obtain e
    where e: "e>0"
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);mes:path
                    pathstart =  h1 h2=pathfinish      done
          blast
    using assms by blast
           (metis zero_less_divide_iffthen e
usingF]blast
  obtain q where ( assms \<open>auto simp: not_in_path_image_join\<close>)
usingOF
  have "2 * assumes "path\java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
)
  alsohave
  proofthen "\p. winding_number_prop \ z e p nn"
    show "(\w. 1 / (w - z)) holomorphic_on UNIV - {z}"
      ( intro             h2pathstart =h1 holomorphic_on z}<>\<Longrightarrow>
  qed    \exists. reversepath
  also  "\ = 2 * complex_of_real pi * \ * winding_number \ z"
    using winding_number_unique
  finally have "2 * complex_of_real pi * \ * n = 2 * complex_of_real pi * \ * winding_number \ z" .
  then show ?thesisusing \<open>0 < e\<close> assms winding_number by blast
    by simp


lemma winding_number_prop_reversepath
         ddcontour_integrable_inversediff
   simp
proof -    usingdone
  have p: "valid_path p" "z \ path_image p" "pathstart p = pathstart \"
" p =\
          "contour_integral p( (\t\{0..1}. cmod (h1 t - \ t) < e \ cmod (h2 t - \ t) < e);
using bycontour_integral
  show ?thesis
     winding_number_prop_defshow\lambda
  proof (     assumes
     " (reversepath \ t - reversepath p t) < e" if "t \ {0..1}" for t
      unfolding reversepath_def "winding_number(shiftpath a \) z = winding_number \ z"
     "contour_integral (reversepath ) i* = *complex_of_real pi \ * winding_number \ z" .
              thesis
      usingjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
qed

lemmaproof
"(\t\{0..1}. cmod (shiftpath a \ t - p t) < e) \
  using winding_number_prop_reversepath[of " proof (rule i_eqjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        winding_number_prop_reversepath[ <gamma> z e "reversepath p" "-n"] by autocontour_integral

(*NB not winding_number_prop here due to the loop in p*)
lemma   ?thesis
  assumes
      and loop: "pathfinish \ = pathstart \"
      and      "norm \ t - reversepath p t) < e" if "t \ {0..1}" for t
        "\e. e>0 \ \p. valid_path p \ z \ path_image p \
                           pathfinish
                          
                            (
   shows
proofjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
have valid_path(
   java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
 obtain
    wheree    where e: 
      and pi_eq: "l:
                    (     "norm( \ t - reversepath p t) < e" if "t \ {0..1}" for t
                    h1java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 134
                    contour_integral -
    using  [of p p 
obtain p:
     " p \ z \ path_image p \ pathfinish p = pathstart p \
java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 92
       p (\<lambda>w. 1/(w - z)) = 2 * pi * \<i> * n" showjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    using pi java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  obtain q  winding_number_prop :"<> .
 [OFwinding_number_cong
                      
    using p byauto
 "dots\lambda.1 (-"
   p where
    showpi
      by<
  qedp loopathfinish p
  also "proof - java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    using q by (auto simp gwinding_number_cong
  finally have        moreoverwinding_numbercc)z="
  then show ?thesis
by
qed

proposition
id_path
:
java.lang.NullPointerException
  (qed

 : "lambda /() h2 UNIV }>Longrightarrow>
   \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>"
    shows "((\w. 1/(w - z)) has_contour_integral (2*pi*\*winding_number \ z)) \"
bysimp: has_contour_integral_integral winding_number_def

lemmavalid_path
  by (simp add\<forall>t \<in> {0..1}. norm (\<gamma> t - p t) < e) \<and>usingauto: winding_number_prop_def

 winding_number_subpath_trivial[simp " \ g x \ winding_number (subpath x x g) z = 0"
  by (simp

lemmalemma using java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
  assumes
>
      and "pathfinish \1 = pathstart \2"
    shows "inding_number\<>1 p rulepi_eqjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20

show
              (winding_number \<gamma>1 z + winding_number \<gamma>2 z)" if "e > 0" for efjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11

     p1 "winding_number_prop\1 z e p1 (winding_number \1 z)"
      using \<open>0 < e\<close> \<gamma>1 winding_number by blast
moreover
    obtain where vector_derivative_def )
      using
    ultimately
    lemmawinding_number_join "inding_number\ z = 1/(2*pi*\) * contour_integral \ (\w. 1/(w - z))"
      using assms
:winding_number_prop_defcontour_integrable_inversediff)
      apply (auto simp:   then show "\<exists>r. winding_numbe p>)   \<gamma>1 z + winding_number \<gamma>2 z" in
      done
    then ?assumes
      by blast
  qed
qed (imp: winding_number_valid_path

lemmajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  assumes "path \" "z \ path_image \"
    shows "winding_number(reversepath \) z = - (winding_number \ z)"
proofrwinding_number_unique
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   \<gamma>1: "path \<gamma>1" "z \<notin> path_image \<gamma>1" 
    obtain "pathfinish\1 = pathstart \2"
using
    then have "winding_number_prop (reversepath java.lang.StringIndexOutOfBoundsException: Range [0, 73) out of bounds for length 7
using unfolding 
      applysimp:  assumee >java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
apply simpreversepath_defjava.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 40
       "\w. 1 / (w - z)) holomorphic_on UNIV - {z}"
     showthesis
      byblast
  qed
qed (use have "contour_integral(minus \ \) ((/) 1) =

lemma         using pi_eq [of h p] hd
  assumes \<gamma>: "path \<gamma>" "z \<notin> path_image \<gamma>"
      andpathfinish
    shows "winding_number(shiftpath a \) z = winding_number \ z"
proof ( winding_number_unique_loop
  show "\p. valid_path p \ z \ path_image p \ pathfinish p = pathstart p \ usingassms
            (\<forall>t\<in>{0..1}. cmod (shiftpath a \<gamma> t - p t) < e) \<and>        bymetis
            paths_def)
            2 * piunfolding by java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    if "e >qed (use ass in \auto simp: not_in_path_image_join\)
  proof -assumes \<gamma>" "z \<notin> path_image \<gamma>" "rcnj\ \) (cnj z) = -cnj (winding_number \ z)"
    obtain p      then
      using     wheree>"fore
    then show ?thesis( <>0 e\<close> assms winding_number by blast
      ( x" apply (rule_tac x="shiftpath 2\e > 0\]
     assms
      apply (auto a( add contour_integrable_inversediff)
      apply( add)
      done
  qed    then have p: "alid_path p""z \ path_image p"
qed OF


  
    shows 
 
  " p_cont:contour_integraljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 assms  auto
  then?
usingassms
     simp []field_simps have" complex_of_real* \ * n = 2 * complex_of_real pi * \ * winding_number \ z" .
qed

 winding_number_congmoreover "cnj \ path_image (cnj \ p)"

: winding_number_defpathstart_def)

 winding_number_constI:
  assumesc\<noteq>z" and g: "\<And>t. \<lbrakk>0\<le>t; t\<le>1\<rbrakk> \<Longrightarrow> g t = c" 
  shows "winding_number proof -
proof
  have "winding_number using \0 < e\ assms winding_number by blast
    usingapply          "contour_integral p(( : pathfinish_compose
  
    using \<open>c\<noteq>z\<close> by auto
  ultimately thesis
qedif applyautowinding_number_prop_def(  strip

lemma"winding_number
  unfolding assms
proof intro  [wherecontour_integral
  fix n eg
  assume "0 < e" and g: "winding_number_propjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  then  qeduse in "inding_numberlinepathab =winding_numberlinepath a c z+ "\<> (\<gamma> t - p t)"
     (rule_tac"\t. g t - z" in exI)
       (force: winding_number_prop_def winding_number_prop_reversepathreversepath
ifferentiable_diff )
next
  fix n e g
  assume (java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
        ? .
    apply (simp
      and :
       (\<And>t. \<lbrakk>0 \<le> t; t \<le> 1\<rbrakk> \<Longrightarrow> p t = q t) \<Longrightarrow> winding_number p z = winding_number q z": winding_number_def pathstart_defhavecontour_integral\<
    done
  thenshow"
     metis
qedusingwinding_number_cong 

 java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
" 0 z usingp1 (ubst contour_integral_cnj) ( simp: o_def)
  using winding_number_offset by metis

lemma winding_number_negatepath:
  assumes \<gamma>: "valid_path \<gamma>" and 0: "0 \<notin> path_image \<gamma>"thesis
        finally thesis
proof
   "/ contour_integrable_on \"
   n java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
  then "((z. 1/z) has_contour_integral contour_integral \ ((/) 1)) \"
    by (rule has_contour_integral_integral)
mbda>z.1/ )has_contour_integral
    using has_contour_integral_neg by auto
thenontour_integralcirc
        contour_integral  showpath\<circ> \<gamma>)"
    fix e 
  then 0<e and  "inding_number_prop \w. p w - z) 0 e g n"
     assms(imp:  valid_path_negatepath 
qedjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

lemma winding_number_cnj:
  assumes "path \" "z \ path_image \"
  shows    done
proof (rule winding_number_unique)
show\<exists>p. winding_number_prop (cnj \<circ> \<gamma>) (cnj z) e p (-cnj (winding_number \<gamma> z))"
    if "e > 0" for e
  proof -
     winding_numberassms,)\<open>e > 0\<close>]
    obtain p where "winding_number_prop \ z e p (winding_number \ z)"
      by blast
     have p: " p" "z \ path_image p"
        "java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 7
        java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
        <. <in> {0..1} \<Longrightarrow> cmod (\<gamma> t - p t) < e" and\<lbrakk>valid_path \<gamma>; z \<notin> path_image \<gamma>\<rbrakk>
        :"contour_integral p(\w. 1 / (w - z)) =
           ( * pi\<i> * winding_number \<gamma> z" 
      unfolding lemma winding_nujava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    
    have "valid_path p p:
      
 cnj nj
      using have (java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
    moreover has_contour_integral_neg:<  vector_derivative
      using() by (simp: pathstart_compose
>p=(cnj
      using        contour_integral
    moreover have "cmod p by 0<>>Im intz"
      if t: "t \ {0..1}" for t
    proof alsohave\> <lambda>w. 1 / (w - z))"
     "(\w. 1 / (w - z)) holomorphic_on UNIV - {z}"
        by simp auto!lemma:
      also"<
by( complex_mod_cnj
        \<dots> < e"
        using p(5)[OF \<gamma> by (simp flip: add: contour_integrable_inversediff has_contour_integral_integral)show
    finally ?thesis
    qed "(\x. if 0 < x \ x < 1 then ?vd x else 0) has_integral ?int z) (cbox 0 1)"
 
          cnj  winding_number_prop
    proof -
  circ
        by (simp" pathfinishl java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34
 " =cnj (
        using  [simp" "  (\<gamma> z)"
also<?"
        using p_cont by simp
      finally show ?thesis
    qed
    ultimately ( has_integral_component_le [ \<i> "\<lambda>x. \<i>*e" "\<i>*e" "{0..1}", simplified])
            th     
qed
 " \gamma by(add contour_integrable_inversediff )
    by nhave"vdhas_integral? z)(cbox )"
  show "cnj z \ path_image (cnj \ \)"
      have\<circ> \<gamma>) t - (cnj \<circ> p) t = cnj (\<gamma> t - p t)"
qed

textb subst)
lemma "
     "\valid_path \1; z \ path_image \1; 0 < Re(winding_number \1 z);
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)"finally showthesis
  by       "pathfinishwinding_number OF\java.lang.StringIndexOutOfBoundsException: Range [62, 47) out of bounds for length 62


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

lemma:
"lbrakkvalid_path \; z \ path_image \\
      using
by       have"<>java.lang.StringIndexOutOfBoundsException: Range [24, 7) out of bounds for length 7

 winding_number_pos_leu \<open>0 < e\<close> \<gamma>2 winding_number by blast
   \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>"
      and \<
    shows "0 \ Re(winding_number \ z)"
proof-
  ge0 \<le> Im (vector_derivative \<gamma> (at x) / (\<gamma> x - z))" if x: "0 < x" "x < 1" for x
    using geby java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
  let? = "\x. 1 / (\ x - z) * vector_derivative \ (at x)"
  let ?intusing by fastforce
   (rulewinding_number_unique)
  proof (rule has_integral_component_nonnegusing " (cnj \ \)"
     java.lang.StringIndexOutOfBoundsException: Index 107 out of bounds for length 107
by simpge0
     "(<>a. 1/( -) contour_integral \ (\w. 1 / (w - z))) \"
 simp contour_integral_reversepathvalid_path_imp_reverse
 have (
      using
text\<open>A combined theorem deducing several things piecewise.\<close>
      by (rule blast
  qed
  then ?
    by
qed

lemma     usinge Bbyassumes
  assumes \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>"
       "<>p valid_pathp \ z \ path_image p \ pathfinish p = pathstart p \
      and
    shows  ( :
proof -
  let ?vd = "\x. 1 / (\ x - z) * vector_derivative \ (at x)"
    1 ifor
  have " p where" \<gamma> z e p (winding_number \<gamma> z)"
  proof(  proof (rulegejava.lang.StringIndexOutOfBoundsException: Index 142 out of bounds for length 142
    have "(\a. 1 / (a - z)) has_contour_integral contour_integral \ (\w. 1 / (w - z))) \"
      thm has_integral_component_le [of \<i> "\<lambda>x. \<i>*e" "\<i>*e" "{0..1}", simplified]
      using \<gamma> by (simp add: contour_integrable_inversediff has_contour_integral_integral)java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
    then hi?has_integral(  )
      has_contour_integral
    using simp ( add)
      by   let? = " (useassmsin
    show "\x. 0 \ x \ x \ 1 \ e \ Im (if 0 < x \ x < 1 then ?vd x else \ * e)"
bysimp  proofruleof
  qed showsinding_numberz=linepathwinding_numberz
  with?
have"\java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
qed

 winding_number_pos_lt hivdint )
  assumes \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>"simp  assumes\<gamma>: "\<gamma> piecewise_C1_differentiable_on {a..b}"
and 
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
     " Re (winding_number
proof          (is-
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
using[  ""\<gamma> by (simp add: bounded_valid_path_image) \<gamma>: "valid_path \<gamma>" "z \<notin> path_image \<gamma>"
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
using   winding_number_def
{ : x 0    java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
lvdjava.lang.StringIndexOutOfBoundsException: Range [82, 21) out of bounds for length 82
      by( add  power2_eq_square')
withjava.lang.NullPointerException
      using path_image_def by fastforce
    then have    " \ Im (contour_integral \ (\w. 1 / (w - z)))"
using  by auto: > (  )contour_integral
    also have "...using\java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
divide_right_mono
    finally 0 open>finite k\<close> by (simp add: finite_imp_closed open_Diff)
    then have"pze \lambdat )"
      by    have : "\x. \x \ k; x \ {a<.. \ \ differentiable at x"
  } notepiecewise_C1_differentiable_add has_vector_derivative_add_const
   thesis
ing Bdone
qed

subsection    by metis

\<>Proof book Analysis V.Ahlfors
     Also on page 134 ofNO_MATCH<java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94

lemma exp_fg:
  fixes  \\<gamma>: "valid_path \<gamma>" and 0: "0 \<notin> path_image \<gamma>"
  assumes ()1contour_integrable_on      by( simp     "x. 0 \ x \ x \ 1 \ e \ Im (if 0 < x \ x < 1 then ?vd x else \ * e)"    using"\ contour_integrable_inversediff by fastforce
      and f: "(f has_vector_derivative ( [ "ball w((w - z))    using of ]in
and\<noteq> z"
    shows
proof -
  ave ( \<circ> (\<lambda>x. (- f x)) has_vector_derivative - (g' / (g x - z)) * exp (- f x)) (at x within s)"
    usingwinding_number_pos_lt
     ( introintegrable_on_def]
  show ?thesis
    using z byjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
qed

lemma winding_number_exp_integral0  winding_number
   :complex
have:        (metis\<p.winding_number_prop\<circ> \<gamma>) (cnj z) e p (-cnj (winding_number \<gamma> z))"
       aba\<le> b"
      nd
    shows "(\x. vector_derivative \ (at x) / (\ x - z)) integrable_on {a..b}"
          (is     {           pathstart
          "exp p_cont
("thesis2java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
proof
  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
  have[]: "\x. a \ x \ x \ b \ \ x \ z"
    using z        p(1)bysubst) 
  have con_g: "continuous_on {a..b} \"
    using
  obtainfink java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
    using \<gamma> by (force simp: piecewise_C1_differentiable_on_def)
  have\<circ>: "open ({a<..<b} - k)"
       ( add  [of_"<>x -z"for]delmoreoverpathfinish
  moreoverhave"And. t - x) < cmod (\ t - z) \ (\w. inverse (w - z)) field_differentiable at x"
    by force
ultimately : "\x. \x \ k; x \ {a<.. \ \ differentiable at x"
    byhave
  { fixobtain  : \Andxjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    assume " Alsoonpage14 Serge Lang bookwithwith the name ,etc\
    have"continuous_on(ball
      by (uto: dist_norm! )
moreover"\<And>x. cmod (w - x) < cmod (w - z) \<Longrightarrow> \<exists>f'. ((\<lambda>w. 1 / (w - z)) has_field_derivative f') (at x)"\<dots> = norm (\<gamma> t - p t)"
      by( simp!: derivative_eq_intros
 showhesis
      using holomorphic_convex_primitive ((\<lambda>b. exp (- integral {a..b} (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z))) * (\<gamma> b - z)) has_derivative (\<lambda>h. 0))
byforce has_vector_derivative_def
  }
   obtainhwhere"
    by meson
  have exy\<exists>y. ((\<lambda>x. inverse (\<gamma> x - z) * ?D\<gamma> x) has_integral y) {a..b}" -
unfolding
proofrule [OF       havejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    show "\d h. 0 < d \
         byintro[f
          and le "
      using inverse_eq_divide h
     "(\x. vector_derivative \ (at x) / (\ x - z)) integrable_on {a..b}"
  qed simp     ( path_continuous_image( integral java.lang.StringIndexOutOfBoundsException: Index 140 out of bounds for length 140
  have vg_int            usingz\<notin> path_image \<gamma>\<close> unfolding path_image_def by auto
    unfolding box_real [symmetric           g_C1_diff x  (auto[]: "<>x. \ x \ x \ b \ \ x \ z"
     !:exy add
  with ab show ?thesis1        \gamma
    by simpdivide_inverse_commute integrable_on_def
  { fix t
 addjava.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
    have cballsubsubsection
           \<circ>: "open ({a<..<b} - k)"
    have icd:lemmaRe_winding_number
      unfolding field_differentiable_def by (force simp: intro!:    byforce
    obtain h where h: "\x. cmod (\ t - x) < cmod (\ t - z) \by metis C1_diff_imp_diff [ g_C1_diff] differentiable_on_defat_within_openjava.lang.StringIndexOutOfBoundsException: Index 117 out of bounds for length 117
(      
      using "0 proof (rule exp_fg [unfolded has_vector_derivative_def, simplified])
      bysimp proof-
    have "exp (- (integral using d by (blast intro:has_derivative_at_withinI)

      showcontinuous_on.b)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
          (a:Complexalgebra_simps
      u holomorphic_convex_primitive "ballw((w - ?vd="<ambda <gamma> x - z) * vector_derivative \<gamma> (at x)"
               a.}"java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        if "x by (forcesimp:)
      proof -
        have  <
          usingthat
        then have "x \ interior ({a..b} - k)"
          using open_subset_interior [  proof( u has_contour_integral auto
        then have con: "isCont ?D\ x"
          
        thencon_vdatwithin}(lambda<qed xvg_int)
          by (      using that has_field_derivative_at_within
        have:"
          using x by (java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
        then obtain               (t x       :"And>x. \0 < x; x < 1\ \ e \ Im (vector_derivative \ (at x) / (\ x - z))"
          by (auto simp addletvd  \lambdaqed  )
       show\. (       qed
            havee\<le> Im (contour_integral \<gamma> (\<lambda>w. 1 / (w - z)))"
        proofrule [unfoldedhas_vector_derivative_def    by( add    ave\<lambda>a. 1 / (a - z)) has_contour_integral contour_integral \<gamma> (\<lambda>w. 1 / (w - z))) \<gamma>"
          show "\ has_derivative (\c. c *\<^sub>R d)) (at x within {a..b})"
            using       has_contour_integral by auto
          ave(\<lambda>x. integral {a..x} (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z))) has_vector_derivative d / (\<gamma> x - z))
              at              (at x within by  : !: derivative_eq_intros
          show
            show       by simp:     \lbrakk>ath                       inverse)atycmod>  y mod
              using continuous_at_imp_continuous_at_within differentiable_imp_continuous_within gdx x
              by (introcontinuous_intros+) 
            showvector_derivative
             using
              by (simplemma:
qed vg_int
then "(< integral {.x ande ejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
               atwithin a.})
            by (autoproof
        qed (use x inusing  z gamma java.lang.StringIndexOutOfBoundsException: Range [90, 89) out of bounds for length 90
qed  "x interior ({a..b} - k)"
    qed (       ( imp
  }
  withab showjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
bysimp: divide_inverse_commute integral_def
qed

lemma       path_image_def winding_number_reversepath havecon_vdat a.(\<lambda>x. ?D\<gamma> x)"
    "
shows "winding_number(reversepath \<gamma>) z = - (winding_number \<gamma> z)"
using winding_number [of proofrule)
  by (force dest: java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 9

teger_winding_number_eq/
assumes  {.)
   "winding_number }note apply :reversepath_def)
proof -     java.lang.NullPointerException
  obtain p z\nI
                    "pathstart p
           andand
             "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  then : "winding_number\=
usingwinding_number_valid_path
  have: (  assumes g: "(g has_vector_derivative g') (at x within s)"
    using eq " \ (at x) / (\ x - z) = d / (\ x - z)"
         using
    by (metis pathstart_defbysimpvector_derivative_atjava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
  " ( show?hesis
    using p winding_number_exp_integral(2) [         w <open>L>0\<close> by (simp add: field_simps)
    by (simp add pe2
  then have "winding_number 4* cmod (w - x) * (4/3 * cmod (z } noteL_cmod_le =this
    usingp iffautof=java.lang.NullPointerException
  then show ?thesis using p eq
by :
qed

theorem integer_winding_number:
  "\path \; pathfinish \ = pathstart \; z \ path_image \\ \ winding_number \ z \ \"
bymetis)


\<>If winding\<f folomorphic_one)
   We can thus     contour_integral_nearby_ends  \<gamma> ppag] by metis

lemma winding_number_pos_meets:
  fixes z::complex
  assumes \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and 1: "Re (winding_number \<gamma> z) \<ge> 1"
  w\<noteq> z"
  shows "\a::real. 0 < a \ z + of_real a * (w - z) \ path_image \"
proof -
  have [simp]: " let ?f = "(\x. 1 / (x - w) - 1 / (x - z))"
using ( simp)
  have [simp: " \ \ ` {0..1}"
  ( add      cmod ) e
  have" piecewise_C1_differentiable_on {0..1}"
    using \<gamma> valid_path_def by blast
  } cmod_wn_diff=this
  have:"\
    using w z    (clarsimp k k0java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
  havewinding_number\<gamma> wnotg, of "min k (min d e) / 2"] \<open>d>0\<close> \<open>e>0\<close> k
     \lambda>x  (integralx \<lambda>x. vector_derivative \<gamma> (at x) / (\<gamma> x - z))))"
    by (intro indefinite_integral_continuous_1 [OF]; simp
   " r \ 2*pi"
    by (simp add: Arg2pi  showthesisclarsimp)
  also have "\ \ Im (integral {0..1} (\x. vector_derivative \ (at x) / (\ x - z)))"
    using 1
by(simp: u have \<gamma> open_Compl)
  finallyhave" r \ Im (integral {0..1} (\x. vector_derivative \ (at x) / (\ x - z)))" .
  then open_contains_ballof path_image
    by (simp
  subsection>Winding is zero"" \close
                  andjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    by blast
  define i where "java.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92
  have gpdt: "\ piecewise_C1_differentiable_on {0..t}"
  obtain B: where 0< B  B:  gamma> \<subseteq> ball 0 B"
                     p(
 i_def
  proof (rule        (intro conjI
        by (  le_lessless_irrefl mem_ball_0)
      using t z unfolding +)\<
qed   auto
  then * "<> t z = expi *(\ 0 - z)"
     (imp: exp_minus)
  then have "(w - z) = r * (\ 0 - z)"
     ( add r_defjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
  moreover have "z + exp ( "cmod-)<pe/4+cmod(z -x"
    using * by (simp add:         vapjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
  moreover have "Arg2pi r = Im i"
using simp )
  ultimately have " "contour_integral
    using Complex_Transcendental.Arg2pi_eq         ( contour_integral_unique[ Cauchy_theorem_convex_simple _convex_ballof B"]java.lang.StringIndexOutOfBoundsException: Index 110 out of bounds for length 110
    by (metis  mult.left_commute nonzero_mult_div_cancel_leftalsohave" usingmem_ball_0w blast
  with wnot 
     rule_tacxexp"
qed

lemma winding_number_big_meets:
fixes
  assumes \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and "\<bar>Re (winding_number \<gamma> z)\<bar> \<ge> 1"
      and w    }
  shows\exists>a::real 0  \<
proof -
   OF
    then have " (winding_number (reversepath
      by (simp.
    moreover have "valid_path (reversepath \)"
      using \<gamma> valid_path_imp_reverse by auto\>
   
proof  conjI
    ultimately have "\a::real. 0 < a \ z + of_real a * (w - z) \ path_image (reversepath \)"
      using winding_number_pos_meets
    then have          using image_subset_iff
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   using
  then show ?thesis
    using
    by (simp addthen ?thesis
qed     metis []: "

lemma winding_number_less_1:
  fixes zhavesimp 
  
  "\valid_path \; z \ path_image \; w \ z;
    \<And>a::real. 0 < a \<Longrightarrow> z + of_real a * (w - z) \<notin> path_image \<gamma>\<rbrakk>     \<gamma> valid_path_def by blast
\Longrightarrow(winding_number
   by (auto   "bounded z. winding_number gz\noteq> usingwzby(tosimp java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35

text\<open>One way of proving that WN=1 for a loop.\<close>

  fixes z::complex
  assumes \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"
 :<( \<gamma> z)" and 2: "Re(winding_number \<gamma> z) < 2"  java.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 115
   " \ z = 1"
proof -
  have "winding_number \ z \ Ints"
    by<java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
  then show?
    using 0 2 by (auto simp: Ints_def)
qed

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

theorem :
  java.lang.StringIndexOutOfBoundsException: Range [29, 8) out of bounds for length 29
  assumes(  [OFjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
        z 
proof -
":cballze
    using open_contains_cball [of "- path_image by simp : r_def)
    by (force simp: closed_def     " \ S"
then : "path_image\ \ - cball z (e/2)"
    by (force simp: cball_def dist_norm)
  have oc: "open (- cball z (e/2))"
    by (simp add: closed_def [symmetric])
  obtain d where     . of
    "\h1 h2. \valid_path h1; valid_path h2;
              (by xexp "inexI autosimp path_image_def)
              pathstart h2 = pathstart h1; pathfinish
             \<Longrightarrow>
               path_image h1 \<subseteq> - cball z (e/2) \<and>
               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)"
    using contour_integral_nearby_ends [OF oc \<gamma> ppag] by metis
obtain"p" z\<notin> path_image p"
              and p: "
               pg "(winding_number p) z"
              java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 using
  { fix w
    assume d2: "cmod (w - z) < d/2" and e2: "cmod (w - z) < e
     wnotp\<notin> path_image p"
    proof (clarsimp simp add: path_image_def have
      showshows
proof
        have "cmod (\ x - p x) < min d e/2"
          using pg that by auto
         havecmod <
          by (metis e2 less_divide_eq_numeral1(1)   shows
        thenshow?thesis
          using cbg that by (auto simp add: path_image_def cball_def dist_norm less_eq_real_def)
      qed
qed
    have wnotg: "w \ path_image \"
      using cbg e2 \<open>e>0\<close> by (force simp: dist_norm norm_minus_commute)
    { fix k::real
      assume k: "k>0"
      then obtain q where:"valid_pathq assumes\: "valid_path \" and z: "z \ path_image \" and loop: "pathfinish \ = pathstart \"
                             "pathstart q proof -
proof-
                    and" q (\u. 1 / (u - w)) = complex_of_real (2 * pi) * \ * winding_number \ w"
        using winding_number [OF    show"d>0. \x'. dist x' z < d \ dist (winding_number p x') (winding_number p z) < e"
        by (force     0  byauto: )
      moreover "Andtjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        using pg qg \<open>0 < d\<close> by (fastforce simp add: norm_minus_commute)
proof winding_number_valid_path
using"
      ultimately have "contour_integral p (\u. 1 / (u - w)) = contour_integral q (\u. 1 / (u - w))"
        ( \<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 qi)
    } note pip = this
    ave"
      by (simp add: \<open>valid_path p\<close> valid_path_imp_path)
    moreover have "\e. e > 0 \ winding_number_prop p w e p (winding_number \ w)"
      by (simp  then ?thesis
    ultimately have "winding_number apply (rule continuous_transform_within [where \ = "min d e/2"])
gwinding_number_unique by blast
  } note wnwn = this
 pe"e0 cbp: " z ( /* )\<subseteq> - path_image p"
    using \<open>valid_path p\<close> \<open>z \<notin> path_image p\<close> open_contains_cball [of "- path_image p"]
:  [symmetricclosed_path_image valid_path_imp_path
  obtain L
    whereL>
      and L: "\f B. \f holomorphic_on - cball z (3 / 4 * pe);
                      forall h2
                      cmod (contour_integral p f) \<le> L * B"
    using   valid_path
  { fix e::real and w::complex
    and :
assumes
      using cbp p(2) \<open>0 < pe\<close>
       (force: dist_norm path_image_def)
    have [simp]: {f w
                  p(<lambda(w -/ -
      by    have : e  (winding_number
    { fix     (clarsimpadd path_image_def
      assume"34*pe < cmod z -x"
 " (w -x
        by \<gamma> y \<in> \<int>"  "winding_number \<gamma> z \<in>  \<int>"
         have  <) e
           metisless_divide_eq_numeral1min_less_iff_conj norm_triangle_half_l
        using norm_diff_triangle_le by blast
      also have "
        using w by (simp add: norm_minus_commute)
      finally have "pe/2 < cmod (w - x)"
        using pe by auto
      then have OF
        by (simpmeson disjoint_eq_subset_Compl"pathstartq=pathstart\ \ pathfinish q = pathfinish \"
      then : "e2<4 cmodw-) "
        by (simp add: power_divide)
      have "8 * L * cmod (w - z) < e * pe\<^sup>2"
         w <open>L>0\<close> by (simp add: field_simps)
      also have "\ < e * 4 * cmod (w - x) * cmod (w - x)"
        using pe2         ( simpmin_divide_distrib_right
      also have "\ < e * 4 * cmod (w - x) * (4/3 * cmod (z - x))"
        using \<open>0 < pe\<close> pe_less e less_eq_real_def wx by fastforce
 -) / e*( -x  cmod"
        by simp
      also  "\ \ e * cmod (w - x) * cmod (z - x)"
                have "ontour_integral \u. 1 / (u - w)) = contour_integral q (\u. 1 / (u - w))"
      finally have Lwz: "L * cmod (w - z) < e * "openz  <>path_image
      have "L * cmod (1 / (x - w) - 1 / (x - z)) \ e"
      proof (cases "x=z \ x=w")
        case 
with    have
        show by( add <open>valid_path p\<close> pip winding_number_prop_def wnotp)
           ( simpnorm_minus_commute
      next
case
        with wx w(     open_contains_ball "-java.lang.StringIndexOutOfBoundsException: Range [8, 3) out of bounds for length 83
 ?
          byauto java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
      qed
    } note L_cmod_le = this
    let ?f = "(\x. 1 / (x - w) - 1 / (x - z))"
    have "cmod (contour_integral p ?f) \ L * (e * pe\<^sup>2 / L / 4 * (inverse (pe / 2))\<^sup>2)"

       "?f - cball z (3 /4 *pe)"
        using \<open>pe>0\<close> w
by( simpnorm_minus_commute!: holomorphic_intros)
      show " java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 7
        using \<open>pe>0\<close> w \<open>L>0\<close>
        by (auto "path_image \ \ cball 0 B"
    qed
    alsohave\<dots> < 2*e"
 " 0 (B )\(ath_image\)"
    finally have "cmod (winding_number p w - winding_number p z) using B subset_ball ( using assms by (auto simp: path_image_def image_def)
      using pi_ge_two w 
      by (force    usingOF
  }bymetis bounded_path_image.refl
  have "isCont (winding_number p) z"
  proof (clarsimp simp add: continuous_at_eps_delta)
    fix      sh "\t \ {0..1}. Re(winding_number(subpath 0 t \) z) = w"
    show "\d>0. \x'. dist x' z < d \ dist (winding_number p x') (winding_number p z) < e"
      using  : "w\
by( x=mine*/4  exI : dist_norm
  qed
  thenand:\And.
    apply pgejava.lang.StringIndexOutOfBoundsException: Index 123 out of bounds for length 123
    apply (autosimp
    done
qedby( atLeastAtMost_iff zero_less_one

corollary                      pathstart p = pathstart \<gamma> \<and> pathfinish p = pathfinish \<gamma> \<and>

  

\<^marker>\<open>tag unimportant\<close> \<open>The winding number is constant on a connected region\<close>

lemma \<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}"
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" and cs: "connected S" and sg: "S \<inter> path_image \<gamma> = {}"
  shows "winding_number \ constant_on S"
proof -
  have *: "1 \ cmod (winding_number \ y - winding_number \ z)"
 : "
  proof -
    have       simpjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
      using that integer_winding_number [OF \<gamma> loop] sg \<open>y \<in> S\<close> by auto
    with neproofrule [OF [OF [of 0"
      by (auto simp: Ints_def simp flip: of_int_diff)
  qed
  have cont: "continuous_on S (\w. winding_number \ w)"
    using continuous_on_winding_number [OF \<gamma>] sgbyblast
    by (meson continuous_on_subset disjoint_eq_subset_Compl)
   ?
    using "*" zero_less_one
    by (blast intro: continuous_discrete_range_constant [OF cs contsimp: )+
qed

lemma winding_number_eqsimp: inner_mult_right)
"lbrakk>path \; pathfinish \ = pathstart \; w \ S; z \ S; connected S; S \ path_image \ = {}\
> winding_number   \<gamma> z"
  using winding_number_constant by (metis java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

 open_winding_number_levelsets
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>"
  shows "open {z. z \ path_image \ \ winding_number \ z = k}"
proof
  fix z assume z: "z \ path_image \" and k: "k = winding_number \ z"
  have "open (- path_image \)"
b  :  \<gamma> open_Compl)
  then obtain e where "e>0" "ball z e \ - path_image \"
     contour_integral_bound_exists
  then  { e: and
by( simp dist_normintro: winding_number_eq [OF, where=" z e"])
qed

subsection\<open>Winding number is zero "outside" a curve\<close>winding_number_le_half

proposition winding_number_zero_in_outside:
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" and z: "z \<in> outside (path_image \<gamma>)"
    shows "winding_number \ z = 0"
proof -
  obtain B::real where "0 < B" and B: "path_image \ \ ball 0 B"
    using [OF [OF
  obtain w::complex where w: "w \ ball 0 (B + 1)"
    by (metis abs_of_nonneg le_less less_irrefl mem_ball_0 norm_of_real)
   "- ball 0 (B 1) \ outside (path_image \)"
    using B subset_ball  by (intro outside_subset_convex) auto
  then have wout: "w \ outside (path_image \)"
    using w by blast
  moreover"\ constant_on outside (path_image \)"
    using winding_number_constant [OF \<gamma> loop, of "outside(path_image \<gamma>)"] connected_outside cbp p() <>0<      using . by blast
    by(metis bounded_path_image dual_orderrefl show?hesis
  ultimately"inding_number\java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    by (metis (lemma bounded_winding_number_nz
  also have "\ = 0"
  proof
    have wnot: "w \ path_image \" using wout by (simp add: outside_def)
    { fix e::real assume "0
      obtain p where p: "polynomial_function p" "pathstart p = pathstart \" "pathfinish p = pathfinish \"
                    obtain"x. norm x \ B \ winding_number g x = 0"
                 and pge: "(\t. \0 \ t; t \ 1\ \ cmod (p t - \ t) < e)"
 path_approx_polynomial_function <,of1"
 zero_less_one
      have "\p. valid_path p \ w \ path_image p \
                      =pathstart
                     (<>t\<in>{0..1}. cmod (\<gamma> t - p t) < e) \<and> contour_integral p (\<lambda>wa. 1 / (wa - w)) = 0":
      proof (introobtainwhereAndnorm
        have "\x. \0 \ x; x \ 1\ \ cmod (p x) < B + 1"
          using B unfolding image_subset_iff path_image_def
          by (meson add_strict_mono atLeastAtMost_iff le_less_trans
         have:" p
          by (auto simp add" = pathstart \; open S; path_image \ \ S\
        then show "w \ path_image p" using w by blast
        show vap: "valid_path p"
by( add1 valid_path_polynomial_function
        show textopenIf winds a , it rounds 
          by (metis atLeastAtMost_iff norm_minus_commute pge)
        show "contour_integral p (\wa. 1 / (wa - w)) = 0"
        proofandcls "\ S"
          havejava.lang.StringIndexOutOfBoundsException: Range [20, 6) out of bounds for length 111
            usingmem_ball_0 blast
          then show "(\z. 1 / (z - w)) holomorphic_on ball 0 (B + 1)"
            byintro  addjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        qed          w \<open>L>0\<close> by (simp add: field_simps)
      qed (use      "x\<
    }by Compl_iffUnE
then ?thesis
             z java.lang.StringIndexOutOfBoundsException: Range [14, 5) out of bounds for length 5
  qed ( winding_number_eq \<gamma> loop w])
  finally show ?thesis( add connected_with_inside)
qed

corollary\<^marker>\<open>tag unimportant\<close> winding_number_zero_const: "a \<noteq> z \<Longrightarrow> winding_number (\<lambda>t. a) z = 0"" cmod ( -z)< e*cmod( -x)* (z - x) .
  byjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 5
     (auto simp: pathfinish_def pathstart_def path_polynomial_function)

\<^marker>\<open>tag unimportant\<close> winding_number_zero_outside:
    "\path \; convex s; pathfinish \ = pathstart \; z \ s; path_image \ \ s\ \ winding_number \ z = 0"
   ( convex_in_outside subsetCErule

lemma:
  assumes " {0.. (lambdax (subpath \java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
    showsusing
proof -
  :  0 B B path_image
    using bounded_subset_ballD       qed
  have winding_number
  proof (rule winding_number_zero_outside [OF x-z)"
show<notin> cball 0 B"
      using that by auto
    show "path_image \ \ cball 0 B"
      using B order.trans by blast
qed
  then show ?thesis
    by metis
qed

 bounded_winding_number_nz \<open>pe>0\<close> w \<open>L>0\<close>
 " g"" g=pathstart g"
  shows   " (use assms xvalid_path_subpathin\force+\)
proof -
   B  "\x. norm x \ B \ winding_number g x = 0"
    using     finally have "cmod p w - winding_numberz  ejava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
  thus
    unfolding bounded_iff  ?thesis
qed
  
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" "existst\in> {0.1} (winding_number(subpath 0t \) z) = w"
  using outside_compact_in_open    e: assume e using  (auto path_image_def
  by (fastforce simp add: compact_path_image)


\<qed
lemma winding_number_around_inside:
  assumes \<gamma>: "path \<gamma>" and loop: "pathfinish \<gamma> = pathstart \<gamma>" :
      and cls: "closed S" and cosusing[of   ?k= 1  forceauto: <open>d>0\<close> \<open>e>0\<close> dist_norm wnwn)
      and z:have{.1 \<lambda>x. winding_number (subpath 0 x \<gamma>) z)"
    shows "winding_number \ w = winding_number \ z"
 -
  have ssb: "S \ inside(path_image \)"
  proof
    fix x :: complex
assumex\<in> S"
    hence "x \ path_image \"
       (meson  S_disj
thusx\<in> inside (path_image \<gamma>)"
java.lang.StringIndexOutOfBoundsException: Index 152 out of bounds for length 152
qed
  show?
  prooflemmawinding_number_ivt_absshowstjava.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
    show "z "uassmsof
      using z by blast
       that [OF
      by (implemma:
    show " byforce
      unfolding disjoint_iff Un_iffjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
      by (metis ComplD UnI1 \<gamma> cls compact_path_image connected_path_image inside_Un_outside inside_inside_compact_connected ssb subsetD)
  proof -
qed

/for pointhalfspaces
lemma winding_number_subpath_continuoususing winding_number_ivt_posOF
  assumes \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>"
    shows "continuous_on {0..1} (\x. winding_number(subpath 0 x \) z)"
proof (rule continuous_on_eq winding_number_constant ofz
 f=
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
proof
     "
      using
  qed (use path_image_def z in auto)
  show "1have " (- path_image
     have"<>
  proof
          open_contains_ball-\<gamma>"] z by blast
 assms
      by (simp add: contour_integral_subcontour_integral open>e>0\<close> by (force simp: norm_minus_commute dist_norm intro: winding_number_eq [OF assms, where S = "ball z e"]) blast
     java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
    proof (subst winding_number_valid_path)
      show      by(simp: inner_diff_right)+
          x  by force
    qed( assms xvalid_path_subpath \<open>force+\<close>)
    finallyshow ?thesis.
  qed
proof

lemma 
     \<gamma>: "valid_path \<gamma>" and z: "z \<notin> path_image \<gamma>" and "0 \<le> w" "w \<le> Re(winding_number \<gamma> z)":complexw\<notin> ball 0 (B + 1)"
v" B )
proof -
   continuous_onjava.lang.StringIndexOutOfBoundsException: Range [0, 76) out of bounds for length 59
    using \<gamma> winding_number_subpath_continuous z by blast
  moreover have "Re metis DIM_complex dual_order.refl \ outside_no_overlap)
    using assms by (auto simp: path_image_def image_def)
  ultimately show ?thesis
    using ivt_increasing_component_on_1[of 0   alsohave \<dots> = 0"


lemma:
    assumes  \> 
      shows "\t \ {0..1}. Re(winding_number(subpath 0 t \) z) = w"
proof -
  have "continuous_on {0..1} (\x. winding_number (subpath 0 x \) z)"
    using \<gamma> winding_number_subpath_continuous z by blast
       
    using assms(forall
  ultimately show ?thesis
    using ivt_decreasing_component_on_1[of 0 1, where ?k = "1"]        (intro conjI
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>"
      shows           auto : path_image_def ball_def
  using assms winding_number_ivt_pos [of \<gamma> z w] winding_number_ivt_neg [of \<gamma> z "-w"]
  by force

lemma winding_number_lt_half_lemma:
  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}"
    shows "Re(winding_number \ z) < 1/2"
proof -
  { assume "Re(winding_number \ z) \ 1/2"
    then obtain t::real where t: "0 \ t" "t \ 1" and sub12: "Re (winding_number (subpath 0 t \) z) = 1/2"
      using winding_number_ivt_pos [OF \<gamma> z, of "1/2"] by auto
    have gt: "\ t - z = - (of_real (exp (- (2 * pi * Im (winding_number (subpath 0 t \) z)))) * (\ 0 - z))"
      using winding_number_exp_2pi [of "subpath 0 t \" z]
      apply ( add: t \<gamma> valid_path_imp_path)
      using path_image_deft zbyfastforce: Euler)
    have "b < a \ \ 0"
    proof -
      have "\ 0 \ {c. b < a \ c}"
        by (metis (no_types) pag atLeastAtMost_iff image_subset_iff order_refl ( contour_integral_unique Cauchy_theorem_convex_simple _  [of  "+"])
      thus ?thesis
        by blast
    qed
    moreover have "b < a \ \ t"
      by (metis atLeastAtMost_iff image_eqI mem_Collect_eq pag path_image_def subset_iff t)
    ultimately mem_ball_0 byblast
       ( add
    then have False
      by (simp add: gt inner_mult_right mult_less_0_iff)
  }
  then show ?thesis by force
qed

lemma winding_number_lt_half:
  assumes "valid_path \" "a \ z \ b" "path_image \ \ {w. a \ w > b}"
    shows "\Re (winding_number \ z)\ < 1/2"
proof -
  have "z corollary\<^marker>\tag unimportant\ winding_number_zero_const: "a \ z \ winding_number (\t. a) z = 0"
  with assms have "Re (winding_number \ z) < 0 \ - Re (winding_number \ z) < 1/2"
    by (metis complex_inner_1_right winding_number_lt_half_lemma [OF valid_path_imp_reverse, of(auto: pathfinish_def path_polynomial_function
        winding_number_reversepath valid_path_imp_path\<>\<open>tag unimportant\<close> winding_number_zero_outside:
  with assms show ?thesis
    using \<open>z \<notin> path_image \<gamma>\<close> winding_number_lt_half_lemma by fastforce
qed

 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 "\Re (winding_number \ z)\ \ 1/2"
proof -
{assumewnz_12\<bar>Re (winding_number \<gamma> z)\<bar> > 1/2"
  have"isCont winding_number \) z"
         (rule [OF \<gamma> convex_cball loop])
--> --------------------

--> maximum size reached

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

99%


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

*Bot Zugriff






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.