equal
deleted
inserted
replaced
4659 have inj_Cons: "\<And>A. inj_on (\<lambda>(xs, n). n # xs) A" by (rule inj_onI) auto |
4659 have inj_Cons: "\<And>A. inj_on (\<lambda>(xs, n). n # xs) A" by (rule inj_onI) auto |
4660 |
4660 |
4661 from Suc have "k < card A" by simp |
4661 from Suc have "k < card A" by simp |
4662 moreover have "finite A" using assms by (simp add: card_ge_0_finite) |
4662 moreover have "finite A" using assms by (simp add: card_ge_0_finite) |
4663 moreover have "finite {xs. ?k_list k xs}" |
4663 moreover have "finite {xs. ?k_list k xs}" |
4664 using finite_lists_length_eq[OF \<open>finite A\<close>, of k] |
4664 by (rule finite_subset) (use finite_lists_length_eq[OF \<open>finite A\<close>, of k] in auto) |
4665 by - (rule finite_subset, auto) |
|
4666 moreover have "\<And>i j. i \<noteq> j \<longrightarrow> {i} \<times> (A - set i) \<inter> {j} \<times> (A - set j) = {}" |
4665 moreover have "\<And>i j. i \<noteq> j \<longrightarrow> {i} \<times> (A - set i) \<inter> {j} \<times> (A - set j) = {}" |
4667 by auto |
4666 by auto |
4668 moreover have "\<And>i. i \<in>Collect (?k_list k) \<Longrightarrow> card (A - set i) = card A - k" |
4667 moreover have "\<And>i. i \<in>Collect (?k_list k) \<Longrightarrow> card (A - set i) = card A - k" |
4669 by (simp add: card_Diff_subset distinct_card) |
4668 by (simp add: card_Diff_subset distinct_card) |
4670 moreover have "{xs. ?k_list (Suc k) xs} = |
4669 moreover have "{xs. ?k_list (Suc k) xs} = |