isNub (filter isComplete list :: [Expr]) = True map length (filterT isComplete tiers :: [[ Expr ]]) = [0,2,13,27,54,158,498,1571,5085,17026,58338,...] filterT isComplete tiers :: [[ Expr ]] = [ [] , [ x :: Int , 0 :: Int ] , [ y :: Int , 1 :: Int , id x :: Int , id 0 :: Int , p :: Bool , False :: Bool , True :: Bool , c :: Char , 'a' :: Char , xs :: [Int] , [] :: [Int] , id :: Int -> Int , (+) :: Int -> Int -> Int ] , [ z :: Int , -1 :: Int , id y :: Int , id 1 :: Int , id (id x) :: Int , id (id 0) :: Int , negate x :: Int , negate 0 :: Int , abs x :: Int , abs 0 :: Int , head xs :: Int , head [] :: Int , ord c :: Int , ord 'a' :: Int , q :: Bool , not p :: Bool , not False :: Bool , not True :: Bool , d :: Char , ' ' :: Char , ys :: [Int] , [0] :: [Int] , negate :: Int -> Int , abs :: Int -> Int , (*) :: Int -> Int -> Int , not :: Bool -> Bool , (||) :: Bool -> Bool -> Bool ] , [ x' :: Int , 2 :: Int , id z :: Int , id (-1) :: Int , id (id y) :: Int , id (id 1) :: Int , id (id (id x)) :: Int , id (id (id 0)) :: Int , id (negate x) :: Int , id (negate 0) :: Int , id (abs x) :: Int , id (abs 0) :: Int , id (head xs) :: Int , id (head []) :: Int , id (ord c) :: Int , id (ord 'a') :: Int , negate y :: Int , negate 1 :: Int , negate (id x) :: Int , negate (id 0) :: Int , abs y :: Int , abs 1 :: Int , abs (id x) :: Int , abs (id 0) :: Int , x + x :: Int , x + 0 :: Int , 0 + x :: Int , 0 + 0 :: Int , f x :: Int , f 0 :: Int , head ys :: Int , head [0] :: Int , ord d :: Int , ord ' ' :: Int , r :: Bool , not q :: Bool , not (not p) :: Bool , not (not False) :: Bool , not (not True) :: Bool , e :: Char , 'b' :: Char , zs :: [Int] , [0,0] :: [Int] , [1] :: [Int] , x:xs :: [Int] , [x] :: [Int] , 0:xs :: [Int] , [0] :: [Int] , tail xs :: [Int] , tail [] :: [Int] , (x +) :: Int -> Int , (0 +) :: Int -> Int , f :: Int -> Int , (&&) :: Bool -> Bool -> Bool ] , [ y' :: Int , -2 :: Int , id x' :: Int , id 2 :: Int , id (id z) :: Int , id (id (-1)) :: Int , id (id (id y)) :: Int , id (id (id 1)) :: Int , id (id (id (id x))) :: Int , id (id (id (id 0))) :: Int , id (id (negate x)) :: Int , id (id (negate 0)) :: Int , id (id (abs x)) :: Int , id (id (abs 0)) :: Int , id (id (head xs)) :: Int , id (id (head [])) :: Int , id (id (ord c)) :: Int , id (id (ord 'a')) :: Int , id (negate y) :: Int , id (negate 1) :: Int , id (negate (id x)) :: Int , id (negate (id 0)) :: Int , id (abs y) :: Int , id (abs 1) :: Int , id (abs (id x)) :: Int , id (abs (id 0)) :: Int , id (x + x) :: Int , id (x + 0) :: Int , id (0 + x) :: Int , id (0 + 0) :: Int , id (f x) :: Int , id (f 0) :: Int , id (head ys) :: Int , id (head [0]) :: Int , id (ord d) :: Int , id (ord ' ') :: Int , negate z :: Int , negate (-1) :: Int , negate (id y) :: Int , negate (id 1) :: Int , negate (id (id x)) :: Int , negate (id (id 0)) :: Int , negate (negate x) :: Int , negate (negate 0) :: Int , negate (abs x) :: Int , negate (abs 0) :: Int , negate (head xs) :: Int , negate (head []) :: Int , negate (ord c) :: Int , negate (ord 'a') :: Int , abs z :: Int , abs (-1) :: Int , abs (id y) :: Int , abs (id 1) :: Int , abs (id (id x)) :: Int , abs (id (id 0)) :: Int , abs (negate x) :: Int , abs (negate 0) :: Int , abs (abs x) :: Int , abs (abs 0) :: Int , abs (head xs) :: Int , abs (head []) :: Int , abs (ord c) :: Int , abs (ord 'a') :: Int , x + y :: Int , x + 1 :: Int , x + id x :: Int , x + id 0 :: Int , 0 + y :: Int , 0 + 1 :: Int , 0 + id x :: Int , 0 + id 0 :: Int , f y :: Int , f 1 :: Int , f (id x) :: Int , f (id 0) :: Int , y + x :: Int , y + 0 :: Int , 1 + x :: Int , 1 + 0 :: Int , id x + x :: Int , id x + 0 :: Int , id 0 + x :: Int , id 0 + 0 :: Int , x * x :: Int , x * 0 :: Int , 0 * x :: Int , 0 * 0 :: Int , g x :: Int , g 0 :: Int , head zs :: Int , head [0,0] :: Int , head [1] :: Int , head (x:xs) :: Int , head [x] :: Int , head (0:xs) :: Int , head [0] :: Int , head (tail xs) :: Int , head (tail []) :: Int , ord e :: Int , ord 'b' :: Int , p' :: Bool , not r :: Bool , not (not q) :: Bool , not (not (not p)) :: Bool , not (not (not False)) :: Bool , not (not (not True)) :: Bool , p || p :: Bool , p || False :: Bool , p || True :: Bool , False || p :: Bool , False || False :: Bool , False || True :: Bool , True || p :: Bool , True || False :: Bool , True || True :: Bool , odd x :: Bool , odd 0 :: Bool , even x :: Bool , even 0 :: Bool , c' :: Char , 'A' :: Char , xs' :: [Int] , [0,0,0] :: [Int] , [0,1] :: [Int] , [1,0] :: [Int] , [-1] :: [Int] , x:ys :: [Int] , x:[0] :: [Int] , 0:ys :: [Int] , 0:[0] :: [Int] , y:xs :: [Int] , [y] :: [Int] , 1:xs :: [Int] , [1] :: [Int] , id x:xs :: [Int] , [id x] :: [Int] , id 0:xs :: [Int] , [id 0] :: [Int] , tail ys :: [Int] , tail [0] :: [Int] , xs ++ xs :: [Int] , xs ++ [] :: [Int] , [] ++ xs :: [Int] , [] ++ [] :: [Int] , sort xs :: [Int] , sort [] :: [Int] , (y +) :: Int -> Int , (1 +) :: Int -> Int , (id x +) :: Int -> Int , (id 0 +) :: Int -> Int , (x *) :: Int -> Int , (0 *) :: Int -> Int , g :: Int -> Int , (p ||) :: Bool -> Bool , (False ||) :: Bool -> Bool , (True ||) :: Bool -> Bool , (==>) :: Bool -> Bool -> Bool ] , [ z' :: Int , 3 :: Int , id y' :: Int , id (-2) :: Int , id (id x') :: Int , id (id 2) :: Int , id (id (id z)) :: Int , id (id (id (-1))) :: Int , id (id (id (id y))) :: Int , id (id (id (id 1))) :: Int , id (id (id (id (id x)))) :: Int , id (id (id (id (id 0)))) :: Int , id (id (id (negate x))) :: Int , id (id (id (negate 0))) :: Int , id (id (id (abs x))) :: Int , id (id (id (abs 0))) :: Int , id (id (id (head xs))) :: Int , id (id (id (head []))) :: Int , id (id (id (ord c))) :: Int , id (id (id (ord 'a'))) :: Int , id (id (negate y)) :: Int , id (id (negate 1)) :: Int , id (id (negate (id x))) :: Int , id (id (negate (id 0))) :: Int , id (id (abs y)) :: Int , id (id (abs 1)) :: Int , id (id (abs (id x))) :: Int , id (id (abs (id 0))) :: Int , id (id (x + x)) :: Int , id (id (x + 0)) :: Int , id (id (0 + x)) :: Int , id (id (0 + 0)) :: Int , id (id (f x)) :: Int , id (id (f 0)) :: Int , id (id (head ys)) :: Int , id (id (head [0])) :: Int , id (id (ord d)) :: Int , id (id (ord ' ')) :: Int , id (negate z) :: Int , id (negate (-1)) :: Int , id (negate (id y)) :: Int , id (negate (id 1)) :: Int , id (negate (id (id x))) :: Int , id (negate (id (id 0))) :: Int , id (negate (negate x)) :: Int , id (negate (negate 0)) :: Int , id (negate (abs x)) :: Int , id (negate (abs 0)) :: Int , id (negate (head xs)) :: Int , id (negate (head [])) :: Int , id (negate (ord c)) :: Int , id (negate (ord 'a')) :: Int , id (abs z) :: Int , id (abs (-1)) :: Int , id (abs (id y)) :: Int , id (abs (id 1)) :: Int , id (abs (id (id x))) :: Int , id (abs (id (id 0))) :: Int , id (abs (negate x)) :: Int , id (abs (negate 0)) :: Int , id (abs (abs x)) :: Int , id (abs (abs 0)) :: Int , id (abs (head xs)) :: Int , id (abs (head [])) :: Int , id (abs (ord c)) :: Int , id (abs (ord 'a')) :: Int , id (x + y) :: Int , id (x + 1) :: Int , id (x + id x) :: Int , id (x + id 0) :: Int , id (0 + y) :: Int , id (0 + 1) :: Int , id (0 + id x) :: Int , id (0 + id 0) :: Int , id (f y) :: Int , id (f 1) :: Int , id (f (id x)) :: Int , id (f (id 0)) :: Int , id (y + x) :: Int , id (y + 0) :: Int , id (1 + x) :: Int , id (1 + 0) :: Int , id (id x + x) :: Int , id (id x + 0) :: Int , id (id 0 + x) :: Int , id (id 0 + 0) :: Int , id (x * x) :: Int , id (x * 0) :: Int , id (0 * x) :: Int , id (0 * 0) :: Int , id (g x) :: Int , id (g 0) :: Int , id (head zs) :: Int , id (head [0,0]) :: Int , id (head [1]) :: Int , id (head (x:xs)) :: Int , id (head [x]) :: Int , id (head (0:xs)) :: Int , id (head [0]) :: Int , id (head (tail xs)) :: Int , id (head (tail [])) :: Int , id (ord e) :: Int , id (ord 'b') :: Int , negate x' :: Int , negate 2 :: Int , negate (id z) :: Int , negate (id (-1)) :: Int , negate (id (id y)) :: Int , negate (id (id 1)) :: Int , negate (id (id (id x))) :: Int , negate (id (id (id 0))) :: Int , negate (id (negate x)) :: Int , negate (id (negate 0)) :: Int , negate (id (abs x)) :: Int , negate (id (abs 0)) :: Int , negate (id (head xs)) :: Int , negate (id (head [])) :: Int , negate (id (ord c)) :: Int , negate (id (ord 'a')) :: Int , negate (negate y) :: Int , negate (negate 1) :: Int , negate (negate (id x)) :: Int , negate (negate (id 0)) :: Int , negate (abs y) :: Int , negate (abs 1) :: Int , negate (abs (id x)) :: Int , negate (abs (id 0)) :: Int , negate (x + x) :: Int , negate (x + 0) :: Int , negate (0 + x) :: Int , negate (0 + 0) :: Int , negate (f x) :: Int , negate (f 0) :: Int , negate (head ys) :: Int , negate (head [0]) :: Int , negate (ord d) :: Int , negate (ord ' ') :: Int , abs x' :: Int , abs 2 :: Int , abs (id z) :: Int , abs (id (-1)) :: Int , abs (id (id y)) :: Int , abs (id (id 1)) :: Int , abs (id (id (id x))) :: Int , abs (id (id (id 0))) :: Int , abs (id (negate x)) :: Int , abs (id (negate 0)) :: Int , abs (id (abs x)) :: Int , abs (id (abs 0)) :: Int , abs (id (head xs)) :: Int , abs (id (head [])) :: Int , abs (id (ord c)) :: Int , abs (id (ord 'a')) :: Int , abs (negate y) :: Int , abs (negate 1) :: Int , abs (negate (id x)) :: Int , abs (negate (id 0)) :: Int , abs (abs y) :: Int , abs (abs 1) :: Int , abs (abs (id x)) :: Int , abs (abs (id 0)) :: Int , abs (x + x) :: Int , abs (x + 0) :: Int , abs (0 + x) :: Int , abs (0 + 0) :: Int , abs (f x) :: Int , abs (f 0) :: Int , abs (head ys) :: Int , abs (head [0]) :: Int , abs (ord d) :: Int , abs (ord ' ') :: Int , x + z :: Int , x + (-1) :: Int , x + id y :: Int , x + id 1 :: Int , x + id (id x) :: Int , x + id (id 0) :: Int , x + negate x :: Int , x + negate 0 :: Int , x + abs x :: Int , x + abs 0 :: Int , x + head xs :: Int , x + head [] :: Int , x + ord c :: Int , x + ord 'a' :: Int , 0 + z :: Int , 0 + (-1) :: Int , 0 + id y :: Int , 0 + id 1 :: Int , 0 + id (id x) :: Int , 0 + id (id 0) :: Int , 0 + negate x :: Int , 0 + negate 0 :: Int , 0 + abs x :: Int , 0 + abs 0 :: Int , 0 + head xs :: Int , 0 + head [] :: Int , 0 + ord c :: Int , 0 + ord 'a' :: Int , f z :: Int , f (-1) :: Int , f (id y) :: Int , f (id 1) :: Int , f (id (id x)) :: Int , f (id (id 0)) :: Int , f (negate x) :: Int , f (negate 0) :: Int , f (abs x) :: Int , f (abs 0) :: Int , f (head xs) :: Int , f (head []) :: Int , f (ord c) :: Int , f (ord 'a') :: Int , y + y :: Int , y + 1 :: Int , y + id x :: Int , y + id 0 :: Int , 1 + y :: Int , 1 + 1 :: Int , 1 + id x :: Int , 1 + id 0 :: Int , id x + y :: Int , id x + 1 :: Int , id x + id x :: Int , id x + id 0 :: Int , id 0 + y :: Int , id 0 + 1 :: Int , id 0 + id x :: Int , id 0 + id 0 :: Int , x * y :: Int , x * 1 :: Int , x * id x :: Int , x * id 0 :: Int , 0 * y :: Int , 0 * 1 :: Int , 0 * id x :: Int , 0 * id 0 :: Int , g y :: Int , g 1 :: Int , g (id x) :: Int , g (id 0) :: Int , z + x :: Int , z + 0 :: Int , (-1) + x :: Int , (-1) + 0 :: Int , id y + x :: Int , id y + 0 :: Int , id 1 + x :: Int , id 1 + 0 :: Int , id (id x) + x :: Int , id (id x) + 0 :: Int , id (id 0) + x :: Int , id (id 0) + 0 :: Int , negate x + x :: Int , negate x + 0 :: Int , negate 0 + x :: Int , negate 0 + 0 :: Int , abs x + x :: Int , abs x + 0 :: Int , abs 0 + x :: Int , abs 0 + 0 :: Int , head xs + x :: Int , head xs + 0 :: Int , head [] + x :: Int , head [] + 0 :: Int , ord c + x :: Int , ord c + 0 :: Int , ord 'a' + x :: Int , ord 'a' + 0 :: Int , y * x :: Int , y * 0 :: Int , 1 * x :: Int , 1 * 0 :: Int , id x * x :: Int , id x * 0 :: Int , id 0 * x :: Int , id 0 * 0 :: Int , h x :: Int , h 0 :: Int , head xs' :: Int , head [0,0,0] :: Int , head [0,1] :: Int , head [1,0] :: Int , head [-1] :: Int , head (x:ys) :: Int , head (x:[0]) :: Int , head (0:ys) :: Int , head (0:[0]) :: Int , head (y:xs) :: Int , head [y] :: Int , head (1:xs) :: Int , head [1] :: Int , head (id x:xs) :: Int , head [id x] :: Int , head (id 0:xs) :: Int , head [id 0] :: Int , head (tail ys) :: Int , head (tail [0]) :: Int , head (xs ++ xs) :: Int , head (xs ++ []) :: Int , head ([] ++ xs) :: Int , head ([] ++ []) :: Int , head (sort xs) :: Int , head (sort []) :: Int , ord c' :: Int , ord 'A' :: Int , q' :: Bool , not p' :: Bool , not (not r) :: Bool , not (not (not q)) :: Bool , not (not (not (not p))) :: Bool , not (not (not (not False))) :: Bool , not (not (not (not True))) :: Bool , not (p || p) :: Bool , not (p || False) :: Bool , not (p || True) :: Bool , not (False || p) :: Bool , not (False || False) :: Bool , not (False || True) :: Bool , not (True || p) :: Bool , not (True || False) :: Bool , not (True || True) :: Bool , not (odd x) :: Bool , not (odd 0) :: Bool , not (even x) :: Bool , not (even 0) :: Bool , p || q :: Bool , p || not p :: Bool , p || not False :: Bool , p || not True :: Bool , False || q :: Bool , False || not p :: Bool , False || not False :: Bool , False || not True :: Bool , True || q :: Bool , True || not p :: Bool , True || not False :: Bool , True || not True :: Bool , q || p :: Bool , q || False :: Bool , q || True :: Bool , not p || p :: Bool , not p || False :: Bool , not p || True :: Bool , not False || p :: Bool , not False || False :: Bool , not False || True :: Bool , not True || p :: Bool , not True || False :: Bool , not True || True :: Bool , p && p :: Bool , p && False :: Bool , p && True :: Bool , False && p :: Bool , False && False :: Bool , False && True :: Bool , True && p :: Bool , True && False :: Bool , True && True :: Bool , x == x :: Bool , x == 0 :: Bool , 0 == x :: Bool , 0 == 0 :: Bool , p == p :: Bool , p == False :: Bool , p == True :: Bool , False == p :: Bool , False == False :: Bool , False == True :: Bool , True == p :: Bool , True == False :: Bool , True == True :: Bool , odd y :: Bool , odd 1 :: Bool , odd (id x) :: Bool , odd (id 0) :: Bool , even y :: Bool , even 1 :: Bool , even (id x) :: Bool , even (id 0) :: Bool , elem x xs :: Bool , elem x [] :: Bool , elem 0 xs :: Bool , elem 0 [] :: Bool , d' :: Char , 'c' :: Char , ys' :: [Int] , [0,0,0,0] :: [Int] , [0,0,1] :: [Int] , [0,1,0] :: [Int] , [0,-1] :: [Int] , [1,0,0] :: [Int] , [1,1] :: [Int] , [-1,0] :: [Int] , [2] :: [Int] , x:zs :: [Int] , x:[0,0] :: [Int] , x:[1] :: [Int] , x:x:xs :: [Int] , [x,x] :: [Int] , x:0:xs :: [Int] , [x,0] :: [Int] , x:tail xs :: [Int] , x:tail [] :: [Int] , 0:zs :: [Int] , 0:[0,0] :: [Int] , 0:[1] :: [Int] , 0:x:xs :: [Int] , [0,x] :: [Int] , 0:0:xs :: [Int] , [0,0] :: [Int] , 0:tail xs :: [Int] , 0:tail [] :: [Int] , y:ys :: [Int] , y:[0] :: [Int] , 1:ys :: [Int] , 1:[0] :: [Int] , id x:ys :: [Int] , id x:[0] :: [Int] , id 0:ys :: [Int] , id 0:[0] :: [Int] , z:xs :: [Int] , [z] :: [Int] , (-1):xs :: [Int] , [-1] :: [Int] , id y:xs :: [Int] , [id y] :: [Int] , id 1:xs :: [Int] , [id 1] :: [Int] , id (id x):xs :: [Int] , [id (id x)] :: [Int] , id (id 0):xs :: [Int] , [id (id 0)] :: [Int] , negate x:xs :: [Int] , [negate x] :: [Int] , negate 0:xs :: [Int] , [negate 0] :: [Int] , abs x:xs :: [Int] , [abs x] :: [Int] , abs 0:xs :: [Int] , [abs 0] :: [Int] , head xs:xs :: [Int] , [head xs] :: [Int] , head []:xs :: [Int] , [head []] :: [Int] , ord c:xs :: [Int] , [ord c] :: [Int] , ord 'a':xs :: [Int] , [ord 'a'] :: [Int] , tail zs :: [Int] , tail [0,0] :: [Int] , tail [1] :: [Int] , tail (x:xs) :: [Int] , tail [x] :: [Int] , tail (0:xs) :: [Int] , tail [0] :: [Int] , tail (tail xs) :: [Int] , tail (tail []) :: [Int] , xs ++ ys :: [Int] , xs ++ [0] :: [Int] , [] ++ ys :: [Int] , [] ++ [0] :: [Int] , ys ++ xs :: [Int] , ys ++ [] :: [Int] , [0] ++ xs :: [Int] , [0] ++ [] :: [Int] , sort ys :: [Int] , sort [0] :: [Int] , insert x xs :: [Int] , insert x [] :: [Int] , insert 0 xs :: [Int] , insert 0 [] :: [Int] , (z +) :: Int -> Int , ((-1) +) :: Int -> Int , (id y +) :: Int -> Int , (id 1 +) :: Int -> Int , (id (id x) +) :: Int -> Int , (id (id 0) +) :: Int -> Int , (negate x +) :: Int -> Int , (negate 0 +) :: Int -> Int , (abs x +) :: Int -> Int , (abs 0 +) :: Int -> Int , (head xs +) :: Int -> Int , (head [] +) :: Int -> Int , (ord c +) :: Int -> Int , (ord 'a' +) :: Int -> Int , (y *) :: Int -> Int , (1 *) :: Int -> Int , (id x *) :: Int -> Int , (id 0 *) :: Int -> Int , h :: Int -> Int , (q ||) :: Bool -> Bool , (not p ||) :: Bool -> Bool , (not False ||) :: Bool -> Bool , (not True ||) :: Bool -> Bool , (p &&) :: Bool -> Bool , (False &&) :: Bool -> Bool , (True &&) :: Bool -> Bool ] , [ x'' :: Int , -3 :: Int , id z' :: Int , id 3 :: Int , id (id y') :: Int , id (id (-2)) :: Int , id (id (id x')) :: Int , id (id (id 2)) :: Int , id (id (id (id z))) :: Int , id (id (id (id (-1)))) :: Int , id (id (id (id (id y)))) :: Int , id (id (id (id (id 1)))) :: Int , id (id (id (id (id (id x))))) :: Int , id (id (id (id (id (id 0))))) :: Int , id (id (id (id (negate x)))) :: Int , id (id (id (id (negate 0)))) :: Int , id (id (id (id (abs x)))) :: Int , id (id (id (id (abs 0)))) :: Int , id (id (id (id (head xs)))) :: Int , id (id (id (id (head [])))) :: Int , id (id (id (id (ord c)))) :: Int , id (id (id (id (ord 'a')))) :: Int , id (id (id (negate y))) :: Int , id (id (id (negate 1))) :: Int , id (id (id (negate (id x)))) :: Int , id (id (id (negate (id 0)))) :: Int , id (id (id (abs y))) :: Int , id (id (id (abs 1))) :: Int , id (id (id (abs (id x)))) :: Int , id (id (id (abs (id 0)))) :: Int , id (id (id (x + x))) :: Int , id (id (id (x + 0))) :: Int , id (id (id (0 + x))) :: Int , id (id (id (0 + 0))) :: Int , id (id (id (f x))) :: Int , id (id (id (f 0))) :: Int , id (id (id (head ys))) :: Int , id (id (id (head [0]))) :: Int , id (id (id (ord d))) :: Int , id (id (id (ord ' '))) :: Int , id (id (negate z)) :: Int , id (id (negate (-1))) :: Int , id (id (negate (id y))) :: Int , id (id (negate (id 1))) :: Int , id (id (negate (id (id x)))) :: Int , id (id (negate (id (id 0)))) :: Int , id (id (negate (negate x))) :: Int , id (id (negate (negate 0))) :: Int , id (id (negate (abs x))) :: Int , id (id (negate (abs 0))) :: Int , id (id (negate (head xs))) :: Int , id (id (negate (head []))) :: Int , id (id (negate (ord c))) :: Int , id (id (negate (ord 'a'))) :: Int , id (id (abs z)) :: Int , id (id (abs (-1))) :: Int , id (id (abs (id y))) :: Int , id (id (abs (id 1))) :: Int , id (id (abs (id (id x)))) :: Int , id (id (abs (id (id 0)))) :: Int , id (id (abs (negate x))) :: Int , id (id (abs (negate 0))) :: Int , id (id (abs (abs x))) :: Int , id (id (abs (abs 0))) :: Int , id (id (abs (head xs))) :: Int , id (id (abs (head []))) :: Int , id (id (abs (ord c))) :: Int , id (id (abs (ord 'a'))) :: Int , id (id (x + y)) :: Int , id (id (x + 1)) :: Int , id (id (x + id x)) :: Int , id (id (x + id 0)) :: Int , id (id (0 + y)) :: Int , id (id (0 + 1)) :: Int , id (id (0 + id x)) :: Int , id (id (0 + id 0)) :: Int , id (id (f y)) :: Int , id (id (f 1)) :: Int , id (id (f (id x))) :: Int , id (id (f (id 0))) :: Int , id (id (y + x)) :: Int , id (id (y + 0)) :: Int , id (id (1 + x)) :: Int , id (id (1 + 0)) :: Int , id (id (id x + x)) :: Int , id (id (id x + 0)) :: Int , id (id (id 0 + x)) :: Int , id (id (id 0 + 0)) :: Int , id (id (x * x)) :: Int , id (id (x * 0)) :: Int , id (id (0 * x)) :: Int , id (id (0 * 0)) :: Int , id (id (g x)) :: Int , id (id (g 0)) :: Int , id (id (head zs)) :: Int , id (id (head [0,0])) :: Int , id (id (head [1])) :: Int , id (id (head (x:xs))) :: Int , id (id (head [x])) :: Int , id (id (head (0:xs))) :: Int , id (id (head [0])) :: Int , id (id (head (tail xs))) :: Int , id (id (head (tail []))) :: Int , id (id (ord e)) :: Int , id (id (ord 'b')) :: Int , id (negate x') :: Int , id (negate 2) :: Int , id (negate (id z)) :: Int , id (negate (id (-1))) :: Int , id (negate (id (id y))) :: Int , id (negate (id (id 1))) :: Int , id (negate (id (id (id x)))) :: Int , id (negate (id (id (id 0)))) :: Int , id (negate (id (negate x))) :: Int , id (negate (id (negate 0))) :: Int , id (negate (id (abs x))) :: Int , id (negate (id (abs 0))) :: Int , id (negate (id (head xs))) :: Int , id (negate (id (head []))) :: Int , id (negate (id (ord c))) :: Int , id (negate (id (ord 'a'))) :: Int , id (negate (negate y)) :: Int , id (negate (negate 1)) :: Int , id (negate (negate (id x))) :: Int , id (negate (negate (id 0))) :: Int , id (negate (abs y)) :: Int , id (negate (abs 1)) :: Int , id (negate (abs (id x))) :: Int , id (negate (abs (id 0))) :: Int , id (negate (x + x)) :: Int , id (negate (x + 0)) :: Int , id (negate (0 + x)) :: Int , id (negate (0 + 0)) :: Int , id (negate (f x)) :: Int , id (negate (f 0)) :: Int , id (negate (head ys)) :: Int , id (negate (head [0])) :: Int , id (negate (ord d)) :: Int , id (negate (ord ' ')) :: Int , id (abs x') :: Int , id (abs 2) :: Int , id (abs (id z)) :: Int , id (abs (id (-1))) :: Int , id (abs (id (id y))) :: Int , id (abs (id (id 1))) :: Int , id (abs (id (id (id x)))) :: Int , id (abs (id (id (id 0)))) :: Int , id (abs (id (negate x))) :: Int , id (abs (id (negate 0))) :: Int , id (abs (id (abs x))) :: Int , id (abs (id (abs 0))) :: Int , id (abs (id (head xs))) :: Int , id (abs (id (head []))) :: Int , id (abs (id (ord c))) :: Int , id (abs (id (ord 'a'))) :: Int , id (abs (negate y)) :: Int , id (abs (negate 1)) :: Int , id (abs (negate (id x))) :: Int , id (abs (negate (id 0))) :: Int , id (abs (abs y)) :: Int , id (abs (abs 1)) :: Int , id (abs (abs (id x))) :: Int , id (abs (abs (id 0))) :: Int , id (abs (x + x)) :: Int , id (abs (x + 0)) :: Int , id (abs (0 + x)) :: Int , id (abs (0 + 0)) :: Int , id (abs (f x)) :: Int , id (abs (f 0)) :: Int , id (abs (head ys)) :: Int , id (abs (head [0])) :: Int , id (abs (ord d)) :: Int , id (abs (ord ' ')) :: Int , id (x + z) :: Int , id (x + (-1)) :: Int , id (x + id y) :: Int , id (x + id 1) :: Int , id (x + id (id x)) :: Int , id (x + id (id 0)) :: Int , id (x + negate x) :: Int , id (x + negate 0) :: Int , id (x + abs x) :: Int , id (x + abs 0) :: Int , id (x + head xs) :: Int , id (x + head []) :: Int , id (x + ord c) :: Int , id (x + ord 'a') :: Int , id (0 + z) :: Int , id (0 + (-1)) :: Int , id (0 + id y) :: Int , id (0 + id 1) :: Int , id (0 + id (id x)) :: Int , id (0 + id (id 0)) :: Int , id (0 + negate x) :: Int , id (0 + negate 0) :: Int , id (0 + abs x) :: Int , id (0 + abs 0) :: Int , id (0 + head xs) :: Int , id (0 + head []) :: Int , id (0 + ord c) :: Int , id (0 + ord 'a') :: Int , id (f z) :: Int , id (f (-1)) :: Int , id (f (id y)) :: Int , id (f (id 1)) :: Int , id (f (id (id x))) :: Int , id (f (id (id 0))) :: Int , id (f (negate x)) :: Int , id (f (negate 0)) :: Int , id (f (abs x)) :: Int , id (f (abs 0)) :: Int , id (f (head xs)) :: Int , id (f (head [])) :: Int , id (f (ord c)) :: Int , id (f (ord 'a')) :: Int , id (y + y) :: Int , id (y + 1) :: Int , id (y + id x) :: Int , id (y + id 0) :: Int , id (1 + y) :: Int , id (1 + 1) :: Int , id (1 + id x) :: Int , id (1 + id 0) :: Int , id (id x + y) :: Int , id (id x + 1) :: Int , id (id x + id x) :: Int , id (id x + id 0) :: Int , id (id 0 + y) :: Int , id (id 0 + 1) :: Int , id (id 0 + id x) :: Int , id (id 0 + id 0) :: Int , id (x * y) :: Int , id (x * 1) :: Int , id (x * id x) :: Int , id (x * id 0) :: Int , id (0 * y) :: Int , id (0 * 1) :: Int , id (0 * id x) :: Int , id (0 * id 0) :: Int , id (g y) :: Int , id (g 1) :: Int , id (g (id x)) :: Int , id (g (id 0)) :: Int , id (z + x) :: Int , id (z + 0) :: Int , id ((-1) + x) :: Int , id ((-1) + 0) :: Int , id (id y + x) :: Int , id (id y + 0) :: Int , id (id 1 + x) :: Int , id (id 1 + 0) :: Int , id (id (id x) + x) :: Int , id (id (id x) + 0) :: Int , id (id (id 0) + x) :: Int , id (id (id 0) + 0) :: Int , id (negate x + x) :: Int , id (negate x + 0) :: Int , id (negate 0 + x) :: Int , id (negate 0 + 0) :: Int , id (abs x + x) :: Int , id (abs x + 0) :: Int , id (abs 0 + x) :: Int , id (abs 0 + 0) :: Int , id (head xs + x) :: Int , id (head xs + 0) :: Int , id (head [] + x) :: Int , id (head [] + 0) :: Int , id (ord c + x) :: Int , id (ord c + 0) :: Int , id (ord 'a' + x) :: Int , id (ord 'a' + 0) :: Int , id (y * x) :: Int , id (y * 0) :: Int , id (1 * x) :: Int , id (1 * 0) :: Int , id (id x * x) :: Int , id (id x * 0) :: Int , id (id 0 * x) :: Int , id (id 0 * 0) :: Int , id (h x) :: Int , id (h 0) :: Int , id (head xs') :: Int , id (head [0,0,0]) :: Int , id (head [0,1]) :: Int , id (head [1,0]) :: Int , id (head [-1]) :: Int , id (head (x:ys)) :: Int , id (head (x:[0])) :: Int , id (head (0:ys)) :: Int , id (head (0:[0])) :: Int , id (head (y:xs)) :: Int , id (head [y]) :: Int , id (head (1:xs)) :: Int , id (head [1]) :: Int , id (head (id x:xs)) :: Int , id (head [id x]) :: Int , id (head (id 0:xs)) :: Int , id (head [id 0]) :: Int , id (head (tail ys)) :: Int , id (head (tail [0])) :: Int , id (head (xs ++ xs)) :: Int , id (head (xs ++ [])) :: Int , id (head ([] ++ xs)) :: Int , id (head ([] ++ [])) :: Int , id (head (sort xs)) :: Int , id (head (sort [])) :: Int , id (ord c') :: Int , id (ord 'A') :: Int , negate y' :: Int , negate (-2) :: Int , negate (id x') :: Int , negate (id 2) :: Int , negate (id (id z)) :: Int , negate (id (id (-1))) :: Int , negate (id (id (id y))) :: Int , negate (id (id (id 1))) :: Int , negate (id (id (id (id x)))) :: Int , negate (id (id (id (id 0)))) :: Int , negate (id (id (negate x))) :: Int , negate (id (id (negate 0))) :: Int , negate (id (id (abs x))) :: Int , negate (id (id (abs 0))) :: Int , negate (id (id (head xs))) :: Int , negate (id (id (head []))) :: Int , negate (id (id (ord c))) :: Int , negate (id (id (ord 'a'))) :: Int , negate (id (negate y)) :: Int , negate (id (negate 1)) :: Int , negate (id (negate (id x))) :: Int , negate (id (negate (id 0))) :: Int , negate (id (abs y)) :: Int , negate (id (abs 1)) :: Int , negate (id (abs (id x))) :: Int , negate (id (abs (id 0))) :: Int , negate (id (x + x)) :: Int , negate (id (x + 0)) :: Int , negate (id (0 + x)) :: Int , negate (id (0 + 0)) :: Int , negate (id (f x)) :: Int , negate (id (f 0)) :: Int , negate (id (head ys)) :: Int , negate (id (head [0])) :: Int , negate (id (ord d)) :: Int , negate (id (ord ' ')) :: Int , negate (negate z) :: Int , negate (negate (-1)) :: Int , negate (negate (id y)) :: Int , negate (negate (id 1)) :: Int , negate (negate (id (id x))) :: Int , negate (negate (id (id 0))) :: Int , negate (negate (negate x)) :: Int , negate (negate (negate 0)) :: Int , negate (negate (abs x)) :: Int , negate (negate (abs 0)) :: Int , negate (negate (head xs)) :: Int , negate (negate (head [])) :: Int , negate (negate (ord c)) :: Int , negate (negate (ord 'a')) :: Int , negate (abs z) :: Int , negate (abs (-1)) :: Int , negate (abs (id y)) :: Int , negate (abs (id 1)) :: Int , negate (abs (id (id x))) :: Int , negate (abs (id (id 0))) :: Int , negate (abs (negate x)) :: Int , negate (abs (negate 0)) :: Int , negate (abs (abs x)) :: Int , negate (abs (abs 0)) :: Int , negate (abs (head xs)) :: Int , negate (abs (head [])) :: Int , negate (abs (ord c)) :: Int , negate (abs (ord 'a')) :: Int , negate (x + y) :: Int , negate (x + 1) :: Int , negate (x + id x) :: Int , negate (x + id 0) :: Int , negate (0 + y) :: Int , negate (0 + 1) :: Int , negate (0 + id x) :: Int , negate (0 + id 0) :: Int , negate (f y) :: Int , negate (f 1) :: Int , negate (f (id x)) :: Int , negate (f (id 0)) :: Int , negate (y + x) :: Int , negate (y + 0) :: Int , negate (1 + x) :: Int , negate (1 + 0) :: Int , negate (id x + x) :: Int , negate (id x + 0) :: Int , negate (id 0 + x) :: Int , negate (id 0 + 0) :: Int , negate (x * x) :: Int , negate (x * 0) :: Int , negate (0 * x) :: Int , negate (0 * 0) :: Int , negate (g x) :: Int , negate (g 0) :: Int , negate (head zs) :: Int , negate (head [0,0]) :: Int , negate (head [1]) :: Int , negate (head (x:xs)) :: Int , negate (head [x]) :: Int , negate (head (0:xs)) :: Int , negate (head [0]) :: Int , negate (head (tail xs)) :: Int , negate (head (tail [])) :: Int , negate (ord e) :: Int , negate (ord 'b') :: Int , abs y' :: Int , abs (-2) :: Int , abs (id x') :: Int , abs (id 2) :: Int , abs (id (id z)) :: Int , abs (id (id (-1))) :: Int , abs (id (id (id y))) :: Int , abs (id (id (id 1))) :: Int , abs (id (id (id (id x)))) :: Int , abs (id (id (id (id 0)))) :: Int , abs (id (id (negate x))) :: Int , abs (id (id (negate 0))) :: Int , abs (id (id (abs x))) :: Int , abs (id (id (abs 0))) :: Int , abs (id (id (head xs))) :: Int , abs (id (id (head []))) :: Int , abs (id (id (ord c))) :: Int , abs (id (id (ord 'a'))) :: Int , abs (id (negate y)) :: Int , abs (id (negate 1)) :: Int , abs (id (negate (id x))) :: Int , abs (id (negate (id 0))) :: Int , abs (id (abs y)) :: Int , abs (id (abs 1)) :: Int , abs (id (abs (id x))) :: Int , abs (id (abs (id 0))) :: Int , abs (id (x + x)) :: Int , abs (id (x + 0)) :: Int , abs (id (0 + x)) :: Int , abs (id (0 + 0)) :: Int , abs (id (f x)) :: Int , abs (id (f 0)) :: Int , abs (id (head ys)) :: Int , abs (id (head [0])) :: Int , abs (id (ord d)) :: Int , abs (id (ord ' ')) :: Int , abs (negate z) :: Int , abs (negate (-1)) :: Int , abs (negate (id y)) :: Int , abs (negate (id 1)) :: Int , abs (negate (id (id x))) :: Int , abs (negate (id (id 0))) :: Int , abs (negate (negate x)) :: Int , abs (negate (negate 0)) :: Int , abs (negate (abs x)) :: Int , abs (negate (abs 0)) :: Int , abs (negate (head xs)) :: Int , abs (negate (head [])) :: Int , abs (negate (ord c)) :: Int , abs (negate (ord 'a')) :: Int , abs (abs z) :: Int , abs (abs (-1)) :: Int , abs (abs (id y)) :: Int , abs (abs (id 1)) :: Int , abs (abs (id (id x))) :: Int , abs (abs (id (id 0))) :: Int , abs (abs (negate x)) :: Int , abs (abs (negate 0)) :: Int , abs (abs (abs x)) :: Int , abs (abs (abs 0)) :: Int , abs (abs (head xs)) :: Int , abs (abs (head [])) :: Int , abs (abs (ord c)) :: Int , abs (abs (ord 'a')) :: Int , abs (x + y) :: Int , abs (x + 1) :: Int , abs (x + id x) :: Int , abs (x + id 0) :: Int , abs (0 + y) :: Int , abs (0 + 1) :: Int , abs (0 + id x) :: Int , abs (0 + id 0) :: Int , abs (f y) :: Int , abs (f 1) :: Int , abs (f (id x)) :: Int , abs (f (id 0)) :: Int , abs (y + x) :: Int , abs (y + 0) :: Int , abs (1 + x) :: Int , abs (1 + 0) :: Int , abs (id x + x) :: Int , abs (id x + 0) :: Int , abs (id 0 + x) :: Int , abs (id 0 + 0) :: Int , abs (x * x) :: Int , abs (x * 0) :: Int , abs (0 * x) :: Int , abs (0 * 0) :: Int , abs (g x) :: Int , abs (g 0) :: Int , abs (head zs) :: Int , abs (head [0,0]) :: Int , abs (head [1]) :: Int , abs (head (x:xs)) :: Int , abs (head [x]) :: Int , abs (head (0:xs)) :: Int , abs (head [0]) :: Int , abs (head (tail xs)) :: Int , abs (head (tail [])) :: Int , abs (ord e) :: Int , abs (ord 'b') :: Int , x + x' :: Int , x + 2 :: Int , x + id z :: Int , x + id (-1) :: Int , x + id (id y) :: Int , x + id (id 1) :: Int , x + id (id (id x)) :: Int , x + id (id (id 0)) :: Int , x + id (negate x) :: Int , x + id (negate 0) :: Int , x + id (abs x) :: Int , x + id (abs 0) :: Int , x + id (head xs) :: Int , x + id (head []) :: Int , x + id (ord c) :: Int , x + id (ord 'a') :: Int , x + negate y :: Int , x + negate 1 :: Int , x + negate (id x) :: Int , x + negate (id 0) :: Int , x + abs y :: Int , x + abs 1 :: Int , x + abs (id x) :: Int , x + abs (id 0) :: Int , x + (x + x) :: Int , x + (x + 0) :: Int , x + (0 + x) :: Int , x + (0 + 0) :: Int , x + f x :: Int , x + f 0 :: Int , x + head ys :: Int , x + head [0] :: Int , x + ord d :: Int , x + ord ' ' :: Int , 0 + x' :: Int , 0 + 2 :: Int , 0 + id z :: Int , 0 + id (-1) :: Int , 0 + id (id y) :: Int , 0 + id (id 1) :: Int , 0 + id (id (id x)) :: Int , 0 + id (id (id 0)) :: Int , 0 + id (negate x) :: Int , 0 + id (negate 0) :: Int , 0 + id (abs x) :: Int , 0 + id (abs 0) :: Int , 0 + id (head xs) :: Int , 0 + id (head []) :: Int , 0 + id (ord c) :: Int , 0 + id (ord 'a') :: Int , 0 + negate y :: Int , 0 + negate 1 :: Int , 0 + negate (id x) :: Int , 0 + negate (id 0) :: Int , 0 + abs y :: Int , 0 + abs 1 :: Int , 0 + abs (id x) :: Int , 0 + abs (id 0) :: Int , 0 + (x + x) :: Int , 0 + (x + 0) :: Int , 0 + (0 + x) :: Int , 0 + (0 + 0) :: Int , 0 + f x :: Int , 0 + f 0 :: Int , 0 + head ys :: Int , 0 + head [0] :: Int , 0 + ord d :: Int , 0 + ord ' ' :: Int , f x' :: Int , f 2 :: Int , f (id z) :: Int , f (id (-1)) :: Int , f (id (id y)) :: Int , f (id (id 1)) :: Int , f (id (id (id x))) :: Int , f (id (id (id 0))) :: Int , f (id (negate x)) :: Int , f (id (negate 0)) :: Int , f (id (abs x)) :: Int , f (id (abs 0)) :: Int , f (id (head xs)) :: Int , f (id (head [])) :: Int , f (id (ord c)) :: Int , f (id (ord 'a')) :: Int , f (negate y) :: Int , f (negate 1) :: Int , f (negate (id x)) :: Int , f (negate (id 0)) :: Int , f (abs y) :: Int , f (abs 1) :: Int , f (abs (id x)) :: Int , f (abs (id 0)) :: Int , f (x + x) :: Int , f (x + 0) :: Int , f (0 + x) :: Int , f (0 + 0) :: Int , f (f x) :: Int , f (f 0) :: Int , f (head ys) :: Int , f (head [0]) :: Int , f (ord d) :: Int , f (ord ' ') :: Int , y + z :: Int , y + (-1) :: Int , y + id y :: Int , y + id 1 :: Int , y + id (id x) :: Int , y + id (id 0) :: Int , y + negate x :: Int , y + negate 0 :: Int , y + abs x :: Int , y + abs 0 :: Int , y + head xs :: Int , y + head [] :: Int , y + ord c :: Int , y + ord 'a' :: Int , 1 + z :: Int , 1 + (-1) :: Int , 1 + id y :: Int , 1 + id 1 :: Int , 1 + id (id x) :: Int , 1 + id (id 0) :: Int , 1 + negate x :: Int , 1 + negate 0 :: Int , 1 + abs x :: Int , 1 + abs 0 :: Int , 1 + head xs :: Int , 1 + head [] :: Int , 1 + ord c :: Int , 1 + ord 'a' :: Int , id x + z :: Int , id x + (-1) :: Int , id x + id y :: Int , id x + id 1 :: Int , id x + id (id x) :: Int , id x + id (id 0) :: Int , id x + negate x :: Int , id x + negate 0 :: Int , id x + abs x :: Int , id x + abs 0 :: Int , id x + head xs :: Int , id x + head [] :: Int , id x + ord c :: Int , id x + ord 'a' :: Int , id 0 + z :: Int , id 0 + (-1) :: Int , id 0 + id y :: Int , id 0 + id 1 :: Int , id 0 + id (id x) :: Int , id 0 + id (id 0) :: Int , id 0 + negate x :: Int , id 0 + negate 0 :: Int , id 0 + abs x :: Int , id 0 + abs 0 :: Int , id 0 + head xs :: Int , id 0 + head [] :: Int , id 0 + ord c :: Int , id 0 + ord 'a' :: Int , x * z :: Int , x * (-1) :: Int , x * id y :: Int , x * id 1 :: Int , x * id (id x) :: Int , x * id (id 0) :: Int , x * negate x :: Int , x * negate 0 :: Int , x * abs x :: Int , x * abs 0 :: Int , x * head xs :: Int , x * head [] :: Int , x * ord c :: Int , x * ord 'a' :: Int , 0 * z :: Int , 0 * (-1) :: Int , 0 * id y :: Int , 0 * id 1 :: Int , 0 * id (id x) :: Int , 0 * id (id 0) :: Int , 0 * negate x :: Int , 0 * negate 0 :: Int , 0 * abs x :: Int , 0 * abs 0 :: Int , 0 * head xs :: Int , 0 * head [] :: Int , 0 * ord c :: Int , 0 * ord 'a' :: Int , g z :: Int , g (-1) :: Int , g (id y) :: Int , g (id 1) :: Int , g (id (id x)) :: Int , g (id (id 0)) :: Int , g (negate x) :: Int , g (negate 0) :: Int , g (abs x) :: Int , g (abs 0) :: Int , g (head xs) :: Int , g (head []) :: Int , g (ord c) :: Int , g (ord 'a') :: Int , z + y :: Int , z + 1 :: Int , z + id x :: Int , z + id 0 :: Int , (-1) + y :: Int , (-1) + 1 :: Int , (-1) + id x :: Int , (-1) + id 0 :: Int , id y + y :: Int , id y + 1 :: Int , id y + id x :: Int , id y + id 0 :: Int , id 1 + y :: Int , id 1 + 1 :: Int , id 1 + id x :: Int , id 1 + id 0 :: Int , id (id x) + y :: Int , id (id x) + 1 :: Int , id (id x) + id x :: Int , id (id x) + id 0 :: Int , id (id 0) + y :: Int , id (id 0) + 1 :: Int , id (id 0) + id x :: Int , id (id 0) + id 0 :: Int , negate x + y :: Int , negate x + 1 :: Int , negate x + id x :: Int , negate x + id 0 :: Int , negate 0 + y :: Int , negate 0 + 1 :: Int , negate 0 + id x :: Int , negate 0 + id 0 :: Int , abs x + y :: Int , abs x + 1 :: Int , abs x + id x :: Int , abs x + id 0 :: Int , abs 0 + y :: Int , abs 0 + 1 :: Int , abs 0 + id x :: Int , abs 0 + id 0 :: Int , head xs + y :: Int , head xs + 1 :: Int , head xs + id x :: Int , head xs + id 0 :: Int , head [] + y :: Int , head [] + 1 :: Int , head [] + id x :: Int , head [] + id 0 :: Int , ord c + y :: Int , ord c + 1 :: Int , ord c + id x :: Int , ord c + id 0 :: Int , ord 'a' + y :: Int , ord 'a' + 1 :: Int , ord 'a' + id x :: Int , ord 'a' + id 0 :: Int , y * y :: Int , y * 1 :: Int , y * id x :: Int , y * id 0 :: Int , 1 * y :: Int , 1 * 1 :: Int , 1 * id x :: Int , 1 * id 0 :: Int , id x * y :: Int , id x * 1 :: Int , id x * id x :: Int , id x * id 0 :: Int , id 0 * y :: Int , id 0 * 1 :: Int , id 0 * id x :: Int , id 0 * id 0 :: Int , h y :: Int , h 1 :: Int , h (id x) :: Int , h (id 0) :: Int , x' + x :: Int , x' + 0 :: Int , 2 + x :: Int , 2 + 0 :: Int , id z + x :: Int , id z + 0 :: Int , id (-1) + x :: Int , id (-1) + 0 :: Int , id (id y) + x :: Int , id (id y) + 0 :: Int , id (id 1) + x :: Int , id (id 1) + 0 :: Int , id (id (id x)) + x :: Int , id (id (id x)) + 0 :: Int , id (id (id 0)) + x :: Int , id (id (id 0)) + 0 :: Int , id (negate x) + x :: Int , id (negate x) + 0 :: Int , id (negate 0) + x :: Int , id (negate 0) + 0 :: Int , id (abs x) + x :: Int , id (abs x) + 0 :: Int , id (abs 0) + x :: Int , id (abs 0) + 0 :: Int , id (head xs) + x :: Int , id (head xs) + 0 :: Int , id (head []) + x :: Int , id (head []) + 0 :: Int , id (ord c) + x :: Int , id (ord c) + 0 :: Int , id (ord 'a') + x :: Int , id (ord 'a') + 0 :: Int , negate y + x :: Int , negate y + 0 :: Int , negate 1 + x :: Int , negate 1 + 0 :: Int , negate (id x) + x :: Int , negate (id x) + 0 :: Int , negate (id 0) + x :: Int , negate (id 0) + 0 :: Int , abs y + x :: Int , abs y + 0 :: Int , abs 1 + x :: Int , abs 1 + 0 :: Int , abs (id x) + x :: Int , abs (id x) + 0 :: Int , abs (id 0) + x :: Int , abs (id 0) + 0 :: Int , (x + x) + x :: Int , (x + x) + 0 :: Int , (x + 0) + x :: Int , (x + 0) + 0 :: Int , (0 + x) + x :: Int , (0 + x) + 0 :: Int , (0 + 0) + x :: Int , (0 + 0) + 0 :: Int , f x + x :: Int , f x + 0 :: Int , f 0 + x :: Int , f 0 + 0 :: Int , head ys + x :: Int , head ys + 0 :: Int , head [0] + x :: Int , head [0] + 0 :: Int , ord d + x :: Int , ord d + 0 :: Int , ord ' ' + x :: Int , ord ' ' + 0 :: Int , z * x :: Int , z * 0 :: Int , (-1) * x :: Int , (-1) * 0 :: Int , id y * x :: Int , id y * 0 :: Int , id 1 * x :: Int , id 1 * 0 :: Int , id (id x) * x :: Int , id (id x) * 0 :: Int , id (id 0) * x :: Int , id (id 0) * 0 :: Int , negate x * x :: Int , negate x * 0 :: Int , negate 0 * x :: Int , negate 0 * 0 :: Int , abs x * x :: Int , abs x * 0 :: Int , abs 0 * x :: Int , abs 0 * 0 :: Int , head xs * x :: Int , head xs * 0 :: Int , head [] * x :: Int , head [] * 0 :: Int , ord c * x :: Int , ord c * 0 :: Int , ord 'a' * x :: Int , ord 'a' * 0 :: Int , f' x :: Int , f' 0 :: Int , head ys' :: Int , head [0,0,0,0] :: Int , head [0,0,1] :: Int , head [0,1,0] :: Int , head [0,-1] :: Int , head [1,0,0] :: Int , head [1,1] :: Int , head [-1,0] :: Int , head [2] :: Int , head (x:zs) :: Int , head (x:[0,0]) :: Int , head (x:[1]) :: Int , head (x:x:xs) :: Int , head [x,x] :: Int , head (x:0:xs) :: Int , head [x,0] :: Int , head (x:tail xs) :: Int , head (x:tail []) :: Int , head (0:zs) :: Int , head (0:[0,0]) :: Int , head (0:[1]) :: Int , head (0:x:xs) :: Int , head [0,x] :: Int , head (0:0:xs) :: Int , head [0,0] :: Int , head (0:tail xs) :: Int , head (0:tail []) :: Int , head (y:ys) :: Int , head (y:[0]) :: Int , head (1:ys) :: Int , head (1:[0]) :: Int , head (id x:ys) :: Int , head (id x:[0]) :: Int , head (id 0:ys) :: Int , head (id 0:[0]) :: Int , head (z:xs) :: Int , head [z] :: Int , head ((-1):xs) :: Int , head [-1] :: Int , head (id y:xs) :: Int , head [id y] :: Int , head (id 1:xs) :: Int , head [id 1] :: Int , head (id (id x):xs) :: Int , head [id (id x)] :: Int , head (id (id 0):xs) :: Int , head [id (id 0)] :: Int , head (negate x:xs) :: Int , head [negate x] :: Int , head (negate 0:xs) :: Int , head [negate 0] :: Int , head (abs x:xs) :: Int , head [abs x] :: Int , head (abs 0:xs) :: Int , head [abs 0] :: Int , head (head xs:xs) :: Int , head [head xs] :: Int , head (head []:xs) :: Int , head [head []] :: Int , head (ord c:xs) :: Int , head [ord c] :: Int , head (ord 'a':xs) :: Int , head [ord 'a'] :: Int , head (tail zs) :: Int , head (tail [0,0]) :: Int , head (tail [1]) :: Int , head (tail (x:xs)) :: Int , head (tail [x]) :: Int , head (tail (0:xs)) :: Int , head (tail [0]) :: Int , head (tail (tail xs)) :: Int , head (tail (tail [])) :: Int , head (xs ++ ys) :: Int , head (xs ++ [0]) :: Int , head ([] ++ ys) :: Int , head ([] ++ [0]) :: Int , head (ys ++ xs) :: Int , head (ys ++ []) :: Int , head ([0] ++ xs) :: Int , head ([0] ++ []) :: Int , head (sort ys) :: Int , head (sort [0]) :: Int , head (insert x xs) :: Int , head (insert x []) :: Int , head (insert 0 xs) :: Int , head (insert 0 []) :: Int , ord d' :: Int , ord 'c' :: Int , r' :: Bool , not q' :: Bool , not (not p') :: Bool , not (not (not r)) :: Bool , not (not (not (not q))) :: Bool , not (not (not (not (not p)))) :: Bool , not (not (not (not (not False)))) :: Bool , not (not (not (not (not True)))) :: Bool , not (not (p || p)) :: Bool , not (not (p || False)) :: Bool , not (not (p || True)) :: Bool , not (not (False || p)) :: Bool , not (not (False || False)) :: Bool , not (not (False || True)) :: Bool , not (not (True || p)) :: Bool , not (not (True || False)) :: Bool , not (not (True || True)) :: Bool , not (not (odd x)) :: Bool , not (not (odd 0)) :: Bool , not (not (even x)) :: Bool , not (not (even 0)) :: Bool , not (p || q) :: Bool , not (p || not p) :: Bool , not (p || not False) :: Bool , not (p || not True) :: Bool , not (False || q) :: Bool , not (False || not p) :: Bool , not (False || not False) :: Bool , not (False || not True) :: Bool , not (True || q) :: Bool , not (True || not p) :: Bool , not (True || not False) :: Bool , not (True || not True) :: Bool , not (q || p) :: Bool , not (q || False) :: Bool , not (q || True) :: Bool , not (not p || p) :: Bool , not (not p || False) :: Bool , not (not p || True) :: Bool , not (not False || p) :: Bool , not (not False || False) :: Bool , not (not False || True) :: Bool , not (not True || p) :: Bool , not (not True || False) :: Bool , not (not True || True) :: Bool , not (p && p) :: Bool , not (p && False) :: Bool , not (p && True) :: Bool , not (False && p) :: Bool , not (False && False) :: Bool , not (False && True) :: Bool , not (True && p) :: Bool , not (True && False) :: Bool , not (True && True) :: Bool , not (x == x) :: Bool , not (x == 0) :: Bool , not (0 == x) :: Bool , not (0 == 0) :: Bool , not (p == p) :: Bool , not (p == False) :: Bool , not (p == True) :: Bool , not (False == p) :: Bool , not (False == False) :: Bool , not (False == True) :: Bool , not (True == p) :: Bool , not (True == False) :: Bool , not (True == True) :: Bool , not (odd y) :: Bool , not (odd 1) :: Bool , not (odd (id x)) :: Bool , not (odd (id 0)) :: Bool , not (even y) :: Bool , not (even 1) :: Bool , not (even (id x)) :: Bool , not (even (id 0)) :: Bool , not (elem x xs) :: Bool , not (elem x []) :: Bool , not (elem 0 xs) :: Bool , not (elem 0 []) :: Bool , p || r :: Bool , p || not q :: Bool , p || not (not p) :: Bool , p || not (not False) :: Bool , p || not (not True) :: Bool , False || r :: Bool , False || not q :: Bool , False || not (not p) :: Bool , False || not (not False) :: Bool , False || not (not True) :: Bool , True || r :: Bool , True || not q :: Bool , True || not (not p) :: Bool , True || not (not False) :: Bool , True || not (not True) :: Bool , q || q :: Bool , q || not p :: Bool , q || not False :: Bool , q || not True :: Bool , not p || q :: Bool , not p || not p :: Bool , not p || not False :: Bool , not p || not True :: Bool , not False || q :: Bool , not False || not p :: Bool , not False || not False :: Bool , not False || not True :: Bool , not True || q :: Bool , not True || not p :: Bool , not True || not False :: Bool , not True || not True :: Bool , p && q :: Bool , p && not p :: Bool , p && not False :: Bool , p && not True :: Bool , False && q :: Bool , False && not p :: Bool , False && not False :: Bool , False && not True :: Bool , True && q :: Bool , True && not p :: Bool , True && not False :: Bool , True && not True :: Bool , r || p :: Bool , r || False :: Bool , r || True :: Bool , not q || p :: Bool , not q || False :: Bool , not q || True :: Bool , not (not p) || p :: Bool , not (not p) || False :: Bool , not (not p) || True :: Bool , not (not False) || p :: Bool , not (not False) || False :: Bool , not (not False) || True :: Bool , not (not True) || p :: Bool , not (not True) || False :: Bool , not (not True) || True :: Bool , q && p :: Bool , q && False :: Bool , q && True :: Bool , not p && p :: Bool , not p && False :: Bool , not p && True :: Bool , not False && p :: Bool , not False && False :: Bool , not False && True :: Bool , not True && p :: Bool , not True && False :: Bool , not True && True :: Bool , p ==> p :: Bool , p ==> False :: Bool , p ==> True :: Bool , False ==> p :: Bool , False ==> False :: Bool , False ==> True :: Bool , True ==> p :: Bool , True ==> False :: Bool , True ==> True :: Bool , x == y :: Bool , x == 1 :: Bool , x == id x :: Bool , x == id 0 :: Bool , 0 == y :: Bool , 0 == 1 :: Bool , 0 == id x :: Bool , 0 == id 0 :: Bool , y == x :: Bool , y == 0 :: Bool , 1 == x :: Bool , 1 == 0 :: Bool , id x == x :: Bool , id x == 0 :: Bool , id 0 == x :: Bool , id 0 == 0 :: Bool , p == q :: Bool , p == not p :: Bool , p == not False :: Bool , p == not True :: Bool , False == q :: Bool , False == not p :: Bool , False == not False :: Bool , False == not True :: Bool , True == q :: Bool , True == not p :: Bool , True == not False :: Bool , True == not True :: Bool , q == p :: Bool , q == False :: Bool , q == True :: Bool , not p == p :: Bool , not p == False :: Bool , not p == True :: Bool , not False == p :: Bool , not False == False :: Bool , not False == True :: Bool , not True == p :: Bool , not True == False :: Bool , not True == True :: Bool , x <= x :: Bool , x <= 0 :: Bool , 0 <= x :: Bool , 0 <= 0 :: Bool , p <= p :: Bool , p <= False :: Bool , p <= True :: Bool , False <= p :: Bool , False <= False :: Bool , False <= True :: Bool , True <= p :: Bool , True <= False :: Bool , True <= True :: Bool , odd z :: Bool , odd (-1) :: Bool , odd (id y) :: Bool , odd (id 1) :: Bool , odd (id (id x)) :: Bool , odd (id (id 0)) :: Bool , odd (negate x) :: Bool , odd (negate 0) :: Bool , odd (abs x) :: Bool , odd (abs 0) :: Bool , odd (head xs) :: Bool , odd (head []) :: Bool , odd (ord c) :: Bool , odd (ord 'a') :: Bool , even z :: Bool , even (-1) :: Bool , even (id y) :: Bool , even (id 1) :: Bool , even (id (id x)) :: Bool , even (id (id 0)) :: Bool , even (negate x) :: Bool , even (negate 0) :: Bool , even (abs x) :: Bool , even (abs 0) :: Bool , even (head xs) :: Bool , even (head []) :: Bool , even (ord c) :: Bool , even (ord 'a') :: Bool , elem x ys :: Bool , elem x [0] :: Bool , elem 0 ys :: Bool , elem 0 [0] :: Bool , elem y xs :: Bool , elem y [] :: Bool , elem 1 xs :: Bool , elem 1 [] :: Bool , elem (id x) xs :: Bool , elem (id x) [] :: Bool , elem (id 0) xs :: Bool , elem (id 0) [] :: Bool , e' :: Char , '\n' :: Char , zs' :: [Int] , [0,0,0,0,0] :: [Int] , [0,0,0,1] :: [Int] , [0,0,1,0] :: [Int] , [0,0,-1] :: [Int] , [0,1,0,0] :: [Int] , [0,1,1] :: [Int] , [0,-1,0] :: [Int] , [0,2] :: [Int] , [1,0,0,0] :: [Int] , [1,0,1] :: [Int] , [1,1,0] :: [Int] , [1,-1] :: [Int] , [-1,0,0] :: [Int] , [-1,1] :: [Int] , [2,0] :: [Int] , [-2] :: [Int] , x:xs' :: [Int] , x:[0,0,0] :: [Int] , x:[0,1] :: [Int] , x:[1,0] :: [Int] , x:[-1] :: [Int] , x:x:ys :: [Int] , x:x:[0] :: [Int] , x:0:ys :: [Int] , x:0:[0] :: [Int] , x:y:xs :: [Int] , [x,y] :: [Int] , x:1:xs :: [Int] , [x,1] :: [Int] , x:id x:xs :: [Int] , [x,id x] :: [Int] , x:id 0:xs :: [Int] , [x,id 0] :: [Int] , x:tail ys :: [Int] , x:tail [0] :: [Int] , x:(xs ++ xs) :: [Int] , x:(xs ++ []) :: [Int] , x:([] ++ xs) :: [Int] , x:([] ++ []) :: [Int] , x:sort xs :: [Int] , x:sort [] :: [Int] , 0:xs' :: [Int] , 0:[0,0,0] :: [Int] , 0:[0,1] :: [Int] , 0:[1,0] :: [Int] , 0:[-1] :: [Int] , 0:x:ys :: [Int] , 0:x:[0] :: [Int] , 0:0:ys :: [Int] , 0:0:[0] :: [Int] , 0:y:xs :: [Int] , [0,y] :: [Int] , 0:1:xs :: [Int] , [0,1] :: [Int] , 0:id x:xs :: [Int] , [0,id x] :: [Int] , 0:id 0:xs :: [Int] , [0,id 0] :: [Int] , 0:tail ys :: [Int] , 0:tail [0] :: [Int] , 0:(xs ++ xs) :: [Int] , 0:(xs ++ []) :: [Int] , 0:([] ++ xs) :: [Int] , 0:([] ++ []) :: [Int] , 0:sort xs :: [Int] , 0:sort [] :: [Int] , y:zs :: [Int] , y:[0,0] :: [Int] , y:[1] :: [Int] , y:x:xs :: [Int] , [y,x] :: [Int] , y:0:xs :: [Int] , [y,0] :: [Int] , y:tail xs :: [Int] , y:tail [] :: [Int] , 1:zs :: [Int] , 1:[0,0] :: [Int] , 1:[1] :: [Int] , 1:x:xs :: [Int] , [1,x] :: [Int] , 1:0:xs :: [Int] , [1,0] :: [Int] , 1:tail xs :: [Int] , 1:tail [] :: [Int] , id x:zs :: [Int] , id x:[0,0] :: [Int] , id x:[1] :: [Int] , id x:x:xs :: [Int] , [id x,x] :: [Int] , id x:0:xs :: [Int] , [id x,0] :: [Int] , id x:tail xs :: [Int] , id x:tail [] :: [Int] , id 0:zs :: [Int] , id 0:[0,0] :: [Int] , id 0:[1] :: [Int] , id 0:x:xs :: [Int] , [id 0,x] :: [Int] , id 0:0:xs :: [Int] , [id 0,0] :: [Int] , id 0:tail xs :: [Int] , id 0:tail [] :: [Int] , z:ys :: [Int] , z:[0] :: [Int] , (-1):ys :: [Int] , (-1):[0] :: [Int] , id y:ys :: [Int] , id y:[0] :: [Int] , id 1:ys :: [Int] , id 1:[0] :: [Int] , id (id x):ys :: [Int] , id (id x):[0] :: [Int] , id (id 0):ys :: [Int] , id (id 0):[0] :: [Int] , negate x:ys :: [Int] , negate x:[0] :: [Int] , negate 0:ys :: [Int] , negate 0:[0] :: [Int] , abs x:ys :: [Int] , abs x:[0] :: [Int] , abs 0:ys :: [Int] , abs 0:[0] :: [Int] , head xs:ys :: [Int] , head xs:[0] :: [Int] , head []:ys :: [Int] , head []:[0] :: [Int] , ord c:ys :: [Int] , ord c:[0] :: [Int] , ord 'a':ys :: [Int] , ord 'a':[0] :: [Int] , x':xs :: [Int] , [x'] :: [Int] , 2:xs :: [Int] , [2] :: [Int] , id z:xs :: [Int] , [id z] :: [Int] , id (-1):xs :: [Int] , [id (-1)] :: [Int] , id (id y):xs :: [Int] , [id (id y)] :: [Int] , id (id 1):xs :: [Int] , [id (id 1)] :: [Int] , id (id (id x)):xs :: [Int] , [id (id (id x))] :: [Int] , id (id (id 0)):xs :: [Int] , [id (id (id 0))] :: [Int] , id (negate x):xs :: [Int] , [id (negate x)] :: [Int] , id (negate 0):xs :: [Int] , [id (negate 0)] :: [Int] , id (abs x):xs :: [Int] , [id (abs x)] :: [Int] , id (abs 0):xs :: [Int] , [id (abs 0)] :: [Int] , id (head xs):xs :: [Int] , [id (head xs)] :: [Int] , id (head []):xs :: [Int] , [id (head [])] :: [Int] , id (ord c):xs :: [Int] , [id (ord c)] :: [Int] , id (ord 'a'):xs :: [Int] , [id (ord 'a')] :: [Int] , negate y:xs :: [Int] , [negate y] :: [Int] , negate 1:xs :: [Int] , [negate 1] :: [Int] , negate (id x):xs :: [Int] , [negate (id x)] :: [Int] , negate (id 0):xs :: [Int] , [negate (id 0)] :: [Int] , abs y:xs :: [Int] , [abs y] :: [Int] , abs 1:xs :: [Int] , [abs 1] :: [Int] , abs (id x):xs :: [Int] , [abs (id x)] :: [Int] , abs (id 0):xs :: [Int] , [abs (id 0)] :: [Int] , x + x:xs :: [Int] , [x + x] :: [Int] , x + 0:xs :: [Int] , [x + 0] :: [Int] , 0 + x:xs :: [Int] , [0 + x] :: [Int] , 0 + 0:xs :: [Int] , [0 + 0] :: [Int] , f x:xs :: [Int] , [f x] :: [Int] , f 0:xs :: [Int] , [f 0] :: [Int] , head ys:xs :: [Int] , [head ys] :: [Int] , head [0]:xs :: [Int] , [head [0]] :: [Int] , ord d:xs :: [Int] , [ord d] :: [Int] , ord ' ':xs :: [Int] , [ord ' '] :: [Int] , tail xs' :: [Int] , tail [0,0,0] :: [Int] , tail [0,1] :: [Int] , tail [1,0] :: [Int] , tail [-1] :: [Int] , tail (x:ys) :: [Int] , tail (x:[0]) :: [Int] , tail (0:ys) :: [Int] , tail (0:[0]) :: [Int] , tail (y:xs) :: [Int] , tail [y] :: [Int] , tail (1:xs) :: [Int] , tail [1] :: [Int] , tail (id x:xs) :: [Int] , tail [id x] :: [Int] , tail (id 0:xs) :: [Int] , tail [id 0] :: [Int] , tail (tail ys) :: [Int] , tail (tail [0]) :: [Int] , tail (xs ++ xs) :: [Int] , tail (xs ++ []) :: [Int] , tail ([] ++ xs) :: [Int] , tail ([] ++ []) :: [Int] , tail (sort xs) :: [Int] , tail (sort []) :: [Int] , xs ++ zs :: [Int] , xs ++ [0,0] :: [Int] , xs ++ [1] :: [Int] , xs ++ (x:xs) :: [Int] , xs ++ [x] :: [Int] , xs ++ (0:xs) :: [Int] , xs ++ [0] :: [Int] , xs ++ tail xs :: [Int] , xs ++ tail [] :: [Int] , [] ++ zs :: [Int] , [] ++ [0,0] :: [Int] , [] ++ [1] :: [Int] , [] ++ (x:xs) :: [Int] , [] ++ [x] :: [Int] , [] ++ (0:xs) :: [Int] , [] ++ [0] :: [Int] , [] ++ tail xs :: [Int] , [] ++ tail [] :: [Int] , ys ++ ys :: [Int] , ys ++ [0] :: [Int] , [0] ++ ys :: [Int] , [0] ++ [0] :: [Int] , zs ++ xs :: [Int] , zs ++ [] :: [Int] , [0,0] ++ xs :: [Int] , [0,0] ++ [] :: [Int] , [1] ++ xs :: [Int] , [1] ++ [] :: [Int] , (x:xs) ++ xs :: [Int] , (x:xs) ++ [] :: [Int] , [x] ++ xs :: [Int] , [x] ++ [] :: [Int] , (0:xs) ++ xs :: [Int] , (0:xs) ++ [] :: [Int] , [0] ++ xs :: [Int] , [0] ++ [] :: [Int] , tail xs ++ xs :: [Int] , tail xs ++ [] :: [Int] , tail [] ++ xs :: [Int] , tail [] ++ [] :: [Int] , sort zs :: [Int] , sort [0,0] :: [Int] , sort [1] :: [Int] , sort (x:xs) :: [Int] , sort [x] :: [Int] , sort (0:xs) :: [Int] , sort [0] :: [Int] , sort (tail xs) :: [Int] , sort (tail []) :: [Int] , insert x ys :: [Int] , insert x [0] :: [Int] , insert 0 ys :: [Int] , insert 0 [0] :: [Int] , insert y xs :: [Int] , insert y [] :: [Int] , insert 1 xs :: [Int] , insert 1 [] :: [Int] , insert (id x) xs :: [Int] , insert (id x) [] :: [Int] , insert (id 0) xs :: [Int] , insert (id 0) [] :: [Int] , (x' +) :: Int -> Int , (2 +) :: Int -> Int , (id z +) :: Int -> Int , (id (-1) +) :: Int -> Int , (id (id y) +) :: Int -> Int , (id (id 1) +) :: Int -> Int , (id (id (id x)) +) :: Int -> Int , (id (id (id 0)) +) :: Int -> Int , (id (negate x) +) :: Int -> Int , (id (negate 0) +) :: Int -> Int , (id (abs x) +) :: Int -> Int , (id (abs 0) +) :: Int -> Int , (id (head xs) +) :: Int -> Int , (id (head []) +) :: Int -> Int , (id (ord c) +) :: Int -> Int , (id (ord 'a') +) :: Int -> Int , (negate y +) :: Int -> Int , (negate 1 +) :: Int -> Int , (negate (id x) +) :: Int -> Int , (negate (id 0) +) :: Int -> Int , (abs y +) :: Int -> Int , (abs 1 +) :: Int -> Int , (abs (id x) +) :: Int -> Int , (abs (id 0) +) :: Int -> Int , ((x + x) +) :: Int -> Int , ((x + 0) +) :: Int -> Int , ((0 + x) +) :: Int -> Int , ((0 + 0) +) :: Int -> Int , (f x +) :: Int -> Int , (f 0 +) :: Int -> Int , (head ys +) :: Int -> Int , (head [0] +) :: Int -> Int , (ord d +) :: Int -> Int , (ord ' ' +) :: Int -> Int , (z *) :: Int -> Int , ((-1) *) :: Int -> Int , (id y *) :: Int -> Int , (id 1 *) :: Int -> Int , (id (id x) *) :: Int -> Int , (id (id 0) *) :: Int -> Int , (negate x *) :: Int -> Int , (negate 0 *) :: Int -> Int , (abs x *) :: Int -> Int , (abs 0 *) :: Int -> Int , (head xs *) :: Int -> Int , (head [] *) :: Int -> Int , (ord c *) :: Int -> Int , (ord 'a' *) :: Int -> Int , f' :: Int -> Int , (r ||) :: Bool -> Bool , (not q ||) :: Bool -> Bool , (not (not p) ||) :: Bool -> Bool , (not (not False) ||) :: Bool -> Bool , (not (not True) ||) :: Bool -> Bool , (q &&) :: Bool -> Bool , (not p &&) :: Bool -> Bool , (not False &&) :: Bool -> Bool , (not True &&) :: Bool -> Bool , (p ==>) :: Bool -> Bool , (False ==>) :: Bool -> Bool , (True ==>) :: Bool -> Bool ] , ... ]