src/HOL/Library/Multiset.thy
changeset 51143 0a2371e7ced3
parent 51126 df86080de4cb
child 51161 6ed12ae3b3e1
equal deleted inserted replaced
51142:ac9e909fe55d 51143:0a2371e7ced3
  1324 no_notation scomp (infixl "\<circ>\<rightarrow>" 60)
  1324 no_notation scomp (infixl "\<circ>\<rightarrow>" 60)
  1325 
  1325 
  1326 instantiation multiset :: (exhaustive) exhaustive
  1326 instantiation multiset :: (exhaustive) exhaustive
  1327 begin
  1327 begin
  1328 
  1328 
  1329 definition exhaustive_multiset :: "('a multiset => (bool * term list) option) => code_numeral => (bool * term list) option"
  1329 definition exhaustive_multiset :: "('a multiset => (bool * term list) option) => natural => (bool * term list) option"
  1330 where
  1330 where
  1331   "exhaustive_multiset f i = Quickcheck_Exhaustive.exhaustive (%xs. f (Bag xs)) i"
  1331   "exhaustive_multiset f i = Quickcheck_Exhaustive.exhaustive (%xs. f (Bag xs)) i"
  1332 
  1332 
  1333 instance ..
  1333 instance ..
  1334 
  1334 
  1335 end
  1335 end
  1336 
  1336 
  1337 instantiation multiset :: (full_exhaustive) full_exhaustive
  1337 instantiation multiset :: (full_exhaustive) full_exhaustive
  1338 begin
  1338 begin
  1339 
  1339 
  1340 definition full_exhaustive_multiset :: "('a multiset * (unit => term) => (bool * term list) option) => code_numeral => (bool * term list) option"
  1340 definition full_exhaustive_multiset :: "('a multiset * (unit => term) => (bool * term list) option) => natural => (bool * term list) option"
  1341 where
  1341 where
  1342   "full_exhaustive_multiset f i = Quickcheck_Exhaustive.full_exhaustive (%xs. f (bagify xs)) i"
  1342   "full_exhaustive_multiset f i = Quickcheck_Exhaustive.full_exhaustive (%xs. f (bagify xs)) i"
  1343 
  1343 
  1344 instance ..
  1344 instance ..
  1345 
  1345