3 *) |
3 *) |
4 |
4 |
5 section \<open>Complex Analysis Basics\<close> |
5 section \<open>Complex Analysis Basics\<close> |
6 |
6 |
7 theory Complex_Analysis_Basics |
7 theory Complex_Analysis_Basics |
8 imports Brouwer_Fixpoint "HOL-Library.Nonpos_Ints" |
8 imports Derivative "HOL-Library.Nonpos_Ints" |
9 begin |
9 begin |
10 |
10 |
11 (* TODO FIXME: A lot of the things in here have nothing to do with complex analysis *) |
11 (* TODO FIXME: A lot of the things in here have nothing to do with complex analysis *) |
12 |
12 |
13 subsection\<^marker>\<open>tag unimportant\<close>\<open>General lemmas\<close> |
13 subsection\<^marker>\<open>tag unimportant\<close>\<open>General lemmas\<close> |
877 \<Longrightarrow> DERIV g y :> inverse (f')" |
877 \<Longrightarrow> DERIV g y :> inverse (f')" |
878 unfolding has_field_derivative_def |
878 unfolding has_field_derivative_def |
879 apply (rule has_derivative_inverse_basic) |
879 apply (rule has_derivative_inverse_basic) |
880 apply (auto simp: bounded_linear_mult_right) |
880 apply (auto simp: bounded_linear_mult_right) |
881 done |
881 done |
882 |
|
883 lemma has_field_derivative_inverse_strong: |
|
884 fixes f :: "'a::{euclidean_space,real_normed_field} \<Rightarrow> 'a" |
|
885 shows "DERIV f x :> f' \<Longrightarrow> |
|
886 f' \<noteq> 0 \<Longrightarrow> |
|
887 open S \<Longrightarrow> |
|
888 x \<in> S \<Longrightarrow> |
|
889 continuous_on S f \<Longrightarrow> |
|
890 (\<And>z. z \<in> S \<Longrightarrow> g (f z) = z) |
|
891 \<Longrightarrow> DERIV g (f x) :> inverse (f')" |
|
892 unfolding has_field_derivative_def |
|
893 apply (rule has_derivative_inverse_strong [of S x f g ]) |
|
894 by auto |
|
895 |
|
896 lemma has_field_derivative_inverse_strong_x: |
|
897 fixes f :: "'a::{euclidean_space,real_normed_field} \<Rightarrow> 'a" |
|
898 shows "DERIV f (g y) :> f' \<Longrightarrow> |
|
899 f' \<noteq> 0 \<Longrightarrow> |
|
900 open S \<Longrightarrow> |
|
901 continuous_on S f \<Longrightarrow> |
|
902 g y \<in> S \<Longrightarrow> f(g y) = y \<Longrightarrow> |
|
903 (\<And>z. z \<in> S \<Longrightarrow> g (f z) = z) |
|
904 \<Longrightarrow> DERIV g y :> inverse (f')" |
|
905 unfolding has_field_derivative_def |
|
906 apply (rule has_derivative_inverse_strong_x [of S g y f]) |
|
907 by auto |
|
908 |
882 |
909 subsection\<^marker>\<open>tag unimportant\<close> \<open>Taylor on Complex Numbers\<close> |
883 subsection\<^marker>\<open>tag unimportant\<close> \<open>Taylor on Complex Numbers\<close> |
910 |
884 |
911 lemma sum_Suc_reindex: |
885 lemma sum_Suc_reindex: |
912 fixes f :: "nat \<Rightarrow> 'a::ab_group_add" |
886 fixes f :: "nat \<Rightarrow> 'a::ab_group_add" |