mem :: Int -> Tree -> Bool -- testing 360 combinations of argument values -- pruning with 20/30 rules -- 1 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 -- 0 candidates of size 7 -- 24 candidates of size 8 -- 72 candidates of size 9 -- 0 candidates of size 10 -- 240 candidates of size 11 -- 96 candidates of size 12 -- tested 362 candidates mem x Leaf = False mem x (Node t1 y t2) = mem x t1 || (mem x t2 || x == y) 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 -- 192 candidates of size 10 -- 0 candidates of size 11 -- 384 candidates of size 12 -- tested 346 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 2/3 rules -- 2 candidates of size 1 -- 0 candidates of size 2 -- 0 candidates of size 3 -- 4 candidates of size 4 -- 0 candidates of size 5 -- 0 candidates of size 6 -- 26 candidates of size 7 -- 0 candidates of size 8 -- 0 candidates of size 9 -- 200 candidates of size 10 -- 0 candidates of size 11 -- 32 candidates of size 12 -- tested 264 candidates cannot conjure 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 -- 2552 candidates of size 12 -- 23874 candidates of size 13 -- tested 31769 candidates cannot conjure before :: Int -> Tree -> Tree -- pruning with 2/4 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 -- 68 candidates of size 7 -- 287 candidates of size 8 -- 32 candidates of size 9 -- 1216 candidates of size 10 -- 5103 candidates of size 11 -- 1472 candidates of size 12 -- tested 8207 candidates cannot conjure beyond :: Int -> Tree -> Tree -- pruning with 2/4 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 -- 68 candidates of size 7 -- 287 candidates of size 8 -- 32 candidates of size 9 -- 1216 candidates of size 10 -- 5103 candidates of size 11 -- 1472 candidates of size 12 -- tested 8207 candidates cannot conjure 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 -- 240 candidates of size 7 -- 82 candidates of size 8 -- 3018 candidates of size 9 -- tested 3433 candidates cannot conjure