src/HOL/Analysis/Cartesian_Euclidean_Space.thy
changeset 69508 2a4c8a2a3f8e
parent 69272 15e9ed5b28fb
child 69597 ff784d5a5bfb
equal deleted inserted replaced
69506:7d59af98af29 69508:2a4c8a2a3f8e
   649   shows "b \<le> l$i"
   649   shows "b \<le> l$i"
   650   by (rule tendsto_le[OF assms(2) tendsto_vec_nth tendsto_const, OF assms(1, 3)])
   650   by (rule tendsto_le[OF assms(2) tendsto_vec_nth tendsto_const, OF assms(1, 3)])
   651 
   651 
   652 lemma%unimportant Lim_component_eq_cart:
   652 lemma%unimportant Lim_component_eq_cart:
   653   fixes f :: "'a \<Rightarrow> real^'n"
   653   fixes f :: "'a \<Rightarrow> real^'n"
   654   assumes net: "(f \<longlongrightarrow> l) net" "~(trivial_limit net)" and ev:"eventually (\<lambda>x. f(x)$i = b) net"
   654   assumes net: "(f \<longlongrightarrow> l) net" "\<not> trivial_limit net" and ev:"eventually (\<lambda>x. f(x)$i = b) net"
   655   shows "l$i = b"
   655   shows "l$i = b"
   656   using ev[unfolded order_eq_iff eventually_conj_iff] and
   656   using ev[unfolded order_eq_iff eventually_conj_iff] and
   657     Lim_component_ge_cart[OF net, of b i] and
   657     Lim_component_ge_cart[OF net, of b i] and
   658     Lim_component_le_cart[OF net, of i b] by auto
   658     Lim_component_le_cart[OF net, of i b] by auto
   659 
   659 
  1058   shows "rank A < CARD('n) \<longleftrightarrow> \<not> inj ((*v) A)"
  1058   shows "rank A < CARD('n) \<longleftrightarrow> \<not> inj ((*v) A)"
  1059 using less_le rank_bound by (auto simp: full_rank_injective [symmetric])
  1059 using less_le rank_bound by (auto simp: full_rank_injective [symmetric])
  1060 
  1060 
  1061 lemma%unimportant matrix_nonfull_linear_equations_eq:
  1061 lemma%unimportant matrix_nonfull_linear_equations_eq:
  1062   fixes A :: "real^'n^'m"
  1062   fixes A :: "real^'n^'m"
  1063   shows "(\<exists>x. (x \<noteq> 0) \<and> A *v x = 0) \<longleftrightarrow> ~(rank A = CARD('n))"
  1063   shows "(\<exists>x. (x \<noteq> 0) \<and> A *v x = 0) \<longleftrightarrow> rank A \<noteq> CARD('n)"
  1064   by (meson matrix_left_invertible_injective full_rank_injective matrix_left_invertible_ker)
  1064   by (meson matrix_left_invertible_injective full_rank_injective matrix_left_invertible_ker)
  1065 
  1065 
  1066 lemma%unimportant rank_eq_0: "rank A = 0 \<longleftrightarrow> A = 0" and rank_0 [simp]: "rank (0::real^'n^'m) = 0"
  1066 lemma%unimportant rank_eq_0: "rank A = 0 \<longleftrightarrow> A = 0" and rank_0 [simp]: "rank (0::real^'n^'m) = 0"
  1067   for A :: "real^'n^'m"
  1067   for A :: "real^'n^'m"
  1068   by (auto simp: rank_dim_range matrix_eq)
  1068   by (auto simp: rank_dim_range matrix_eq)