equal
deleted
inserted
replaced
1075 apply (subst elem_imp_eq_diff_union[symmetric]) |
1075 apply (subst elem_imp_eq_diff_union[symmetric]) |
1076 apply (simp add: nth_mem_multiset_of) |
1076 apply (simp add: nth_mem_multiset_of) |
1077 apply simp |
1077 apply simp |
1078 done |
1078 done |
1079 |
1079 |
1080 interpretation mset_order!: order "op \<le>#" "op <#" |
1080 interpretation mset_order: order "op \<le>#" "op <#" |
1081 proof qed (auto intro: order.intro mset_le_refl mset_le_antisym |
1081 proof qed (auto intro: order.intro mset_le_refl mset_le_antisym |
1082 mset_le_trans simp: mset_less_def) |
1082 mset_le_trans simp: mset_less_def) |
1083 |
1083 |
1084 interpretation mset_order_cancel_semigroup!: |
1084 interpretation mset_order_cancel_semigroup: |
1085 pordered_cancel_ab_semigroup_add "op +" "op \<le>#" "op <#" |
1085 pordered_cancel_ab_semigroup_add "op +" "op \<le>#" "op <#" |
1086 proof qed (erule mset_le_mono_add [OF mset_le_refl]) |
1086 proof qed (erule mset_le_mono_add [OF mset_le_refl]) |
1087 |
1087 |
1088 interpretation mset_order_semigroup_cancel!: |
1088 interpretation mset_order_semigroup_cancel: |
1089 pordered_ab_semigroup_add_imp_le "op +" "op \<le>#" "op <#" |
1089 pordered_ab_semigroup_add_imp_le "op +" "op \<le>#" "op <#" |
1090 proof qed simp |
1090 proof qed simp |
1091 |
1091 |
1092 |
1092 |
1093 lemma mset_lessD: "A \<subset># B \<Longrightarrow> x \<in># A \<Longrightarrow> x \<in># B" |
1093 lemma mset_lessD: "A \<subset># B \<Longrightarrow> x \<in># A \<Longrightarrow> x \<in># B" |
1431 subsection {* Image *} |
1431 subsection {* Image *} |
1432 |
1432 |
1433 definition [code del]: |
1433 definition [code del]: |
1434 "image_mset f = fold_mset (op + o single o f) {#}" |
1434 "image_mset f = fold_mset (op + o single o f) {#}" |
1435 |
1435 |
1436 interpretation image_left_comm!: left_commutative "op + o single o f" |
1436 interpretation image_left_comm: left_commutative "op + o single o f" |
1437 proof qed (simp add:union_ac) |
1437 proof qed (simp add:union_ac) |
1438 |
1438 |
1439 lemma image_mset_empty [simp]: "image_mset f {#} = {#}" |
1439 lemma image_mset_empty [simp]: "image_mset f {#} = {#}" |
1440 by (simp add: image_mset_def) |
1440 by (simp add: image_mset_def) |
1441 |
1441 |