src/HOL/Groups_Big.thy
changeset 57512 cc97b347b301
parent 57418 6ab1c7cb0b8d
child 58195 1fee63e0377d
equal deleted inserted replaced
57511:de51a86fc903 57512:cc97b347b301
   956 lemma setsum_multicount:
   956 lemma setsum_multicount:
   957   assumes "finite S" "finite T" "\<forall>j\<in>T. (card {i\<in>S. R i j} = k)"
   957   assumes "finite S" "finite T" "\<forall>j\<in>T. (card {i\<in>S. R i j} = k)"
   958   shows "setsum (\<lambda>i. card {j\<in>T. R i j}) S = k * card T" (is "?l = ?r")
   958   shows "setsum (\<lambda>i. card {j\<in>T. R i j}) S = k * card T" (is "?l = ?r")
   959 proof-
   959 proof-
   960   have "?l = setsum (\<lambda>i. k) T" by (rule setsum_multicount_gen) (auto simp: assms)
   960   have "?l = setsum (\<lambda>i. k) T" by (rule setsum_multicount_gen) (auto simp: assms)
   961   also have "\<dots> = ?r" by (simp add: mult_commute)
   961   also have "\<dots> = ?r" by (simp add: mult.commute)
   962   finally show ?thesis by auto
   962   finally show ?thesis by auto
   963 qed
   963 qed
   964 
   964 
   965 
   965 
   966 subsubsection {* Cardinality of products *}
   966 subsubsection {* Cardinality of products *}