subset :: [Int] -> [Int] -> Bool -- testing 44 combinations of argument values -- pruning with 30/40 rules -- looking through 0 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 3 candidates of size 3 -- looking through 9 candidates of size 4 -- looking through 22 candidates of size 5 -- looking through 47 candidates of size 6 -- looking through 132 candidates of size 7 -- looking through 323 candidates of size 8 -- looking through 854 candidates of size 9 -- looking through 2421 candidates of size 10 -- looking through 6452 candidates of size 11 -- looking through 17815 candidates of size 12 subset xs ys = null xs || elem (head xs) ys && subset (tail xs) ys subset :: [Int] -> [Int] -> Bool -- testing 44 combinations of argument values -- pruning with 3/3 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 2 candidates of size 3 -- looking through 6 candidates of size 4 -- looking through 2 candidates of size 5 subset xs ys = sort xs `isSubsequenceOf` sort ys