src/Pure/library.ML
changeset 265 443dc2c37583
parent 255 ee132db91681
child 380 daca5b594fb3
equal deleted inserted replaced
264:ca6eb7e6e94f 265:443dc2c37583
   435 infix subset;
   435 infix subset;
   436 fun [] subset ys = true
   436 fun [] subset ys = true
   437   | (x :: xs) subset ys = x mem ys andalso xs subset ys;
   437   | (x :: xs) subset ys = x mem ys andalso xs subset ys;
   438 
   438 
   439 fun gen_subset eq (xs, ys) = forall (fn x => gen_mem eq (x, ys)) xs;
   439 fun gen_subset eq (xs, ys) = forall (fn x => gen_mem eq (x, ys)) xs;
       
   440 
       
   441 
       
   442 (*eq_set*)
       
   443 
       
   444 fun eq_set (xs, ys) =
       
   445   xs = ys orelse (xs subset ys andalso ys subset xs);
   440 
   446 
   441 
   447 
   442 (*removing an element from a list WITHOUT duplicates*)
   448 (*removing an element from a list WITHOUT duplicates*)
   443 infix \;
   449 infix \;
   444 fun (y :: ys) \ x = if x = y then ys else y :: (ys \ x)
   450 fun (y :: ys) \ x = if x = y then ys else y :: (ys \ x)