equal
deleted
inserted
replaced
139 by (auto split: split_if_asm) |
139 by (auto split: split_if_asm) |
140 next |
140 next |
141 case None |
141 case None |
142 with l'_l Some x_l_Some del |
142 with l'_l Some x_l_Some del |
143 show ?thesis |
143 show ?thesis |
144 by (fastsimp split: split_if_asm) |
144 by (fastforce split: split_if_asm) |
145 qed |
145 qed |
146 next |
146 next |
147 case None |
147 case None |
148 note x_l_None = this |
148 note x_l_None = this |
149 show ?thesis |
149 show ?thesis |
152 with Node.hyps |
152 with Node.hyps |
153 have "set_of r' \<subseteq> set_of r" |
153 have "set_of r' \<subseteq> set_of r" |
154 by simp |
154 by simp |
155 with Some x_l_None del |
155 with Some x_l_None del |
156 show ?thesis |
156 show ?thesis |
157 by (fastsimp split: split_if_asm) |
157 by (fastforce split: split_if_asm) |
158 next |
158 next |
159 case None |
159 case None |
160 with x_l_None del |
160 with x_l_None del |
161 show ?thesis |
161 show ?thesis |
162 by (fastsimp split: split_if_asm) |
162 by (fastforce split: split_if_asm) |
163 qed |
163 qed |
164 qed |
164 qed |
165 qed |
165 qed |
166 |
166 |
167 lemma delete_Some_all_distinct: |
167 lemma delete_Some_all_distinct: |
196 from delete_Some_set_of [OF Some] |
196 from delete_Some_set_of [OF Some] |
197 have "set_of r' \<subseteq> set_of r". |
197 have "set_of r' \<subseteq> set_of r". |
198 |
198 |
199 with dist_l' dist_r' l'_l Some x_l_Some del d dist_l_r |
199 with dist_l' dist_r' l'_l Some x_l_Some del d dist_l_r |
200 show ?thesis |
200 show ?thesis |
201 by fastsimp |
201 by fastforce |
202 next |
202 next |
203 case None |
203 case None |
204 with l'_l dist_l' x_l_Some del d dist_l_r dist_r |
204 with l'_l dist_l' x_l_Some del d dist_l_r dist_r |
205 show ?thesis |
205 show ?thesis |
206 by fastsimp |
206 by fastforce |
207 qed |
207 qed |
208 next |
208 next |
209 case None |
209 case None |
210 note x_l_None = this |
210 note x_l_None = this |
211 show ?thesis |
211 show ?thesis |
216 by simp |
216 by simp |
217 from delete_Some_set_of [OF Some] |
217 from delete_Some_set_of [OF Some] |
218 have "set_of r' \<subseteq> set_of r". |
218 have "set_of r' \<subseteq> set_of r". |
219 with Some dist_r' x_l_None del dist_l d dist_l_r |
219 with Some dist_r' x_l_None del dist_l d dist_l_r |
220 show ?thesis |
220 show ?thesis |
221 by fastsimp |
221 by fastforce |
222 next |
222 next |
223 case None |
223 case None |
224 with x_l_None del dist_l dist_r d dist_l_r |
224 with x_l_None del dist_l dist_r d dist_l_r |
225 show ?thesis |
225 show ?thesis |
226 by (fastsimp split: split_if_asm) |
226 by (fastforce split: split_if_asm) |
227 qed |
227 qed |
228 qed |
228 qed |
229 qed |
229 qed |
230 |
230 |
231 lemma delete_None_set_of_conv: "delete x t = None = (x \<notin> set_of t)" |
231 lemma delete_None_set_of_conv: "delete x t = None = (x \<notin> set_of t)" |