equal
deleted
inserted
replaced
4670 (\<lambda>(xs, n). n#xs) ` \<Union>((\<lambda>xs. {xs} \<times> (A - set xs)) ` {xs. ?k_list k xs})" |
4670 (\<lambda>(xs, n). n#xs) ` \<Union>((\<lambda>xs. {xs} \<times> (A - set xs)) ` {xs. ?k_list k xs})" |
4671 by (auto simp: length_Suc_conv) |
4671 by (auto simp: length_Suc_conv) |
4672 moreover |
4672 moreover |
4673 have "Suc (card A - Suc k) = card A - k" using Suc.prems by simp |
4673 have "Suc (card A - Suc k) = card A - k" using Suc.prems by simp |
4674 then have "(card A - k) * \<Prod>{Suc (card A - k)..card A} = \<Prod>{Suc (card A - Suc k)..card A}" |
4674 then have "(card A - k) * \<Prod>{Suc (card A - k)..card A} = \<Prod>{Suc (card A - Suc k)..card A}" |
4675 by (subst setprod.insert[symmetric]) (simp add: atLeastAtMost_insertL)+ |
4675 by (subst prod.insert[symmetric]) (simp add: atLeastAtMost_insertL)+ |
4676 ultimately show ?case |
4676 ultimately show ?case |
4677 by (simp add: card_image inj_Cons card_UN_disjoint Suc.hyps algebra_simps) |
4677 by (simp add: card_image inj_Cons card_UN_disjoint Suc.hyps algebra_simps) |
4678 qed |
4678 qed |
4679 |
4679 |
4680 lemma infinite_UNIV_listI: "~ finite(UNIV::'a list set)" |
4680 lemma infinite_UNIV_listI: "~ finite(UNIV::'a list set)" |