src/HOL/Library/Multiset.thy
changeset 25622 6067d838041a
parent 25610 72e1563aee09
child 25623 baa627b6f962
equal deleted inserted replaced
25621:97ebdbdb0299 25622:6067d838041a
   957   order ["op \<le>#" "op <#"]
   957   order ["op \<le>#" "op <#"]
   958   by (auto intro: order.intro mset_le_refl mset_le_antisym
   958   by (auto intro: order.intro mset_le_refl mset_le_antisym
   959     mset_le_trans simp: mset_less_def)
   959     mset_le_trans simp: mset_less_def)
   960 
   960 
   961 interpretation mset_order_cancel_semigroup:
   961 interpretation mset_order_cancel_semigroup:
   962   pordered_cancel_ab_semigroup_add ["op \<le>#" "op <#" "op +"]
   962   pordered_cancel_ab_semigroup_add ["op +" "op \<le>#" "op <#"]
   963   by unfold_locales (erule mset_le_mono_add [OF mset_le_refl])
   963   by unfold_locales (erule mset_le_mono_add [OF mset_le_refl])
   964 
   964 
   965 interpretation mset_order_semigroup_cancel:
   965 interpretation mset_order_semigroup_cancel:
   966   pordered_ab_semigroup_add_imp_le ["op \<le>#" "op <#" "op +"]
   966   pordered_ab_semigroup_add_imp_le ["op +" "op \<le>#" "op <#"]
   967   by (unfold_locales) simp
   967   by (unfold_locales) simp
   968 
   968 
   969 
   969 
   970 lemma mset_lessD:
   970 lemma mset_lessD:
   971   "\<lbrakk> A \<subset># B ; x \<in># A \<rbrakk> \<Longrightarrow> x \<in># B"
   971   "\<lbrakk> A \<subset># B ; x \<in># A \<rbrakk> \<Longrightarrow> x \<in># B"