src/HOL/Multivariate_Analysis/Derivative.thy
changeset 41970 47d6e13d1710
parent 41958 5abc60a017e0
child 43338 a150d16bf77c
equal deleted inserted replaced
41969:1cf3e4107a2a 41970:47d6e13d1710
  1127           show ?case unfolding dist_norm using N[rule_format,OF goal1 `x\<in>s`, of u] False `e>0`
  1127           show ?case unfolding dist_norm using N[rule_format,OF goal1 `x\<in>s`, of u] False `e>0`
  1128             by (auto simp add:field_simps) qed qed qed
  1128             by (auto simp add:field_simps) qed qed qed
  1129     show "bounded_linear (g' x)" unfolding linear_linear linear_def apply(rule,rule,rule) defer proof(rule,rule)
  1129     show "bounded_linear (g' x)" unfolding linear_linear linear_def apply(rule,rule,rule) defer proof(rule,rule)
  1130       fix x' y z::"'m" and c::real
  1130       fix x' y z::"'m" and c::real
  1131       note lin = assms(2)[rule_format,OF `x\<in>s`,THEN derivative_linear]
  1131       note lin = assms(2)[rule_format,OF `x\<in>s`,THEN derivative_linear]
  1132       show "g' x (c *\<^sub>R x') = c *\<^sub>R g' x x'" apply(rule Lim_unique[OF trivial_limit_sequentially])
  1132       show "g' x (c *\<^sub>R x') = c *\<^sub>R g' x x'" apply(rule tendsto_unique[OF trivial_limit_sequentially])
  1133         apply(rule lem3[rule_format])
  1133         apply(rule lem3[rule_format])
  1134         unfolding lin[unfolded bounded_linear_def bounded_linear_axioms_def,THEN conjunct2,THEN conjunct1,rule_format]
  1134         unfolding lin[unfolded bounded_linear_def bounded_linear_axioms_def,THEN conjunct2,THEN conjunct1,rule_format]
  1135         apply(rule Lim_cmul) by(rule lem3[rule_format])
  1135         apply(rule Lim_cmul) by(rule lem3[rule_format])
  1136       show "g' x (y + z) = g' x y + g' x z" apply(rule Lim_unique[OF trivial_limit_sequentially])
  1136       show "g' x (y + z) = g' x y + g' x z" apply(rule tendsto_unique[OF trivial_limit_sequentially])
  1137         apply(rule lem3[rule_format]) unfolding lin[unfolded bounded_linear_def additive_def,THEN conjunct1,rule_format]
  1137         apply(rule lem3[rule_format]) unfolding lin[unfolded bounded_linear_def additive_def,THEN conjunct1,rule_format]
  1138         apply(rule Lim_add) by(rule lem3[rule_format])+ qed 
  1138         apply(rule Lim_add) by(rule lem3[rule_format])+ qed 
  1139     show "\<forall>e>0. \<exists>d>0. \<forall>y\<in>s. norm (y - x) < d \<longrightarrow> norm (g y - g x - g' x (y - x)) \<le> e * norm (y - x)" proof(rule,rule) case goal1
  1139     show "\<forall>e>0. \<exists>d>0. \<forall>y\<in>s. norm (y - x) < d \<longrightarrow> norm (g y - g x - g' x (y - x)) \<le> e * norm (y - x)" proof(rule,rule) case goal1
  1140       have *:"e/3>0" using goal1 by auto guess N1 using assms(3)[rule_format,OF *] .. note N1=this
  1140       have *:"e/3>0" using goal1 by auto guess N1 using assms(3)[rule_format,OF *] .. note N1=this
  1141       guess N2 using lem2[rule_format,OF *] .. note N2=this
  1141       guess N2 using lem2[rule_format,OF *] .. note N2=this