equal
deleted
inserted
replaced
1204 using one_step_implies_mult_aux by blast |
1204 using one_step_implies_mult_aux by blast |
1205 |
1205 |
1206 |
1206 |
1207 subsubsection {* Partial-order properties *} |
1207 subsubsection {* Partial-order properties *} |
1208 |
1208 |
1209 definition less_multiset :: "'a\<Colon>order multiset \<Rightarrow> 'a multiset \<Rightarrow> bool" (infix "\<subset>#" 50) where |
1209 definition less_multiset :: "'a\<Colon>order multiset \<Rightarrow> 'a multiset \<Rightarrow> bool" (infix "<#" 50) where |
1210 "M' \<subset># M \<longleftrightarrow> (M', M) \<in> mult {(x', x). x' < x}" |
1210 "M' <# M \<longleftrightarrow> (M', M) \<in> mult {(x', x). x' < x}" |
1211 |
1211 |
1212 definition le_multiset :: "'a\<Colon>order multiset \<Rightarrow> 'a multiset \<Rightarrow> bool" (infix "\<subseteq>#" 50) where |
1212 definition le_multiset :: "'a\<Colon>order multiset \<Rightarrow> 'a multiset \<Rightarrow> bool" (infix "<=#" 50) where |
1213 "M' \<subseteq># M \<longleftrightarrow> M' \<subset># M \<or> M' = M" |
1213 "M' <=# M \<longleftrightarrow> M' <# M \<or> M' = M" |
|
1214 |
|
1215 notation (xsymbol) less_multiset (infix "\<subset>#" 50) |
|
1216 notation (xsymbol) le_multiset (infix "\<subseteq>#" 50) |
1214 |
1217 |
1215 interpretation multiset_order: order le_multiset less_multiset |
1218 interpretation multiset_order: order le_multiset less_multiset |
1216 proof - |
1219 proof - |
1217 have irrefl: "\<And>M :: 'a multiset. \<not> M \<subset># M" |
1220 have irrefl: "\<And>M :: 'a multiset. \<not> M \<subset># M" |
1218 proof |
1221 proof |