# HG changeset patch # User nipkow # Date 1473509464 -7200 # Node ID ea7471c921f58c93af5ba5be45ba6f4892dd7f45 # Parent 2ea3725a34bde1aede225264ad7dcac777614c51 more simp diff -r 2ea3725a34bd -r ea7471c921f5 src/HOL/Library/Multiset.thy --- a/src/HOL/Library/Multiset.thy Fri Sep 09 15:12:40 2016 +0200 +++ b/src/HOL/Library/Multiset.thy Sat Sep 10 14:11:04 2016 +0200 @@ -609,9 +609,12 @@ "add_mset x A \# B \ x \# B \ A \# B" by (rule mset_subset_eq_insertD) simp -lemma mset_subset_of_empty: "A \# {#} \ False" +lemma mset_subset_of_empty[simp]: "A \# {#} \ False" by (simp only: subset_mset.not_less_zero) +lemma empty_subset_add_mset[simp]: "{#} <# add_mset x M" +by(auto intro: subset_mset.gr_zeroI) + lemma empty_le: "{#} \# A" by (fact subset_mset.zero_le) @@ -631,7 +634,7 @@ "A - C \# B \ A \# B + C" by (simp add: subseteq_mset_def le_diff_conv) -lemma subset_eq_empty: "M \# {#} \ M = {#}" +lemma subset_eq_empty[simp]: "M \# {#} \ M = {#}" by auto lemma multi_psub_of_add_self [simp]: "A \# add_mset x A" @@ -682,7 +685,7 @@ "M - N #\ M = M - N" by (simp add: multiset_eq_iff min_def) -lemma multiset_inter_single: "a \ b \ {#a#} #\ {#b#} = {#}" +lemma multiset_inter_single[simp]: "a \ b \ {#a#} #\ {#b#} = {#}" by (rule multiset_eqI) auto lemma multiset_union_diff_commute: @@ -724,7 +727,7 @@ qed qed -lemma add_mset_inter_add_mset: +lemma add_mset_inter_add_mset[simp]: "add_mset a A #\ add_mset a B = add_mset a (A #\ B)" by (metis add_mset_add_single add_mset_diff_bothsides diff_subset_eq_self multiset_inter_def subset_mset.diff_add_assoc2) @@ -739,10 +742,10 @@ "{#} = A #\ add_mset b B \ b \# A \ {#} = A #\ B" by (auto simp: disjunct_not_in) -lemma empty_inter: "{#} #\ M = {#}" +lemma empty_inter[simp]: "{#} #\ M = {#}" by (simp add: multiset_eq_iff) -lemma inter_empty: "M #\ {#} = {#}" +lemma inter_empty[simp]: "M #\ {#} = {#}" by (simp add: multiset_eq_iff) lemma inter_add_left1: "\ x \# N \ (add_mset x M) #\ N = M #\ N"