src/HOL/Multivariate_Analysis/Derivative.thy
changeset 62393 a620a8756b7c
parent 62381 a6479cb85944
parent 62390 842917225d56
child 62408 86f27b264d3d
equal deleted inserted replaced
62385:7891843d79bb 62393:a620a8756b7c
   901         qed
   901         qed
   902         hence "d' \<le> y"
   902         hence "d' \<le> y"
   903           unfolding y_def
   903           unfolding y_def
   904           by (rule cSup_upper) simp
   904           by (rule cSup_upper) simp
   905         thus False using \<open>d > 0\<close> \<open>y < b\<close>
   905         thus False using \<open>d > 0\<close> \<open>y < b\<close>
   906           by (simp add: d'_def min_def split: split_if_asm)
   906           by (simp add: d'_def min_def split: if_split_asm)
   907       qed
   907       qed
   908     } moreover {
   908     } moreover {
   909       assume "a = y"
   909       assume "a = y"
   910       with \<open>a < b\<close> have "y < b" by simp
   910       with \<open>a < b\<close> have "y < b" by simp
   911       with \<open>a = y\<close> f_cont phi_cont \<open>e2 > 0\<close>
   911       with \<open>a = y\<close> f_cont phi_cont \<open>e2 > 0\<close>
  2689   moreover
  2689   moreover
  2690   let ?le = "\<lambda>x'. norm (f x' y - f x y - (fx x y) (x' - x)) \<le> norm (x' - x) * e"
  2690   let ?le = "\<lambda>x'. norm (f x' y - f x y - (fx x y) (x' - x)) \<le> norm (x' - x) * e"
  2691   from fx[OF \<open>x \<in> X\<close> \<open>y \<in> Y\<close>, unfolded has_derivative_within, THEN conjunct2, THEN tendstoD, OF \<open>0 < e\<close>]
  2691   from fx[OF \<open>x \<in> X\<close> \<open>y \<in> Y\<close>, unfolded has_derivative_within, THEN conjunct2, THEN tendstoD, OF \<open>0 < e\<close>]
  2692   have "\<forall>\<^sub>F x' in at x within X. ?le x'"
  2692   have "\<forall>\<^sub>F x' in at x within X. ?le x'"
  2693     by eventually_elim
  2693     by eventually_elim
  2694        (auto simp: dist_norm divide_simps blinfun.bilinear_simps field_simps split: split_if_asm)
  2694        (auto simp: dist_norm divide_simps blinfun.bilinear_simps field_simps split: if_split_asm)
  2695   then have "\<forall>\<^sub>F (x', y') in at (x, y) within X \<times> Y. ?le x'"
  2695   then have "\<forall>\<^sub>F (x', y') in at (x, y) within X \<times> Y. ?le x'"
  2696     by (rule eventually_at_Pair_within_TimesI1)
  2696     by (rule eventually_at_Pair_within_TimesI1)
  2697        (simp add: blinfun.bilinear_simps)
  2697        (simp add: blinfun.bilinear_simps)
  2698   moreover have "\<forall>\<^sub>F (x', y') in at (x, y) within X \<times> Y. norm ((x', y') - (x, y)) \<noteq> 0"
  2698   moreover have "\<forall>\<^sub>F (x', y') in at (x, y) within X \<times> Y. norm ((x', y') - (x, y)) \<noteq> 0"
  2699     unfolding norm_eq_zero right_minus_eq
  2699     unfolding norm_eq_zero right_minus_eq