equal
deleted
inserted
replaced
250 lemma parts_trans: "[| X\<in> parts G; G \<subseteq> parts H |] ==> X\<in> parts H" |
250 lemma parts_trans: "[| X\<in> parts G; G \<subseteq> parts H |] ==> X\<in> parts H" |
251 by (drule parts_mono, blast) |
251 by (drule parts_mono, blast) |
252 |
252 |
253 text{*Cut*} |
253 text{*Cut*} |
254 lemma parts_cut: |
254 lemma parts_cut: |
255 "[| Y\<in> parts (insert X G); X\<in> parts H |] ==> Y\<in> parts (G \<union> H)" |
255 "[| Y\<in> parts (insert X G); X\<in> parts H |] ==> Y\<in> parts (G \<union> H)" |
256 by (erule parts_trans, auto) |
256 by (blast intro: parts_trans) |
|
257 |
257 |
258 |
258 lemma parts_cut_eq [simp]: "X\<in> parts H ==> parts (insert X H) = parts H" |
259 lemma parts_cut_eq [simp]: "X\<in> parts H ==> parts (insert X H) = parts H" |
259 by (force dest!: parts_cut intro: parts_insertI) |
260 by (force dest!: parts_cut intro: parts_insertI) |
260 |
261 |
261 |
262 |