packages feed

express-1.0.14: bench/match-triexpr.txt

id p  =  p
p && p  =  p
p || p  =  p
p && q  =  q && p
p || q  =  q || p
not (not p)  =  p
p && True  =  p
True && p  =  p
p && False  =  False
False && p  =  False
p || True  =  True
True || p  =  True
p || False  =  p
False || p  =  p
p && not p  =  False
p || not p  =  True
not p && p  =  False
not p || p  =  True
(p && q) && r  =  p && (q && r)
(p || q) || r  =  p || (q || r)
not (p && q)  =  not p || not q
not (p || q)  =  not p && not q
not False  =  True
not True  =  False
not (not p && not q)  =  p || q
not (not p || not q)  =  p && q
p && not (p && q)  =  p && not q
id x  =  x
abs (abs x)  =  abs x
x + 0  =  x
0 + x  =  x
x * 1  =  x
1 * x  =  x
x * 0  =  0
0 * x  =  0
x + y  =  y + x
x * y  =  y * x
(x + y) + z  =  x + (y + z)
(x * y) * z  =  x * (y * z)
(x + x) * y  =  x * (y + y)
x * (y + 1)  =  x + x * y
(x + 1) * y  =  x + x * y
x * (y + z)  =  x * y + x * z
(x + y) * z  =  x * z + y * z
negate (negate x)  =  x
x + negate x  =  0
negate x + x  =  0
abs (negate x)  =  abs x
2 * x  =  x + x
x * 2  =  x + x
3 * x  =  x + (x + x)
x * 3  =  x + (x + x)
4 * x  =  x + (x + (x + x))
x * 4  =  x + (x + (x + x))
abs (x * x)  =  x * x
abs x * abs y  =  abs (x * y)
abs x * abs x  =  abs (x + x)
abs (abs x + abs y)  =  abs x + abs y
abs (x + x) * y  =  abs x * y + abs x * y
abs x * signum x  =  x
signum x * abs x  =  x
id xs  =  xs
head (x:xs)  =  x
tail (x:xs)  =  xs
xs ++ []  =  xs
[] ++ xs  =  xs
[x] ++ xs  =  x:xs
(x:xs) ++ ys  =  x:(xs ++ ys)
(xs ++ ys) ++ zs  =  xs ++ (ys ++ zs)
elem x (sort xs)  =  elem x xs
elem x (insert y xs)  =  elem x (y:xs)
sort (sort xs)  =  sort xs
insert x []  =  [x]
sort (xs ++ ys)  =  sort (ys ++ xs)
sort (insert x xs)  =  insert x (sort xs)
sort (x:xs)  =  insert x (sort xs)
sort (xs ++ sort ys)  =  sort (xs ++ ys)
sort (sort xs ++ ys)  =  sort (xs ++ ys)
insert x (insert y xs)  =  insert y (insert x xs)
insert x (x:xs)  =  x:x:xs
insert x [y]  =  insert y [x]
length (x:xs)  =  length (y:xs)
length (xs ++ ys)  =  length (ys ++ xs)
length (x:y:xs)  =  length (z:x':xs)
length (x:(xs ++ ys))  =  length (y:(ys ++ xs))
length (xs ++ (ys ++ zs))  =  length (xs ++ (zs ++ ys))
not (odd x)  =  even x
not (even x)  =  odd x
x == x  =  True
x /= x  =  False
p == p  =  True
p /= p  =  False
f (g x)  =  (f . g) x
map id xs  =  xs
map (f . g) xs  =  map f (map g xs)
f . id  =  f
id . f  =  f
(f . g) . h  =  f . (g . h)
not . not  =  id

(id x :: Int,[(x :: Int,_ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,0 :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(id x :: Int,[(x :: Int,y :: Int)],x :: Int)
(id x :: Int,[(x :: Int,1 :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(id x :: Int,[(x :: Int,head _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord _ :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(not False :: Bool,[],True :: Bool)
(not True :: Bool,[],False :: Bool)
(not (not p) :: Bool,[(p :: Bool,_ :: Bool)],p :: Bool)
(p || p :: Bool,[(p :: Bool,_ :: Bool)],p :: Bool)
(id x :: Int,[(x :: Int,z :: Int)],x :: Int)
(id x :: Int,[(x :: Int,-1 :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(id x :: Int,[(x :: Int,head xs :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head [] :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (_:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord c :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord 'a' :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,y :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,1 :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head _ :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,x :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,x :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,0 :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,y :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,1 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,head _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,ord _ :: Int)],y + x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,x :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,0 :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,id _ :: Int)],y * x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],xs :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[] :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,id _ :: Int)],x :: Int)
(not (not p) :: Bool,[(p :: Bool,p :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,False :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,True :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not _ :: Bool)],p :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p && p :: Bool,[(p :: Bool,_ :: Bool)],p :: Bool)
(x == x :: Bool,[(x :: Int,_ :: Int)],True :: Bool)
(p == p :: Bool,[(p :: Bool,_ :: Bool)],True :: Bool)
(tail (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],xs :: [Int])
(xs ++ [] :: [Int],[(xs :: [Int],_ :: [Int])],xs :: [Int])
([] ++ xs :: [Int],[(xs :: [Int],_ :: [Int])],xs :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
(id x :: Int,[(x :: Int,x' :: Int)],x :: Int)
(id x :: Int,[(x :: Int,2 :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,z :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,-1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id x) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id 0) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (id _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (negate _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (abs _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (_ + _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (head _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (ord _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ * _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,f _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head xs :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head [] :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (_:_) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord c :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord 'a' :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(y +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(1 +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id x +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id 0 +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id (id _) +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(negate _ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(abs _ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,((_ + _) +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(head _ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(ord _ +) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(x *) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(0 *) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id _ *) :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,g :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(id x :: Int,[(x :: Int,head ys :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head [0] :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (_:xs) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head [_] :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (_:_:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (x:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (0:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (id _:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (tail _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (_ ++ _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord d :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord ' ' :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,z :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,-1 :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head xs :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,head [] :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,head (_:_) :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord c :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord 'a' :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,y :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,1 :: Int),(x :: Int,x :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head _ :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,y :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,1 :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head _ :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,y :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,1 :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head _ :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x * y :: Int,[(y :: Int,y :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,1 :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,head _ :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,y :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,y :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(y +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,1 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,1 :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(1 +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,id x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,id x :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id x +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,id 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,id 0 :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id 0 +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,id (id _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,id (id _) :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id (id _) +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,negate _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,negate _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(negate _ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,abs _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,abs _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(abs _ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,_ + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,_ + _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,((_ + _) +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,head _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,head _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(head _ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,ord _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,ord _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(ord _ +) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,x :: Int),(x :: Int,x :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,0 :: Int),(x :: Int,x :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x *) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,x :: Int),(x :: Int,0 :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,0 :: Int),(x :: Int,0 :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 *) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,x :: Int),(x :: Int,id _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,0 :: Int),(x :: Int,id _ :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,g :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,z :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,-1 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id y :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id 1 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id x) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id 0) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id (id _)) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (negate _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (abs _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (_ + _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (head _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (ord _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate (id _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs (id _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + id _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,x + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,0 + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id _ + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ * _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,f _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,head xs :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,head [] :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,head (_:_) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,ord c :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,ord 'a' :: Int)],y + x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,y :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,1 :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,id x :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,id 0 :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id _) :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,head _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,ord _ :: Int)],y * x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],ys :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[0] :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:xs :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[_] :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],x:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],0:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],id _:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],tail _ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ ++ _ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],xs :: [Int]),(x :: Int,x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[] :: [Int]),(x :: Int,x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_ :: [Int]),(x :: Int,x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],xs :: [Int]),(x :: Int,0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[] :: [Int]),(x :: Int,0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_ :: [Int]),(x :: Int,0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],xs :: [Int]),(x :: Int,id _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[] :: [Int]),(x :: Int,id _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_ :: [Int]),(x :: Int,id _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,y :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,1 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,id x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,id 0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,id (id _) :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,negate _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,abs _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,_ + _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,head _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,ord _ :: Int)],x :: Int)
(not (not p) :: Bool,[(p :: Bool,q :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not p :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not False :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not True :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not (not _) :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,_ || _ :: Bool)],p :: Bool)
(not (p || q) :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,p :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,False :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,True :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not _ :: Bool)],not p && not q :: Bool)
(not (p && q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],not p || not q :: Bool)
(not (odd x) :: Bool,[(x :: Int,_ :: Int)],even x :: Bool)
(not (even x) :: Bool,[(x :: Int,_ :: Int)],odd x :: Bool)
(p || q :: Bool,[(q :: Bool,q :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not p :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not False :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not True :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not (not _) :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ || _ :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || p :: Bool,[(p :: Bool,p :: Bool)],p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || p :: Bool,[(p :: Bool,False :: Bool)],p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || p :: Bool,[(p :: Bool,True :: Bool)],p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p || p :: Bool,[(p :: Bool,not _ :: Bool)],p :: Bool)
(p && q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,q :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not (not _) :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ || _ :: Bool)],q || p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,p :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,False :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,True :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not _ :: Bool)],q && p :: Bool)
(tail (x:xs) :: [Int],[(xs :: [Int],xs :: [Int]),(x :: Int,_ :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],[] :: [Int]),(x :: Int,_ :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],_:_ :: [Int]),(x :: Int,_ :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,x :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,0 :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,id _ :: Int)],xs :: [Int])
(xs ++ [] :: [Int],[(xs :: [Int],xs :: [Int])],xs :: [Int])
([] ++ xs :: [Int],[(xs :: [Int],xs :: [Int])],xs :: [Int])
(xs ++ [] :: [Int],[(xs :: [Int],[] :: [Int])],xs :: [Int])
([] ++ xs :: [Int],[(xs :: [Int],_:_ :: [Int])],xs :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],xs :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
(xs ++ [] :: [Int],[(xs :: [Int],_:_ :: [Int])],xs :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_:_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],xs :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],[] :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_:_ :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,x :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,0 :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,id _ :: Int)],x:(xs ++ ys) :: [Int])
((xs ++ ys) ++ zs :: [Int],[(zs :: [Int],_ :: [Int]),(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int])],xs ++ (ys ++ zs) :: [Int])
(sort (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],insert x (sort xs) :: [Int])
(insert x [] :: [Int],[(x :: Int,_ :: Int)],[x] :: [Int])
(insert x (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x:x:xs :: [Int])
(id x :: Int,[(x :: Int,y' :: Int)],x :: Int)
(id x :: Int,[(x :: Int,-2 :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,x' :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,2 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id z :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (-1) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id y) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id 1) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (id x)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (id 0)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (id (id _))) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (negate _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (abs _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (_ + _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (head _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (ord _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (negate x) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (negate 0) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (negate (id _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (abs x) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (abs 0) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (abs (id _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (_ + x) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (_ + 0) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (_ + id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (x + _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (0 + _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _ + _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (_ * _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (f _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (head xs) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (head []) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (head (_:_)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (ord c) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (ord 'a') :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate 1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (id x) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (id 0) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (id (id _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (negate _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (abs _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (_ + _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (head _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (ord _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs 1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (id x) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (id 0) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (id (id _)) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (negate _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (abs _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (_ + _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (head _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (ord _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + 1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + id x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + id 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + id (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + negate _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + abs _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + (_ + _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + head _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + ord _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x + x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x + 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x + id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 + x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 + 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 + id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ + x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ + 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ + id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ * x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ * 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ * id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,f x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,f 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,f (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,y + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,(_ + _) + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x * _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 * _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ * _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,g _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head ys :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head [0] :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (_:xs) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head [_] :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (_:_:_) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (x:_) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (0:_) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (id _:_) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (tail _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (_ ++ _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord d :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord ' ' :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,z :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,-1 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id y :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 1 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id x) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id 0) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (id _)) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (negate _) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (abs _) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (_ + _) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (head _) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (ord _) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate 0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate (id _) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs 0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs (id _) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + 0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + id _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x + _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 + _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ + _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ * _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,f _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head xs :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head [] :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head (_:_) :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord c :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord 'a' :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,z :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,-1 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id y :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 1 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id x) :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id 0) :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id (id _)) :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,id :: Int -> Int)],(f . g) x :: Int)

True