equal
deleted
inserted
replaced
187 proof (induct xs) |
187 proof (induct xs) |
188 case Nil from empty show ?case by (simp add: Dlist.empty_def) |
188 case Nil from empty show ?case by (simp add: Dlist.empty_def) |
189 next |
189 next |
190 case (Cons x xs) |
190 case (Cons x xs) |
191 then have "\<not> Dlist.member (Dlist xs) x" and "P (Dlist xs)" |
191 then have "\<not> Dlist.member (Dlist xs) x" and "P (Dlist xs)" |
192 by (simp_all add: Dlist.member_def List.member_def) |
192 by (simp_all add: Dlist.member_def) |
193 with insrt have "P (Dlist.insert x (Dlist xs))" . |
193 with insrt have "P (Dlist.insert x (Dlist xs))" . |
194 with Cons show ?case by (simp add: Dlist.insert_def distinct_remdups_id) |
194 with Cons show ?case by (simp add: Dlist.insert_def distinct_remdups_id) |
195 qed |
195 qed |
196 with dxs show "P dxs" by simp |
196 with dxs show "P dxs" by simp |
197 qed |
197 qed |
210 with empty show ?thesis . |
210 with empty show ?thesis . |
211 next |
211 next |
212 case (Cons x xs) |
212 case (Cons x xs) |
213 with dxs distinct have "\<not> Dlist.member (Dlist xs) x" |
213 with dxs distinct have "\<not> Dlist.member (Dlist xs) x" |
214 and "dxs = Dlist.insert x (Dlist xs)" |
214 and "dxs = Dlist.insert x (Dlist xs)" |
215 by (simp_all add: Dlist.member_def List.member_def Dlist.insert_def distinct_remdups_id) |
215 by (simp_all add: Dlist.member_def Dlist.insert_def distinct_remdups_id) |
216 with insert show ?thesis . |
216 with insert show ?thesis . |
217 qed |
217 qed |
218 qed |
218 qed |
219 |
219 |
220 |
220 |