equal
deleted
inserted
replaced
372 qed |
372 qed |
373 |
373 |
374 lemma union_iff: |
374 lemma union_iff: |
375 "a \<in># A + B \<longleftrightarrow> a \<in># A \<or> a \<in># B" |
375 "a \<in># A + B \<longleftrightarrow> a \<in># A \<or> a \<in># B" |
376 by auto |
376 by auto |
|
377 |
|
378 lemma count_minus_inter_lt_count_minus_inter_iff: |
|
379 "count (M2 - M1) y < count (M1 - M2) y \<longleftrightarrow> y \<in># M1 - M2" |
|
380 by (meson count_greater_zero_iff gr_implies_not_zero in_diff_count leI order.strict_trans2 |
|
381 order_less_asym) |
|
382 |
|
383 lemma minus_inter_eq_minus_inter_iff: |
|
384 "(M1 - M2) = (M2 - M1) \<longleftrightarrow> set_mset (M1 - M2) = set_mset (M2 - M1)" |
|
385 by (metis add.commute count_diff count_eq_zero_iff diff_add_zero in_diff_countE multiset_eq_iff) |
377 |
386 |
378 |
387 |
379 subsubsection \<open>Min and Max\<close> |
388 subsubsection \<open>Min and Max\<close> |
380 |
389 |
381 abbreviation Min_mset :: "'a::linorder multiset \<Rightarrow> 'a" where |
390 abbreviation Min_mset :: "'a::linorder multiset \<Rightarrow> 'a" where |