equal
deleted
inserted
replaced
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) |