src/HOL/Analysis/Further_Topology.thy
changeset 68499 d4312962161a
parent 68072 493b818e8e10
child 68634 db0980691ef4
equal deleted inserted replaced
68494:ebdd5508f386 68499:d4312962161a
  3240         have [simp]: "(z*x / z')^n = x^n" if "x \<noteq> 0" for x
  3240         have [simp]: "(z*x / z')^n = x^n" if "x \<noteq> 0" for x
  3241           using z' that by (simp add: field_simps \<open>z \<noteq> 0\<close>)
  3241           using z' that by (simp add: field_simps \<open>z \<noteq> 0\<close>)
  3242         have [simp]: "cmod (z - z * x / z') = cmod (z' - x)" if "x \<noteq> 0" for x
  3242         have [simp]: "cmod (z - z * x / z') = cmod (z' - x)" if "x \<noteq> 0" for x
  3243         proof -
  3243         proof -
  3244           have "cmod (z - z * x / z') = cmod z * cmod (1 - x / z')"
  3244           have "cmod (z - z * x / z') = cmod z * cmod (1 - x / z')"
  3245             by (metis (no_types) ab_semigroup_mult_class.mult_ac(1) complex_divide_def mult.right_neutral norm_mult right_diff_distrib')
  3245             by (metis (no_types) ab_semigroup_mult_class.mult_ac(1) divide_complex_def mult.right_neutral norm_mult right_diff_distrib')
  3246           also have "... = cmod z' * cmod (1 - x / z')"
  3246           also have "... = cmod z' * cmod (1 - x / z')"
  3247             by (simp add: nz')
  3247             by (simp add: nz')
  3248           also have "... = cmod (z' - x)"
  3248           also have "... = cmod (z' - x)"
  3249             by (simp add: \<open>z' \<noteq> 0\<close> diff_divide_eq_iff norm_divide)
  3249             by (simp add: \<open>z' \<noteq> 0\<close> diff_divide_eq_iff norm_divide)
  3250           finally show ?thesis .
  3250           finally show ?thesis .
  3254         have [simp]: "cmod (z' - z' * x / z) = cmod (z - x)" if "x \<noteq> 0" for x
  3254         have [simp]: "cmod (z' - z' * x / z) = cmod (z - x)" if "x \<noteq> 0" for x
  3255         proof -
  3255         proof -
  3256           have "cmod (z * (1 - x * inverse z)) = cmod (z - x)"
  3256           have "cmod (z * (1 - x * inverse z)) = cmod (z - x)"
  3257             by (metis \<open>z \<noteq> 0\<close> diff_divide_distrib divide_complex_def divide_self_if nonzero_eq_divide_eq semiring_normalization_rules(7))
  3257             by (metis \<open>z \<noteq> 0\<close> diff_divide_distrib divide_complex_def divide_self_if nonzero_eq_divide_eq semiring_normalization_rules(7))
  3258           then show ?thesis
  3258           then show ?thesis
  3259             by (metis (no_types) mult.assoc complex_divide_def mult.right_neutral norm_mult nz' right_diff_distrib')
  3259             by (metis (no_types) mult.assoc divide_complex_def mult.right_neutral norm_mult nz' right_diff_distrib')
  3260         qed
  3260         qed
  3261         show ?thesis
  3261         show ?thesis
  3262           unfolding image_def ball_def
  3262           unfolding image_def ball_def
  3263           apply safe
  3263           apply safe
  3264           apply simp_all
  3264           apply simp_all