src/HOL/List.thy
changeset 64272 f76b6dda2e56
parent 64267 b9a1486e79be
child 64886 cea327ecb8e3
equal deleted inserted replaced
64269:c939cc16b605 64272:f76b6dda2e56
  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)"