equal
deleted
inserted
replaced
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) |