equal
deleted
inserted
replaced
384 s \<noteq> {}; s \<subseteq> V; setsum u s = 1; n = card s \<rbrakk> \<Longrightarrow> (\<Sum>x\<in>s. u x *\<^sub>R x) \<in> V" and |
384 s \<noteq> {}; s \<subseteq> V; setsum u s = 1; n = card s \<rbrakk> \<Longrightarrow> (\<Sum>x\<in>s. u x *\<^sub>R x) \<in> V" and |
385 as:"Suc n = card s" "2 < card s" "\<forall>x\<in>V. \<forall>y\<in>V. \<forall>u v. u + v = 1 \<longrightarrow> u *\<^sub>R x + v *\<^sub>R y \<in> V" |
385 as:"Suc n = card s" "2 < card s" "\<forall>x\<in>V. \<forall>y\<in>V. \<forall>u v. u + v = 1 \<longrightarrow> u *\<^sub>R x + v *\<^sub>R y \<in> V" |
386 "finite s" "s \<noteq> {}" "s \<subseteq> V" "setsum u s = 1" |
386 "finite s" "s \<noteq> {}" "s \<subseteq> V" "setsum u s = 1" |
387 have "\<exists>x\<in>s. u x \<noteq> 1" proof(rule_tac ccontr) |
387 have "\<exists>x\<in>s. u x \<noteq> 1" proof(rule_tac ccontr) |
388 assume " \<not> (\<exists>x\<in>s. u x \<noteq> 1)" hence "setsum u s = real_of_nat (card s)" unfolding card_eq_setsum by auto |
388 assume " \<not> (\<exists>x\<in>s. u x \<noteq> 1)" hence "setsum u s = real_of_nat (card s)" unfolding card_eq_setsum by auto |
389 thus False using as(7) and `card s > 2` by (metis Numeral1_eq1_nat less_0_number_of less_int_code(15) |
389 thus False using as(7) and `card s > 2` by (metis One_nat_def |
390 less_nat_number_of not_less_iff_gr_or_eq of_nat_1 of_nat_eq_iff pos2 rel_simps(4)) qed |
390 less_Suc0 Zero_not_Suc of_nat_1 of_nat_eq_iff numeral_2_eq_2) |
|
391 qed |
391 then obtain x where x:"x\<in>s" "u x \<noteq> 1" by auto |
392 then obtain x where x:"x\<in>s" "u x \<noteq> 1" by auto |
392 |
393 |
393 have c:"card (s - {x}) = card s - 1" apply(rule card_Diff_singleton) using `x\<in>s` as(4) by auto |
394 have c:"card (s - {x}) = card s - 1" apply(rule card_Diff_singleton) using `x\<in>s` as(4) by auto |
394 have *:"s = insert x (s - {x})" "finite (s - {x})" using `x\<in>s` and as(4) by auto |
395 have *:"s = insert x (s - {x})" "finite (s - {x})" using `x\<in>s` and as(4) by auto |
395 have **:"setsum u (s - {x}) = 1 - u x" |
396 have **:"setsum u (s - {x}) = 1 - u x" |