src/HOL/Analysis/Winding_Numbers.thy
changeset 66304 cde6ceffcbc7
parent 65064 a4abec71279a
child 66393 2a6371fb31f0
equal deleted inserted replaced
66303:210dae34b8bc 66304:cde6ceffcbc7
    39         assume "0 \<in> interior {z. Im z * Re b \<le> Im b * Re z}"
    39         assume "0 \<in> interior {z. Im z * Re b \<le> Im b * Re z}"
    40         then obtain e where "e>0" and e: "ball 0 e \<subseteq> {z. Im z * Re b \<le> Im b * Re z}"
    40         then obtain e where "e>0" and e: "ball 0 e \<subseteq> {z. Im z * Re b \<le> Im b * Re z}"
    41           by (meson mem_interior)
    41           by (meson mem_interior)
    42         define z where "z \<equiv> - sgn (Im b) * (e/3) + sgn (Re b) * (e/3) * \<i>"
    42         define z where "z \<equiv> - sgn (Im b) * (e/3) + sgn (Re b) * (e/3) * \<i>"
    43         have "z \<in> ball 0 e"
    43         have "z \<in> ball 0 e"
    44           using `e>0`
    44           using \<open>e>0\<close>
    45           apply (simp add: z_def dist_norm)
    45           apply (simp add: z_def dist_norm)
    46           apply (rule le_less_trans [OF norm_triangle_ineq4])
    46           apply (rule le_less_trans [OF norm_triangle_ineq4])
    47           apply (simp add: norm_mult abs_sgn_eq)
    47           apply (simp add: norm_mult abs_sgn_eq)
    48           done
    48           done
    49         then have "z \<in> {z. Im z * Re b \<le> Im b * Re z}"
    49         then have "z \<in> {z. Im z * Re b \<le> Im b * Re z}"
    50           using e by blast
    50           using e by blast
    51         then show False
    51         then show False
    52           using `e>0` `b \<noteq> 0`
    52           using \<open>e>0\<close> \<open>b \<noteq> 0\<close>
    53           apply (simp add: z_def dist_norm sgn_if less_eq_real_def mult_less_0_iff complex.expand split: if_split_asm)
    53           apply (simp add: z_def dist_norm sgn_if less_eq_real_def mult_less_0_iff complex.expand split: if_split_asm)
    54           apply (auto simp: algebra_simps)
    54           apply (auto simp: algebra_simps)
    55           apply (meson less_asym less_trans mult_pos_pos neg_less_0_iff_less)
    55           apply (meson less_asym less_trans mult_pos_pos neg_less_0_iff_less)
    56           by (metis less_asym mult_pos_pos neg_less_0_iff_less)
    56           by (metis less_asym mult_pos_pos neg_less_0_iff_less)
    57       qed
    57       qed