src/HOL/Multivariate_Analysis/Cartesian_Euclidean_Space.thy
changeset 44140 2c10c35dd4be
parent 44136 e63ad7d5158d
child 44165 d26a45f3c835
equal deleted inserted replaced
44139:abccf1b7ea4b 44140:2c10c35dd4be
  1524 
  1524 
  1525 subsection "Derivative"
  1525 subsection "Derivative"
  1526 
  1526 
  1527 lemma has_derivative_vmul_component_cart: fixes c::"real^'a \<Rightarrow> real^'b" and v::"real^'c"
  1527 lemma has_derivative_vmul_component_cart: fixes c::"real^'a \<Rightarrow> real^'b" and v::"real^'c"
  1528   assumes "(c has_derivative c') net"
  1528   assumes "(c has_derivative c') net"
  1529   shows "((\<lambda>x. c(x)$k *\<^sub>R v) has_derivative (\<lambda>x. (c' x)$k *\<^sub>R v)) net" 
  1529   shows "((\<lambda>x. c(x)$k *\<^sub>R v) has_derivative (\<lambda>x. (c' x)$k *\<^sub>R v)) net"
  1530   using has_derivative_vmul_component[OF assms] 
  1530   unfolding nth_conv_component
  1531   unfolding nth_conv_component .
  1531   by (intro has_derivative_intros assms)
  1532 
  1532 
  1533 lemma differentiable_at_imp_differentiable_on: "(\<forall>x\<in>(s::(real^'n) set). f differentiable at x) \<Longrightarrow> f differentiable_on s"
  1533 lemma differentiable_at_imp_differentiable_on: "(\<forall>x\<in>(s::(real^'n) set). f differentiable at x) \<Longrightarrow> f differentiable_on s"
  1534   unfolding differentiable_on_def by(auto intro!: differentiable_at_withinI)
  1534   unfolding differentiable_on_def by(auto intro!: differentiable_at_withinI)
  1535 
  1535 
  1536 definition "jacobian f net = matrix(frechet_derivative f net)"
  1536 definition "jacobian f net = matrix(frechet_derivative f net)"
  1639   by (simp_all add:  vec_eq_iff)
  1639   by (simp_all add:  vec_eq_iff)
  1640 
  1640 
  1641 lemma vec1_component[simp]: "(vec1 x)$1 = x"
  1641 lemma vec1_component[simp]: "(vec1 x)$1 = x"
  1642   by (simp_all add:  vec_eq_iff)
  1642   by (simp_all add:  vec_eq_iff)
  1643 
  1643 
  1644 declare vec1_dest_vec1(1) [simp]
       
  1645 
       
  1646 lemma forall_vec1: "(\<forall>x. P x) \<longleftrightarrow> (\<forall>x. P (vec1 x))"
  1644 lemma forall_vec1: "(\<forall>x. P x) \<longleftrightarrow> (\<forall>x. P (vec1 x))"
  1647   by (metis vec1_dest_vec1(1))
  1645   by (metis vec1_dest_vec1(1))
  1648 
  1646 
  1649 lemma exists_vec1: "(\<exists>x. P x) \<longleftrightarrow> (\<exists>x. P(vec1 x))"
  1647 lemma exists_vec1: "(\<exists>x. P x) \<longleftrightarrow> (\<exists>x. P(vec1 x))"
  1650   by (metis vec1_dest_vec1(1))
  1648   by (metis vec1_dest_vec1(1))