src/HOL/Library/Multiset.thy
changeset 77987 0f7dc48d8b7f
parent 77832 8260d8971d87
child 78099 4d9349989d94
equal deleted inserted replaced
77986:0f92caebc19a 77987:0f7dc48d8b7f
   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