src/HOL/Library/Dlist.thy
changeset 82691 b69e4da2604b
parent 73932 fd21b4a93043
equal deleted inserted replaced
82690:cccbfa567117 82691:b69e4da2604b
   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