equal
deleted
inserted
replaced
1147 using fS SP vS by auto |
1147 using fS SP vS by auto |
1148 have "setsum (\<lambda>v. ?u v *\<^sub>R v) ?S = |
1148 have "setsum (\<lambda>v. ?u v *\<^sub>R v) ?S = |
1149 setsum (\<lambda>v. (- (inverse (u ?a))) *\<^sub>R (u v *\<^sub>R v)) S - ?u v *\<^sub>R v" |
1149 setsum (\<lambda>v. (- (inverse (u ?a))) *\<^sub>R (u v *\<^sub>R v)) S - ?u v *\<^sub>R v" |
1150 using fS vS uv by (simp add: setsum_diff1 divide_inverse field_simps) |
1150 using fS vS uv by (simp add: setsum_diff1 divide_inverse field_simps) |
1151 also have "\<dots> = ?a" |
1151 also have "\<dots> = ?a" |
1152 unfolding scaleR_right.setsum [symmetric] u using uv by (simp add: divide_minus_left) |
1152 unfolding scaleR_right.setsum [symmetric] u using uv by simp |
1153 finally have "setsum (\<lambda>v. ?u v *\<^sub>R v) ?S = ?a" . |
1153 finally have "setsum (\<lambda>v. ?u v *\<^sub>R v) ?S = ?a" . |
1154 with th0 have ?lhs |
1154 with th0 have ?lhs |
1155 unfolding dependent_def span_explicit |
1155 unfolding dependent_def span_explicit |
1156 apply - |
1156 apply - |
1157 apply (rule bexI[where x= "?a"]) |
1157 apply (rule bexI[where x= "?a"]) |
2141 by blast |
2141 by blast |
2142 next |
2142 next |
2143 case False |
2143 case False |
2144 with span_mul[OF th, of "- 1/ k"] |
2144 with span_mul[OF th, of "- 1/ k"] |
2145 have th1: "f a \<in> span (f ` b)" |
2145 have th1: "f a \<in> span (f ` b)" |
2146 by (auto simp: divide_minus_left) |
2146 by auto |
2147 from inj_on_image_set_diff[OF "2.prems"(3), of "insert a b " "{a}", symmetric] |
2147 from inj_on_image_set_diff[OF "2.prems"(3), of "insert a b " "{a}", symmetric] |
2148 have tha: "f ` insert a b - f ` {a} = f ` (insert a b - {a})" by blast |
2148 have tha: "f ` insert a b - f ` {a} = f ` (insert a b - {a})" by blast |
2149 from "2.prems"(2) [unfolded dependent_def bex_simps(8), rule_format, of "f a"] |
2149 from "2.prems"(2) [unfolded dependent_def bex_simps(8), rule_format, of "f a"] |
2150 have "f a \<notin> span (f ` b)" using tha |
2150 have "f a \<notin> span (f ` b)" using tha |
2151 using "2.hyps"(2) |
2151 using "2.hyps"(2) |