equal
deleted
inserted
replaced
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 |