mem :: Int -> Tree -> Bool -- testing 360 combinations of argument values -- pruning with 9/17 rules -- 2 candidates of size 1 -- 0 candidates of size 2 -- 0 candidates of size 3 -- 0 candidates of size 4 -- 0 candidates of size 5 -- 0 candidates of size 6 -- 4 candidates of size 7 -- 0 candidates of size 8 -- 80 candidates of size 9 -- 0 candidates of size 10 -- 144 candidates of size 11 -- 48 candidates of size 12 -- 0 candidates of size 13 -- 1136 candidates of size 14 -- 0 candidates of size 15 -- 5056 candidates of size 16 -- tested 2632 candidates mem x Leaf = False mem x (Node t1 y t2) | x < y = mem x t1 | y < x = mem x t2 | otherwise = True mem :: Int -> Tree -> Bool -- testing 360 combinations of argument values -- pruning with 1/2 rules -- 2 candidates of size 1 -- 0 candidates of size 2 -- 0 candidates of size 3 -- 0 candidates of size 4 -- 0 candidates of size 5 -- 0 candidates of size 6 -- 6 candidates of size 7 -- 0 candidates of size 8 -- 0 candidates of size 9 -- 32 candidates of size 10 -- 0 candidates of size 11 -- 160 candidates of size 12 -- tested 106 candidates mem x Leaf = False mem x (Node t1 y t2) = case x `compare` y of LT -> mem x t1 EQ -> True GT -> mem x t2 insert :: Int -> Tree -> Tree -- testing 360 combinations of argument values -- pruning with 4/4 rules -- 1 candidates of size 1 -- 1 candidates of size 2 -- 0 candidates of size 3 -- 1 candidates of size 4 -- 6 candidates of size 5 -- 1 candidates of size 6 -- 2 candidates of size 7 -- 22 candidates of size 8 -- 22 candidates of size 9 -- 39 candidates of size 10 -- 148 candidates of size 11 -- 310 candidates of size 12 -- tested 553 candidates insert = undefined -- search exhausted -- could not find implementation using only -- Node, unit, guarded equations, and (<) -- consider increasing target/maxSize or refining the ingredients insert :: Int -> Tree -> Tree -- testing 360 combinations of argument values -- pruning with 1/2 rules -- 1 candidates of size 1 -- 1 candidates of size 2 -- 0 candidates of size 3 -- 1 candidates of size 4 -- 6 candidates of size 5 -- 1 candidates of size 6 -- 2 candidates of size 7 -- 25 candidates of size 8 -- 25 candidates of size 9 -- 42 candidates of size 10 -- 198 candidates of size 11 -- 380 candidates of size 12 -- tested 682 candidates insert = undefined -- search exhausted -- could not find implementation using only -- Node, unit, compare, and case -- consider increasing target/maxSize or refining the ingredients before :: Int -> Tree -> Tree -- pruning with 5/6 rules -- 2 candidates of size 1 -- 2 candidates of size 2 -- 0 candidates of size 3 -- 4 candidates of size 4 -- 21 candidates of size 5 -- 0 candidates of size 6 -- 86 candidates of size 7 -- 239 candidates of size 8 -- 104 candidates of size 9 -- 1342 candidates of size 10 -- 3543 candidates of size 11 -- tested 5343 candidates before = undefined -- search exhausted -- could not find implementation using only -- Leaf, Node, (==), (<), and guarded equations -- consider increasing target/maxSize or refining the ingredients beyond :: Int -> Tree -> Tree -- pruning with 5/6 rules -- 2 candidates of size 1 -- 2 candidates of size 2 -- 0 candidates of size 3 -- 4 candidates of size 4 -- 21 candidates of size 5 -- 0 candidates of size 6 -- 86 candidates of size 7 -- 239 candidates of size 8 -- 104 candidates of size 9 -- 1342 candidates of size 10 -- 3543 candidates of size 11 -- tested 5343 candidates beyond = undefined -- search exhausted -- could not find implementation using only -- Leaf, Node, (==), (<=), and guarded equations -- consider increasing target/maxSize or refining the ingredients before :: Int -> Tree -> Tree -- pruning with 3/5 rules -- 2 candidates of size 1 -- 2 candidates of size 2 -- 0 candidates of size 3 -- 4 candidates of size 4 -- 21 candidates of size 5 -- 0 candidates of size 6 -- 60 candidates of size 7 -- 176 candidates of size 8 -- 32 candidates of size 9 -- 716 candidates of size 10 -- 2373 candidates of size 11 -- 896 candidates of size 12 -- tested 4282 candidates before = undefined -- search exhausted -- could not find implementation using only -- Leaf, Node, compare, and case -- consider increasing target/maxSize or refining the ingredients beyond :: Int -> Tree -> Tree -- pruning with 3/5 rules -- 2 candidates of size 1 -- 2 candidates of size 2 -- 0 candidates of size 3 -- 4 candidates of size 4 -- 21 candidates of size 5 -- 0 candidates of size 6 -- 60 candidates of size 7 -- 176 candidates of size 8 -- 32 candidates of size 9 -- 716 candidates of size 10 -- 2373 candidates of size 11 -- 896 candidates of size 12 -- tested 4282 candidates beyond = undefined -- search exhausted -- could not find implementation using only -- Leaf, Node, compare, and case -- consider increasing target/maxSize or refining the ingredients insert :: Int -> Tree -> Tree -- testing 360 combinations of argument values -- pruning with 3/6 rules -- 1 candidates of size 1 -- 0 candidates of size 2 -- 2 candidates of size 3 -- 1 candidates of size 4 -- 1 candidates of size 5 -- 6 candidates of size 6 -- 2 candidates of size 7 -- 15 candidates of size 8 -- tested 25 candidates insert x t1 = Node (before x t1) x (beyond x t1) union :: Tree -> Tree -> Tree -- testing 360 combinations of argument values -- pruning with 6/8 rules -- 3 candidates of size 1 -- 0 candidates of size 2 -- 0 candidates of size 3 -- 22 candidates of size 4 -- 0 candidates of size 5 -- 68 candidates of size 6 -- 152 candidates of size 7 -- 82 candidates of size 8 -- 2438 candidates of size 9 -- 4322 candidates of size 10 -- tested 7087 candidates union = undefined -- search exhausted -- could not find implementation using only -- Leaf, Node, before, and beyond -- consider increasing target/maxSize or refining the ingredients