equal
deleted
inserted
replaced
4911 with \<open>inj_on f (set xs \<union> set ys)\<close> show "xs = ys" |
4911 with \<open>inj_on f (set xs \<union> set ys)\<close> show "xs = ys" |
4912 by (blast intro: map_inj_on) |
4912 by (blast intro: map_inj_on) |
4913 qed |
4913 qed |
4914 |
4914 |
4915 lemma finite_sorted_distinct_unique: |
4915 lemma finite_sorted_distinct_unique: |
4916 shows "finite A \<Longrightarrow> EX! xs. set xs = A & sorted xs & distinct xs" |
4916 shows "finite A \<Longrightarrow> \<exists>!xs. set xs = A \<and> sorted xs \<and> distinct xs" |
4917 apply(drule finite_distinct_list) |
4917 apply(drule finite_distinct_list) |
4918 apply clarify |
4918 apply clarify |
4919 apply(rule_tac a="sort xs" in ex1I) |
4919 apply(rule_tac a="sort xs" in ex1I) |
4920 apply (auto simp: sorted_distinct_set_unique) |
4920 apply (auto simp: sorted_distinct_set_unique) |
4921 done |
4921 done |