equal
deleted
inserted
replaced
2635 apply auto |
2635 apply auto |
2636 done |
2636 done |
2637 } |
2637 } |
2638 moreover |
2638 moreover |
2639 have "(\<Sum>v\<in>y ` {1..k}. sum u {i \<in> {1..k}. y i = v}) = 1" |
2639 have "(\<Sum>v\<in>y ` {1..k}. sum u {i \<in> {1..k}. y i = v}) = 1" |
2640 unfolding sum_image_gen[OF fin, symmetric] using obt(2) by auto |
2640 unfolding sum.image_gen[OF fin, symmetric] using obt(2) by auto |
2641 moreover have "(\<Sum>v\<in>y ` {1..k}. sum u {i \<in> {1..k}. y i = v} *\<^sub>R v) = x" |
2641 moreover have "(\<Sum>v\<in>y ` {1..k}. sum u {i \<in> {1..k}. y i = v} *\<^sub>R v) = x" |
2642 using sum_image_gen[OF fin, of "\<lambda>i. u i *\<^sub>R y i" y, symmetric] |
2642 using sum.image_gen[OF fin, of "\<lambda>i. u i *\<^sub>R y i" y, symmetric] |
2643 unfolding scaleR_left.sum using obt(3) by auto |
2643 unfolding scaleR_left.sum using obt(3) by auto |
2644 ultimately |
2644 ultimately |
2645 have "\<exists>S u. finite S \<and> S \<subseteq> p \<and> (\<forall>x\<in>S. 0 \<le> u x) \<and> sum u S = 1 \<and> (\<Sum>v\<in>S. u v *\<^sub>R v) = x" |
2645 have "\<exists>S u. finite S \<and> S \<subseteq> p \<and> (\<forall>x\<in>S. 0 \<le> u x) \<and> sum u S = 1 \<and> (\<Sum>v\<in>S. u v *\<^sub>R v) = x" |
2646 apply (rule_tac x="y ` {1..k}" in exI) |
2646 apply (rule_tac x="y ` {1..k}" in exI) |
2647 apply (rule_tac x="\<lambda>v. sum u {i\<in>{1..k}. y i = v}" in exI, auto) |
2647 apply (rule_tac x="\<lambda>v. sum u {i\<in>{1..k}. y i = v}" in exI, auto) |
2681 then have "(\<Sum>x\<in>{x \<in> {1..card S}. f x = y}. u (f x)) = u y" |
2681 then have "(\<Sum>x\<in>{x \<in> {1..card S}. f x = y}. u (f x)) = u y" |
2682 "(\<Sum>x\<in>{x \<in> {1..card S}. f x = y}. u (f x) *\<^sub>R f x) = u y *\<^sub>R y" |
2682 "(\<Sum>x\<in>{x \<in> {1..card S}. f x = y}. u (f x) *\<^sub>R f x) = u y *\<^sub>R y" |
2683 by (auto simp: sum_constant_scaleR) |
2683 by (auto simp: sum_constant_scaleR) |
2684 } |
2684 } |
2685 then have "(\<Sum>x = 1..card S. u (f x)) = 1" "(\<Sum>i = 1..card S. u (f i) *\<^sub>R f i) = y" |
2685 then have "(\<Sum>x = 1..card S. u (f x)) = 1" "(\<Sum>i = 1..card S. u (f i) *\<^sub>R f i) = y" |
2686 unfolding sum_image_gen[OF *(1), of "\<lambda>x. u (f x) *\<^sub>R f x" f] |
2686 unfolding sum.image_gen[OF *(1), of "\<lambda>x. u (f x) *\<^sub>R f x" f] |
2687 and sum_image_gen[OF *(1), of "\<lambda>x. u (f x)" f] |
2687 and sum.image_gen[OF *(1), of "\<lambda>x. u (f x)" f] |
2688 unfolding f |
2688 unfolding f |
2689 using sum.cong [of S S "\<lambda>y. (\<Sum>x\<in>{x \<in> {1..card S}. f x = y}. u (f x) *\<^sub>R f x)" "\<lambda>v. u v *\<^sub>R v"] |
2689 using sum.cong [of S S "\<lambda>y. (\<Sum>x\<in>{x \<in> {1..card S}. f x = y}. u (f x) *\<^sub>R f x)" "\<lambda>v. u v *\<^sub>R v"] |
2690 using sum.cong [of S S "\<lambda>y. (\<Sum>x\<in>{x \<in> {1..card S}. f x = y}. u (f x))" u] |
2690 using sum.cong [of S S "\<lambda>y. (\<Sum>x\<in>{x \<in> {1..card S}. f x = y}. u (f x))" u] |
2691 unfolding obt(4,5) |
2691 unfolding obt(4,5) |
2692 by auto |
2692 by auto |