equal
deleted
inserted
replaced
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" |