src/HOL/Library/Enum.thy
changeset 26815 0cb35f537c91
parent 26732 6ea9de67e576
child 26968 bb0a56a66180
equal deleted inserted replaced
26814:b3e8d5ec721d 26815:0cb35f537c91
   258   with assms distinct_card [of xs]
   258   with assms distinct_card [of xs]
   259     have "card (Pow (set xs)) = Suc (Suc 0) ^ length xs" by simp
   259     have "card (Pow (set xs)) = Suc (Suc 0) ^ length xs" by simp
   260   then show "card (set (map set (sublists xs))) = length (map set (sublists xs))"
   260   then show "card (set (map set (sublists xs))) = length (map set (sublists xs))"
   261     by (simp add: sublists_powset length_sublists)
   261     by (simp add: sublists_powset length_sublists)
   262 qed
   262 qed
   263 
       
   264 instantiation set :: (enum) enum
       
   265 begin
       
   266 
       
   267 definition
       
   268   "enum = map set (sublists enum)"
       
   269 
       
   270 instance by default
       
   271   (simp_all add: enum_set_def enum_all sublists_powset distinct_set_sublists enum_distinct)
       
   272 
       
   273 end
       
   274 
   263 
   275 instantiation nibble :: enum
   264 instantiation nibble :: enum
   276 begin
   265 begin
   277 
   266 
   278 definition
   267 definition