express 1.0.12 → 1.0.14
raw patch · 99 files changed
+30941/−28331 lines, 99 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Express.Fixtures: (-...) :: Expr -> Expr -> Expr
- Data.Express.Fixtures: (-...-) :: Expr -> Expr -> Expr -> Expr
- Data.Express.Triexpr: data Triexpr a
+ Data.Express: ($$<) :: Expr -> [Expr] -> [Expr]
+ Data.Express: (>$$) :: [Expr] -> Expr -> [Expr]
+ Data.Express: (>$$<) :: [Expr] -> [Expr] -> [Expr]
+ Data.Express.Basic: ($$<) :: Expr -> [Expr] -> [Expr]
+ Data.Express.Basic: (>$$) :: [Expr] -> Expr -> [Expr]
+ Data.Express.Basic: (>$$<) :: [Expr] -> [Expr] -> [Expr]
+ Data.Express.Fixtures: (--..) :: (Expr, Expr) -> () -> Expr
+ Data.Express.Fixtures: (--..-) :: (Expr, Expr) -> Expr -> Expr
+ Data.Express.Triexpr: newtype Triexpr a
+ Data.Express.Utils.List: none :: (a -> Bool) -> [a] -> Bool
- Data.Express.Fixtures: (-..) :: Expr -> Expr
+ Data.Express.Fixtures: (-..) :: Expr -> () -> Expr
Files
- .github/workflows/build.yml +5/−3
- .gitignore +2/−0
- LICENSE +1/−1
- Makefile +27/−11
- bench/compare.hs +2/−2
- bench/compare.txt +5041/−0
- bench/match-list.hs +3/−3
- bench/match-list.txt +795/−0
- bench/match-noop.hs +3/−3
- bench/match-noop.txt +1182/−0
- bench/match-triexpr.hs +3/−3
- bench/match-triexpr.txt +795/−0
- bench/pairs.hs +1/−1
- bench/pairs.txt +1001/−0
- bench/runtime/zero/bench/compare.runtime +1/−1
- bench/runtime/zero/bench/match-list.runtime +1/−1
- bench/runtime/zero/bench/match-noop.runtime +1/−1
- bench/runtime/zero/bench/match-triexpr.runtime +1/−1
- bench/runtime/zero/bench/pairs.runtime +1/−1
- bench/runtime/zero/bench/sort.runtime +1/−1
- bench/runtime/zero/bench/tiers-complete.runtime +1/−0
- bench/runtime/zero/bench/tiers.runtime +1/−1
- bench/runtime/zero/eg/u-conjure.runtime +1/−1
- bench/runtime/zero/eg/u-extrapolate.runtime +1/−1
- bench/runtime/zero/eg/u-speculate.runtime +1/−1
- bench/runtime/zero/versions +1/−1
- bench/sort.hs +7/−7
- bench/sort.txt +15129/−0
- bench/tiers-complete.hs +31/−0
- bench/tiers-complete.txt +2336/−0
- bench/tiers.hs +11/−7
- bench/tiers.txt +3624/−0
- changelog.md +54/−33
- eg/u-conjure.hs +2/−2
- eg/u-conjure.txt +24/−0
- eg/u-extrapolate.hs +1/−1
- eg/u-extrapolate.txt +26/−0
- eg/u-speculate.hs +8/−8
- eg/u-speculate.txt +45/−0
- etc/hugs-backports/Data/Function.hs +1/−1
- express.cabal +23/−5
- mk/depend.mk +60/−1
- mk/ghcdeps +1/−1
- mk/haddock-i +1/−1
- mk/haskell.mk +3/−2
- mk/install-on +1/−1
- src/Data/Express.hs +6/−1
- src/Data/Express/Basic.hs +29/−1
- src/Data/Express/Canon.hs +8/−9
- src/Data/Express/Core.hs +102/−91
- src/Data/Express/Express.hs +1/−1
- src/Data/Express/Express/Derive.hs +1/−1
- src/Data/Express/Fixtures.hs +137/−165
- src/Data/Express/Fold.hs +8/−4
- src/Data/Express/Hole.hs +16/−13
- src/Data/Express/Instances.hs +6/−6
- src/Data/Express/Map.hs +5/−5
- src/Data/Express/Match.hs +10/−10
- src/Data/Express/Name.hs +11/−11
- src/Data/Express/Name/Derive.hs +1/−1
- src/Data/Express/Triexpr.hs +2/−2
- src/Data/Express/Utils.hs +1/−1
- src/Data/Express/Utils/List.hs +12/−1
- src/Data/Express/Utils/String.hs +5/−4
- src/Data/Express/Utils/TH.hs +86/−90
- src/Data/Express/Utils/Typeable.hs +28/−5
- test/Test.hs +11/−10
- test/Test/ListableExpr.hs +31/−31
- test/basic.hs +49/−0
- test/canon.hs +1/−1
- test/core.hs +3/−3
- test/express-derive.hs +3/−3
- test/express.hs +3/−3
- test/fixtures.hs +35/−35
- test/fold.hs +3/−3
- test/hole.hs +3/−3
- test/instances.hs +8/−8
- test/listable.hs +7/−7
- test/main.hs +3/−3
- test/map.hs +3/−3
- test/match.hs +3/−3
- test/model/bench/compare.out +0/−5041
- test/model/bench/match-list.out +0/−795
- test/model/bench/match-noop.out +0/−1182
- test/model/bench/match-triexpr.out +0/−795
- test/model/bench/pairs.out +0/−1001
- test/model/bench/sort.out +0/−15129
- test/model/bench/tiers.out +0/−3624
- test/model/eg/u-conjure.out +0/−24
- test/model/eg/u-extrapolate.out +0/−26
- test/model/eg/u-speculate.out +0/−45
- test/name-derive.hs +7/−7
- test/name.hs +3/−3
- test/ord.hs +3/−3
- test/sdist +1/−1
- test/show.hs +19/−3
- test/triexpr.hs +2/−2
- test/typecheck.hs +1/−1
- test/utils.hs +3/−3
.github/workflows/build.yml view
@@ -1,8 +1,8 @@ # Builds and tests this Haskell project on "GitHub Actions" #-# 2021-2023 Rudy Matela+# 2021-2024 Rudy Matela #-# some docs: https://github.com/haskell/actions/tree/main/setup+# some docs: https://github.com/haskell-actions/setup # # The official haskell docker image: https://hub.docker.com/_/haskell name: build@@ -63,6 +63,8 @@ strategy: matrix: ghc:+ - '9.8'+ - '9.6' - '9.4' - '9.2' - '9.0'@@ -117,7 +119,7 @@ needs: build-and-test steps: - name: Setup Haskell's GHC and Cabal as required by current Stackage LTS- uses: haskell/actions/setup@v2+ uses: haskell-actions/setup@v2 with: # lts-19.19 ghc-version: '9.0.2' cabal-version: '3.4'
.gitignore view
@@ -25,8 +25,10 @@ bench/pairs bench/sort bench/tiers+bench/tiers-complete test/canon test/core+test/basic test/express test/express-derive test/fixtures
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2019-2021, Rudy Matela+Copyright (c) 2019-2024, Rudy Matela All rights reserved.
Makefile view
@@ -1,11 +1,12 @@ # Makefile for express #-# Copyright: (c) 2015-2021 Rudy Matela+# Copyright: (c) 2015-2024 Rudy Matela # License: 3-Clause BSD (see the file LICENSE) # Maintainer: Rudy Matela <rudy@matela.com.br> TESTS = \ test/main \ test/core \+ test/basic \ test/map \ test/instances \ test/fixtures \@@ -34,6 +35,7 @@ bench/pairs \ bench/sort \ bench/tiers \+ bench/tiers-complete \ $(EGS) GHCIMPORTDIRS = src:test GHCFLAGS = -O2 -v0 $(shell grep -q "Arch Linux" /etc/lsb-release && echo -dynamic)@@ -41,8 +43,13 @@ HUGSFLAGS = -98 -h32M RUNPARAMETERS = LIB_DEPS = base template-haskell-INSTALL_DEPS = leancheck+INSTALL_DEPS = leancheck template-haskell +# to run a specific test suite under a specific GHC, do:+# $ make clean+# $ make GHC=ghc-9.6 GHCIMPORTDIRS=src:test:../leancheck/src test/utils.run+# this is useful for troubleshooting CI failures+ all: mk/toplibs all-all: mk/All.o@@ -91,15 +98,15 @@ test-via-stack: stack test express:test:main --ghc-options="$(GHCFLAGS) -O0" --system-ghc --no-install-ghc --no-terminal -diff-test: $(patsubst %,%.diff-test,$(BENCHS))+diff-test: $(patsubst %,%.diff,$(BENCHS)) -update-diff-test: $(patsubst %,%.update-diff-test,$(BENCHS))+txt: $(patsubst %,%.txt,$(BENCHS)) -%.diff-test: %- ./$< | diff -rud test/model/$<.out -+%.diff: %+ ./$< | diff -rud $<.txt - -%.update-diff-test: %- ./$< > test/model/$<.out+%.txt: %+ ./$< >$<.txt test-via-everything: test test-via-cabal test-via-stack @@ -138,11 +145,20 @@ cabal-ghc-7.8 v1-install $(ALL_DEPS) # (v2-) library installation is supported on GHC 8.0+ only) -hlint:- hlint \+hlint: ..hlint++test.hlint: HLINT_EXTRA = --ignore "Redundant ==" \+ --ignore "Use null" \+ --ignore "Redundant $$" \+ --ignore "Use isNothing"++%.hlint:+ hlint $(HLINT_EXTRA) \ --ignore "Use import/export shortcut" \ --ignore "Redundant bracket" \- .+ --ignore "Use lambda-case" \+ --ignore "Use typeRep" \+ $* markdown: README.html
bench/compare.hs view
@@ -1,6 +1,6 @@ -- ord.hs -- prints results of the Ord Expr's instance ----- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test import System.Environment (getArgs)@@ -13,7 +13,7 @@ (n:_) -> read n putStrLn . unlines . map showCompare $ take n (list :: [(Expr,Expr)]) where- showCompare (e1,e2) = concat+ showCompare (e1,e2) = concat [ show e1 , " `compare` " , show e2
+ bench/compare.txt view
@@ -0,0 +1,5041 @@+_ :: Int `compare` _ :: Int = EQ+_ :: Int `compare` x :: Int = LT+_ :: Int `compare` 0 :: Int = LT+_ :: Int `compare` id _ :: Int = LT+_ :: Int `compare` _ :: Bool = GT+_ :: Int `compare` _ :: Char = GT+_ :: Int `compare` _ :: [Int] = LT+x :: Int `compare` _ :: Int = GT+0 :: Int `compare` _ :: Int = GT+id _ :: Int `compare` _ :: Int = GT+_ :: Bool `compare` _ :: Int = LT+_ :: Char `compare` _ :: Int = LT+_ :: [Int] `compare` _ :: Int = GT+_ :: Int `compare` y :: Int = LT+_ :: Int `compare` 1 :: Int = LT+_ :: Int `compare` id x :: Int = LT+_ :: Int `compare` id 0 :: Int = LT+_ :: Int `compare` id (id _) :: Int = LT+_ :: Int `compare` negate _ :: Int = LT+_ :: Int `compare` abs _ :: Int = LT+_ :: Int `compare` _ + _ :: Int = LT+_ :: Int `compare` head _ :: Int = LT+_ :: Int `compare` ord _ :: Int = LT+_ :: Int `compare` p :: Bool = GT+_ :: Int `compare` False :: Bool = LT+_ :: Int `compare` True :: Bool = LT+_ :: Int `compare` not _ :: Bool = LT+_ :: Int `compare` c :: Char = GT+_ :: Int `compare` 'a' :: Char = LT+_ :: Int `compare` xs :: [Int] = LT+_ :: Int `compare` [] :: [Int] = LT+_ :: Int `compare` _:_ :: [Int] = LT+_ :: Int `compare` id :: Int -> Int = LT+_ :: Int `compare` (+) :: Int -> Int -> Int = LT+x :: Int `compare` x :: Int = EQ+x :: Int `compare` 0 :: Int = LT+x :: Int `compare` id _ :: Int = LT+x :: Int `compare` _ :: Bool = GT+x :: Int `compare` _ :: Char = GT+x :: Int `compare` _ :: [Int] = LT+0 :: Int `compare` x :: Int = GT+0 :: Int `compare` 0 :: Int = EQ+0 :: Int `compare` id _ :: Int = LT+0 :: Int `compare` _ :: Bool = GT+0 :: Int `compare` _ :: Char = GT+0 :: Int `compare` _ :: [Int] = GT+id _ :: Int `compare` x :: Int = GT+id _ :: Int `compare` 0 :: Int = GT+id _ :: Int `compare` id _ :: Int = EQ+id _ :: Int `compare` _ :: Bool = GT+id _ :: Int `compare` _ :: Char = GT+id _ :: Int `compare` _ :: [Int] = GT+_ :: Bool `compare` x :: Int = LT+_ :: Bool `compare` 0 :: Int = LT+_ :: Bool `compare` id _ :: Int = LT+_ :: Bool `compare` _ :: Bool = EQ+_ :: Bool `compare` _ :: Char = LT+_ :: Bool `compare` _ :: [Int] = LT+_ :: Char `compare` x :: Int = LT+_ :: Char `compare` 0 :: Int = LT+_ :: Char `compare` id _ :: Int = LT+_ :: Char `compare` _ :: Bool = GT+_ :: Char `compare` _ :: Char = EQ+_ :: Char `compare` _ :: [Int] = LT+_ :: [Int] `compare` x :: Int = GT+_ :: [Int] `compare` 0 :: Int = LT+_ :: [Int] `compare` id _ :: Int = LT+_ :: [Int] `compare` _ :: Bool = GT+_ :: [Int] `compare` _ :: Char = GT+_ :: [Int] `compare` _ :: [Int] = EQ+y :: Int `compare` _ :: Int = GT+1 :: Int `compare` _ :: Int = GT+id x :: Int `compare` _ :: Int = GT+id 0 :: Int `compare` _ :: Int = GT+id (id _) :: Int `compare` _ :: Int = GT+negate _ :: Int `compare` _ :: Int = GT+abs _ :: Int `compare` _ :: Int = GT+_ + _ :: Int `compare` _ :: Int = GT+head _ :: Int `compare` _ :: Int = GT+ord _ :: Int `compare` _ :: Int = GT+p :: Bool `compare` _ :: Int = LT+False :: Bool `compare` _ :: Int = GT+True :: Bool `compare` _ :: Int = GT+not _ :: Bool `compare` _ :: Int = GT+c :: Char `compare` _ :: Int = LT+'a' :: Char `compare` _ :: Int = GT+xs :: [Int] `compare` _ :: Int = GT+[] :: [Int] `compare` _ :: Int = GT+_:_ :: [Int] `compare` _ :: Int = GT+id :: Int -> Int `compare` _ :: Int = GT+(+) :: Int -> Int -> Int `compare` _ :: Int = GT+_ :: Int `compare` z :: Int = LT+_ :: Int `compare` -1 :: Int = LT+_ :: Int `compare` id y :: Int = LT+_ :: Int `compare` id 1 :: Int = LT+_ :: Int `compare` id (id x) :: Int = LT+_ :: Int `compare` id (id 0) :: Int = LT+_ :: Int `compare` id (id (id _)) :: Int = LT+_ :: Int `compare` id (negate _) :: Int = LT+_ :: Int `compare` id (abs _) :: Int = LT+_ :: Int `compare` id (_ + _) :: Int = LT+_ :: Int `compare` id (head _) :: Int = LT+_ :: Int `compare` id (ord _) :: Int = LT+_ :: Int `compare` negate x :: Int = LT+_ :: Int `compare` negate 0 :: Int = LT+_ :: Int `compare` negate (id _) :: Int = LT+_ :: Int `compare` abs x :: Int = LT+_ :: Int `compare` abs 0 :: Int = LT+_ :: Int `compare` abs (id _) :: Int = LT+_ :: Int `compare` _ + x :: Int = LT+_ :: Int `compare` _ + 0 :: Int = LT+_ :: Int `compare` _ + id _ :: Int = LT+_ :: Int `compare` x + _ :: Int = LT+_ :: Int `compare` 0 + _ :: Int = LT+_ :: Int `compare` id _ + _ :: Int = LT+_ :: Int `compare` _ * _ :: Int = LT+_ :: Int `compare` f _ :: Int = LT+_ :: Int `compare` head xs :: Int = LT+_ :: Int `compare` head [] :: Int = LT+_ :: Int `compare` head (_:_) :: Int = LT+_ :: Int `compare` ord c :: Int = LT+_ :: Int `compare` ord 'a' :: Int = LT+_ :: Int `compare` q :: Bool = GT+_ :: Int `compare` not p :: Bool = LT+_ :: Int `compare` not False :: Bool = LT+_ :: Int `compare` not True :: Bool = LT+_ :: Int `compare` not (not _) :: Bool = LT+_ :: Int `compare` _ || _ :: Bool = LT+_ :: Int `compare` d :: Char = GT+_ :: Int `compare` ' ' :: Char = LT+_ :: Int `compare` ys :: [Int] = LT+_ :: Int `compare` [0] :: [Int] = LT+_ :: Int `compare` _:xs :: [Int] = LT+_ :: Int `compare` [_] :: [Int] = LT+_ :: Int `compare` _:_:_ :: [Int] = LT+_ :: Int `compare` x:_ :: [Int] = LT+_ :: Int `compare` 0:_ :: [Int] = LT+_ :: Int `compare` id _:_ :: [Int] = LT+_ :: Int `compare` tail _ :: [Int] = LT+_ :: Int `compare` _ ++ _ :: [Int] = LT+_ :: Int `compare` negate :: Int -> Int = LT+_ :: Int `compare` abs :: Int -> Int = LT+_ :: Int `compare` (_ +) :: Int -> Int = LT+_ :: Int `compare` (*) :: Int -> Int -> Int = LT+_ :: Int `compare` not :: Bool -> Bool = LT+_ :: Int `compare` (||) :: Bool -> Bool -> Bool = LT+x :: Int `compare` y :: Int = LT+x :: Int `compare` 1 :: Int = LT+x :: Int `compare` id x :: Int = LT+x :: Int `compare` id 0 :: Int = LT+x :: Int `compare` id (id _) :: Int = LT+x :: Int `compare` negate _ :: Int = LT+x :: Int `compare` abs _ :: Int = LT+x :: Int `compare` _ + _ :: Int = LT+x :: Int `compare` head _ :: Int = LT+x :: Int `compare` ord _ :: Int = LT+x :: Int `compare` p :: Bool = GT+x :: Int `compare` False :: Bool = LT+x :: Int `compare` True :: Bool = LT+x :: Int `compare` not _ :: Bool = LT+x :: Int `compare` c :: Char = GT+x :: Int `compare` 'a' :: Char = LT+x :: Int `compare` xs :: [Int] = LT+x :: Int `compare` [] :: [Int] = LT+x :: Int `compare` _:_ :: [Int] = LT+x :: Int `compare` id :: Int -> Int = LT+x :: Int `compare` (+) :: Int -> Int -> Int = LT+0 :: Int `compare` y :: Int = GT+0 :: Int `compare` 1 :: Int = LT+0 :: Int `compare` id x :: Int = LT+0 :: Int `compare` id 0 :: Int = LT+0 :: Int `compare` id (id _) :: Int = LT+0 :: Int `compare` negate _ :: Int = LT+0 :: Int `compare` abs _ :: Int = LT+0 :: Int `compare` _ + _ :: Int = LT+0 :: Int `compare` head _ :: Int = LT+0 :: Int `compare` ord _ :: Int = LT+0 :: Int `compare` p :: Bool = GT+0 :: Int `compare` False :: Bool = GT+0 :: Int `compare` True :: Bool = GT+0 :: Int `compare` not _ :: Bool = LT+0 :: Int `compare` c :: Char = GT+0 :: Int `compare` 'a' :: Char = GT+0 :: Int `compare` xs :: [Int] = GT+0 :: Int `compare` [] :: [Int] = LT+0 :: Int `compare` _:_ :: [Int] = LT+0 :: Int `compare` id :: Int -> Int = LT+0 :: Int `compare` (+) :: Int -> Int -> Int = LT+id _ :: Int `compare` y :: Int = GT+id _ :: Int `compare` 1 :: Int = GT+id _ :: Int `compare` id x :: Int = LT+id _ :: Int `compare` id 0 :: Int = LT+id _ :: Int `compare` id (id _) :: Int = LT+id _ :: Int `compare` negate _ :: Int = LT+id _ :: Int `compare` abs _ :: Int = LT+id _ :: Int `compare` _ + _ :: Int = LT+id _ :: Int `compare` head _ :: Int = LT+id _ :: Int `compare` ord _ :: Int = GT+id _ :: Int `compare` p :: Bool = GT+id _ :: Int `compare` False :: Bool = GT+id _ :: Int `compare` True :: Bool = GT+id _ :: Int `compare` not _ :: Bool = GT+id _ :: Int `compare` c :: Char = GT+id _ :: Int `compare` 'a' :: Char = GT+id _ :: Int `compare` xs :: [Int] = GT+id _ :: Int `compare` [] :: [Int] = GT+id _ :: Int `compare` _:_ :: [Int] = LT+id _ :: Int `compare` id :: Int -> Int = GT+id _ :: Int `compare` (+) :: Int -> Int -> Int = GT+_ :: Bool `compare` y :: Int = LT+_ :: Bool `compare` 1 :: Int = LT+_ :: Bool `compare` id x :: Int = LT+_ :: Bool `compare` id 0 :: Int = LT+_ :: Bool `compare` id (id _) :: Int = LT+_ :: Bool `compare` negate _ :: Int = LT+_ :: Bool `compare` abs _ :: Int = LT+_ :: Bool `compare` _ + _ :: Int = LT+_ :: Bool `compare` head _ :: Int = LT+_ :: Bool `compare` ord _ :: Int = LT+_ :: Bool `compare` p :: Bool = LT+_ :: Bool `compare` False :: Bool = LT+_ :: Bool `compare` True :: Bool = LT+_ :: Bool `compare` not _ :: Bool = LT+_ :: Bool `compare` c :: Char = LT+_ :: Bool `compare` 'a' :: Char = LT+_ :: Bool `compare` xs :: [Int] = LT+_ :: Bool `compare` [] :: [Int] = LT+_ :: Bool `compare` _:_ :: [Int] = LT+_ :: Bool `compare` id :: Int -> Int = LT+_ :: Bool `compare` (+) :: Int -> Int -> Int = LT+_ :: Char `compare` y :: Int = LT+_ :: Char `compare` 1 :: Int = LT+_ :: Char `compare` id x :: Int = LT+_ :: Char `compare` id 0 :: Int = LT+_ :: Char `compare` id (id _) :: Int = LT+_ :: Char `compare` negate _ :: Int = LT+_ :: Char `compare` abs _ :: Int = LT+_ :: Char `compare` _ + _ :: Int = LT+_ :: Char `compare` head _ :: Int = LT+_ :: Char `compare` ord _ :: Int = LT+_ :: Char `compare` p :: Bool = GT+_ :: Char `compare` False :: Bool = LT+_ :: Char `compare` True :: Bool = LT+_ :: Char `compare` not _ :: Bool = LT+_ :: Char `compare` c :: Char = LT+_ :: Char `compare` 'a' :: Char = LT+_ :: Char `compare` xs :: [Int] = LT+_ :: Char `compare` [] :: [Int] = LT+_ :: Char `compare` _:_ :: [Int] = LT+_ :: Char `compare` id :: Int -> Int = LT+_ :: Char `compare` (+) :: Int -> Int -> Int = LT+_ :: [Int] `compare` y :: Int = GT+_ :: [Int] `compare` 1 :: Int = LT+_ :: [Int] `compare` id x :: Int = LT+_ :: [Int] `compare` id 0 :: Int = LT+_ :: [Int] `compare` id (id _) :: Int = LT+_ :: [Int] `compare` negate _ :: Int = LT+_ :: [Int] `compare` abs _ :: Int = LT+_ :: [Int] `compare` _ + _ :: Int = LT+_ :: [Int] `compare` head _ :: Int = LT+_ :: [Int] `compare` ord _ :: Int = LT+_ :: [Int] `compare` p :: Bool = GT+_ :: [Int] `compare` False :: Bool = LT+_ :: [Int] `compare` True :: Bool = LT+_ :: [Int] `compare` not _ :: Bool = LT+_ :: [Int] `compare` c :: Char = GT+_ :: [Int] `compare` 'a' :: Char = LT+_ :: [Int] `compare` xs :: [Int] = LT+_ :: [Int] `compare` [] :: [Int] = LT+_ :: [Int] `compare` _:_ :: [Int] = LT+_ :: [Int] `compare` id :: Int -> Int = LT+_ :: [Int] `compare` (+) :: Int -> Int -> Int = LT+y :: Int `compare` x :: Int = GT+y :: Int `compare` 0 :: Int = LT+y :: Int `compare` id _ :: Int = LT+y :: Int `compare` _ :: Bool = GT+y :: Int `compare` _ :: Char = GT+y :: Int `compare` _ :: [Int] = LT+1 :: Int `compare` x :: Int = GT+1 :: Int `compare` 0 :: Int = GT+1 :: Int `compare` id _ :: Int = LT+1 :: Int `compare` _ :: Bool = GT+1 :: Int `compare` _ :: Char = GT+1 :: Int `compare` _ :: [Int] = GT+id x :: Int `compare` x :: Int = GT+id x :: Int `compare` 0 :: Int = GT+id x :: Int `compare` id _ :: Int = GT+id x :: Int `compare` _ :: Bool = GT+id x :: Int `compare` _ :: Char = GT+id x :: Int `compare` _ :: [Int] = GT+id 0 :: Int `compare` x :: Int = GT+id 0 :: Int `compare` 0 :: Int = GT+id 0 :: Int `compare` id _ :: Int = GT+id 0 :: Int `compare` _ :: Bool = GT+id 0 :: Int `compare` _ :: Char = GT+id 0 :: Int `compare` _ :: [Int] = GT+id (id _) :: Int `compare` x :: Int = GT+id (id _) :: Int `compare` 0 :: Int = GT+id (id _) :: Int `compare` id _ :: Int = GT+id (id _) :: Int `compare` _ :: Bool = GT+id (id _) :: Int `compare` _ :: Char = GT+id (id _) :: Int `compare` _ :: [Int] = GT+negate _ :: Int `compare` x :: Int = GT+negate _ :: Int `compare` 0 :: Int = GT+negate _ :: Int `compare` id _ :: Int = GT+negate _ :: Int `compare` _ :: Bool = GT+negate _ :: Int `compare` _ :: Char = GT+negate _ :: Int `compare` _ :: [Int] = GT+abs _ :: Int `compare` x :: Int = GT+abs _ :: Int `compare` 0 :: Int = GT+abs _ :: Int `compare` id _ :: Int = GT+abs _ :: Int `compare` _ :: Bool = GT+abs _ :: Int `compare` _ :: Char = GT+abs _ :: Int `compare` _ :: [Int] = GT+_ + _ :: Int `compare` x :: Int = GT+_ + _ :: Int `compare` 0 :: Int = GT+_ + _ :: Int `compare` id _ :: Int = GT+_ + _ :: Int `compare` _ :: Bool = GT+_ + _ :: Int `compare` _ :: Char = GT+_ + _ :: Int `compare` _ :: [Int] = GT+head _ :: Int `compare` x :: Int = GT+head _ :: Int `compare` 0 :: Int = GT+head _ :: Int `compare` id _ :: Int = GT+head _ :: Int `compare` _ :: Bool = GT+head _ :: Int `compare` _ :: Char = GT+head _ :: Int `compare` _ :: [Int] = GT+ord _ :: Int `compare` x :: Int = GT+ord _ :: Int `compare` 0 :: Int = GT+ord _ :: Int `compare` id _ :: Int = LT+ord _ :: Int `compare` _ :: Bool = GT+ord _ :: Int `compare` _ :: Char = GT+ord _ :: Int `compare` _ :: [Int] = GT+p :: Bool `compare` x :: Int = LT+p :: Bool `compare` 0 :: Int = LT+p :: Bool `compare` id _ :: Int = LT+p :: Bool `compare` _ :: Bool = GT+p :: Bool `compare` _ :: Char = LT+p :: Bool `compare` _ :: [Int] = LT+False :: Bool `compare` x :: Int = GT+False :: Bool `compare` 0 :: Int = LT+False :: Bool `compare` id _ :: Int = LT+False :: Bool `compare` _ :: Bool = GT+False :: Bool `compare` _ :: Char = GT+False :: Bool `compare` _ :: [Int] = GT+True :: Bool `compare` x :: Int = GT+True :: Bool `compare` 0 :: Int = LT+True :: Bool `compare` id _ :: Int = LT+True :: Bool `compare` _ :: Bool = GT+True :: Bool `compare` _ :: Char = GT+True :: Bool `compare` _ :: [Int] = GT+not _ :: Bool `compare` x :: Int = GT+not _ :: Bool `compare` 0 :: Int = GT+not _ :: Bool `compare` id _ :: Int = LT+not _ :: Bool `compare` _ :: Bool = GT+not _ :: Bool `compare` _ :: Char = GT+not _ :: Bool `compare` _ :: [Int] = GT+c :: Char `compare` x :: Int = LT+c :: Char `compare` 0 :: Int = LT+c :: Char `compare` id _ :: Int = LT+c :: Char `compare` _ :: Bool = GT+c :: Char `compare` _ :: Char = GT+c :: Char `compare` _ :: [Int] = LT+'a' :: Char `compare` x :: Int = GT+'a' :: Char `compare` 0 :: Int = LT+'a' :: Char `compare` id _ :: Int = LT+'a' :: Char `compare` _ :: Bool = GT+'a' :: Char `compare` _ :: Char = GT+'a' :: Char `compare` _ :: [Int] = GT+xs :: [Int] `compare` x :: Int = GT+xs :: [Int] `compare` 0 :: Int = LT+xs :: [Int] `compare` id _ :: Int = LT+xs :: [Int] `compare` _ :: Bool = GT+xs :: [Int] `compare` _ :: Char = GT+xs :: [Int] `compare` _ :: [Int] = GT+[] :: [Int] `compare` x :: Int = GT+[] :: [Int] `compare` 0 :: Int = GT+[] :: [Int] `compare` id _ :: Int = LT+[] :: [Int] `compare` _ :: Bool = GT+[] :: [Int] `compare` _ :: Char = GT+[] :: [Int] `compare` _ :: [Int] = GT+_:_ :: [Int] `compare` x :: Int = GT+_:_ :: [Int] `compare` 0 :: Int = GT+_:_ :: [Int] `compare` id _ :: Int = GT+_:_ :: [Int] `compare` _ :: Bool = GT+_:_ :: [Int] `compare` _ :: Char = GT+_:_ :: [Int] `compare` _ :: [Int] = GT+id :: Int -> Int `compare` x :: Int = GT+id :: Int -> Int `compare` 0 :: Int = GT+id :: Int -> Int `compare` id _ :: Int = LT+id :: Int -> Int `compare` _ :: Bool = GT+id :: Int -> Int `compare` _ :: Char = GT+id :: Int -> Int `compare` _ :: [Int] = GT+(+) :: Int -> Int -> Int `compare` x :: Int = GT+(+) :: Int -> Int -> Int `compare` 0 :: Int = GT+(+) :: Int -> Int -> Int `compare` id _ :: Int = LT+(+) :: Int -> Int -> Int `compare` _ :: Bool = GT+(+) :: Int -> Int -> Int `compare` _ :: Char = GT+(+) :: Int -> Int -> Int `compare` _ :: [Int] = GT+z :: Int `compare` _ :: Int = GT+-1 :: Int `compare` _ :: Int = GT+id y :: Int `compare` _ :: Int = GT+id 1 :: Int `compare` _ :: Int = GT+id (id x) :: Int `compare` _ :: Int = GT+id (id 0) :: Int `compare` _ :: Int = GT+id (id (id _)) :: Int `compare` _ :: Int = GT+id (negate _) :: Int `compare` _ :: Int = GT+id (abs _) :: Int `compare` _ :: Int = GT+id (_ + _) :: Int `compare` _ :: Int = GT+id (head _) :: Int `compare` _ :: Int = GT+id (ord _) :: Int `compare` _ :: Int = GT+negate x :: Int `compare` _ :: Int = GT+negate 0 :: Int `compare` _ :: Int = GT+negate (id _) :: Int `compare` _ :: Int = GT+abs x :: Int `compare` _ :: Int = GT+abs 0 :: Int `compare` _ :: Int = GT+abs (id _) :: Int `compare` _ :: Int = GT+_ + x :: Int `compare` _ :: Int = GT+_ + 0 :: Int `compare` _ :: Int = GT+_ + id _ :: Int `compare` _ :: Int = GT+x + _ :: Int `compare` _ :: Int = GT+0 + _ :: Int `compare` _ :: Int = GT+id _ + _ :: Int `compare` _ :: Int = GT+_ * _ :: Int `compare` _ :: Int = GT+f _ :: Int `compare` _ :: Int = GT+head xs :: Int `compare` _ :: Int = GT+head [] :: Int `compare` _ :: Int = GT+head (_:_) :: Int `compare` _ :: Int = GT+ord c :: Int `compare` _ :: Int = GT+ord 'a' :: Int `compare` _ :: Int = GT+q :: Bool `compare` _ :: Int = LT+not p :: Bool `compare` _ :: Int = GT+not False :: Bool `compare` _ :: Int = GT+not True :: Bool `compare` _ :: Int = GT+not (not _) :: Bool `compare` _ :: Int = GT+_ || _ :: Bool `compare` _ :: Int = GT+d :: Char `compare` _ :: Int = LT+' ' :: Char `compare` _ :: Int = GT+ys :: [Int] `compare` _ :: Int = GT+[0] :: [Int] `compare` _ :: Int = GT+_:xs :: [Int] `compare` _ :: Int = GT+[_] :: [Int] `compare` _ :: Int = GT+_:_:_ :: [Int] `compare` _ :: Int = GT+x:_ :: [Int] `compare` _ :: Int = GT+0:_ :: [Int] `compare` _ :: Int = GT+id _:_ :: [Int] `compare` _ :: Int = GT+tail _ :: [Int] `compare` _ :: Int = GT+_ ++ _ :: [Int] `compare` _ :: Int = GT+negate :: Int -> Int `compare` _ :: Int = GT+abs :: Int -> Int `compare` _ :: Int = GT+(_ +) :: Int -> Int `compare` _ :: Int = GT+(*) :: Int -> Int -> Int `compare` _ :: Int = GT+not :: Bool -> Bool `compare` _ :: Int = GT+(||) :: Bool -> Bool -> Bool `compare` _ :: Int = GT+_ :: Int `compare` x' :: Int = LT+_ :: Int `compare` 2 :: Int = LT+_ :: Int `compare` id z :: Int = LT+_ :: Int `compare` id (-1) :: Int = LT+_ :: Int `compare` id (id y) :: Int = LT+_ :: Int `compare` id (id 1) :: Int = LT+_ :: Int `compare` id (id (id x)) :: Int = LT+_ :: Int `compare` id (id (id 0)) :: Int = LT+_ :: Int `compare` id (id (id (id _))) :: Int = LT+_ :: Int `compare` id (id (negate _)) :: Int = LT+_ :: Int `compare` id (id (abs _)) :: Int = LT+_ :: Int `compare` id (id (_ + _)) :: Int = LT+_ :: Int `compare` id (id (head _)) :: Int = LT+_ :: Int `compare` id (id (ord _)) :: Int = LT+_ :: Int `compare` id (negate x) :: Int = LT+_ :: Int `compare` id (negate 0) :: Int = LT+_ :: Int `compare` id (negate (id _)) :: Int = LT+_ :: Int `compare` id (abs x) :: Int = LT+_ :: Int `compare` id (abs 0) :: Int = LT+_ :: Int `compare` id (abs (id _)) :: Int = LT+_ :: Int `compare` id (_ + x) :: Int = LT+_ :: Int `compare` id (_ + 0) :: Int = LT+_ :: Int `compare` id (_ + id _) :: Int = LT+_ :: Int `compare` id (x + _) :: Int = LT+_ :: Int `compare` id (0 + _) :: Int = LT+_ :: Int `compare` id (id _ + _) :: Int = LT+_ :: Int `compare` id (_ * _) :: Int = LT+_ :: Int `compare` id (f _) :: Int = LT+_ :: Int `compare` id (head xs) :: Int = LT+_ :: Int `compare` id (head []) :: Int = LT+_ :: Int `compare` id (head (_:_)) :: Int = LT+_ :: Int `compare` id (ord c) :: Int = LT+_ :: Int `compare` id (ord 'a') :: Int = LT+_ :: Int `compare` negate y :: Int = LT+_ :: Int `compare` negate 1 :: Int = LT+_ :: Int `compare` negate (id x) :: Int = LT+_ :: Int `compare` negate (id 0) :: Int = LT+_ :: Int `compare` negate (id (id _)) :: Int = LT+_ :: Int `compare` negate (negate _) :: Int = LT+_ :: Int `compare` negate (abs _) :: Int = LT+_ :: Int `compare` negate (_ + _) :: Int = LT+_ :: Int `compare` negate (head _) :: Int = LT+_ :: Int `compare` negate (ord _) :: Int = LT+_ :: Int `compare` abs y :: Int = LT+_ :: Int `compare` abs 1 :: Int = LT+_ :: Int `compare` abs (id x) :: Int = LT+_ :: Int `compare` abs (id 0) :: Int = LT+_ :: Int `compare` abs (id (id _)) :: Int = LT+_ :: Int `compare` abs (negate _) :: Int = LT+_ :: Int `compare` abs (abs _) :: Int = LT+_ :: Int `compare` abs (_ + _) :: Int = LT+_ :: Int `compare` abs (head _) :: Int = LT+_ :: Int `compare` abs (ord _) :: Int = LT+_ :: Int `compare` _ + y :: Int = LT+_ :: Int `compare` _ + 1 :: Int = LT+_ :: Int `compare` _ + id x :: Int = LT+_ :: Int `compare` _ + id 0 :: Int = LT+_ :: Int `compare` _ + id (id _) :: Int = LT+_ :: Int `compare` _ + negate _ :: Int = LT+_ :: Int `compare` _ + abs _ :: Int = LT+_ :: Int `compare` _ + (_ + _) :: Int = LT+_ :: Int `compare` _ + head _ :: Int = LT+_ :: Int `compare` _ + ord _ :: Int = LT+_ :: Int `compare` x + x :: Int = LT+_ :: Int `compare` x + 0 :: Int = LT+_ :: Int `compare` x + id _ :: Int = LT+_ :: Int `compare` 0 + x :: Int = LT+_ :: Int `compare` 0 + 0 :: Int = LT+_ :: Int `compare` 0 + id _ :: Int = LT+_ :: Int `compare` id _ + x :: Int = LT+_ :: Int `compare` id _ + 0 :: Int = LT+_ :: Int `compare` id _ + id _ :: Int = LT+_ :: Int `compare` _ * x :: Int = LT+_ :: Int `compare` _ * 0 :: Int = LT+_ :: Int `compare` _ * id _ :: Int = LT+_ :: Int `compare` f x :: Int = LT+_ :: Int `compare` f 0 :: Int = LT+_ :: Int `compare` f (id _) :: Int = LT+_ :: Int `compare` y + _ :: Int = LT+_ :: Int `compare` 1 + _ :: Int = LT+_ :: Int `compare` id x + _ :: Int = LT+_ :: Int `compare` id 0 + _ :: Int = LT+_ :: Int `compare` id (id _) + _ :: Int = LT+_ :: Int `compare` negate _ + _ :: Int = LT+_ :: Int `compare` abs _ + _ :: Int = LT+_ :: Int `compare` (_ + _) + _ :: Int = LT+_ :: Int `compare` head _ + _ :: Int = LT+_ :: Int `compare` ord _ + _ :: Int = LT+_ :: Int `compare` x * _ :: Int = LT+_ :: Int `compare` 0 * _ :: Int = LT+_ :: Int `compare` id _ * _ :: Int = LT+_ :: Int `compare` g _ :: Int = LT+_ :: Int `compare` head ys :: Int = LT+_ :: Int `compare` head [0] :: Int = LT+_ :: Int `compare` head (_:xs) :: Int = LT+_ :: Int `compare` head [_] :: Int = LT+_ :: Int `compare` head (_:_:_) :: Int = LT+_ :: Int `compare` head (x:_) :: Int = LT+_ :: Int `compare` head (0:_) :: Int = LT+_ :: Int `compare` head (id _:_) :: Int = LT+_ :: Int `compare` head (tail _) :: Int = LT+_ :: Int `compare` head (_ ++ _) :: Int = LT+_ :: Int `compare` ord d :: Int = LT+_ :: Int `compare` ord ' ' :: Int = LT+_ :: Int `compare` r :: Bool = GT+_ :: Int `compare` not q :: Bool = LT+_ :: Int `compare` not (not p) :: Bool = LT+_ :: Int `compare` not (not False) :: Bool = LT+_ :: Int `compare` not (not True) :: Bool = LT+_ :: Int `compare` not (not (not _)) :: Bool = LT+_ :: Int `compare` not (_ || _) :: Bool = LT+_ :: Int `compare` _ || p :: Bool = LT+_ :: Int `compare` _ || False :: Bool = LT+_ :: Int `compare` _ || True :: Bool = LT+_ :: Int `compare` _ || not _ :: Bool = LT+_ :: Int `compare` p || _ :: Bool = LT+_ :: Int `compare` False || _ :: Bool = LT+_ :: Int `compare` True || _ :: Bool = LT+_ :: Int `compare` not _ || _ :: Bool = LT+_ :: Int `compare` _ && _ :: Bool = LT+_ :: Int `compare` _ == _ :: Bool = LT+_ :: Int `compare` _ == _ :: Bool = LT+_ :: Int `compare` odd _ :: Bool = LT+_ :: Int `compare` even _ :: Bool = LT+_ :: Int `compare` elem _ _ :: Bool = LT+_ :: Int `compare` e :: Char = GT+_ :: Int `compare` 'b' :: Char = LT+_ :: Int `compare` zs :: [Int] = LT+_ :: Int `compare` [0,0] :: [Int] = LT+_ :: Int `compare` [1] :: [Int] = LT+_ :: Int `compare` _:ys :: [Int] = LT+_ :: Int `compare` _:[0] :: [Int] = LT+_ :: Int `compare` _:_:xs :: [Int] = LT+_ :: Int `compare` [_,_] :: [Int] = LT+_ :: Int `compare` _:_:_:_ :: [Int] = LT+_ :: Int `compare` _:x:_ :: [Int] = LT+_ :: Int `compare` _:0:_ :: [Int] = LT+_ :: Int `compare` _:id _:_ :: [Int] = LT+_ :: Int `compare` _:tail _ :: [Int] = LT+_ :: Int `compare` _:(_ ++ _) :: [Int] = LT+_ :: Int `compare` x:xs :: [Int] = LT+_ :: Int `compare` [x] :: [Int] = LT+_ :: Int `compare` x:_:_ :: [Int] = LT+_ :: Int `compare` 0:xs :: [Int] = LT+_ :: Int `compare` [0] :: [Int] = LT+_ :: Int `compare` 0:_:_ :: [Int] = LT+_ :: Int `compare` id _:xs :: [Int] = LT+_ :: Int `compare` [id _] :: [Int] = LT+_ :: Int `compare` id _:_:_ :: [Int] = LT+_ :: Int `compare` y:_ :: [Int] = LT+_ :: Int `compare` 1:_ :: [Int] = LT+_ :: Int `compare` id x:_ :: [Int] = LT+_ :: Int `compare` id 0:_ :: [Int] = LT+_ :: Int `compare` id (id _):_ :: [Int] = LT+_ :: Int `compare` negate _:_ :: [Int] = LT+_ :: Int `compare` abs _:_ :: [Int] = LT+_ :: Int `compare` _ + _:_ :: [Int] = LT+_ :: Int `compare` head _:_ :: [Int] = LT+_ :: Int `compare` ord _:_ :: [Int] = LT+_ :: Int `compare` tail xs :: [Int] = LT+_ :: Int `compare` tail [] :: [Int] = LT+_ :: Int `compare` tail (_:_) :: [Int] = LT+_ :: Int `compare` _ ++ xs :: [Int] = LT+_ :: Int `compare` _ ++ [] :: [Int] = LT+_ :: Int `compare` _ ++ (_:_) :: [Int] = LT+_ :: Int `compare` xs ++ _ :: [Int] = LT+_ :: Int `compare` [] ++ _ :: [Int] = LT+_ :: Int `compare` (_:_) ++ _ :: [Int] = LT+_ :: Int `compare` sort _ :: [Int] = LT+_ :: Int `compare` insert _ _ :: [Int] = LT+_ :: Int `compare` (x +) :: Int -> Int = LT+_ :: Int `compare` (0 +) :: Int -> Int = LT+_ :: Int `compare` (id _ +) :: Int -> Int = LT+_ :: Int `compare` (_ *) :: Int -> Int = LT+_ :: Int `compare` f :: Int -> Int = LT+_ :: Int `compare` (_ ||) :: Bool -> Bool = LT+_ :: Int `compare` (&&) :: Bool -> Bool -> Bool = LT+x :: Int `compare` z :: Int = LT+x :: Int `compare` -1 :: Int = LT+x :: Int `compare` id y :: Int = LT+x :: Int `compare` id 1 :: Int = LT+x :: Int `compare` id (id x) :: Int = LT+x :: Int `compare` id (id 0) :: Int = LT+x :: Int `compare` id (id (id _)) :: Int = LT+x :: Int `compare` id (negate _) :: Int = LT+x :: Int `compare` id (abs _) :: Int = LT+x :: Int `compare` id (_ + _) :: Int = LT+x :: Int `compare` id (head _) :: Int = LT+x :: Int `compare` id (ord _) :: Int = LT+x :: Int `compare` negate x :: Int = LT+x :: Int `compare` negate 0 :: Int = LT+x :: Int `compare` negate (id _) :: Int = LT+x :: Int `compare` abs x :: Int = LT+x :: Int `compare` abs 0 :: Int = LT+x :: Int `compare` abs (id _) :: Int = LT+x :: Int `compare` _ + x :: Int = LT+x :: Int `compare` _ + 0 :: Int = LT+x :: Int `compare` _ + id _ :: Int = LT+x :: Int `compare` x + _ :: Int = LT+x :: Int `compare` 0 + _ :: Int = LT+x :: Int `compare` id _ + _ :: Int = LT+x :: Int `compare` _ * _ :: Int = LT+x :: Int `compare` f _ :: Int = LT+x :: Int `compare` head xs :: Int = LT+x :: Int `compare` head [] :: Int = LT+x :: Int `compare` head (_:_) :: Int = LT+x :: Int `compare` ord c :: Int = LT+x :: Int `compare` ord 'a' :: Int = LT+x :: Int `compare` q :: Bool = GT+x :: Int `compare` not p :: Bool = LT+x :: Int `compare` not False :: Bool = LT+x :: Int `compare` not True :: Bool = LT+x :: Int `compare` not (not _) :: Bool = LT+x :: Int `compare` _ || _ :: Bool = LT+x :: Int `compare` d :: Char = GT+x :: Int `compare` ' ' :: Char = LT+x :: Int `compare` ys :: [Int] = LT+x :: Int `compare` [0] :: [Int] = LT+x :: Int `compare` _:xs :: [Int] = LT+x :: Int `compare` [_] :: [Int] = LT+x :: Int `compare` _:_:_ :: [Int] = LT+x :: Int `compare` x:_ :: [Int] = LT+x :: Int `compare` 0:_ :: [Int] = LT+x :: Int `compare` id _:_ :: [Int] = LT+x :: Int `compare` tail _ :: [Int] = LT+x :: Int `compare` _ ++ _ :: [Int] = LT+x :: Int `compare` negate :: Int -> Int = LT+x :: Int `compare` abs :: Int -> Int = LT+x :: Int `compare` (_ +) :: Int -> Int = LT+x :: Int `compare` (*) :: Int -> Int -> Int = LT+x :: Int `compare` not :: Bool -> Bool = LT+x :: Int `compare` (||) :: Bool -> Bool -> Bool = LT+0 :: Int `compare` z :: Int = GT+0 :: Int `compare` -1 :: Int = LT+0 :: Int `compare` id y :: Int = LT+0 :: Int `compare` id 1 :: Int = LT+0 :: Int `compare` id (id x) :: Int = LT+0 :: Int `compare` id (id 0) :: Int = LT+0 :: Int `compare` id (id (id _)) :: Int = LT+0 :: Int `compare` id (negate _) :: Int = LT+0 :: Int `compare` id (abs _) :: Int = LT+0 :: Int `compare` id (_ + _) :: Int = LT+0 :: Int `compare` id (head _) :: Int = LT+0 :: Int `compare` id (ord _) :: Int = LT+0 :: Int `compare` negate x :: Int = LT+0 :: Int `compare` negate 0 :: Int = LT+0 :: Int `compare` negate (id _) :: Int = LT+0 :: Int `compare` abs x :: Int = LT+0 :: Int `compare` abs 0 :: Int = LT+0 :: Int `compare` abs (id _) :: Int = LT+0 :: Int `compare` _ + x :: Int = LT+0 :: Int `compare` _ + 0 :: Int = LT+0 :: Int `compare` _ + id _ :: Int = LT+0 :: Int `compare` x + _ :: Int = LT+0 :: Int `compare` 0 + _ :: Int = LT+0 :: Int `compare` id _ + _ :: Int = LT+0 :: Int `compare` _ * _ :: Int = LT+0 :: Int `compare` f _ :: Int = LT+0 :: Int `compare` head xs :: Int = LT+0 :: Int `compare` head [] :: Int = LT+0 :: Int `compare` head (_:_) :: Int = LT+0 :: Int `compare` ord c :: Int = LT+0 :: Int `compare` ord 'a' :: Int = LT+0 :: Int `compare` q :: Bool = GT+0 :: Int `compare` not p :: Bool = LT+0 :: Int `compare` not False :: Bool = LT+0 :: Int `compare` not True :: Bool = LT+0 :: Int `compare` not (not _) :: Bool = LT+0 :: Int `compare` _ || _ :: Bool = LT+0 :: Int `compare` d :: Char = GT+0 :: Int `compare` ' ' :: Char = GT+0 :: Int `compare` ys :: [Int] = GT+0 :: Int `compare` [0] :: [Int] = LT+0 :: Int `compare` _:xs :: [Int] = LT+0 :: Int `compare` [_] :: [Int] = LT+0 :: Int `compare` _:_:_ :: [Int] = LT+0 :: Int `compare` x:_ :: [Int] = LT+0 :: Int `compare` 0:_ :: [Int] = LT+0 :: Int `compare` id _:_ :: [Int] = LT+0 :: Int `compare` tail _ :: [Int] = LT+0 :: Int `compare` _ ++ _ :: [Int] = LT+0 :: Int `compare` negate :: Int -> Int = LT+0 :: Int `compare` abs :: Int -> Int = LT+0 :: Int `compare` (_ +) :: Int -> Int = LT+0 :: Int `compare` (*) :: Int -> Int -> Int = LT+0 :: Int `compare` not :: Bool -> Bool = LT+0 :: Int `compare` (||) :: Bool -> Bool -> Bool = LT+id _ :: Int `compare` z :: Int = GT+id _ :: Int `compare` -1 :: Int = GT+id _ :: Int `compare` id y :: Int = LT+id _ :: Int `compare` id 1 :: Int = LT+id _ :: Int `compare` id (id x) :: Int = LT+id _ :: Int `compare` id (id 0) :: Int = LT+id _ :: Int `compare` id (id (id _)) :: Int = LT+id _ :: Int `compare` id (negate _) :: Int = LT+id _ :: Int `compare` id (abs _) :: Int = LT+id _ :: Int `compare` id (_ + _) :: Int = LT+id _ :: Int `compare` id (head _) :: Int = LT+id _ :: Int `compare` id (ord _) :: Int = LT+id _ :: Int `compare` negate x :: Int = LT+id _ :: Int `compare` negate 0 :: Int = LT+id _ :: Int `compare` negate (id _) :: Int = LT+id _ :: Int `compare` abs x :: Int = LT+id _ :: Int `compare` abs 0 :: Int = LT+id _ :: Int `compare` abs (id _) :: Int = LT+id _ :: Int `compare` _ + x :: Int = LT+id _ :: Int `compare` _ + 0 :: Int = LT+id _ :: Int `compare` _ + id _ :: Int = LT+id _ :: Int `compare` x + _ :: Int = LT+id _ :: Int `compare` 0 + _ :: Int = LT+id _ :: Int `compare` id _ + _ :: Int = LT+id _ :: Int `compare` _ * _ :: Int = LT+id _ :: Int `compare` f _ :: Int = GT+id _ :: Int `compare` head xs :: Int = LT+id _ :: Int `compare` head [] :: Int = LT+id _ :: Int `compare` head (_:_) :: Int = LT+id _ :: Int `compare` ord c :: Int = GT+id _ :: Int `compare` ord 'a' :: Int = LT+id _ :: Int `compare` q :: Bool = GT+id _ :: Int `compare` not p :: Bool = GT+id _ :: Int `compare` not False :: Bool = LT+id _ :: Int `compare` not True :: Bool = LT+id _ :: Int `compare` not (not _) :: Bool = LT+id _ :: Int `compare` _ || _ :: Bool = LT+id _ :: Int `compare` d :: Char = GT+id _ :: Int `compare` ' ' :: Char = GT+id _ :: Int `compare` ys :: [Int] = GT+id _ :: Int `compare` [0] :: [Int] = GT+id _ :: Int `compare` _:xs :: [Int] = LT+id _ :: Int `compare` [_] :: [Int] = LT+id _ :: Int `compare` _:_:_ :: [Int] = LT+id _ :: Int `compare` x:_ :: [Int] = LT+id _ :: Int `compare` 0:_ :: [Int] = LT+id _ :: Int `compare` id _:_ :: [Int] = LT+id _ :: Int `compare` tail _ :: [Int] = LT+id _ :: Int `compare` _ ++ _ :: [Int] = LT+id _ :: Int `compare` negate :: Int -> Int = GT+id _ :: Int `compare` abs :: Int -> Int = GT+id _ :: Int `compare` (_ +) :: Int -> Int = LT+id _ :: Int `compare` (*) :: Int -> Int -> Int = GT+id _ :: Int `compare` not :: Bool -> Bool = GT+id _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+_ :: Bool `compare` z :: Int = LT+_ :: Bool `compare` -1 :: Int = LT+_ :: Bool `compare` id y :: Int = LT+_ :: Bool `compare` id 1 :: Int = LT+_ :: Bool `compare` id (id x) :: Int = LT+_ :: Bool `compare` id (id 0) :: Int = LT+_ :: Bool `compare` id (id (id _)) :: Int = LT+_ :: Bool `compare` id (negate _) :: Int = LT+_ :: Bool `compare` id (abs _) :: Int = LT+_ :: Bool `compare` id (_ + _) :: Int = LT+_ :: Bool `compare` id (head _) :: Int = LT+_ :: Bool `compare` id (ord _) :: Int = LT+_ :: Bool `compare` negate x :: Int = LT+_ :: Bool `compare` negate 0 :: Int = LT+_ :: Bool `compare` negate (id _) :: Int = LT+_ :: Bool `compare` abs x :: Int = LT+_ :: Bool `compare` abs 0 :: Int = LT+_ :: Bool `compare` abs (id _) :: Int = LT+_ :: Bool `compare` _ + x :: Int = LT+_ :: Bool `compare` _ + 0 :: Int = LT+_ :: Bool `compare` _ + id _ :: Int = LT+_ :: Bool `compare` x + _ :: Int = LT+_ :: Bool `compare` 0 + _ :: Int = LT+_ :: Bool `compare` id _ + _ :: Int = LT+_ :: Bool `compare` _ * _ :: Int = LT+_ :: Bool `compare` f _ :: Int = LT+_ :: Bool `compare` head xs :: Int = LT+_ :: Bool `compare` head [] :: Int = LT+_ :: Bool `compare` head (_:_) :: Int = LT+_ :: Bool `compare` ord c :: Int = LT+_ :: Bool `compare` ord 'a' :: Int = LT+_ :: Bool `compare` q :: Bool = LT+_ :: Bool `compare` not p :: Bool = LT+_ :: Bool `compare` not False :: Bool = LT+_ :: Bool `compare` not True :: Bool = LT+_ :: Bool `compare` not (not _) :: Bool = LT+_ :: Bool `compare` _ || _ :: Bool = LT+_ :: Bool `compare` d :: Char = LT+_ :: Bool `compare` ' ' :: Char = LT+_ :: Bool `compare` ys :: [Int] = LT+_ :: Bool `compare` [0] :: [Int] = LT+_ :: Bool `compare` _:xs :: [Int] = LT+_ :: Bool `compare` [_] :: [Int] = LT+_ :: Bool `compare` _:_:_ :: [Int] = LT+_ :: Bool `compare` x:_ :: [Int] = LT+_ :: Bool `compare` 0:_ :: [Int] = LT+_ :: Bool `compare` id _:_ :: [Int] = LT+_ :: Bool `compare` tail _ :: [Int] = LT+_ :: Bool `compare` _ ++ _ :: [Int] = LT+_ :: Bool `compare` negate :: Int -> Int = LT+_ :: Bool `compare` abs :: Int -> Int = LT+_ :: Bool `compare` (_ +) :: Int -> Int = LT+_ :: Bool `compare` (*) :: Int -> Int -> Int = LT+_ :: Bool `compare` not :: Bool -> Bool = LT+_ :: Bool `compare` (||) :: Bool -> Bool -> Bool = LT+_ :: Char `compare` z :: Int = LT+_ :: Char `compare` -1 :: Int = LT+_ :: Char `compare` id y :: Int = LT+_ :: Char `compare` id 1 :: Int = LT+_ :: Char `compare` id (id x) :: Int = LT+_ :: Char `compare` id (id 0) :: Int = LT+_ :: Char `compare` id (id (id _)) :: Int = LT+_ :: Char `compare` id (negate _) :: Int = LT+_ :: Char `compare` id (abs _) :: Int = LT+_ :: Char `compare` id (_ + _) :: Int = LT+_ :: Char `compare` id (head _) :: Int = LT+_ :: Char `compare` id (ord _) :: Int = LT+_ :: Char `compare` negate x :: Int = LT+_ :: Char `compare` negate 0 :: Int = LT+_ :: Char `compare` negate (id _) :: Int = LT+_ :: Char `compare` abs x :: Int = LT+_ :: Char `compare` abs 0 :: Int = LT+_ :: Char `compare` abs (id _) :: Int = LT+_ :: Char `compare` _ + x :: Int = LT+_ :: Char `compare` _ + 0 :: Int = LT+_ :: Char `compare` _ + id _ :: Int = LT+_ :: Char `compare` x + _ :: Int = LT+_ :: Char `compare` 0 + _ :: Int = LT+_ :: Char `compare` id _ + _ :: Int = LT+_ :: Char `compare` _ * _ :: Int = LT+_ :: Char `compare` f _ :: Int = LT+_ :: Char `compare` head xs :: Int = LT+_ :: Char `compare` head [] :: Int = LT+_ :: Char `compare` head (_:_) :: Int = LT+_ :: Char `compare` ord c :: Int = LT+_ :: Char `compare` ord 'a' :: Int = LT+_ :: Char `compare` q :: Bool = GT+_ :: Char `compare` not p :: Bool = LT+_ :: Char `compare` not False :: Bool = LT+_ :: Char `compare` not True :: Bool = LT+_ :: Char `compare` not (not _) :: Bool = LT+_ :: Char `compare` _ || _ :: Bool = LT+_ :: Char `compare` d :: Char = LT+_ :: Char `compare` ' ' :: Char = LT+_ :: Char `compare` ys :: [Int] = LT+_ :: Char `compare` [0] :: [Int] = LT+_ :: Char `compare` _:xs :: [Int] = LT+_ :: Char `compare` [_] :: [Int] = LT+_ :: Char `compare` _:_:_ :: [Int] = LT+_ :: Char `compare` x:_ :: [Int] = LT+_ :: Char `compare` 0:_ :: [Int] = LT+_ :: Char `compare` id _:_ :: [Int] = LT+_ :: Char `compare` tail _ :: [Int] = LT+_ :: Char `compare` _ ++ _ :: [Int] = LT+_ :: Char `compare` negate :: Int -> Int = LT+_ :: Char `compare` abs :: Int -> Int = LT+_ :: Char `compare` (_ +) :: Int -> Int = LT+_ :: Char `compare` (*) :: Int -> Int -> Int = LT+_ :: Char `compare` not :: Bool -> Bool = LT+_ :: Char `compare` (||) :: Bool -> Bool -> Bool = LT+_ :: [Int] `compare` z :: Int = GT+_ :: [Int] `compare` -1 :: Int = LT+_ :: [Int] `compare` id y :: Int = LT+_ :: [Int] `compare` id 1 :: Int = LT+_ :: [Int] `compare` id (id x) :: Int = LT+_ :: [Int] `compare` id (id 0) :: Int = LT+_ :: [Int] `compare` id (id (id _)) :: Int = LT+_ :: [Int] `compare` id (negate _) :: Int = LT+_ :: [Int] `compare` id (abs _) :: Int = LT+_ :: [Int] `compare` id (_ + _) :: Int = LT+_ :: [Int] `compare` id (head _) :: Int = LT+_ :: [Int] `compare` id (ord _) :: Int = LT+_ :: [Int] `compare` negate x :: Int = LT+_ :: [Int] `compare` negate 0 :: Int = LT+_ :: [Int] `compare` negate (id _) :: Int = LT+_ :: [Int] `compare` abs x :: Int = LT+_ :: [Int] `compare` abs 0 :: Int = LT+_ :: [Int] `compare` abs (id _) :: Int = LT+_ :: [Int] `compare` _ + x :: Int = LT+_ :: [Int] `compare` _ + 0 :: Int = LT+_ :: [Int] `compare` _ + id _ :: Int = LT+_ :: [Int] `compare` x + _ :: Int = LT+_ :: [Int] `compare` 0 + _ :: Int = LT+_ :: [Int] `compare` id _ + _ :: Int = LT+_ :: [Int] `compare` _ * _ :: Int = LT+_ :: [Int] `compare` f _ :: Int = LT+_ :: [Int] `compare` head xs :: Int = LT+_ :: [Int] `compare` head [] :: Int = LT+_ :: [Int] `compare` head (_:_) :: Int = LT+_ :: [Int] `compare` ord c :: Int = LT+_ :: [Int] `compare` ord 'a' :: Int = LT+_ :: [Int] `compare` q :: Bool = GT+_ :: [Int] `compare` not p :: Bool = LT+_ :: [Int] `compare` not False :: Bool = LT+_ :: [Int] `compare` not True :: Bool = LT+_ :: [Int] `compare` not (not _) :: Bool = LT+_ :: [Int] `compare` _ || _ :: Bool = LT+_ :: [Int] `compare` d :: Char = GT+_ :: [Int] `compare` ' ' :: Char = LT+_ :: [Int] `compare` ys :: [Int] = LT+_ :: [Int] `compare` [0] :: [Int] = LT+_ :: [Int] `compare` _:xs :: [Int] = LT+_ :: [Int] `compare` [_] :: [Int] = LT+_ :: [Int] `compare` _:_:_ :: [Int] = LT+_ :: [Int] `compare` x:_ :: [Int] = LT+_ :: [Int] `compare` 0:_ :: [Int] = LT+_ :: [Int] `compare` id _:_ :: [Int] = LT+_ :: [Int] `compare` tail _ :: [Int] = LT+_ :: [Int] `compare` _ ++ _ :: [Int] = LT+_ :: [Int] `compare` negate :: Int -> Int = LT+_ :: [Int] `compare` abs :: Int -> Int = LT+_ :: [Int] `compare` (_ +) :: Int -> Int = LT+_ :: [Int] `compare` (*) :: Int -> Int -> Int = LT+_ :: [Int] `compare` not :: Bool -> Bool = LT+_ :: [Int] `compare` (||) :: Bool -> Bool -> Bool = LT+y :: Int `compare` y :: Int = EQ+y :: Int `compare` 1 :: Int = LT+y :: Int `compare` id x :: Int = LT+y :: Int `compare` id 0 :: Int = LT+y :: Int `compare` id (id _) :: Int = LT+y :: Int `compare` negate _ :: Int = LT+y :: Int `compare` abs _ :: Int = LT+y :: Int `compare` _ + _ :: Int = LT+y :: Int `compare` head _ :: Int = LT+y :: Int `compare` ord _ :: Int = LT+y :: Int `compare` p :: Bool = GT+y :: Int `compare` False :: Bool = LT+y :: Int `compare` True :: Bool = LT+y :: Int `compare` not _ :: Bool = LT+y :: Int `compare` c :: Char = GT+y :: Int `compare` 'a' :: Char = LT+y :: Int `compare` xs :: [Int] = LT+y :: Int `compare` [] :: [Int] = LT+y :: Int `compare` _:_ :: [Int] = LT+y :: Int `compare` id :: Int -> Int = LT+y :: Int `compare` (+) :: Int -> Int -> Int = LT+1 :: Int `compare` y :: Int = GT+1 :: Int `compare` 1 :: Int = EQ+1 :: Int `compare` id x :: Int = LT+1 :: Int `compare` id 0 :: Int = LT+1 :: Int `compare` id (id _) :: Int = LT+1 :: Int `compare` negate _ :: Int = LT+1 :: Int `compare` abs _ :: Int = LT+1 :: Int `compare` _ + _ :: Int = LT+1 :: Int `compare` head _ :: Int = LT+1 :: Int `compare` ord _ :: Int = LT+1 :: Int `compare` p :: Bool = GT+1 :: Int `compare` False :: Bool = GT+1 :: Int `compare` True :: Bool = GT+1 :: Int `compare` not _ :: Bool = LT+1 :: Int `compare` c :: Char = GT+1 :: Int `compare` 'a' :: Char = GT+1 :: Int `compare` xs :: [Int] = GT+1 :: Int `compare` [] :: [Int] = LT+1 :: Int `compare` _:_ :: [Int] = LT+1 :: Int `compare` id :: Int -> Int = LT+1 :: Int `compare` (+) :: Int -> Int -> Int = LT+id x :: Int `compare` y :: Int = GT+id x :: Int `compare` 1 :: Int = GT+id x :: Int `compare` id x :: Int = EQ+id x :: Int `compare` id 0 :: Int = LT+id x :: Int `compare` id (id _) :: Int = LT+id x :: Int `compare` negate _ :: Int = LT+id x :: Int `compare` abs _ :: Int = LT+id x :: Int `compare` _ + _ :: Int = LT+id x :: Int `compare` head _ :: Int = LT+id x :: Int `compare` ord _ :: Int = GT+id x :: Int `compare` p :: Bool = GT+id x :: Int `compare` False :: Bool = GT+id x :: Int `compare` True :: Bool = GT+id x :: Int `compare` not _ :: Bool = GT+id x :: Int `compare` c :: Char = GT+id x :: Int `compare` 'a' :: Char = GT+id x :: Int `compare` xs :: [Int] = GT+id x :: Int `compare` [] :: [Int] = GT+id x :: Int `compare` _:_ :: [Int] = LT+id x :: Int `compare` id :: Int -> Int = GT+id x :: Int `compare` (+) :: Int -> Int -> Int = GT+id 0 :: Int `compare` y :: Int = GT+id 0 :: Int `compare` 1 :: Int = GT+id 0 :: Int `compare` id x :: Int = GT+id 0 :: Int `compare` id 0 :: Int = EQ+id 0 :: Int `compare` id (id _) :: Int = LT+id 0 :: Int `compare` negate _ :: Int = GT+id 0 :: Int `compare` abs _ :: Int = GT+id 0 :: Int `compare` _ + _ :: Int = LT+id 0 :: Int `compare` head _ :: Int = GT+id 0 :: Int `compare` ord _ :: Int = GT+id 0 :: Int `compare` p :: Bool = GT+id 0 :: Int `compare` False :: Bool = GT+id 0 :: Int `compare` True :: Bool = GT+id 0 :: Int `compare` not _ :: Bool = GT+id 0 :: Int `compare` c :: Char = GT+id 0 :: Int `compare` 'a' :: Char = GT+id 0 :: Int `compare` xs :: [Int] = GT+id 0 :: Int `compare` [] :: [Int] = GT+id 0 :: Int `compare` _:_ :: [Int] = LT+id 0 :: Int `compare` id :: Int -> Int = GT+id 0 :: Int `compare` (+) :: Int -> Int -> Int = GT+id (id _) :: Int `compare` y :: Int = GT+id (id _) :: Int `compare` 1 :: Int = GT+id (id _) :: Int `compare` id x :: Int = GT+id (id _) :: Int `compare` id 0 :: Int = GT+id (id _) :: Int `compare` id (id _) :: Int = EQ+id (id _) :: Int `compare` negate _ :: Int = GT+id (id _) :: Int `compare` abs _ :: Int = GT+id (id _) :: Int `compare` _ + _ :: Int = GT+id (id _) :: Int `compare` head _ :: Int = GT+id (id _) :: Int `compare` ord _ :: Int = GT+id (id _) :: Int `compare` p :: Bool = GT+id (id _) :: Int `compare` False :: Bool = GT+id (id _) :: Int `compare` True :: Bool = GT+id (id _) :: Int `compare` not _ :: Bool = GT+id (id _) :: Int `compare` c :: Char = GT+id (id _) :: Int `compare` 'a' :: Char = GT+id (id _) :: Int `compare` xs :: [Int] = GT+id (id _) :: Int `compare` [] :: [Int] = GT+id (id _) :: Int `compare` _:_ :: [Int] = GT+id (id _) :: Int `compare` id :: Int -> Int = GT+id (id _) :: Int `compare` (+) :: Int -> Int -> Int = GT+negate _ :: Int `compare` y :: Int = GT+negate _ :: Int `compare` 1 :: Int = GT+negate _ :: Int `compare` id x :: Int = GT+negate _ :: Int `compare` id 0 :: Int = LT+negate _ :: Int `compare` id (id _) :: Int = LT+negate _ :: Int `compare` negate _ :: Int = EQ+negate _ :: Int `compare` abs _ :: Int = GT+negate _ :: Int `compare` _ + _ :: Int = LT+negate _ :: Int `compare` head _ :: Int = LT+negate _ :: Int `compare` ord _ :: Int = GT+negate _ :: Int `compare` p :: Bool = GT+negate _ :: Int `compare` False :: Bool = GT+negate _ :: Int `compare` True :: Bool = GT+negate _ :: Int `compare` not _ :: Bool = GT+negate _ :: Int `compare` c :: Char = GT+negate _ :: Int `compare` 'a' :: Char = GT+negate _ :: Int `compare` xs :: [Int] = GT+negate _ :: Int `compare` [] :: [Int] = GT+negate _ :: Int `compare` _:_ :: [Int] = LT+negate _ :: Int `compare` id :: Int -> Int = GT+negate _ :: Int `compare` (+) :: Int -> Int -> Int = GT+abs _ :: Int `compare` y :: Int = GT+abs _ :: Int `compare` 1 :: Int = GT+abs _ :: Int `compare` id x :: Int = GT+abs _ :: Int `compare` id 0 :: Int = LT+abs _ :: Int `compare` id (id _) :: Int = LT+abs _ :: Int `compare` negate _ :: Int = LT+abs _ :: Int `compare` abs _ :: Int = EQ+abs _ :: Int `compare` _ + _ :: Int = LT+abs _ :: Int `compare` head _ :: Int = LT+abs _ :: Int `compare` ord _ :: Int = GT+abs _ :: Int `compare` p :: Bool = GT+abs _ :: Int `compare` False :: Bool = GT+abs _ :: Int `compare` True :: Bool = GT+abs _ :: Int `compare` not _ :: Bool = GT+abs _ :: Int `compare` c :: Char = GT+abs _ :: Int `compare` 'a' :: Char = GT+abs _ :: Int `compare` xs :: [Int] = GT+abs _ :: Int `compare` [] :: [Int] = GT+abs _ :: Int `compare` _:_ :: [Int] = LT+abs _ :: Int `compare` id :: Int -> Int = GT+abs _ :: Int `compare` (+) :: Int -> Int -> Int = GT+_ + _ :: Int `compare` y :: Int = GT+_ + _ :: Int `compare` 1 :: Int = GT+_ + _ :: Int `compare` id x :: Int = GT+_ + _ :: Int `compare` id 0 :: Int = GT+_ + _ :: Int `compare` id (id _) :: Int = LT+_ + _ :: Int `compare` negate _ :: Int = GT+_ + _ :: Int `compare` abs _ :: Int = GT+_ + _ :: Int `compare` _ + _ :: Int = EQ+_ + _ :: Int `compare` head _ :: Int = GT+_ + _ :: Int `compare` ord _ :: Int = GT+_ + _ :: Int `compare` p :: Bool = GT+_ + _ :: Int `compare` False :: Bool = GT+_ + _ :: Int `compare` True :: Bool = GT+_ + _ :: Int `compare` not _ :: Bool = GT+_ + _ :: Int `compare` c :: Char = GT+_ + _ :: Int `compare` 'a' :: Char = GT+_ + _ :: Int `compare` xs :: [Int] = GT+_ + _ :: Int `compare` [] :: [Int] = GT+_ + _ :: Int `compare` _:_ :: [Int] = GT+_ + _ :: Int `compare` id :: Int -> Int = GT+_ + _ :: Int `compare` (+) :: Int -> Int -> Int = GT+head _ :: Int `compare` y :: Int = GT+head _ :: Int `compare` 1 :: Int = GT+head _ :: Int `compare` id x :: Int = GT+head _ :: Int `compare` id 0 :: Int = LT+head _ :: Int `compare` id (id _) :: Int = LT+head _ :: Int `compare` negate _ :: Int = GT+head _ :: Int `compare` abs _ :: Int = GT+head _ :: Int `compare` _ + _ :: Int = LT+head _ :: Int `compare` head _ :: Int = EQ+head _ :: Int `compare` ord _ :: Int = GT+head _ :: Int `compare` p :: Bool = GT+head _ :: Int `compare` False :: Bool = GT+head _ :: Int `compare` True :: Bool = GT+head _ :: Int `compare` not _ :: Bool = GT+head _ :: Int `compare` c :: Char = GT+head _ :: Int `compare` 'a' :: Char = GT+head _ :: Int `compare` xs :: [Int] = GT+head _ :: Int `compare` [] :: [Int] = GT+head _ :: Int `compare` _:_ :: [Int] = LT+head _ :: Int `compare` id :: Int -> Int = GT+head _ :: Int `compare` (+) :: Int -> Int -> Int = GT+ord _ :: Int `compare` y :: Int = GT+ord _ :: Int `compare` 1 :: Int = GT+ord _ :: Int `compare` id x :: Int = LT+ord _ :: Int `compare` id 0 :: Int = LT+ord _ :: Int `compare` id (id _) :: Int = LT+ord _ :: Int `compare` negate _ :: Int = LT+ord _ :: Int `compare` abs _ :: Int = LT+ord _ :: Int `compare` _ + _ :: Int = LT+ord _ :: Int `compare` head _ :: Int = LT+ord _ :: Int `compare` ord _ :: Int = EQ+ord _ :: Int `compare` p :: Bool = GT+ord _ :: Int `compare` False :: Bool = GT+ord _ :: Int `compare` True :: Bool = GT+ord _ :: Int `compare` not _ :: Bool = GT+ord _ :: Int `compare` c :: Char = GT+ord _ :: Int `compare` 'a' :: Char = GT+ord _ :: Int `compare` xs :: [Int] = GT+ord _ :: Int `compare` [] :: [Int] = GT+ord _ :: Int `compare` _:_ :: [Int] = LT+ord _ :: Int `compare` id :: Int -> Int = GT+ord _ :: Int `compare` (+) :: Int -> Int -> Int = GT+p :: Bool `compare` y :: Int = LT+p :: Bool `compare` 1 :: Int = LT+p :: Bool `compare` id x :: Int = LT+p :: Bool `compare` id 0 :: Int = LT+p :: Bool `compare` id (id _) :: Int = LT+p :: Bool `compare` negate _ :: Int = LT+p :: Bool `compare` abs _ :: Int = LT+p :: Bool `compare` _ + _ :: Int = LT+p :: Bool `compare` head _ :: Int = LT+p :: Bool `compare` ord _ :: Int = LT+p :: Bool `compare` p :: Bool = EQ+p :: Bool `compare` False :: Bool = LT+p :: Bool `compare` True :: Bool = LT+p :: Bool `compare` not _ :: Bool = LT+p :: Bool `compare` c :: Char = LT+p :: Bool `compare` 'a' :: Char = LT+p :: Bool `compare` xs :: [Int] = LT+p :: Bool `compare` [] :: [Int] = LT+p :: Bool `compare` _:_ :: [Int] = LT+p :: Bool `compare` id :: Int -> Int = LT+p :: Bool `compare` (+) :: Int -> Int -> Int = LT+False :: Bool `compare` y :: Int = GT+False :: Bool `compare` 1 :: Int = LT+False :: Bool `compare` id x :: Int = LT+False :: Bool `compare` id 0 :: Int = LT+False :: Bool `compare` id (id _) :: Int = LT+False :: Bool `compare` negate _ :: Int = LT+False :: Bool `compare` abs _ :: Int = LT+False :: Bool `compare` _ + _ :: Int = LT+False :: Bool `compare` head _ :: Int = LT+False :: Bool `compare` ord _ :: Int = LT+False :: Bool `compare` p :: Bool = GT+False :: Bool `compare` False :: Bool = EQ+False :: Bool `compare` True :: Bool = LT+False :: Bool `compare` not _ :: Bool = LT+False :: Bool `compare` c :: Char = GT+False :: Bool `compare` 'a' :: Char = LT+False :: Bool `compare` xs :: [Int] = GT+False :: Bool `compare` [] :: [Int] = LT+False :: Bool `compare` _:_ :: [Int] = LT+False :: Bool `compare` id :: Int -> Int = LT+False :: Bool `compare` (+) :: Int -> Int -> Int = LT+True :: Bool `compare` y :: Int = GT+True :: Bool `compare` 1 :: Int = LT+True :: Bool `compare` id x :: Int = LT+True :: Bool `compare` id 0 :: Int = LT+True :: Bool `compare` id (id _) :: Int = LT+True :: Bool `compare` negate _ :: Int = LT+True :: Bool `compare` abs _ :: Int = LT+True :: Bool `compare` _ + _ :: Int = LT+True :: Bool `compare` head _ :: Int = LT+True :: Bool `compare` ord _ :: Int = LT+True :: Bool `compare` p :: Bool = GT+True :: Bool `compare` False :: Bool = GT+True :: Bool `compare` True :: Bool = EQ+True :: Bool `compare` not _ :: Bool = LT+True :: Bool `compare` c :: Char = GT+True :: Bool `compare` 'a' :: Char = LT+True :: Bool `compare` xs :: [Int] = GT+True :: Bool `compare` [] :: [Int] = LT+True :: Bool `compare` _:_ :: [Int] = LT+True :: Bool `compare` id :: Int -> Int = LT+True :: Bool `compare` (+) :: Int -> Int -> Int = LT+not _ :: Bool `compare` y :: Int = GT+not _ :: Bool `compare` 1 :: Int = GT+not _ :: Bool `compare` id x :: Int = LT+not _ :: Bool `compare` id 0 :: Int = LT+not _ :: Bool `compare` id (id _) :: Int = LT+not _ :: Bool `compare` negate _ :: Int = LT+not _ :: Bool `compare` abs _ :: Int = LT+not _ :: Bool `compare` _ + _ :: Int = LT+not _ :: Bool `compare` head _ :: Int = LT+not _ :: Bool `compare` ord _ :: Int = LT+not _ :: Bool `compare` p :: Bool = GT+not _ :: Bool `compare` False :: Bool = GT+not _ :: Bool `compare` True :: Bool = GT+not _ :: Bool `compare` not _ :: Bool = EQ+not _ :: Bool `compare` c :: Char = GT+not _ :: Bool `compare` 'a' :: Char = GT+not _ :: Bool `compare` xs :: [Int] = GT+not _ :: Bool `compare` [] :: [Int] = GT+not _ :: Bool `compare` _:_ :: [Int] = LT+not _ :: Bool `compare` id :: Int -> Int = GT+not _ :: Bool `compare` (+) :: Int -> Int -> Int = GT+c :: Char `compare` y :: Int = LT+c :: Char `compare` 1 :: Int = LT+c :: Char `compare` id x :: Int = LT+c :: Char `compare` id 0 :: Int = LT+c :: Char `compare` id (id _) :: Int = LT+c :: Char `compare` negate _ :: Int = LT+c :: Char `compare` abs _ :: Int = LT+c :: Char `compare` _ + _ :: Int = LT+c :: Char `compare` head _ :: Int = LT+c :: Char `compare` ord _ :: Int = LT+c :: Char `compare` p :: Bool = GT+c :: Char `compare` False :: Bool = LT+c :: Char `compare` True :: Bool = LT+c :: Char `compare` not _ :: Bool = LT+c :: Char `compare` c :: Char = EQ+c :: Char `compare` 'a' :: Char = LT+c :: Char `compare` xs :: [Int] = LT+c :: Char `compare` [] :: [Int] = LT+c :: Char `compare` _:_ :: [Int] = LT+c :: Char `compare` id :: Int -> Int = LT+c :: Char `compare` (+) :: Int -> Int -> Int = LT+'a' :: Char `compare` y :: Int = GT+'a' :: Char `compare` 1 :: Int = LT+'a' :: Char `compare` id x :: Int = LT+'a' :: Char `compare` id 0 :: Int = LT+'a' :: Char `compare` id (id _) :: Int = LT+'a' :: Char `compare` negate _ :: Int = LT+'a' :: Char `compare` abs _ :: Int = LT+'a' :: Char `compare` _ + _ :: Int = LT+'a' :: Char `compare` head _ :: Int = LT+'a' :: Char `compare` ord _ :: Int = LT+'a' :: Char `compare` p :: Bool = GT+'a' :: Char `compare` False :: Bool = GT+'a' :: Char `compare` True :: Bool = GT+'a' :: Char `compare` not _ :: Bool = LT+'a' :: Char `compare` c :: Char = GT+'a' :: Char `compare` 'a' :: Char = EQ+'a' :: Char `compare` xs :: [Int] = GT+'a' :: Char `compare` [] :: [Int] = LT+'a' :: Char `compare` _:_ :: [Int] = LT+'a' :: Char `compare` id :: Int -> Int = LT+'a' :: Char `compare` (+) :: Int -> Int -> Int = LT+xs :: [Int] `compare` y :: Int = GT+xs :: [Int] `compare` 1 :: Int = LT+xs :: [Int] `compare` id x :: Int = LT+xs :: [Int] `compare` id 0 :: Int = LT+xs :: [Int] `compare` id (id _) :: Int = LT+xs :: [Int] `compare` negate _ :: Int = LT+xs :: [Int] `compare` abs _ :: Int = LT+xs :: [Int] `compare` _ + _ :: Int = LT+xs :: [Int] `compare` head _ :: Int = LT+xs :: [Int] `compare` ord _ :: Int = LT+xs :: [Int] `compare` p :: Bool = GT+xs :: [Int] `compare` False :: Bool = LT+xs :: [Int] `compare` True :: Bool = LT+xs :: [Int] `compare` not _ :: Bool = LT+xs :: [Int] `compare` c :: Char = GT+xs :: [Int] `compare` 'a' :: Char = LT+xs :: [Int] `compare` xs :: [Int] = EQ+xs :: [Int] `compare` [] :: [Int] = LT+xs :: [Int] `compare` _:_ :: [Int] = LT+xs :: [Int] `compare` id :: Int -> Int = LT+xs :: [Int] `compare` (+) :: Int -> Int -> Int = LT+[] :: [Int] `compare` y :: Int = GT+[] :: [Int] `compare` 1 :: Int = GT+[] :: [Int] `compare` id x :: Int = LT+[] :: [Int] `compare` id 0 :: Int = LT+[] :: [Int] `compare` id (id _) :: Int = LT+[] :: [Int] `compare` negate _ :: Int = LT+[] :: [Int] `compare` abs _ :: Int = LT+[] :: [Int] `compare` _ + _ :: Int = LT+[] :: [Int] `compare` head _ :: Int = LT+[] :: [Int] `compare` ord _ :: Int = LT+[] :: [Int] `compare` p :: Bool = GT+[] :: [Int] `compare` False :: Bool = GT+[] :: [Int] `compare` True :: Bool = GT+[] :: [Int] `compare` not _ :: Bool = LT+[] :: [Int] `compare` c :: Char = GT+[] :: [Int] `compare` 'a' :: Char = GT+[] :: [Int] `compare` xs :: [Int] = GT+[] :: [Int] `compare` [] :: [Int] = EQ+[] :: [Int] `compare` _:_ :: [Int] = LT+[] :: [Int] `compare` id :: Int -> Int = LT+[] :: [Int] `compare` (+) :: Int -> Int -> Int = LT+_:_ :: [Int] `compare` y :: Int = GT+_:_ :: [Int] `compare` 1 :: Int = GT+_:_ :: [Int] `compare` id x :: Int = GT+_:_ :: [Int] `compare` id 0 :: Int = GT+_:_ :: [Int] `compare` id (id _) :: Int = LT+_:_ :: [Int] `compare` negate _ :: Int = GT+_:_ :: [Int] `compare` abs _ :: Int = GT+_:_ :: [Int] `compare` _ + _ :: Int = LT+_:_ :: [Int] `compare` head _ :: Int = GT+_:_ :: [Int] `compare` ord _ :: Int = GT+_:_ :: [Int] `compare` p :: Bool = GT+_:_ :: [Int] `compare` False :: Bool = GT+_:_ :: [Int] `compare` True :: Bool = GT+_:_ :: [Int] `compare` not _ :: Bool = GT+_:_ :: [Int] `compare` c :: Char = GT+_:_ :: [Int] `compare` 'a' :: Char = GT+_:_ :: [Int] `compare` xs :: [Int] = GT+_:_ :: [Int] `compare` [] :: [Int] = GT+_:_ :: [Int] `compare` _:_ :: [Int] = EQ+_:_ :: [Int] `compare` id :: Int -> Int = GT+_:_ :: [Int] `compare` (+) :: Int -> Int -> Int = GT+id :: Int -> Int `compare` y :: Int = GT+id :: Int -> Int `compare` 1 :: Int = GT+id :: Int -> Int `compare` id x :: Int = LT+id :: Int -> Int `compare` id 0 :: Int = LT+id :: Int -> Int `compare` id (id _) :: Int = LT+id :: Int -> Int `compare` negate _ :: Int = LT+id :: Int -> Int `compare` abs _ :: Int = LT+id :: Int -> Int `compare` _ + _ :: Int = LT+id :: Int -> Int `compare` head _ :: Int = LT+id :: Int -> Int `compare` ord _ :: Int = LT+id :: Int -> Int `compare` p :: Bool = GT+id :: Int -> Int `compare` False :: Bool = GT+id :: Int -> Int `compare` True :: Bool = GT+id :: Int -> Int `compare` not _ :: Bool = LT+id :: Int -> Int `compare` c :: Char = GT+id :: Int -> Int `compare` 'a' :: Char = GT+id :: Int -> Int `compare` xs :: [Int] = GT+id :: Int -> Int `compare` [] :: [Int] = GT+id :: Int -> Int `compare` _:_ :: [Int] = LT+id :: Int -> Int `compare` id :: Int -> Int = EQ+id :: Int -> Int `compare` (+) :: Int -> Int -> Int = LT+(+) :: Int -> Int -> Int `compare` y :: Int = GT+(+) :: Int -> Int -> Int `compare` 1 :: Int = GT+(+) :: Int -> Int -> Int `compare` id x :: Int = LT+(+) :: Int -> Int -> Int `compare` id 0 :: Int = LT+(+) :: Int -> Int -> Int `compare` id (id _) :: Int = LT+(+) :: Int -> Int -> Int `compare` negate _ :: Int = LT+(+) :: Int -> Int -> Int `compare` abs _ :: Int = LT+(+) :: Int -> Int -> Int `compare` _ + _ :: Int = LT+(+) :: Int -> Int -> Int `compare` head _ :: Int = LT+(+) :: Int -> Int -> Int `compare` ord _ :: Int = LT+(+) :: Int -> Int -> Int `compare` p :: Bool = GT+(+) :: Int -> Int -> Int `compare` False :: Bool = GT+(+) :: Int -> Int -> Int `compare` True :: Bool = GT+(+) :: Int -> Int -> Int `compare` not _ :: Bool = LT+(+) :: Int -> Int -> Int `compare` c :: Char = GT+(+) :: Int -> Int -> Int `compare` 'a' :: Char = GT+(+) :: Int -> Int -> Int `compare` xs :: [Int] = GT+(+) :: Int -> Int -> Int `compare` [] :: [Int] = GT+(+) :: Int -> Int -> Int `compare` _:_ :: [Int] = LT+(+) :: Int -> Int -> Int `compare` id :: Int -> Int = GT+(+) :: Int -> Int -> Int `compare` (+) :: Int -> Int -> Int = EQ+z :: Int `compare` x :: Int = GT+z :: Int `compare` 0 :: Int = LT+z :: Int `compare` id _ :: Int = LT+z :: Int `compare` _ :: Bool = GT+z :: Int `compare` _ :: Char = GT+z :: Int `compare` _ :: [Int] = LT+-1 :: Int `compare` x :: Int = GT+-1 :: Int `compare` 0 :: Int = GT+-1 :: Int `compare` id _ :: Int = LT+-1 :: Int `compare` _ :: Bool = GT+-1 :: Int `compare` _ :: Char = GT+-1 :: Int `compare` _ :: [Int] = GT+id y :: Int `compare` x :: Int = GT+id y :: Int `compare` 0 :: Int = GT+id y :: Int `compare` id _ :: Int = GT+id y :: Int `compare` _ :: Bool = GT+id y :: Int `compare` _ :: Char = GT+id y :: Int `compare` _ :: [Int] = GT+id 1 :: Int `compare` x :: Int = GT+id 1 :: Int `compare` 0 :: Int = GT+id 1 :: Int `compare` id _ :: Int = GT+id 1 :: Int `compare` _ :: Bool = GT+id 1 :: Int `compare` _ :: Char = GT+id 1 :: Int `compare` _ :: [Int] = GT+id (id x) :: Int `compare` x :: Int = GT+id (id x) :: Int `compare` 0 :: Int = GT+id (id x) :: Int `compare` id _ :: Int = GT+id (id x) :: Int `compare` _ :: Bool = GT+id (id x) :: Int `compare` _ :: Char = GT+id (id x) :: Int `compare` _ :: [Int] = GT+id (id 0) :: Int `compare` x :: Int = GT+id (id 0) :: Int `compare` 0 :: Int = GT+id (id 0) :: Int `compare` id _ :: Int = GT+id (id 0) :: Int `compare` _ :: Bool = GT+id (id 0) :: Int `compare` _ :: Char = GT+id (id 0) :: Int `compare` _ :: [Int] = GT+id (id (id _)) :: Int `compare` x :: Int = GT+id (id (id _)) :: Int `compare` 0 :: Int = GT+id (id (id _)) :: Int `compare` id _ :: Int = GT+id (id (id _)) :: Int `compare` _ :: Bool = GT+id (id (id _)) :: Int `compare` _ :: Char = GT+id (id (id _)) :: Int `compare` _ :: [Int] = GT+id (negate _) :: Int `compare` x :: Int = GT+id (negate _) :: Int `compare` 0 :: Int = GT+id (negate _) :: Int `compare` id _ :: Int = GT+id (negate _) :: Int `compare` _ :: Bool = GT+id (negate _) :: Int `compare` _ :: Char = GT+id (negate _) :: Int `compare` _ :: [Int] = GT+id (abs _) :: Int `compare` x :: Int = GT+id (abs _) :: Int `compare` 0 :: Int = GT+id (abs _) :: Int `compare` id _ :: Int = GT+id (abs _) :: Int `compare` _ :: Bool = GT+id (abs _) :: Int `compare` _ :: Char = GT+id (abs _) :: Int `compare` _ :: [Int] = GT+id (_ + _) :: Int `compare` x :: Int = GT+id (_ + _) :: Int `compare` 0 :: Int = GT+id (_ + _) :: Int `compare` id _ :: Int = GT+id (_ + _) :: Int `compare` _ :: Bool = GT+id (_ + _) :: Int `compare` _ :: Char = GT+id (_ + _) :: Int `compare` _ :: [Int] = GT+id (head _) :: Int `compare` x :: Int = GT+id (head _) :: Int `compare` 0 :: Int = GT+id (head _) :: Int `compare` id _ :: Int = GT+id (head _) :: Int `compare` _ :: Bool = GT+id (head _) :: Int `compare` _ :: Char = GT+id (head _) :: Int `compare` _ :: [Int] = GT+id (ord _) :: Int `compare` x :: Int = GT+id (ord _) :: Int `compare` 0 :: Int = GT+id (ord _) :: Int `compare` id _ :: Int = GT+id (ord _) :: Int `compare` _ :: Bool = GT+id (ord _) :: Int `compare` _ :: Char = GT+id (ord _) :: Int `compare` _ :: [Int] = GT+negate x :: Int `compare` x :: Int = GT+negate x :: Int `compare` 0 :: Int = GT+negate x :: Int `compare` id _ :: Int = GT+negate x :: Int `compare` _ :: Bool = GT+negate x :: Int `compare` _ :: Char = GT+negate x :: Int `compare` _ :: [Int] = GT+negate 0 :: Int `compare` x :: Int = GT+negate 0 :: Int `compare` 0 :: Int = GT+negate 0 :: Int `compare` id _ :: Int = GT+negate 0 :: Int `compare` _ :: Bool = GT+negate 0 :: Int `compare` _ :: Char = GT+negate 0 :: Int `compare` _ :: [Int] = GT+negate (id _) :: Int `compare` x :: Int = GT+negate (id _) :: Int `compare` 0 :: Int = GT+negate (id _) :: Int `compare` id _ :: Int = GT+negate (id _) :: Int `compare` _ :: Bool = GT+negate (id _) :: Int `compare` _ :: Char = GT+negate (id _) :: Int `compare` _ :: [Int] = GT+abs x :: Int `compare` x :: Int = GT+abs x :: Int `compare` 0 :: Int = GT+abs x :: Int `compare` id _ :: Int = GT+abs x :: Int `compare` _ :: Bool = GT+abs x :: Int `compare` _ :: Char = GT+abs x :: Int `compare` _ :: [Int] = GT+abs 0 :: Int `compare` x :: Int = GT+abs 0 :: Int `compare` 0 :: Int = GT+abs 0 :: Int `compare` id _ :: Int = GT+abs 0 :: Int `compare` _ :: Bool = GT+abs 0 :: Int `compare` _ :: Char = GT+abs 0 :: Int `compare` _ :: [Int] = GT+abs (id _) :: Int `compare` x :: Int = GT+abs (id _) :: Int `compare` 0 :: Int = GT+abs (id _) :: Int `compare` id _ :: Int = GT+abs (id _) :: Int `compare` _ :: Bool = GT+abs (id _) :: Int `compare` _ :: Char = GT+abs (id _) :: Int `compare` _ :: [Int] = GT+_ + x :: Int `compare` x :: Int = GT+_ + x :: Int `compare` 0 :: Int = GT+_ + x :: Int `compare` id _ :: Int = GT+_ + x :: Int `compare` _ :: Bool = GT+_ + x :: Int `compare` _ :: Char = GT+_ + x :: Int `compare` _ :: [Int] = GT+_ + 0 :: Int `compare` x :: Int = GT+_ + 0 :: Int `compare` 0 :: Int = GT+_ + 0 :: Int `compare` id _ :: Int = GT+_ + 0 :: Int `compare` _ :: Bool = GT+_ + 0 :: Int `compare` _ :: Char = GT+_ + 0 :: Int `compare` _ :: [Int] = GT+_ + id _ :: Int `compare` x :: Int = GT+_ + id _ :: Int `compare` 0 :: Int = GT+_ + id _ :: Int `compare` id _ :: Int = GT+_ + id _ :: Int `compare` _ :: Bool = GT+_ + id _ :: Int `compare` _ :: Char = GT+_ + id _ :: Int `compare` _ :: [Int] = GT+x + _ :: Int `compare` x :: Int = GT+x + _ :: Int `compare` 0 :: Int = GT+x + _ :: Int `compare` id _ :: Int = GT+x + _ :: Int `compare` _ :: Bool = GT+x + _ :: Int `compare` _ :: Char = GT+x + _ :: Int `compare` _ :: [Int] = GT+0 + _ :: Int `compare` x :: Int = GT+0 + _ :: Int `compare` 0 :: Int = GT+0 + _ :: Int `compare` id _ :: Int = GT+0 + _ :: Int `compare` _ :: Bool = GT+0 + _ :: Int `compare` _ :: Char = GT+0 + _ :: Int `compare` _ :: [Int] = GT+id _ + _ :: Int `compare` x :: Int = GT+id _ + _ :: Int `compare` 0 :: Int = GT+id _ + _ :: Int `compare` id _ :: Int = GT+id _ + _ :: Int `compare` _ :: Bool = GT+id _ + _ :: Int `compare` _ :: Char = GT+id _ + _ :: Int `compare` _ :: [Int] = GT+_ * _ :: Int `compare` x :: Int = GT+_ * _ :: Int `compare` 0 :: Int = GT+_ * _ :: Int `compare` id _ :: Int = GT+_ * _ :: Int `compare` _ :: Bool = GT+_ * _ :: Int `compare` _ :: Char = GT+_ * _ :: Int `compare` _ :: [Int] = GT+f _ :: Int `compare` x :: Int = GT+f _ :: Int `compare` 0 :: Int = GT+f _ :: Int `compare` id _ :: Int = LT+f _ :: Int `compare` _ :: Bool = GT+f _ :: Int `compare` _ :: Char = GT+f _ :: Int `compare` _ :: [Int] = GT+head xs :: Int `compare` x :: Int = GT+head xs :: Int `compare` 0 :: Int = GT+head xs :: Int `compare` id _ :: Int = GT+head xs :: Int `compare` _ :: Bool = GT+head xs :: Int `compare` _ :: Char = GT+head xs :: Int `compare` _ :: [Int] = GT+head [] :: Int `compare` x :: Int = GT+head [] :: Int `compare` 0 :: Int = GT+head [] :: Int `compare` id _ :: Int = GT+head [] :: Int `compare` _ :: Bool = GT+head [] :: Int `compare` _ :: Char = GT+head [] :: Int `compare` _ :: [Int] = GT+head (_:_) :: Int `compare` x :: Int = GT+head (_:_) :: Int `compare` 0 :: Int = GT+head (_:_) :: Int `compare` id _ :: Int = GT+head (_:_) :: Int `compare` _ :: Bool = GT+head (_:_) :: Int `compare` _ :: Char = GT+head (_:_) :: Int `compare` _ :: [Int] = GT+ord c :: Int `compare` x :: Int = GT+ord c :: Int `compare` 0 :: Int = GT+ord c :: Int `compare` id _ :: Int = LT+ord c :: Int `compare` _ :: Bool = GT+ord c :: Int `compare` _ :: Char = GT+ord c :: Int `compare` _ :: [Int] = GT+ord 'a' :: Int `compare` x :: Int = GT+ord 'a' :: Int `compare` 0 :: Int = GT+ord 'a' :: Int `compare` id _ :: Int = GT+ord 'a' :: Int `compare` _ :: Bool = GT+ord 'a' :: Int `compare` _ :: Char = GT+ord 'a' :: Int `compare` _ :: [Int] = GT+q :: Bool `compare` x :: Int = LT+q :: Bool `compare` 0 :: Int = LT+q :: Bool `compare` id _ :: Int = LT+q :: Bool `compare` _ :: Bool = GT+q :: Bool `compare` _ :: Char = LT+q :: Bool `compare` _ :: [Int] = LT+not p :: Bool `compare` x :: Int = GT+not p :: Bool `compare` 0 :: Int = GT+not p :: Bool `compare` id _ :: Int = LT+not p :: Bool `compare` _ :: Bool = GT+not p :: Bool `compare` _ :: Char = GT+not p :: Bool `compare` _ :: [Int] = GT+not False :: Bool `compare` x :: Int = GT+not False :: Bool `compare` 0 :: Int = GT+not False :: Bool `compare` id _ :: Int = GT+not False :: Bool `compare` _ :: Bool = GT+not False :: Bool `compare` _ :: Char = GT+not False :: Bool `compare` _ :: [Int] = GT+not True :: Bool `compare` x :: Int = GT+not True :: Bool `compare` 0 :: Int = GT+not True :: Bool `compare` id _ :: Int = GT+not True :: Bool `compare` _ :: Bool = GT+not True :: Bool `compare` _ :: Char = GT+not True :: Bool `compare` _ :: [Int] = GT+not (not _) :: Bool `compare` x :: Int = GT+not (not _) :: Bool `compare` 0 :: Int = GT+not (not _) :: Bool `compare` id _ :: Int = GT+not (not _) :: Bool `compare` _ :: Bool = GT+not (not _) :: Bool `compare` _ :: Char = GT+not (not _) :: Bool `compare` _ :: [Int] = GT+_ || _ :: Bool `compare` x :: Int = GT+_ || _ :: Bool `compare` 0 :: Int = GT+_ || _ :: Bool `compare` id _ :: Int = GT+_ || _ :: Bool `compare` _ :: Bool = GT+_ || _ :: Bool `compare` _ :: Char = GT+_ || _ :: Bool `compare` _ :: [Int] = GT+d :: Char `compare` x :: Int = LT+d :: Char `compare` 0 :: Int = LT+d :: Char `compare` id _ :: Int = LT+d :: Char `compare` _ :: Bool = GT+d :: Char `compare` _ :: Char = GT+d :: Char `compare` _ :: [Int] = LT+' ' :: Char `compare` x :: Int = GT+' ' :: Char `compare` 0 :: Int = LT+' ' :: Char `compare` id _ :: Int = LT+' ' :: Char `compare` _ :: Bool = GT+' ' :: Char `compare` _ :: Char = GT+' ' :: Char `compare` _ :: [Int] = GT+ys :: [Int] `compare` x :: Int = GT+ys :: [Int] `compare` 0 :: Int = LT+ys :: [Int] `compare` id _ :: Int = LT+ys :: [Int] `compare` _ :: Bool = GT+ys :: [Int] `compare` _ :: Char = GT+ys :: [Int] `compare` _ :: [Int] = GT+[0] :: [Int] `compare` x :: Int = GT+[0] :: [Int] `compare` 0 :: Int = GT+[0] :: [Int] `compare` id _ :: Int = LT+[0] :: [Int] `compare` _ :: Bool = GT+[0] :: [Int] `compare` _ :: Char = GT+[0] :: [Int] `compare` _ :: [Int] = GT+_:xs :: [Int] `compare` x :: Int = GT+_:xs :: [Int] `compare` 0 :: Int = GT+_:xs :: [Int] `compare` id _ :: Int = GT+_:xs :: [Int] `compare` _ :: Bool = GT+_:xs :: [Int] `compare` _ :: Char = GT+_:xs :: [Int] `compare` _ :: [Int] = GT+[_] :: [Int] `compare` x :: Int = GT+[_] :: [Int] `compare` 0 :: Int = GT+[_] :: [Int] `compare` id _ :: Int = GT+[_] :: [Int] `compare` _ :: Bool = GT+[_] :: [Int] `compare` _ :: Char = GT+[_] :: [Int] `compare` _ :: [Int] = GT+_:_:_ :: [Int] `compare` x :: Int = GT+_:_:_ :: [Int] `compare` 0 :: Int = GT+_:_:_ :: [Int] `compare` id _ :: Int = GT+_:_:_ :: [Int] `compare` _ :: Bool = GT+_:_:_ :: [Int] `compare` _ :: Char = GT+_:_:_ :: [Int] `compare` _ :: [Int] = GT+x:_ :: [Int] `compare` x :: Int = GT+x:_ :: [Int] `compare` 0 :: Int = GT+x:_ :: [Int] `compare` id _ :: Int = GT+x:_ :: [Int] `compare` _ :: Bool = GT+x:_ :: [Int] `compare` _ :: Char = GT+x:_ :: [Int] `compare` _ :: [Int] = GT+0:_ :: [Int] `compare` x :: Int = GT+0:_ :: [Int] `compare` 0 :: Int = GT+0:_ :: [Int] `compare` id _ :: Int = GT+0:_ :: [Int] `compare` _ :: Bool = GT+0:_ :: [Int] `compare` _ :: Char = GT+0:_ :: [Int] `compare` _ :: [Int] = GT+id _:_ :: [Int] `compare` x :: Int = GT+id _:_ :: [Int] `compare` 0 :: Int = GT+id _:_ :: [Int] `compare` id _ :: Int = GT+id _:_ :: [Int] `compare` _ :: Bool = GT+id _:_ :: [Int] `compare` _ :: Char = GT+id _:_ :: [Int] `compare` _ :: [Int] = GT+tail _ :: [Int] `compare` x :: Int = GT+tail _ :: [Int] `compare` 0 :: Int = GT+tail _ :: [Int] `compare` id _ :: Int = GT+tail _ :: [Int] `compare` _ :: Bool = GT+tail _ :: [Int] `compare` _ :: Char = GT+tail _ :: [Int] `compare` _ :: [Int] = GT+_ ++ _ :: [Int] `compare` x :: Int = GT+_ ++ _ :: [Int] `compare` 0 :: Int = GT+_ ++ _ :: [Int] `compare` id _ :: Int = GT+_ ++ _ :: [Int] `compare` _ :: Bool = GT+_ ++ _ :: [Int] `compare` _ :: Char = GT+_ ++ _ :: [Int] `compare` _ :: [Int] = GT+negate :: Int -> Int `compare` x :: Int = GT+negate :: Int -> Int `compare` 0 :: Int = GT+negate :: Int -> Int `compare` id _ :: Int = LT+negate :: Int -> Int `compare` _ :: Bool = GT+negate :: Int -> Int `compare` _ :: Char = GT+negate :: Int -> Int `compare` _ :: [Int] = GT+abs :: Int -> Int `compare` x :: Int = GT+abs :: Int -> Int `compare` 0 :: Int = GT+abs :: Int -> Int `compare` id _ :: Int = LT+abs :: Int -> Int `compare` _ :: Bool = GT+abs :: Int -> Int `compare` _ :: Char = GT+abs :: Int -> Int `compare` _ :: [Int] = GT+(_ +) :: Int -> Int `compare` x :: Int = GT+(_ +) :: Int -> Int `compare` 0 :: Int = GT+(_ +) :: Int -> Int `compare` id _ :: Int = GT+(_ +) :: Int -> Int `compare` _ :: Bool = GT+(_ +) :: Int -> Int `compare` _ :: Char = GT+(_ +) :: Int -> Int `compare` _ :: [Int] = GT+(*) :: Int -> Int -> Int `compare` x :: Int = GT+(*) :: Int -> Int -> Int `compare` 0 :: Int = GT+(*) :: Int -> Int -> Int `compare` id _ :: Int = LT+(*) :: Int -> Int -> Int `compare` _ :: Bool = GT+(*) :: Int -> Int -> Int `compare` _ :: Char = GT+(*) :: Int -> Int -> Int `compare` _ :: [Int] = GT+not :: Bool -> Bool `compare` x :: Int = GT+not :: Bool -> Bool `compare` 0 :: Int = GT+not :: Bool -> Bool `compare` id _ :: Int = LT+not :: Bool -> Bool `compare` _ :: Bool = GT+not :: Bool -> Bool `compare` _ :: Char = GT+not :: Bool -> Bool `compare` _ :: [Int] = GT+(||) :: Bool -> Bool -> Bool `compare` x :: Int = GT+(||) :: Bool -> Bool -> Bool `compare` 0 :: Int = GT+(||) :: Bool -> Bool -> Bool `compare` id _ :: Int = LT+(||) :: Bool -> Bool -> Bool `compare` _ :: Bool = GT+(||) :: Bool -> Bool -> Bool `compare` _ :: Char = GT+(||) :: Bool -> Bool -> Bool `compare` _ :: [Int] = GT+x' :: Int `compare` _ :: Int = GT+2 :: Int `compare` _ :: Int = GT+id z :: Int `compare` _ :: Int = GT+id (-1) :: Int `compare` _ :: Int = GT+id (id y) :: Int `compare` _ :: Int = GT+id (id 1) :: Int `compare` _ :: Int = GT+id (id (id x)) :: Int `compare` _ :: Int = GT+id (id (id 0)) :: Int `compare` _ :: Int = GT+id (id (id (id _))) :: Int `compare` _ :: Int = GT+id (id (negate _)) :: Int `compare` _ :: Int = GT+id (id (abs _)) :: Int `compare` _ :: Int = GT+id (id (_ + _)) :: Int `compare` _ :: Int = GT+id (id (head _)) :: Int `compare` _ :: Int = GT+id (id (ord _)) :: Int `compare` _ :: Int = GT+id (negate x) :: Int `compare` _ :: Int = GT+id (negate 0) :: Int `compare` _ :: Int = GT+id (negate (id _)) :: Int `compare` _ :: Int = GT+id (abs x) :: Int `compare` _ :: Int = GT+id (abs 0) :: Int `compare` _ :: Int = GT+id (abs (id _)) :: Int `compare` _ :: Int = GT+id (_ + x) :: Int `compare` _ :: Int = GT+id (_ + 0) :: Int `compare` _ :: Int = GT+id (_ + id _) :: Int `compare` _ :: Int = GT+id (x + _) :: Int `compare` _ :: Int = GT+id (0 + _) :: Int `compare` _ :: Int = GT+id (id _ + _) :: Int `compare` _ :: Int = GT+id (_ * _) :: Int `compare` _ :: Int = GT+id (f _) :: Int `compare` _ :: Int = GT+id (head xs) :: Int `compare` _ :: Int = GT+id (head []) :: Int `compare` _ :: Int = GT+id (head (_:_)) :: Int `compare` _ :: Int = GT+id (ord c) :: Int `compare` _ :: Int = GT+id (ord 'a') :: Int `compare` _ :: Int = GT+negate y :: Int `compare` _ :: Int = GT+negate 1 :: Int `compare` _ :: Int = GT+negate (id x) :: Int `compare` _ :: Int = GT+negate (id 0) :: Int `compare` _ :: Int = GT+negate (id (id _)) :: Int `compare` _ :: Int = GT+negate (negate _) :: Int `compare` _ :: Int = GT+negate (abs _) :: Int `compare` _ :: Int = GT+negate (_ + _) :: Int `compare` _ :: Int = GT+negate (head _) :: Int `compare` _ :: Int = GT+negate (ord _) :: Int `compare` _ :: Int = GT+abs y :: Int `compare` _ :: Int = GT+abs 1 :: Int `compare` _ :: Int = GT+abs (id x) :: Int `compare` _ :: Int = GT+abs (id 0) :: Int `compare` _ :: Int = GT+abs (id (id _)) :: Int `compare` _ :: Int = GT+abs (negate _) :: Int `compare` _ :: Int = GT+abs (abs _) :: Int `compare` _ :: Int = GT+abs (_ + _) :: Int `compare` _ :: Int = GT+abs (head _) :: Int `compare` _ :: Int = GT+abs (ord _) :: Int `compare` _ :: Int = GT+_ + y :: Int `compare` _ :: Int = GT+_ + 1 :: Int `compare` _ :: Int = GT+_ + id x :: Int `compare` _ :: Int = GT+_ + id 0 :: Int `compare` _ :: Int = GT+_ + id (id _) :: Int `compare` _ :: Int = GT+_ + negate _ :: Int `compare` _ :: Int = GT+_ + abs _ :: Int `compare` _ :: Int = GT+_ + (_ + _) :: Int `compare` _ :: Int = GT+_ + head _ :: Int `compare` _ :: Int = GT+_ + ord _ :: Int `compare` _ :: Int = GT+x + x :: Int `compare` _ :: Int = GT+x + 0 :: Int `compare` _ :: Int = GT+x + id _ :: Int `compare` _ :: Int = GT+0 + x :: Int `compare` _ :: Int = GT+0 + 0 :: Int `compare` _ :: Int = GT+0 + id _ :: Int `compare` _ :: Int = GT+id _ + x :: Int `compare` _ :: Int = GT+id _ + 0 :: Int `compare` _ :: Int = GT+id _ + id _ :: Int `compare` _ :: Int = GT+_ * x :: Int `compare` _ :: Int = GT+_ * 0 :: Int `compare` _ :: Int = GT+_ * id _ :: Int `compare` _ :: Int = GT+f x :: Int `compare` _ :: Int = GT+f 0 :: Int `compare` _ :: Int = GT+f (id _) :: Int `compare` _ :: Int = GT+y + _ :: Int `compare` _ :: Int = GT+1 + _ :: Int `compare` _ :: Int = GT+id x + _ :: Int `compare` _ :: Int = GT+id 0 + _ :: Int `compare` _ :: Int = GT+id (id _) + _ :: Int `compare` _ :: Int = GT+negate _ + _ :: Int `compare` _ :: Int = GT+abs _ + _ :: Int `compare` _ :: Int = GT+(_ + _) + _ :: Int `compare` _ :: Int = GT+head _ + _ :: Int `compare` _ :: Int = GT+ord _ + _ :: Int `compare` _ :: Int = GT+x * _ :: Int `compare` _ :: Int = GT+0 * _ :: Int `compare` _ :: Int = GT+id _ * _ :: Int `compare` _ :: Int = GT+g _ :: Int `compare` _ :: Int = GT+head ys :: Int `compare` _ :: Int = GT+head [0] :: Int `compare` _ :: Int = GT+head (_:xs) :: Int `compare` _ :: Int = GT+head [_] :: Int `compare` _ :: Int = GT+head (_:_:_) :: Int `compare` _ :: Int = GT+head (x:_) :: Int `compare` _ :: Int = GT+head (0:_) :: Int `compare` _ :: Int = GT+head (id _:_) :: Int `compare` _ :: Int = GT+head (tail _) :: Int `compare` _ :: Int = GT+head (_ ++ _) :: Int `compare` _ :: Int = GT+ord d :: Int `compare` _ :: Int = GT+ord ' ' :: Int `compare` _ :: Int = GT+r :: Bool `compare` _ :: Int = LT+not q :: Bool `compare` _ :: Int = GT+not (not p) :: Bool `compare` _ :: Int = GT+not (not False) :: Bool `compare` _ :: Int = GT+not (not True) :: Bool `compare` _ :: Int = GT+not (not (not _)) :: Bool `compare` _ :: Int = GT+not (_ || _) :: Bool `compare` _ :: Int = GT+_ || p :: Bool `compare` _ :: Int = GT+_ || False :: Bool `compare` _ :: Int = GT+_ || True :: Bool `compare` _ :: Int = GT+_ || not _ :: Bool `compare` _ :: Int = GT+p || _ :: Bool `compare` _ :: Int = GT+False || _ :: Bool `compare` _ :: Int = GT+True || _ :: Bool `compare` _ :: Int = GT+not _ || _ :: Bool `compare` _ :: Int = GT+_ && _ :: Bool `compare` _ :: Int = GT+_ == _ :: Bool `compare` _ :: Int = GT+_ == _ :: Bool `compare` _ :: Int = GT+odd _ :: Bool `compare` _ :: Int = GT+even _ :: Bool `compare` _ :: Int = GT+elem _ _ :: Bool `compare` _ :: Int = GT+e :: Char `compare` _ :: Int = LT+'b' :: Char `compare` _ :: Int = GT+zs :: [Int] `compare` _ :: Int = GT+[0,0] :: [Int] `compare` _ :: Int = GT+[1] :: [Int] `compare` _ :: Int = GT+_:ys :: [Int] `compare` _ :: Int = GT+_:[0] :: [Int] `compare` _ :: Int = GT+_:_:xs :: [Int] `compare` _ :: Int = GT+[_,_] :: [Int] `compare` _ :: Int = GT+_:_:_:_ :: [Int] `compare` _ :: Int = GT+_:x:_ :: [Int] `compare` _ :: Int = GT+_:0:_ :: [Int] `compare` _ :: Int = GT+_:id _:_ :: [Int] `compare` _ :: Int = GT+_:tail _ :: [Int] `compare` _ :: Int = GT+_:(_ ++ _) :: [Int] `compare` _ :: Int = GT+x:xs :: [Int] `compare` _ :: Int = GT+[x] :: [Int] `compare` _ :: Int = GT+x:_:_ :: [Int] `compare` _ :: Int = GT+0:xs :: [Int] `compare` _ :: Int = GT+[0] :: [Int] `compare` _ :: Int = GT+0:_:_ :: [Int] `compare` _ :: Int = GT+id _:xs :: [Int] `compare` _ :: Int = GT+[id _] :: [Int] `compare` _ :: Int = GT+id _:_:_ :: [Int] `compare` _ :: Int = GT+y:_ :: [Int] `compare` _ :: Int = GT+1:_ :: [Int] `compare` _ :: Int = GT+id x:_ :: [Int] `compare` _ :: Int = GT+id 0:_ :: [Int] `compare` _ :: Int = GT+id (id _):_ :: [Int] `compare` _ :: Int = GT+negate _:_ :: [Int] `compare` _ :: Int = GT+abs _:_ :: [Int] `compare` _ :: Int = GT+_ + _:_ :: [Int] `compare` _ :: Int = GT+head _:_ :: [Int] `compare` _ :: Int = GT+ord _:_ :: [Int] `compare` _ :: Int = GT+tail xs :: [Int] `compare` _ :: Int = GT+tail [] :: [Int] `compare` _ :: Int = GT+tail (_:_) :: [Int] `compare` _ :: Int = GT+_ ++ xs :: [Int] `compare` _ :: Int = GT+_ ++ [] :: [Int] `compare` _ :: Int = GT+_ ++ (_:_) :: [Int] `compare` _ :: Int = GT+xs ++ _ :: [Int] `compare` _ :: Int = GT+[] ++ _ :: [Int] `compare` _ :: Int = GT+(_:_) ++ _ :: [Int] `compare` _ :: Int = GT+sort _ :: [Int] `compare` _ :: Int = GT+insert _ _ :: [Int] `compare` _ :: Int = GT+(x +) :: Int -> Int `compare` _ :: Int = GT+(0 +) :: Int -> Int `compare` _ :: Int = GT+(id _ +) :: Int -> Int `compare` _ :: Int = GT+(_ *) :: Int -> Int `compare` _ :: Int = GT+f :: Int -> Int `compare` _ :: Int = GT+(_ ||) :: Bool -> Bool `compare` _ :: Int = GT+(&&) :: Bool -> Bool -> Bool `compare` _ :: Int = GT+_ :: Int `compare` y' :: Int = LT+_ :: Int `compare` -2 :: Int = LT+_ :: Int `compare` id x' :: Int = LT+_ :: Int `compare` id 2 :: Int = LT+_ :: Int `compare` id (id z) :: Int = LT+_ :: Int `compare` id (id (-1)) :: Int = LT+_ :: Int `compare` id (id (id y)) :: Int = LT+_ :: Int `compare` id (id (id 1)) :: Int = LT+_ :: Int `compare` id (id (id (id x))) :: Int = LT+_ :: Int `compare` id (id (id (id 0))) :: Int = LT+_ :: Int `compare` id (id (id (id (id _)))) :: Int = LT+_ :: Int `compare` id (id (id (negate _))) :: Int = LT+_ :: Int `compare` id (id (id (abs _))) :: Int = LT+_ :: Int `compare` id (id (id (_ + _))) :: Int = LT+_ :: Int `compare` id (id (id (head _))) :: Int = LT+_ :: Int `compare` id (id (id (ord _))) :: Int = LT+_ :: Int `compare` id (id (negate x)) :: Int = LT+_ :: Int `compare` id (id (negate 0)) :: Int = LT+_ :: Int `compare` id (id (negate (id _))) :: Int = LT+_ :: Int `compare` id (id (abs x)) :: Int = LT+_ :: Int `compare` id (id (abs 0)) :: Int = LT+_ :: Int `compare` id (id (abs (id _))) :: Int = LT+_ :: Int `compare` id (id (_ + x)) :: Int = LT+_ :: Int `compare` id (id (_ + 0)) :: Int = LT+_ :: Int `compare` id (id (_ + id _)) :: Int = LT+_ :: Int `compare` id (id (x + _)) :: Int = LT+_ :: Int `compare` id (id (0 + _)) :: Int = LT+_ :: Int `compare` id (id (id _ + _)) :: Int = LT+_ :: Int `compare` id (id (_ * _)) :: Int = LT+_ :: Int `compare` id (id (f _)) :: Int = LT+_ :: Int `compare` id (id (head xs)) :: Int = LT+_ :: Int `compare` id (id (head [])) :: Int = LT+_ :: Int `compare` id (id (head (_:_))) :: Int = LT+_ :: Int `compare` id (id (ord c)) :: Int = LT+_ :: Int `compare` id (id (ord 'a')) :: Int = LT+_ :: Int `compare` id (negate y) :: Int = LT+_ :: Int `compare` id (negate 1) :: Int = LT+_ :: Int `compare` id (negate (id x)) :: Int = LT+_ :: Int `compare` id (negate (id 0)) :: Int = LT+_ :: Int `compare` id (negate (id (id _))) :: Int = LT+_ :: Int `compare` id (negate (negate _)) :: Int = LT+_ :: Int `compare` id (negate (abs _)) :: Int = LT+_ :: Int `compare` id (negate (_ + _)) :: Int = LT+_ :: Int `compare` id (negate (head _)) :: Int = LT+_ :: Int `compare` id (negate (ord _)) :: Int = LT+_ :: Int `compare` id (abs y) :: Int = LT+_ :: Int `compare` id (abs 1) :: Int = LT+_ :: Int `compare` id (abs (id x)) :: Int = LT+_ :: Int `compare` id (abs (id 0)) :: Int = LT+_ :: Int `compare` id (abs (id (id _))) :: Int = LT+_ :: Int `compare` id (abs (negate _)) :: Int = LT+_ :: Int `compare` id (abs (abs _)) :: Int = LT+_ :: Int `compare` id (abs (_ + _)) :: Int = LT+_ :: Int `compare` id (abs (head _)) :: Int = LT+_ :: Int `compare` id (abs (ord _)) :: Int = LT+_ :: Int `compare` id (_ + y) :: Int = LT+_ :: Int `compare` id (_ + 1) :: Int = LT+_ :: Int `compare` id (_ + id x) :: Int = LT+_ :: Int `compare` id (_ + id 0) :: Int = LT+_ :: Int `compare` id (_ + id (id _)) :: Int = LT+_ :: Int `compare` id (_ + negate _) :: Int = LT+_ :: Int `compare` id (_ + abs _) :: Int = LT+_ :: Int `compare` id (_ + (_ + _)) :: Int = LT+_ :: Int `compare` id (_ + head _) :: Int = LT+_ :: Int `compare` id (_ + ord _) :: Int = LT+_ :: Int `compare` id (x + x) :: Int = LT+_ :: Int `compare` id (x + 0) :: Int = LT+_ :: Int `compare` id (x + id _) :: Int = LT+_ :: Int `compare` id (0 + x) :: Int = LT+_ :: Int `compare` id (0 + 0) :: Int = LT+_ :: Int `compare` id (0 + id _) :: Int = LT+_ :: Int `compare` id (id _ + x) :: Int = LT+_ :: Int `compare` id (id _ + 0) :: Int = LT+_ :: Int `compare` id (id _ + id _) :: Int = LT+_ :: Int `compare` id (_ * x) :: Int = LT+_ :: Int `compare` id (_ * 0) :: Int = LT+_ :: Int `compare` id (_ * id _) :: Int = LT+_ :: Int `compare` id (f x) :: Int = LT+_ :: Int `compare` id (f 0) :: Int = LT+_ :: Int `compare` id (f (id _)) :: Int = LT+_ :: Int `compare` id (y + _) :: Int = LT+_ :: Int `compare` id (1 + _) :: Int = LT+_ :: Int `compare` id (id x + _) :: Int = LT+_ :: Int `compare` id (id 0 + _) :: Int = LT+_ :: Int `compare` id (id (id _) + _) :: Int = LT+_ :: Int `compare` id (negate _ + _) :: Int = LT+_ :: Int `compare` id (abs _ + _) :: Int = LT+_ :: Int `compare` id ((_ + _) + _) :: Int = LT+_ :: Int `compare` id (head _ + _) :: Int = LT+_ :: Int `compare` id (ord _ + _) :: Int = LT+_ :: Int `compare` id (x * _) :: Int = LT+_ :: Int `compare` id (0 * _) :: Int = LT+_ :: Int `compare` id (id _ * _) :: Int = LT+_ :: Int `compare` id (g _) :: Int = LT+_ :: Int `compare` id (head ys) :: Int = LT+_ :: Int `compare` id (head [0]) :: Int = LT+_ :: Int `compare` id (head (_:xs)) :: Int = LT+_ :: Int `compare` id (head [_]) :: Int = LT+_ :: Int `compare` id (head (_:_:_)) :: Int = LT+_ :: Int `compare` id (head (x:_)) :: Int = LT+_ :: Int `compare` id (head (0:_)) :: Int = LT+_ :: Int `compare` id (head (id _:_)) :: Int = LT+_ :: Int `compare` id (head (tail _)) :: Int = LT+_ :: Int `compare` id (head (_ ++ _)) :: Int = LT+_ :: Int `compare` id (ord d) :: Int = LT+_ :: Int `compare` id (ord ' ') :: Int = LT+_ :: Int `compare` negate z :: Int = LT+_ :: Int `compare` negate (-1) :: Int = LT+_ :: Int `compare` negate (id y) :: Int = LT+_ :: Int `compare` negate (id 1) :: Int = LT+_ :: Int `compare` negate (id (id x)) :: Int = LT+_ :: Int `compare` negate (id (id 0)) :: Int = LT+_ :: Int `compare` negate (id (id (id _))) :: Int = LT+_ :: Int `compare` negate (id (negate _)) :: Int = LT+_ :: Int `compare` negate (id (abs _)) :: Int = LT+_ :: Int `compare` negate (id (_ + _)) :: Int = LT+_ :: Int `compare` negate (id (head _)) :: Int = LT+_ :: Int `compare` negate (id (ord _)) :: Int = LT+_ :: Int `compare` negate (negate x) :: Int = LT+_ :: Int `compare` negate (negate 0) :: Int = LT+_ :: Int `compare` negate (negate (id _)) :: Int = LT+_ :: Int `compare` negate (abs x) :: Int = LT+_ :: Int `compare` negate (abs 0) :: Int = LT+_ :: Int `compare` negate (abs (id _)) :: Int = LT+_ :: Int `compare` negate (_ + x) :: Int = LT+_ :: Int `compare` negate (_ + 0) :: Int = LT+_ :: Int `compare` negate (_ + id _) :: Int = LT+_ :: Int `compare` negate (x + _) :: Int = LT+_ :: Int `compare` negate (0 + _) :: Int = LT+_ :: Int `compare` negate (id _ + _) :: Int = LT+_ :: Int `compare` negate (_ * _) :: Int = LT+_ :: Int `compare` negate (f _) :: Int = LT+_ :: Int `compare` negate (head xs) :: Int = LT+_ :: Int `compare` negate (head []) :: Int = LT+_ :: Int `compare` negate (head (_:_)) :: Int = LT+_ :: Int `compare` negate (ord c) :: Int = LT+_ :: Int `compare` negate (ord 'a') :: Int = LT+_ :: Int `compare` abs z :: Int = LT+_ :: Int `compare` abs (-1) :: Int = LT+_ :: Int `compare` abs (id y) :: Int = LT+_ :: Int `compare` abs (id 1) :: Int = LT+_ :: Int `compare` abs (id (id x)) :: Int = LT+_ :: Int `compare` abs (id (id 0)) :: Int = LT+_ :: Int `compare` abs (id (id (id _))) :: Int = LT+_ :: Int `compare` abs (id (negate _)) :: Int = LT+_ :: Int `compare` abs (id (abs _)) :: Int = LT+_ :: Int `compare` abs (id (_ + _)) :: Int = LT+_ :: Int `compare` abs (id (head _)) :: Int = LT+_ :: Int `compare` abs (id (ord _)) :: Int = LT+_ :: Int `compare` abs (negate x) :: Int = LT+_ :: Int `compare` abs (negate 0) :: Int = LT+_ :: Int `compare` abs (negate (id _)) :: Int = LT+_ :: Int `compare` abs (abs x) :: Int = LT+_ :: Int `compare` abs (abs 0) :: Int = LT+_ :: Int `compare` abs (abs (id _)) :: Int = LT+_ :: Int `compare` abs (_ + x) :: Int = LT+_ :: Int `compare` abs (_ + 0) :: Int = LT+_ :: Int `compare` abs (_ + id _) :: Int = LT+_ :: Int `compare` abs (x + _) :: Int = LT+_ :: Int `compare` abs (0 + _) :: Int = LT+_ :: Int `compare` abs (id _ + _) :: Int = LT+_ :: Int `compare` abs (_ * _) :: Int = LT+_ :: Int `compare` abs (f _) :: Int = LT+_ :: Int `compare` abs (head xs) :: Int = LT+_ :: Int `compare` abs (head []) :: Int = LT+_ :: Int `compare` abs (head (_:_)) :: Int = LT+_ :: Int `compare` abs (ord c) :: Int = LT+_ :: Int `compare` abs (ord 'a') :: Int = LT+_ :: Int `compare` _ + z :: Int = LT+_ :: Int `compare` _ + (-1) :: Int = LT+_ :: Int `compare` _ + id y :: Int = LT+_ :: Int `compare` _ + id 1 :: Int = LT+_ :: Int `compare` _ + id (id x) :: Int = LT+_ :: Int `compare` _ + id (id 0) :: Int = LT+_ :: Int `compare` _ + id (id (id _)) :: Int = LT+_ :: Int `compare` _ + id (negate _) :: Int = LT+_ :: Int `compare` _ + id (abs _) :: Int = LT+_ :: Int `compare` _ + id (_ + _) :: Int = LT+_ :: Int `compare` _ + id (head _) :: Int = LT+_ :: Int `compare` _ + id (ord _) :: Int = LT+_ :: Int `compare` _ + negate x :: Int = LT+_ :: Int `compare` _ + negate 0 :: Int = LT+_ :: Int `compare` _ + negate (id _) :: Int = LT+_ :: Int `compare` _ + abs x :: Int = LT+_ :: Int `compare` _ + abs 0 :: Int = LT+_ :: Int `compare` _ + abs (id _) :: Int = LT+_ :: Int `compare` _ + (_ + x) :: Int = LT+_ :: Int `compare` _ + (_ + 0) :: Int = LT+_ :: Int `compare` _ + (_ + id _) :: Int = LT+_ :: Int `compare` _ + (x + _) :: Int = LT+_ :: Int `compare` _ + (0 + _) :: Int = LT+_ :: Int `compare` _ + (id _ + _) :: Int = LT+_ :: Int `compare` _ + _ * _ :: Int = LT+_ :: Int `compare` _ + f _ :: Int = LT+_ :: Int `compare` _ + head xs :: Int = LT+_ :: Int `compare` _ + head [] :: Int = LT+_ :: Int `compare` _ + head (_:_) :: Int = LT+_ :: Int `compare` _ + ord c :: Int = LT+_ :: Int `compare` _ + ord 'a' :: Int = LT+_ :: Int `compare` x + y :: Int = LT+_ :: Int `compare` x + 1 :: Int = LT+_ :: Int `compare` x + id x :: Int = LT+_ :: Int `compare` x + id 0 :: Int = LT+_ :: Int `compare` x + id (id _) :: Int = LT+_ :: Int `compare` x + negate _ :: Int = LT+_ :: Int `compare` x + abs _ :: Int = LT+_ :: Int `compare` x + (_ + _) :: Int = LT+_ :: Int `compare` x + head _ :: Int = LT+_ :: Int `compare` x + ord _ :: Int = LT+_ :: Int `compare` 0 + y :: Int = LT+_ :: Int `compare` 0 + 1 :: Int = LT+_ :: Int `compare` 0 + id x :: Int = LT+_ :: Int `compare` 0 + id 0 :: Int = LT+_ :: Int `compare` 0 + id (id _) :: Int = LT+_ :: Int `compare` 0 + negate _ :: Int = LT+_ :: Int `compare` 0 + abs _ :: Int = LT+_ :: Int `compare` 0 + (_ + _) :: Int = LT+_ :: Int `compare` 0 + head _ :: Int = LT+_ :: Int `compare` 0 + ord _ :: Int = LT+_ :: Int `compare` id _ + y :: Int = LT+_ :: Int `compare` id _ + 1 :: Int = LT+_ :: Int `compare` id _ + id x :: Int = LT+_ :: Int `compare` id _ + id 0 :: Int = LT+_ :: Int `compare` id _ + id (id _) :: Int = LT+_ :: Int `compare` id _ + negate _ :: Int = LT+_ :: Int `compare` id _ + abs _ :: Int = LT+_ :: Int `compare` id _ + (_ + _) :: Int = LT+_ :: Int `compare` id _ + head _ :: Int = LT+_ :: Int `compare` id _ + ord _ :: Int = LT+_ :: Int `compare` _ * y :: Int = LT+_ :: Int `compare` _ * 1 :: Int = LT+_ :: Int `compare` _ * id x :: Int = LT+_ :: Int `compare` _ * id 0 :: Int = LT+_ :: Int `compare` _ * id (id _) :: Int = LT+_ :: Int `compare` _ * negate _ :: Int = LT+_ :: Int `compare` _ * abs _ :: Int = LT+_ :: Int `compare` _ * (_ + _) :: Int = LT+_ :: Int `compare` _ * head _ :: Int = LT+_ :: Int `compare` _ * ord _ :: Int = LT+_ :: Int `compare` f y :: Int = LT+_ :: Int `compare` f 1 :: Int = LT+_ :: Int `compare` f (id x) :: Int = LT+_ :: Int `compare` f (id 0) :: Int = LT+_ :: Int `compare` f (id (id _)) :: Int = LT+_ :: Int `compare` f (negate _) :: Int = LT+_ :: Int `compare` f (abs _) :: Int = LT+_ :: Int `compare` f (_ + _) :: Int = LT+_ :: Int `compare` f (head _) :: Int = LT+_ :: Int `compare` f (ord _) :: Int = LT+_ :: Int `compare` y + x :: Int = LT+_ :: Int `compare` y + 0 :: Int = LT+_ :: Int `compare` y + id _ :: Int = LT+_ :: Int `compare` 1 + x :: Int = LT+_ :: Int `compare` 1 + 0 :: Int = LT+_ :: Int `compare` 1 + id _ :: Int = LT+_ :: Int `compare` id x + x :: Int = LT+_ :: Int `compare` id x + 0 :: Int = LT+_ :: Int `compare` id x + id _ :: Int = LT+_ :: Int `compare` id 0 + x :: Int = LT+_ :: Int `compare` id 0 + 0 :: Int = LT+_ :: Int `compare` id 0 + id _ :: Int = LT+_ :: Int `compare` id (id _) + x :: Int = LT+_ :: Int `compare` id (id _) + 0 :: Int = LT+_ :: Int `compare` id (id _) + id _ :: Int = LT+_ :: Int `compare` negate _ + x :: Int = LT+_ :: Int `compare` negate _ + 0 :: Int = LT+_ :: Int `compare` negate _ + id _ :: Int = LT+_ :: Int `compare` abs _ + x :: Int = LT+_ :: Int `compare` abs _ + 0 :: Int = LT+_ :: Int `compare` abs _ + id _ :: Int = LT+_ :: Int `compare` (_ + _) + x :: Int = LT+_ :: Int `compare` (_ + _) + 0 :: Int = LT+_ :: Int `compare` (_ + _) + id _ :: Int = LT+_ :: Int `compare` head _ + x :: Int = LT+_ :: Int `compare` head _ + 0 :: Int = LT+_ :: Int `compare` head _ + id _ :: Int = LT+_ :: Int `compare` ord _ + x :: Int = LT+_ :: Int `compare` ord _ + 0 :: Int = LT+_ :: Int `compare` ord _ + id _ :: Int = LT+_ :: Int `compare` x * x :: Int = LT+_ :: Int `compare` x * 0 :: Int = LT+_ :: Int `compare` x * id _ :: Int = LT+_ :: Int `compare` 0 * x :: Int = LT+_ :: Int `compare` 0 * 0 :: Int = LT+_ :: Int `compare` 0 * id _ :: Int = LT+_ :: Int `compare` id _ * x :: Int = LT+_ :: Int `compare` id _ * 0 :: Int = LT+_ :: Int `compare` id _ * id _ :: Int = LT+_ :: Int `compare` g x :: Int = LT+_ :: Int `compare` g 0 :: Int = LT+_ :: Int `compare` g (id _) :: Int = LT+_ :: Int `compare` z + _ :: Int = LT+_ :: Int `compare` (-1) + _ :: Int = LT+_ :: Int `compare` id y + _ :: Int = LT+_ :: Int `compare` id 1 + _ :: Int = LT+_ :: Int `compare` id (id x) + _ :: Int = LT+_ :: Int `compare` id (id 0) + _ :: Int = LT+_ :: Int `compare` id (id (id _)) + _ :: Int = LT+_ :: Int `compare` id (negate _) + _ :: Int = LT+_ :: Int `compare` id (abs _) + _ :: Int = LT+_ :: Int `compare` id (_ + _) + _ :: Int = LT+_ :: Int `compare` id (head _) + _ :: Int = LT+_ :: Int `compare` id (ord _) + _ :: Int = LT+_ :: Int `compare` negate x + _ :: Int = LT+_ :: Int `compare` negate 0 + _ :: Int = LT+_ :: Int `compare` negate (id _) + _ :: Int = LT+_ :: Int `compare` abs x + _ :: Int = LT+_ :: Int `compare` abs 0 + _ :: Int = LT+_ :: Int `compare` abs (id _) + _ :: Int = LT+_ :: Int `compare` (_ + x) + _ :: Int = LT+_ :: Int `compare` (_ + 0) + _ :: Int = LT+_ :: Int `compare` (_ + id _) + _ :: Int = LT+_ :: Int `compare` (x + _) + _ :: Int = LT+_ :: Int `compare` (0 + _) + _ :: Int = LT+_ :: Int `compare` (id _ + _) + _ :: Int = LT+_ :: Int `compare` _ * _ + _ :: Int = LT+_ :: Int `compare` f _ + _ :: Int = LT+_ :: Int `compare` head xs + _ :: Int = LT+_ :: Int `compare` head [] + _ :: Int = LT+_ :: Int `compare` head (_:_) + _ :: Int = LT+_ :: Int `compare` ord c + _ :: Int = LT+_ :: Int `compare` ord 'a' + _ :: Int = LT+_ :: Int `compare` y * _ :: Int = LT+_ :: Int `compare` 1 * _ :: Int = LT+_ :: Int `compare` id x * _ :: Int = LT+_ :: Int `compare` id 0 * _ :: Int = LT+_ :: Int `compare` id (id _) * _ :: Int = LT+_ :: Int `compare` negate _ * _ :: Int = LT+_ :: Int `compare` abs _ * _ :: Int = LT+_ :: Int `compare` (_ + _) * _ :: Int = LT+_ :: Int `compare` head _ * _ :: Int = LT+_ :: Int `compare` ord _ * _ :: Int = LT+_ :: Int `compare` h _ :: Int = LT+_ :: Int `compare` head zs :: Int = LT+_ :: Int `compare` head [0,0] :: Int = LT+_ :: Int `compare` head [1] :: Int = LT+_ :: Int `compare` head (_:ys) :: Int = LT+_ :: Int `compare` head (_:[0]) :: Int = LT+_ :: Int `compare` head (_:_:xs) :: Int = LT+_ :: Int `compare` head [_,_] :: Int = LT+_ :: Int `compare` head (_:_:_:_) :: Int = LT+_ :: Int `compare` head (_:x:_) :: Int = LT+_ :: Int `compare` head (_:0:_) :: Int = LT+_ :: Int `compare` head (_:id _:_) :: Int = LT+_ :: Int `compare` head (_:tail _) :: Int = LT+_ :: Int `compare` head (_:(_ ++ _)) :: Int = LT+_ :: Int `compare` head (x:xs) :: Int = LT+_ :: Int `compare` head [x] :: Int = LT+_ :: Int `compare` head (x:_:_) :: Int = LT+_ :: Int `compare` head (0:xs) :: Int = LT+_ :: Int `compare` head [0] :: Int = LT+_ :: Int `compare` head (0:_:_) :: Int = LT+_ :: Int `compare` head (id _:xs) :: Int = LT+_ :: Int `compare` head [id _] :: Int = LT+_ :: Int `compare` head (id _:_:_) :: Int = LT+_ :: Int `compare` head (y:_) :: Int = LT+_ :: Int `compare` head (1:_) :: Int = LT+_ :: Int `compare` head (id x:_) :: Int = LT+_ :: Int `compare` head (id 0:_) :: Int = LT+_ :: Int `compare` head (id (id _):_) :: Int = LT+_ :: Int `compare` head (negate _:_) :: Int = LT+_ :: Int `compare` head (abs _:_) :: Int = LT+_ :: Int `compare` head (_ + _:_) :: Int = LT+_ :: Int `compare` head (head _:_) :: Int = LT+_ :: Int `compare` head (ord _:_) :: Int = LT+_ :: Int `compare` head (tail xs) :: Int = LT+_ :: Int `compare` head (tail []) :: Int = LT+_ :: Int `compare` head (tail (_:_)) :: Int = LT+_ :: Int `compare` head (_ ++ xs) :: Int = LT+_ :: Int `compare` head (_ ++ []) :: Int = LT+_ :: Int `compare` head (_ ++ (_:_)) :: Int = LT+_ :: Int `compare` head (xs ++ _) :: Int = LT+_ :: Int `compare` head ([] ++ _) :: Int = LT+_ :: Int `compare` head ((_:_) ++ _) :: Int = LT+_ :: Int `compare` head (sort _) :: Int = LT+_ :: Int `compare` head (insert _ _) :: Int = LT+_ :: Int `compare` ord e :: Int = LT+_ :: Int `compare` ord 'b' :: Int = LT+_ :: Int `compare` p' :: Bool = GT+_ :: Int `compare` not r :: Bool = LT+_ :: Int `compare` not (not q) :: Bool = LT+_ :: Int `compare` not (not (not p)) :: Bool = LT+_ :: Int `compare` not (not (not False)) :: Bool = LT+_ :: Int `compare` not (not (not True)) :: Bool = LT+_ :: Int `compare` not (not (not (not _))) :: Bool = LT+_ :: Int `compare` not (not (_ || _)) :: Bool = LT+_ :: Int `compare` not (_ || p) :: Bool = LT+_ :: Int `compare` not (_ || False) :: Bool = LT+_ :: Int `compare` not (_ || True) :: Bool = LT+_ :: Int `compare` not (_ || not _) :: Bool = LT+_ :: Int `compare` not (p || _) :: Bool = LT+_ :: Int `compare` not (False || _) :: Bool = LT+_ :: Int `compare` not (True || _) :: Bool = LT+_ :: Int `compare` not (not _ || _) :: Bool = LT+_ :: Int `compare` not (_ && _) :: Bool = LT+_ :: Int `compare` not (_ == _) :: Bool = LT+_ :: Int `compare` not (_ == _) :: Bool = LT+_ :: Int `compare` not (odd _) :: Bool = LT+_ :: Int `compare` not (even _) :: Bool = LT+_ :: Int `compare` not (elem _ _) :: Bool = LT+_ :: Int `compare` _ || q :: Bool = LT+_ :: Int `compare` _ || not p :: Bool = LT+_ :: Int `compare` _ || not False :: Bool = LT+_ :: Int `compare` _ || not True :: Bool = LT+_ :: Int `compare` _ || not (not _) :: Bool = LT+_ :: Int `compare` _ || (_ || _) :: Bool = LT+_ :: Int `compare` p || p :: Bool = LT+_ :: Int `compare` p || False :: Bool = LT+_ :: Int `compare` p || True :: Bool = LT+_ :: Int `compare` p || not _ :: Bool = LT+_ :: Int `compare` False || p :: Bool = LT+_ :: Int `compare` False || False :: Bool = LT+_ :: Int `compare` False || True :: Bool = LT+_ :: Int `compare` False || not _ :: Bool = LT+_ :: Int `compare` True || p :: Bool = LT+_ :: Int `compare` True || False :: Bool = LT+_ :: Int `compare` True || True :: Bool = LT+_ :: Int `compare` True || not _ :: Bool = LT+_ :: Int `compare` not _ || p :: Bool = LT+_ :: Int `compare` not _ || False :: Bool = LT+_ :: Int `compare` not _ || True :: Bool = LT+_ :: Int `compare` not _ || not _ :: Bool = LT+_ :: Int `compare` _ && p :: Bool = LT+_ :: Int `compare` _ && False :: Bool = LT+_ :: Int `compare` _ && True :: Bool = LT+_ :: Int `compare` _ && not _ :: Bool = LT+_ :: Int `compare` q || _ :: Bool = LT+_ :: Int `compare` not p || _ :: Bool = LT+_ :: Int `compare` not False || _ :: Bool = LT+_ :: Int `compare` not True || _ :: Bool = LT+_ :: Int `compare` not (not _) || _ :: Bool = LT+_ :: Int `compare` (_ || _) || _ :: Bool = LT+_ :: Int `compare` p && _ :: Bool = LT+_ :: Int `compare` False && _ :: Bool = LT+_ :: Int `compare` True && _ :: Bool = LT+_ :: Int `compare` not _ && _ :: Bool = LT+_ :: Int `compare` _ ==> _ :: Bool = LT+_ :: Int `compare` _ == x :: Bool = LT+_ :: Int `compare` _ == 0 :: Bool = LT+_ :: Int `compare` _ == id _ :: Bool = LT+_ :: Int `compare` x == _ :: Bool = LT+_ :: Int `compare` 0 == _ :: Bool = LT+_ :: Int `compare` id _ == _ :: Bool = LT+_ :: Int `compare` _ == p :: Bool = LT+_ :: Int `compare` _ == False :: Bool = LT+_ :: Int `compare` _ == True :: Bool = LT+_ :: Int `compare` _ == not _ :: Bool = LT+_ :: Int `compare` p == _ :: Bool = LT+_ :: Int `compare` False == _ :: Bool = LT+_ :: Int `compare` True == _ :: Bool = LT+_ :: Int `compare` not _ == _ :: Bool = LT+_ :: Int `compare` _ <= _ :: Bool = LT+_ :: Int `compare` _ <= _ :: Bool = LT+_ :: Int `compare` odd x :: Bool = LT+_ :: Int `compare` odd 0 :: Bool = LT+_ :: Int `compare` odd (id _) :: Bool = LT+_ :: Int `compare` even x :: Bool = LT+_ :: Int `compare` even 0 :: Bool = LT+_ :: Int `compare` even (id _) :: Bool = LT+_ :: Int `compare` elem _ xs :: Bool = LT+_ :: Int `compare` elem _ [] :: Bool = LT+_ :: Int `compare` elem _ (_:_) :: Bool = LT+_ :: Int `compare` elem x _ :: Bool = LT+_ :: Int `compare` elem 0 _ :: Bool = LT+_ :: Int `compare` elem (id _) _ :: Bool = LT+_ :: Int `compare` c' :: Char = GT+_ :: Int `compare` 'A' :: Char = LT+_ :: Int `compare` xs' :: [Int] = LT+_ :: Int `compare` [0,0,0] :: [Int] = LT+_ :: Int `compare` [0,1] :: [Int] = LT+_ :: Int `compare` [1,0] :: [Int] = LT+_ :: Int `compare` [-1] :: [Int] = LT+_ :: Int `compare` _:zs :: [Int] = LT+_ :: Int `compare` _:[0,0] :: [Int] = LT+_ :: Int `compare` _:[1] :: [Int] = LT+_ :: Int `compare` _:_:ys :: [Int] = LT+_ :: Int `compare` _:_:[0] :: [Int] = LT+_ :: Int `compare` _:_:_:xs :: [Int] = LT+_ :: Int `compare` [_,_,_] :: [Int] = LT+_ :: Int `compare` _:_:_:_:_ :: [Int] = LT+_ :: Int `compare` _:_:x:_ :: [Int] = LT+_ :: Int `compare` _:_:0:_ :: [Int] = LT+_ :: Int `compare` _:_:id _:_ :: [Int] = LT+_ :: Int `compare` _:_:tail _ :: [Int] = LT+_ :: Int `compare` _:_:(_ ++ _) :: [Int] = LT+_ :: Int `compare` _:x:xs :: [Int] = LT+_ :: Int `compare` [_,x] :: [Int] = LT+_ :: Int `compare` _:x:_:_ :: [Int] = LT+_ :: Int `compare` _:0:xs :: [Int] = LT+_ :: Int `compare` [_,0] :: [Int] = LT+_ :: Int `compare` _:0:_:_ :: [Int] = LT+_ :: Int `compare` _:id _:xs :: [Int] = LT+_ :: Int `compare` [_,id _] :: [Int] = LT+_ :: Int `compare` _:id _:_:_ :: [Int] = LT+_ :: Int `compare` _:y:_ :: [Int] = LT+_ :: Int `compare` _:1:_ :: [Int] = LT+_ :: Int `compare` _:id x:_ :: [Int] = LT+_ :: Int `compare` _:id 0:_ :: [Int] = LT+_ :: Int `compare` _:id (id _):_ :: [Int] = LT+_ :: Int `compare` _:negate _:_ :: [Int] = LT+_ :: Int `compare` _:abs _:_ :: [Int] = LT+_ :: Int `compare` _:_ + _:_ :: [Int] = LT+_ :: Int `compare` _:head _:_ :: [Int] = LT+_ :: Int `compare` _:ord _:_ :: [Int] = LT+_ :: Int `compare` _:tail xs :: [Int] = LT+_ :: Int `compare` _:tail [] :: [Int] = LT+_ :: Int `compare` _:tail (_:_) :: [Int] = LT+_ :: Int `compare` _:(_ ++ xs) :: [Int] = LT+_ :: Int `compare` _:(_ ++ []) :: [Int] = LT+_ :: Int `compare` _:(_ ++ (_:_)) :: [Int] = LT+_ :: Int `compare` _:(xs ++ _) :: [Int] = LT+_ :: Int `compare` _:([] ++ _) :: [Int] = LT+_ :: Int `compare` _:((_:_) ++ _) :: [Int] = LT+_ :: Int `compare` _:sort _ :: [Int] = LT+_ :: Int `compare` _:insert _ _ :: [Int] = LT+_ :: Int `compare` x:ys :: [Int] = LT+_ :: Int `compare` x:[0] :: [Int] = LT+_ :: Int `compare` x:_:xs :: [Int] = LT+_ :: Int `compare` [x,_] :: [Int] = LT+_ :: Int `compare` x:_:_:_ :: [Int] = LT+_ :: Int `compare` x:x:_ :: [Int] = LT+_ :: Int `compare` x:0:_ :: [Int] = LT+_ :: Int `compare` x:id _:_ :: [Int] = LT+_ :: Int `compare` x:tail _ :: [Int] = LT+_ :: Int `compare` x:(_ ++ _) :: [Int] = LT+_ :: Int `compare` 0:ys :: [Int] = LT+_ :: Int `compare` 0:[0] :: [Int] = LT+_ :: Int `compare` 0:_:xs :: [Int] = LT+_ :: Int `compare` [0,_] :: [Int] = LT+_ :: Int `compare` 0:_:_:_ :: [Int] = LT+_ :: Int `compare` 0:x:_ :: [Int] = LT+_ :: Int `compare` 0:0:_ :: [Int] = LT+_ :: Int `compare` 0:id _:_ :: [Int] = LT+_ :: Int `compare` 0:tail _ :: [Int] = LT+_ :: Int `compare` 0:(_ ++ _) :: [Int] = LT+_ :: Int `compare` id _:ys :: [Int] = LT+_ :: Int `compare` id _:[0] :: [Int] = LT+_ :: Int `compare` id _:_:xs :: [Int] = LT+_ :: Int `compare` [id _,_] :: [Int] = LT+_ :: Int `compare` id _:_:_:_ :: [Int] = LT+_ :: Int `compare` id _:x:_ :: [Int] = LT+_ :: Int `compare` id _:0:_ :: [Int] = LT+_ :: Int `compare` id _:id _:_ :: [Int] = LT+_ :: Int `compare` id _:tail _ :: [Int] = LT+_ :: Int `compare` id _:(_ ++ _) :: [Int] = LT+_ :: Int `compare` y:xs :: [Int] = LT+_ :: Int `compare` [y] :: [Int] = LT+_ :: Int `compare` y:_:_ :: [Int] = LT+_ :: Int `compare` 1:xs :: [Int] = LT+_ :: Int `compare` [1] :: [Int] = LT+_ :: Int `compare` 1:_:_ :: [Int] = LT+_ :: Int `compare` id x:xs :: [Int] = LT+_ :: Int `compare` [id x] :: [Int] = LT+_ :: Int `compare` id x:_:_ :: [Int] = LT+_ :: Int `compare` id 0:xs :: [Int] = LT+_ :: Int `compare` [id 0] :: [Int] = LT+_ :: Int `compare` id 0:_:_ :: [Int] = LT+_ :: Int `compare` id (id _):xs :: [Int] = LT+_ :: Int `compare` [id (id _)] :: [Int] = LT+_ :: Int `compare` id (id _):_:_ :: [Int] = LT+_ :: Int `compare` negate _:xs :: [Int] = LT+_ :: Int `compare` [negate _] :: [Int] = LT+_ :: Int `compare` negate _:_:_ :: [Int] = LT+_ :: Int `compare` abs _:xs :: [Int] = LT+_ :: Int `compare` [abs _] :: [Int] = LT+_ :: Int `compare` abs _:_:_ :: [Int] = LT+_ :: Int `compare` _ + _:xs :: [Int] = LT+_ :: Int `compare` [_ + _] :: [Int] = LT+_ :: Int `compare` _ + _:_:_ :: [Int] = LT+_ :: Int `compare` head _:xs :: [Int] = LT+_ :: Int `compare` [head _] :: [Int] = LT+_ :: Int `compare` head _:_:_ :: [Int] = LT+_ :: Int `compare` ord _:xs :: [Int] = LT+_ :: Int `compare` [ord _] :: [Int] = LT+_ :: Int `compare` ord _:_:_ :: [Int] = LT+_ :: Int `compare` z:_ :: [Int] = LT+_ :: Int `compare` (-1):_ :: [Int] = LT+_ :: Int `compare` id y:_ :: [Int] = LT+_ :: Int `compare` id 1:_ :: [Int] = LT+_ :: Int `compare` id (id x):_ :: [Int] = LT+_ :: Int `compare` id (id 0):_ :: [Int] = LT+_ :: Int `compare` id (id (id _)):_ :: [Int] = LT+_ :: Int `compare` id (negate _):_ :: [Int] = LT+_ :: Int `compare` id (abs _):_ :: [Int] = LT+_ :: Int `compare` id (_ + _):_ :: [Int] = LT+_ :: Int `compare` id (head _):_ :: [Int] = LT+_ :: Int `compare` id (ord _):_ :: [Int] = LT+_ :: Int `compare` negate x:_ :: [Int] = LT+_ :: Int `compare` negate 0:_ :: [Int] = LT+_ :: Int `compare` negate (id _):_ :: [Int] = LT+_ :: Int `compare` abs x:_ :: [Int] = LT+_ :: Int `compare` abs 0:_ :: [Int] = LT+_ :: Int `compare` abs (id _):_ :: [Int] = LT+_ :: Int `compare` _ + x:_ :: [Int] = LT+_ :: Int `compare` _ + 0:_ :: [Int] = LT+_ :: Int `compare` _ + id _:_ :: [Int] = LT+_ :: Int `compare` x + _:_ :: [Int] = LT+_ :: Int `compare` 0 + _:_ :: [Int] = LT+_ :: Int `compare` id _ + _:_ :: [Int] = LT+_ :: Int `compare` _ * _:_ :: [Int] = LT+_ :: Int `compare` f _:_ :: [Int] = LT+_ :: Int `compare` head xs:_ :: [Int] = LT+_ :: Int `compare` head []:_ :: [Int] = LT+_ :: Int `compare` head (_:_):_ :: [Int] = LT+_ :: Int `compare` ord c:_ :: [Int] = LT+_ :: Int `compare` ord 'a':_ :: [Int] = LT+_ :: Int `compare` tail ys :: [Int] = LT+_ :: Int `compare` tail [0] :: [Int] = LT+_ :: Int `compare` tail (_:xs) :: [Int] = LT+_ :: Int `compare` tail [_] :: [Int] = LT+_ :: Int `compare` tail (_:_:_) :: [Int] = LT+_ :: Int `compare` tail (x:_) :: [Int] = LT+_ :: Int `compare` tail (0:_) :: [Int] = LT+_ :: Int `compare` tail (id _:_) :: [Int] = LT+_ :: Int `compare` tail (tail _) :: [Int] = LT+_ :: Int `compare` tail (_ ++ _) :: [Int] = LT+_ :: Int `compare` _ ++ ys :: [Int] = LT+_ :: Int `compare` _ ++ [0] :: [Int] = LT+_ :: Int `compare` _ ++ (_:xs) :: [Int] = LT+_ :: Int `compare` _ ++ [_] :: [Int] = LT+_ :: Int `compare` _ ++ (_:_:_) :: [Int] = LT+_ :: Int `compare` _ ++ (x:_) :: [Int] = LT+_ :: Int `compare` _ ++ (0:_) :: [Int] = LT+_ :: Int `compare` _ ++ (id _:_) :: [Int] = LT+_ :: Int `compare` _ ++ tail _ :: [Int] = LT+_ :: Int `compare` _ ++ (_ ++ _) :: [Int] = LT+_ :: Int `compare` xs ++ xs :: [Int] = LT+_ :: Int `compare` xs ++ [] :: [Int] = LT+_ :: Int `compare` xs ++ (_:_) :: [Int] = LT+_ :: Int `compare` [] ++ xs :: [Int] = LT+_ :: Int `compare` [] ++ [] :: [Int] = LT+_ :: Int `compare` [] ++ (_:_) :: [Int] = LT+_ :: Int `compare` (_:_) ++ xs :: [Int] = LT+_ :: Int `compare` (_:_) ++ [] :: [Int] = LT+_ :: Int `compare` (_:_) ++ (_:_) :: [Int] = LT+_ :: Int `compare` ys ++ _ :: [Int] = LT+_ :: Int `compare` [0] ++ _ :: [Int] = LT+_ :: Int `compare` (_:xs) ++ _ :: [Int] = LT+_ :: Int `compare` [_] ++ _ :: [Int] = LT+_ :: Int `compare` (_:_:_) ++ _ :: [Int] = LT+_ :: Int `compare` (x:_) ++ _ :: [Int] = LT+_ :: Int `compare` (0:_) ++ _ :: [Int] = LT+_ :: Int `compare` (id _:_) ++ _ :: [Int] = LT+_ :: Int `compare` tail _ ++ _ :: [Int] = LT+_ :: Int `compare` (_ ++ _) ++ _ :: [Int] = LT+_ :: Int `compare` sort xs :: [Int] = LT+_ :: Int `compare` sort [] :: [Int] = LT+_ :: Int `compare` sort (_:_) :: [Int] = LT+_ :: Int `compare` insert _ xs :: [Int] = LT+_ :: Int `compare` insert _ [] :: [Int] = LT+_ :: Int `compare` insert _ (_:_) :: [Int] = LT+_ :: Int `compare` insert x _ :: [Int] = LT+_ :: Int `compare` insert 0 _ :: [Int] = LT+_ :: Int `compare` insert (id _) _ :: [Int] = LT+_ :: Int `compare` (y +) :: Int -> Int = LT+_ :: Int `compare` (1 +) :: Int -> Int = LT+_ :: Int `compare` (id x +) :: Int -> Int = LT+_ :: Int `compare` (id 0 +) :: Int -> Int = LT+_ :: Int `compare` (id (id _) +) :: Int -> Int = LT+_ :: Int `compare` (negate _ +) :: Int -> Int = LT+_ :: Int `compare` (abs _ +) :: Int -> Int = LT+_ :: Int `compare` ((_ + _) +) :: Int -> Int = LT+_ :: Int `compare` (head _ +) :: Int -> Int = LT+_ :: Int `compare` (ord _ +) :: Int -> Int = LT+_ :: Int `compare` (x *) :: Int -> Int = LT+_ :: Int `compare` (0 *) :: Int -> Int = LT+_ :: Int `compare` (id _ *) :: Int -> Int = LT+_ :: Int `compare` g :: Int -> Int = LT+_ :: Int `compare` (p ||) :: Bool -> Bool = LT+_ :: Int `compare` (False ||) :: Bool -> Bool = LT+_ :: Int `compare` (True ||) :: Bool -> Bool = LT+_ :: Int `compare` (not _ ||) :: Bool -> Bool = LT+_ :: Int `compare` (_ &&) :: Bool -> Bool = LT+_ :: Int `compare` (==>) :: Bool -> Bool -> Bool = LT+x :: Int `compare` x' :: Int = LT+x :: Int `compare` 2 :: Int = LT+x :: Int `compare` id z :: Int = LT+x :: Int `compare` id (-1) :: Int = LT+x :: Int `compare` id (id y) :: Int = LT+x :: Int `compare` id (id 1) :: Int = LT+x :: Int `compare` id (id (id x)) :: Int = LT+x :: Int `compare` id (id (id 0)) :: Int = LT+x :: Int `compare` id (id (id (id _))) :: Int = LT+x :: Int `compare` id (id (negate _)) :: Int = LT+x :: Int `compare` id (id (abs _)) :: Int = LT+x :: Int `compare` id (id (_ + _)) :: Int = LT+x :: Int `compare` id (id (head _)) :: Int = LT+x :: Int `compare` id (id (ord _)) :: Int = LT+x :: Int `compare` id (negate x) :: Int = LT+x :: Int `compare` id (negate 0) :: Int = LT+x :: Int `compare` id (negate (id _)) :: Int = LT+x :: Int `compare` id (abs x) :: Int = LT+x :: Int `compare` id (abs 0) :: Int = LT+x :: Int `compare` id (abs (id _)) :: Int = LT+x :: Int `compare` id (_ + x) :: Int = LT+x :: Int `compare` id (_ + 0) :: Int = LT+x :: Int `compare` id (_ + id _) :: Int = LT+x :: Int `compare` id (x + _) :: Int = LT+x :: Int `compare` id (0 + _) :: Int = LT+x :: Int `compare` id (id _ + _) :: Int = LT+x :: Int `compare` id (_ * _) :: Int = LT+x :: Int `compare` id (f _) :: Int = LT+x :: Int `compare` id (head xs) :: Int = LT+x :: Int `compare` id (head []) :: Int = LT+x :: Int `compare` id (head (_:_)) :: Int = LT+x :: Int `compare` id (ord c) :: Int = LT+x :: Int `compare` id (ord 'a') :: Int = LT+x :: Int `compare` negate y :: Int = LT+x :: Int `compare` negate 1 :: Int = LT+x :: Int `compare` negate (id x) :: Int = LT+x :: Int `compare` negate (id 0) :: Int = LT+x :: Int `compare` negate (id (id _)) :: Int = LT+x :: Int `compare` negate (negate _) :: Int = LT+x :: Int `compare` negate (abs _) :: Int = LT+x :: Int `compare` negate (_ + _) :: Int = LT+x :: Int `compare` negate (head _) :: Int = LT+x :: Int `compare` negate (ord _) :: Int = LT+x :: Int `compare` abs y :: Int = LT+x :: Int `compare` abs 1 :: Int = LT+x :: Int `compare` abs (id x) :: Int = LT+x :: Int `compare` abs (id 0) :: Int = LT+x :: Int `compare` abs (id (id _)) :: Int = LT+x :: Int `compare` abs (negate _) :: Int = LT+x :: Int `compare` abs (abs _) :: Int = LT+x :: Int `compare` abs (_ + _) :: Int = LT+x :: Int `compare` abs (head _) :: Int = LT+x :: Int `compare` abs (ord _) :: Int = LT+x :: Int `compare` _ + y :: Int = LT+x :: Int `compare` _ + 1 :: Int = LT+x :: Int `compare` _ + id x :: Int = LT+x :: Int `compare` _ + id 0 :: Int = LT+x :: Int `compare` _ + id (id _) :: Int = LT+x :: Int `compare` _ + negate _ :: Int = LT+x :: Int `compare` _ + abs _ :: Int = LT+x :: Int `compare` _ + (_ + _) :: Int = LT+x :: Int `compare` _ + head _ :: Int = LT+x :: Int `compare` _ + ord _ :: Int = LT+x :: Int `compare` x + x :: Int = LT+x :: Int `compare` x + 0 :: Int = LT+x :: Int `compare` x + id _ :: Int = LT+x :: Int `compare` 0 + x :: Int = LT+x :: Int `compare` 0 + 0 :: Int = LT+x :: Int `compare` 0 + id _ :: Int = LT+x :: Int `compare` id _ + x :: Int = LT+x :: Int `compare` id _ + 0 :: Int = LT+x :: Int `compare` id _ + id _ :: Int = LT+x :: Int `compare` _ * x :: Int = LT+x :: Int `compare` _ * 0 :: Int = LT+x :: Int `compare` _ * id _ :: Int = LT+x :: Int `compare` f x :: Int = LT+x :: Int `compare` f 0 :: Int = LT+x :: Int `compare` f (id _) :: Int = LT+x :: Int `compare` y + _ :: Int = LT+x :: Int `compare` 1 + _ :: Int = LT+x :: Int `compare` id x + _ :: Int = LT+x :: Int `compare` id 0 + _ :: Int = LT+x :: Int `compare` id (id _) + _ :: Int = LT+x :: Int `compare` negate _ + _ :: Int = LT+x :: Int `compare` abs _ + _ :: Int = LT+x :: Int `compare` (_ + _) + _ :: Int = LT+x :: Int `compare` head _ + _ :: Int = LT+x :: Int `compare` ord _ + _ :: Int = LT+x :: Int `compare` x * _ :: Int = LT+x :: Int `compare` 0 * _ :: Int = LT+x :: Int `compare` id _ * _ :: Int = LT+x :: Int `compare` g _ :: Int = LT+x :: Int `compare` head ys :: Int = LT+x :: Int `compare` head [0] :: Int = LT+x :: Int `compare` head (_:xs) :: Int = LT+x :: Int `compare` head [_] :: Int = LT+x :: Int `compare` head (_:_:_) :: Int = LT+x :: Int `compare` head (x:_) :: Int = LT+x :: Int `compare` head (0:_) :: Int = LT+x :: Int `compare` head (id _:_) :: Int = LT+x :: Int `compare` head (tail _) :: Int = LT+x :: Int `compare` head (_ ++ _) :: Int = LT+x :: Int `compare` ord d :: Int = LT+x :: Int `compare` ord ' ' :: Int = LT+x :: Int `compare` r :: Bool = GT+x :: Int `compare` not q :: Bool = LT+x :: Int `compare` not (not p) :: Bool = LT+x :: Int `compare` not (not False) :: Bool = LT+x :: Int `compare` not (not True) :: Bool = LT+x :: Int `compare` not (not (not _)) :: Bool = LT+x :: Int `compare` not (_ || _) :: Bool = LT+x :: Int `compare` _ || p :: Bool = LT+x :: Int `compare` _ || False :: Bool = LT+x :: Int `compare` _ || True :: Bool = LT+x :: Int `compare` _ || not _ :: Bool = LT+x :: Int `compare` p || _ :: Bool = LT+x :: Int `compare` False || _ :: Bool = LT+x :: Int `compare` True || _ :: Bool = LT+x :: Int `compare` not _ || _ :: Bool = LT+x :: Int `compare` _ && _ :: Bool = LT+x :: Int `compare` _ == _ :: Bool = LT+x :: Int `compare` _ == _ :: Bool = LT+x :: Int `compare` odd _ :: Bool = LT+x :: Int `compare` even _ :: Bool = LT+x :: Int `compare` elem _ _ :: Bool = LT+x :: Int `compare` e :: Char = GT+x :: Int `compare` 'b' :: Char = LT+x :: Int `compare` zs :: [Int] = LT+x :: Int `compare` [0,0] :: [Int] = LT+x :: Int `compare` [1] :: [Int] = LT+x :: Int `compare` _:ys :: [Int] = LT+x :: Int `compare` _:[0] :: [Int] = LT+x :: Int `compare` _:_:xs :: [Int] = LT+x :: Int `compare` [_,_] :: [Int] = LT+x :: Int `compare` _:_:_:_ :: [Int] = LT+x :: Int `compare` _:x:_ :: [Int] = LT+x :: Int `compare` _:0:_ :: [Int] = LT+x :: Int `compare` _:id _:_ :: [Int] = LT+x :: Int `compare` _:tail _ :: [Int] = LT+x :: Int `compare` _:(_ ++ _) :: [Int] = LT+x :: Int `compare` x:xs :: [Int] = LT+x :: Int `compare` [x] :: [Int] = LT+x :: Int `compare` x:_:_ :: [Int] = LT+x :: Int `compare` 0:xs :: [Int] = LT+x :: Int `compare` [0] :: [Int] = LT+x :: Int `compare` 0:_:_ :: [Int] = LT+x :: Int `compare` id _:xs :: [Int] = LT+x :: Int `compare` [id _] :: [Int] = LT+x :: Int `compare` id _:_:_ :: [Int] = LT+x :: Int `compare` y:_ :: [Int] = LT+x :: Int `compare` 1:_ :: [Int] = LT+x :: Int `compare` id x:_ :: [Int] = LT+x :: Int `compare` id 0:_ :: [Int] = LT+x :: Int `compare` id (id _):_ :: [Int] = LT+x :: Int `compare` negate _:_ :: [Int] = LT+x :: Int `compare` abs _:_ :: [Int] = LT+x :: Int `compare` _ + _:_ :: [Int] = LT+x :: Int `compare` head _:_ :: [Int] = LT+x :: Int `compare` ord _:_ :: [Int] = LT+x :: Int `compare` tail xs :: [Int] = LT+x :: Int `compare` tail [] :: [Int] = LT+x :: Int `compare` tail (_:_) :: [Int] = LT+x :: Int `compare` _ ++ xs :: [Int] = LT+x :: Int `compare` _ ++ [] :: [Int] = LT+x :: Int `compare` _ ++ (_:_) :: [Int] = LT+x :: Int `compare` xs ++ _ :: [Int] = LT+x :: Int `compare` [] ++ _ :: [Int] = LT+x :: Int `compare` (_:_) ++ _ :: [Int] = LT+x :: Int `compare` sort _ :: [Int] = LT+x :: Int `compare` insert _ _ :: [Int] = LT+x :: Int `compare` (x +) :: Int -> Int = LT+x :: Int `compare` (0 +) :: Int -> Int = LT+x :: Int `compare` (id _ +) :: Int -> Int = LT+x :: Int `compare` (_ *) :: Int -> Int = LT+x :: Int `compare` f :: Int -> Int = LT+x :: Int `compare` (_ ||) :: Bool -> Bool = LT+x :: Int `compare` (&&) :: Bool -> Bool -> Bool = LT+0 :: Int `compare` x' :: Int = GT+0 :: Int `compare` 2 :: Int = LT+0 :: Int `compare` id z :: Int = LT+0 :: Int `compare` id (-1) :: Int = LT+0 :: Int `compare` id (id y) :: Int = LT+0 :: Int `compare` id (id 1) :: Int = LT+0 :: Int `compare` id (id (id x)) :: Int = LT+0 :: Int `compare` id (id (id 0)) :: Int = LT+0 :: Int `compare` id (id (id (id _))) :: Int = LT+0 :: Int `compare` id (id (negate _)) :: Int = LT+0 :: Int `compare` id (id (abs _)) :: Int = LT+0 :: Int `compare` id (id (_ + _)) :: Int = LT+0 :: Int `compare` id (id (head _)) :: Int = LT+0 :: Int `compare` id (id (ord _)) :: Int = LT+0 :: Int `compare` id (negate x) :: Int = LT+0 :: Int `compare` id (negate 0) :: Int = LT+0 :: Int `compare` id (negate (id _)) :: Int = LT+0 :: Int `compare` id (abs x) :: Int = LT+0 :: Int `compare` id (abs 0) :: Int = LT+0 :: Int `compare` id (abs (id _)) :: Int = LT+0 :: Int `compare` id (_ + x) :: Int = LT+0 :: Int `compare` id (_ + 0) :: Int = LT+0 :: Int `compare` id (_ + id _) :: Int = LT+0 :: Int `compare` id (x + _) :: Int = LT+0 :: Int `compare` id (0 + _) :: Int = LT+0 :: Int `compare` id (id _ + _) :: Int = LT+0 :: Int `compare` id (_ * _) :: Int = LT+0 :: Int `compare` id (f _) :: Int = LT+0 :: Int `compare` id (head xs) :: Int = LT+0 :: Int `compare` id (head []) :: Int = LT+0 :: Int `compare` id (head (_:_)) :: Int = LT+0 :: Int `compare` id (ord c) :: Int = LT+0 :: Int `compare` id (ord 'a') :: Int = LT+0 :: Int `compare` negate y :: Int = LT+0 :: Int `compare` negate 1 :: Int = LT+0 :: Int `compare` negate (id x) :: Int = LT+0 :: Int `compare` negate (id 0) :: Int = LT+0 :: Int `compare` negate (id (id _)) :: Int = LT+0 :: Int `compare` negate (negate _) :: Int = LT+0 :: Int `compare` negate (abs _) :: Int = LT+0 :: Int `compare` negate (_ + _) :: Int = LT+0 :: Int `compare` negate (head _) :: Int = LT+0 :: Int `compare` negate (ord _) :: Int = LT+0 :: Int `compare` abs y :: Int = LT+0 :: Int `compare` abs 1 :: Int = LT+0 :: Int `compare` abs (id x) :: Int = LT+0 :: Int `compare` abs (id 0) :: Int = LT+0 :: Int `compare` abs (id (id _)) :: Int = LT+0 :: Int `compare` abs (negate _) :: Int = LT+0 :: Int `compare` abs (abs _) :: Int = LT+0 :: Int `compare` abs (_ + _) :: Int = LT+0 :: Int `compare` abs (head _) :: Int = LT+0 :: Int `compare` abs (ord _) :: Int = LT+0 :: Int `compare` _ + y :: Int = LT+0 :: Int `compare` _ + 1 :: Int = LT+0 :: Int `compare` _ + id x :: Int = LT+0 :: Int `compare` _ + id 0 :: Int = LT+0 :: Int `compare` _ + id (id _) :: Int = LT+0 :: Int `compare` _ + negate _ :: Int = LT+0 :: Int `compare` _ + abs _ :: Int = LT+0 :: Int `compare` _ + (_ + _) :: Int = LT+0 :: Int `compare` _ + head _ :: Int = LT+0 :: Int `compare` _ + ord _ :: Int = LT+0 :: Int `compare` x + x :: Int = LT+0 :: Int `compare` x + 0 :: Int = LT+0 :: Int `compare` x + id _ :: Int = LT+0 :: Int `compare` 0 + x :: Int = LT+0 :: Int `compare` 0 + 0 :: Int = LT+0 :: Int `compare` 0 + id _ :: Int = LT+0 :: Int `compare` id _ + x :: Int = LT+0 :: Int `compare` id _ + 0 :: Int = LT+0 :: Int `compare` id _ + id _ :: Int = LT+0 :: Int `compare` _ * x :: Int = LT+0 :: Int `compare` _ * 0 :: Int = LT+0 :: Int `compare` _ * id _ :: Int = LT+0 :: Int `compare` f x :: Int = LT+0 :: Int `compare` f 0 :: Int = LT+0 :: Int `compare` f (id _) :: Int = LT+0 :: Int `compare` y + _ :: Int = LT+0 :: Int `compare` 1 + _ :: Int = LT+0 :: Int `compare` id x + _ :: Int = LT+0 :: Int `compare` id 0 + _ :: Int = LT+0 :: Int `compare` id (id _) + _ :: Int = LT+0 :: Int `compare` negate _ + _ :: Int = LT+0 :: Int `compare` abs _ + _ :: Int = LT+0 :: Int `compare` (_ + _) + _ :: Int = LT+0 :: Int `compare` head _ + _ :: Int = LT+0 :: Int `compare` ord _ + _ :: Int = LT+0 :: Int `compare` x * _ :: Int = LT+0 :: Int `compare` 0 * _ :: Int = LT+0 :: Int `compare` id _ * _ :: Int = LT+0 :: Int `compare` g _ :: Int = LT+0 :: Int `compare` head ys :: Int = LT+0 :: Int `compare` head [0] :: Int = LT+0 :: Int `compare` head (_:xs) :: Int = LT+0 :: Int `compare` head [_] :: Int = LT+0 :: Int `compare` head (_:_:_) :: Int = LT+0 :: Int `compare` head (x:_) :: Int = LT+0 :: Int `compare` head (0:_) :: Int = LT+0 :: Int `compare` head (id _:_) :: Int = LT+0 :: Int `compare` head (tail _) :: Int = LT+0 :: Int `compare` head (_ ++ _) :: Int = LT+0 :: Int `compare` ord d :: Int = LT+0 :: Int `compare` ord ' ' :: Int = LT+0 :: Int `compare` r :: Bool = GT+0 :: Int `compare` not q :: Bool = LT+0 :: Int `compare` not (not p) :: Bool = LT+0 :: Int `compare` not (not False) :: Bool = LT+0 :: Int `compare` not (not True) :: Bool = LT+0 :: Int `compare` not (not (not _)) :: Bool = LT+0 :: Int `compare` not (_ || _) :: Bool = LT+0 :: Int `compare` _ || p :: Bool = LT+0 :: Int `compare` _ || False :: Bool = LT+0 :: Int `compare` _ || True :: Bool = LT+0 :: Int `compare` _ || not _ :: Bool = LT+0 :: Int `compare` p || _ :: Bool = LT+0 :: Int `compare` False || _ :: Bool = LT+0 :: Int `compare` True || _ :: Bool = LT+0 :: Int `compare` not _ || _ :: Bool = LT+0 :: Int `compare` _ && _ :: Bool = LT+0 :: Int `compare` _ == _ :: Bool = LT+0 :: Int `compare` _ == _ :: Bool = LT+0 :: Int `compare` odd _ :: Bool = LT+0 :: Int `compare` even _ :: Bool = LT+0 :: Int `compare` elem _ _ :: Bool = LT+0 :: Int `compare` e :: Char = GT+0 :: Int `compare` 'b' :: Char = GT+0 :: Int `compare` zs :: [Int] = GT+0 :: Int `compare` [0,0] :: [Int] = LT+0 :: Int `compare` [1] :: [Int] = LT+0 :: Int `compare` _:ys :: [Int] = LT+0 :: Int `compare` _:[0] :: [Int] = LT+0 :: Int `compare` _:_:xs :: [Int] = LT+0 :: Int `compare` [_,_] :: [Int] = LT+0 :: Int `compare` _:_:_:_ :: [Int] = LT+0 :: Int `compare` _:x:_ :: [Int] = LT+0 :: Int `compare` _:0:_ :: [Int] = LT+0 :: Int `compare` _:id _:_ :: [Int] = LT+0 :: Int `compare` _:tail _ :: [Int] = LT+0 :: Int `compare` _:(_ ++ _) :: [Int] = LT+0 :: Int `compare` x:xs :: [Int] = LT+0 :: Int `compare` [x] :: [Int] = LT+0 :: Int `compare` x:_:_ :: [Int] = LT+0 :: Int `compare` 0:xs :: [Int] = LT+0 :: Int `compare` [0] :: [Int] = LT+0 :: Int `compare` 0:_:_ :: [Int] = LT+0 :: Int `compare` id _:xs :: [Int] = LT+0 :: Int `compare` [id _] :: [Int] = LT+0 :: Int `compare` id _:_:_ :: [Int] = LT+0 :: Int `compare` y:_ :: [Int] = LT+0 :: Int `compare` 1:_ :: [Int] = LT+0 :: Int `compare` id x:_ :: [Int] = LT+0 :: Int `compare` id 0:_ :: [Int] = LT+0 :: Int `compare` id (id _):_ :: [Int] = LT+0 :: Int `compare` negate _:_ :: [Int] = LT+0 :: Int `compare` abs _:_ :: [Int] = LT+0 :: Int `compare` _ + _:_ :: [Int] = LT+0 :: Int `compare` head _:_ :: [Int] = LT+0 :: Int `compare` ord _:_ :: [Int] = LT+0 :: Int `compare` tail xs :: [Int] = LT+0 :: Int `compare` tail [] :: [Int] = LT+0 :: Int `compare` tail (_:_) :: [Int] = LT+0 :: Int `compare` _ ++ xs :: [Int] = LT+0 :: Int `compare` _ ++ [] :: [Int] = LT+0 :: Int `compare` _ ++ (_:_) :: [Int] = LT+0 :: Int `compare` xs ++ _ :: [Int] = LT+0 :: Int `compare` [] ++ _ :: [Int] = LT+0 :: Int `compare` (_:_) ++ _ :: [Int] = LT+0 :: Int `compare` sort _ :: [Int] = LT+0 :: Int `compare` insert _ _ :: [Int] = LT+0 :: Int `compare` (x +) :: Int -> Int = LT+0 :: Int `compare` (0 +) :: Int -> Int = LT+0 :: Int `compare` (id _ +) :: Int -> Int = LT+0 :: Int `compare` (_ *) :: Int -> Int = LT+0 :: Int `compare` f :: Int -> Int = GT+0 :: Int `compare` (_ ||) :: Bool -> Bool = LT+0 :: Int `compare` (&&) :: Bool -> Bool -> Bool = LT+id _ :: Int `compare` x' :: Int = GT+id _ :: Int `compare` 2 :: Int = GT+id _ :: Int `compare` id z :: Int = LT+id _ :: Int `compare` id (-1) :: Int = LT+id _ :: Int `compare` id (id y) :: Int = LT+id _ :: Int `compare` id (id 1) :: Int = LT+id _ :: Int `compare` id (id (id x)) :: Int = LT+id _ :: Int `compare` id (id (id 0)) :: Int = LT+id _ :: Int `compare` id (id (id (id _))) :: Int = LT+id _ :: Int `compare` id (id (negate _)) :: Int = LT+id _ :: Int `compare` id (id (abs _)) :: Int = LT+id _ :: Int `compare` id (id (_ + _)) :: Int = LT+id _ :: Int `compare` id (id (head _)) :: Int = LT+id _ :: Int `compare` id (id (ord _)) :: Int = LT+id _ :: Int `compare` id (negate x) :: Int = LT+id _ :: Int `compare` id (negate 0) :: Int = LT+id _ :: Int `compare` id (negate (id _)) :: Int = LT+id _ :: Int `compare` id (abs x) :: Int = LT+id _ :: Int `compare` id (abs 0) :: Int = LT+id _ :: Int `compare` id (abs (id _)) :: Int = LT+id _ :: Int `compare` id (_ + x) :: Int = LT+id _ :: Int `compare` id (_ + 0) :: Int = LT+id _ :: Int `compare` id (_ + id _) :: Int = LT+id _ :: Int `compare` id (x + _) :: Int = LT+id _ :: Int `compare` id (0 + _) :: Int = LT+id _ :: Int `compare` id (id _ + _) :: Int = LT+id _ :: Int `compare` id (_ * _) :: Int = LT+id _ :: Int `compare` id (f _) :: Int = LT+id _ :: Int `compare` id (head xs) :: Int = LT+id _ :: Int `compare` id (head []) :: Int = LT+id _ :: Int `compare` id (head (_:_)) :: Int = LT+id _ :: Int `compare` id (ord c) :: Int = LT+id _ :: Int `compare` id (ord 'a') :: Int = LT+id _ :: Int `compare` negate y :: Int = LT+id _ :: Int `compare` negate 1 :: Int = LT+id _ :: Int `compare` negate (id x) :: Int = LT+id _ :: Int `compare` negate (id 0) :: Int = LT+id _ :: Int `compare` negate (id (id _)) :: Int = LT+id _ :: Int `compare` negate (negate _) :: Int = LT+id _ :: Int `compare` negate (abs _) :: Int = LT+id _ :: Int `compare` negate (_ + _) :: Int = LT+id _ :: Int `compare` negate (head _) :: Int = LT+id _ :: Int `compare` negate (ord _) :: Int = LT+id _ :: Int `compare` abs y :: Int = LT+id _ :: Int `compare` abs 1 :: Int = LT+id _ :: Int `compare` abs (id x) :: Int = LT+id _ :: Int `compare` abs (id 0) :: Int = LT+id _ :: Int `compare` abs (id (id _)) :: Int = LT+id _ :: Int `compare` abs (negate _) :: Int = LT+id _ :: Int `compare` abs (abs _) :: Int = LT+id _ :: Int `compare` abs (_ + _) :: Int = LT+id _ :: Int `compare` abs (head _) :: Int = LT+id _ :: Int `compare` abs (ord _) :: Int = LT+id _ :: Int `compare` _ + y :: Int = LT+id _ :: Int `compare` _ + 1 :: Int = LT+id _ :: Int `compare` _ + id x :: Int = LT+id _ :: Int `compare` _ + id 0 :: Int = LT+id _ :: Int `compare` _ + id (id _) :: Int = LT+id _ :: Int `compare` _ + negate _ :: Int = LT+id _ :: Int `compare` _ + abs _ :: Int = LT+id _ :: Int `compare` _ + (_ + _) :: Int = LT+id _ :: Int `compare` _ + head _ :: Int = LT+id _ :: Int `compare` _ + ord _ :: Int = LT+id _ :: Int `compare` x + x :: Int = LT+id _ :: Int `compare` x + 0 :: Int = LT+id _ :: Int `compare` x + id _ :: Int = LT+id _ :: Int `compare` 0 + x :: Int = LT+id _ :: Int `compare` 0 + 0 :: Int = LT+id _ :: Int `compare` 0 + id _ :: Int = LT+id _ :: Int `compare` id _ + x :: Int = LT+id _ :: Int `compare` id _ + 0 :: Int = LT+id _ :: Int `compare` id _ + id _ :: Int = LT+id _ :: Int `compare` _ * x :: Int = LT+id _ :: Int `compare` _ * 0 :: Int = LT+id _ :: Int `compare` _ * id _ :: Int = LT+id _ :: Int `compare` f x :: Int = GT+id _ :: Int `compare` f 0 :: Int = GT+id _ :: Int `compare` f (id _) :: Int = LT+id _ :: Int `compare` y + _ :: Int = LT+id _ :: Int `compare` 1 + _ :: Int = LT+id _ :: Int `compare` id x + _ :: Int = LT+id _ :: Int `compare` id 0 + _ :: Int = LT+id _ :: Int `compare` id (id _) + _ :: Int = LT+id _ :: Int `compare` negate _ + _ :: Int = LT+id _ :: Int `compare` abs _ + _ :: Int = LT+id _ :: Int `compare` (_ + _) + _ :: Int = LT+id _ :: Int `compare` head _ + _ :: Int = LT+id _ :: Int `compare` ord _ + _ :: Int = LT+id _ :: Int `compare` x * _ :: Int = LT+id _ :: Int `compare` 0 * _ :: Int = LT+id _ :: Int `compare` id _ * _ :: Int = LT+id _ :: Int `compare` g _ :: Int = GT+id _ :: Int `compare` head ys :: Int = LT+id _ :: Int `compare` head [0] :: Int = LT+id _ :: Int `compare` head (_:xs) :: Int = LT+id _ :: Int `compare` head [_] :: Int = LT+id _ :: Int `compare` head (_:_:_) :: Int = LT+id _ :: Int `compare` head (x:_) :: Int = LT+id _ :: Int `compare` head (0:_) :: Int = LT+id _ :: Int `compare` head (id _:_) :: Int = LT+id _ :: Int `compare` head (tail _) :: Int = LT+id _ :: Int `compare` head (_ ++ _) :: Int = LT+id _ :: Int `compare` ord d :: Int = GT+id _ :: Int `compare` ord ' ' :: Int = LT+id _ :: Int `compare` r :: Bool = GT+id _ :: Int `compare` not q :: Bool = GT+id _ :: Int `compare` not (not p) :: Bool = LT+id _ :: Int `compare` not (not False) :: Bool = LT+id _ :: Int `compare` not (not True) :: Bool = LT+id _ :: Int `compare` not (not (not _)) :: Bool = LT+id _ :: Int `compare` not (_ || _) :: Bool = LT+id _ :: Int `compare` _ || p :: Bool = LT+id _ :: Int `compare` _ || False :: Bool = LT+id _ :: Int `compare` _ || True :: Bool = LT+id _ :: Int `compare` _ || not _ :: Bool = LT+id _ :: Int `compare` p || _ :: Bool = LT+id _ :: Int `compare` False || _ :: Bool = LT+id _ :: Int `compare` True || _ :: Bool = LT+id _ :: Int `compare` not _ || _ :: Bool = LT+id _ :: Int `compare` _ && _ :: Bool = LT+id _ :: Int `compare` _ == _ :: Bool = LT+id _ :: Int `compare` _ == _ :: Bool = LT+id _ :: Int `compare` odd _ :: Bool = GT+id _ :: Int `compare` even _ :: Bool = GT+id _ :: Int `compare` elem _ _ :: Bool = LT+id _ :: Int `compare` e :: Char = GT+id _ :: Int `compare` 'b' :: Char = GT+id _ :: Int `compare` zs :: [Int] = GT+id _ :: Int `compare` [0,0] :: [Int] = GT+id _ :: Int `compare` [1] :: [Int] = GT+id _ :: Int `compare` _:ys :: [Int] = LT+id _ :: Int `compare` _:[0] :: [Int] = LT+id _ :: Int `compare` _:_:xs :: [Int] = LT+id _ :: Int `compare` [_,_] :: [Int] = LT+id _ :: Int `compare` _:_:_:_ :: [Int] = LT+id _ :: Int `compare` _:x:_ :: [Int] = LT+id _ :: Int `compare` _:0:_ :: [Int] = LT+id _ :: Int `compare` _:id _:_ :: [Int] = LT+id _ :: Int `compare` _:tail _ :: [Int] = LT+id _ :: Int `compare` _:(_ ++ _) :: [Int] = LT+id _ :: Int `compare` x:xs :: [Int] = LT+id _ :: Int `compare` [x] :: [Int] = LT+id _ :: Int `compare` x:_:_ :: [Int] = LT+id _ :: Int `compare` 0:xs :: [Int] = LT+id _ :: Int `compare` [0] :: [Int] = LT+id _ :: Int `compare` 0:_:_ :: [Int] = LT+id _ :: Int `compare` id _:xs :: [Int] = LT+id _ :: Int `compare` [id _] :: [Int] = LT+id _ :: Int `compare` id _:_:_ :: [Int] = LT+id _ :: Int `compare` y:_ :: [Int] = LT+id _ :: Int `compare` 1:_ :: [Int] = LT+id _ :: Int `compare` id x:_ :: [Int] = LT+id _ :: Int `compare` id 0:_ :: [Int] = LT+id _ :: Int `compare` id (id _):_ :: [Int] = LT+id _ :: Int `compare` negate _:_ :: [Int] = LT+id _ :: Int `compare` abs _:_ :: [Int] = LT+id _ :: Int `compare` _ + _:_ :: [Int] = LT+id _ :: Int `compare` head _:_ :: [Int] = LT+id _ :: Int `compare` ord _:_ :: [Int] = LT+id _ :: Int `compare` tail xs :: [Int] = LT+id _ :: Int `compare` tail [] :: [Int] = LT+id _ :: Int `compare` tail (_:_) :: [Int] = LT+id _ :: Int `compare` _ ++ xs :: [Int] = LT+id _ :: Int `compare` _ ++ [] :: [Int] = LT+id _ :: Int `compare` _ ++ (_:_) :: [Int] = LT+id _ :: Int `compare` xs ++ _ :: [Int] = LT+id _ :: Int `compare` [] ++ _ :: [Int] = LT+id _ :: Int `compare` (_:_) ++ _ :: [Int] = LT+id _ :: Int `compare` sort _ :: [Int] = LT+id _ :: Int `compare` insert _ _ :: [Int] = LT+id _ :: Int `compare` (x +) :: Int -> Int = LT+id _ :: Int `compare` (0 +) :: Int -> Int = LT+id _ :: Int `compare` (id _ +) :: Int -> Int = LT+id _ :: Int `compare` (_ *) :: Int -> Int = LT+id _ :: Int `compare` f :: Int -> Int = GT+id _ :: Int `compare` (_ ||) :: Bool -> Bool = LT+id _ :: Int `compare` (&&) :: Bool -> Bool -> Bool = GT+_ :: Bool `compare` x' :: Int = LT+_ :: Bool `compare` 2 :: Int = LT+_ :: Bool `compare` id z :: Int = LT+_ :: Bool `compare` id (-1) :: Int = LT+_ :: Bool `compare` id (id y) :: Int = LT+_ :: Bool `compare` id (id 1) :: Int = LT+_ :: Bool `compare` id (id (id x)) :: Int = LT+_ :: Bool `compare` id (id (id 0)) :: Int = LT+_ :: Bool `compare` id (id (id (id _))) :: Int = LT+_ :: Bool `compare` id (id (negate _)) :: Int = LT+_ :: Bool `compare` id (id (abs _)) :: Int = LT+_ :: Bool `compare` id (id (_ + _)) :: Int = LT+_ :: Bool `compare` id (id (head _)) :: Int = LT+_ :: Bool `compare` id (id (ord _)) :: Int = LT+_ :: Bool `compare` id (negate x) :: Int = LT+_ :: Bool `compare` id (negate 0) :: Int = LT+_ :: Bool `compare` id (negate (id _)) :: Int = LT+_ :: Bool `compare` id (abs x) :: Int = LT+_ :: Bool `compare` id (abs 0) :: Int = LT+_ :: Bool `compare` id (abs (id _)) :: Int = LT+_ :: Bool `compare` id (_ + x) :: Int = LT+_ :: Bool `compare` id (_ + 0) :: Int = LT+_ :: Bool `compare` id (_ + id _) :: Int = LT+_ :: Bool `compare` id (x + _) :: Int = LT+_ :: Bool `compare` id (0 + _) :: Int = LT+_ :: Bool `compare` id (id _ + _) :: Int = LT+_ :: Bool `compare` id (_ * _) :: Int = LT+_ :: Bool `compare` id (f _) :: Int = LT+_ :: Bool `compare` id (head xs) :: Int = LT+_ :: Bool `compare` id (head []) :: Int = LT+_ :: Bool `compare` id (head (_:_)) :: Int = LT+_ :: Bool `compare` id (ord c) :: Int = LT+_ :: Bool `compare` id (ord 'a') :: Int = LT+_ :: Bool `compare` negate y :: Int = LT+_ :: Bool `compare` negate 1 :: Int = LT+_ :: Bool `compare` negate (id x) :: Int = LT+_ :: Bool `compare` negate (id 0) :: Int = LT+_ :: Bool `compare` negate (id (id _)) :: Int = LT+_ :: Bool `compare` negate (negate _) :: Int = LT+_ :: Bool `compare` negate (abs _) :: Int = LT+_ :: Bool `compare` negate (_ + _) :: Int = LT+_ :: Bool `compare` negate (head _) :: Int = LT+_ :: Bool `compare` negate (ord _) :: Int = LT+_ :: Bool `compare` abs y :: Int = LT+_ :: Bool `compare` abs 1 :: Int = LT+_ :: Bool `compare` abs (id x) :: Int = LT+_ :: Bool `compare` abs (id 0) :: Int = LT+_ :: Bool `compare` abs (id (id _)) :: Int = LT+_ :: Bool `compare` abs (negate _) :: Int = LT+_ :: Bool `compare` abs (abs _) :: Int = LT+_ :: Bool `compare` abs (_ + _) :: Int = LT+_ :: Bool `compare` abs (head _) :: Int = LT+_ :: Bool `compare` abs (ord _) :: Int = LT+_ :: Bool `compare` _ + y :: Int = LT+_ :: Bool `compare` _ + 1 :: Int = LT+_ :: Bool `compare` _ + id x :: Int = LT+_ :: Bool `compare` _ + id 0 :: Int = LT+_ :: Bool `compare` _ + id (id _) :: Int = LT+_ :: Bool `compare` _ + negate _ :: Int = LT+_ :: Bool `compare` _ + abs _ :: Int = LT+_ :: Bool `compare` _ + (_ + _) :: Int = LT+_ :: Bool `compare` _ + head _ :: Int = LT+_ :: Bool `compare` _ + ord _ :: Int = LT+_ :: Bool `compare` x + x :: Int = LT+_ :: Bool `compare` x + 0 :: Int = LT+_ :: Bool `compare` x + id _ :: Int = LT+_ :: Bool `compare` 0 + x :: Int = LT+_ :: Bool `compare` 0 + 0 :: Int = LT+_ :: Bool `compare` 0 + id _ :: Int = LT+_ :: Bool `compare` id _ + x :: Int = LT+_ :: Bool `compare` id _ + 0 :: Int = LT+_ :: Bool `compare` id _ + id _ :: Int = LT+_ :: Bool `compare` _ * x :: Int = LT+_ :: Bool `compare` _ * 0 :: Int = LT+_ :: Bool `compare` _ * id _ :: Int = LT+_ :: Bool `compare` f x :: Int = LT+_ :: Bool `compare` f 0 :: Int = LT+_ :: Bool `compare` f (id _) :: Int = LT+_ :: Bool `compare` y + _ :: Int = LT+_ :: Bool `compare` 1 + _ :: Int = LT+_ :: Bool `compare` id x + _ :: Int = LT+_ :: Bool `compare` id 0 + _ :: Int = LT+_ :: Bool `compare` id (id _) + _ :: Int = LT+_ :: Bool `compare` negate _ + _ :: Int = LT+_ :: Bool `compare` abs _ + _ :: Int = LT+_ :: Bool `compare` (_ + _) + _ :: Int = LT+_ :: Bool `compare` head _ + _ :: Int = LT+_ :: Bool `compare` ord _ + _ :: Int = LT+_ :: Bool `compare` x * _ :: Int = LT+_ :: Bool `compare` 0 * _ :: Int = LT+_ :: Bool `compare` id _ * _ :: Int = LT+_ :: Bool `compare` g _ :: Int = LT+_ :: Bool `compare` head ys :: Int = LT+_ :: Bool `compare` head [0] :: Int = LT+_ :: Bool `compare` head (_:xs) :: Int = LT+_ :: Bool `compare` head [_] :: Int = LT+_ :: Bool `compare` head (_:_:_) :: Int = LT+_ :: Bool `compare` head (x:_) :: Int = LT+_ :: Bool `compare` head (0:_) :: Int = LT+_ :: Bool `compare` head (id _:_) :: Int = LT+_ :: Bool `compare` head (tail _) :: Int = LT+_ :: Bool `compare` head (_ ++ _) :: Int = LT+_ :: Bool `compare` ord d :: Int = LT+_ :: Bool `compare` ord ' ' :: Int = LT+_ :: Bool `compare` r :: Bool = LT+_ :: Bool `compare` not q :: Bool = LT+_ :: Bool `compare` not (not p) :: Bool = LT+_ :: Bool `compare` not (not False) :: Bool = LT+_ :: Bool `compare` not (not True) :: Bool = LT+_ :: Bool `compare` not (not (not _)) :: Bool = LT+_ :: Bool `compare` not (_ || _) :: Bool = LT+_ :: Bool `compare` _ || p :: Bool = LT+_ :: Bool `compare` _ || False :: Bool = LT+_ :: Bool `compare` _ || True :: Bool = LT+_ :: Bool `compare` _ || not _ :: Bool = LT+_ :: Bool `compare` p || _ :: Bool = LT+_ :: Bool `compare` False || _ :: Bool = LT+_ :: Bool `compare` True || _ :: Bool = LT+_ :: Bool `compare` not _ || _ :: Bool = LT+_ :: Bool `compare` _ && _ :: Bool = LT+_ :: Bool `compare` _ == _ :: Bool = LT+_ :: Bool `compare` _ == _ :: Bool = LT+_ :: Bool `compare` odd _ :: Bool = LT+_ :: Bool `compare` even _ :: Bool = LT+_ :: Bool `compare` elem _ _ :: Bool = LT+_ :: Bool `compare` e :: Char = LT+_ :: Bool `compare` 'b' :: Char = LT+_ :: Bool `compare` zs :: [Int] = LT+_ :: Bool `compare` [0,0] :: [Int] = LT+_ :: Bool `compare` [1] :: [Int] = LT+_ :: Bool `compare` _:ys :: [Int] = LT+_ :: Bool `compare` _:[0] :: [Int] = LT+_ :: Bool `compare` _:_:xs :: [Int] = LT+_ :: Bool `compare` [_,_] :: [Int] = LT+_ :: Bool `compare` _:_:_:_ :: [Int] = LT+_ :: Bool `compare` _:x:_ :: [Int] = LT+_ :: Bool `compare` _:0:_ :: [Int] = LT+_ :: Bool `compare` _:id _:_ :: [Int] = LT+_ :: Bool `compare` _:tail _ :: [Int] = LT+_ :: Bool `compare` _:(_ ++ _) :: [Int] = LT+_ :: Bool `compare` x:xs :: [Int] = LT+_ :: Bool `compare` [x] :: [Int] = LT+_ :: Bool `compare` x:_:_ :: [Int] = LT+_ :: Bool `compare` 0:xs :: [Int] = LT+_ :: Bool `compare` [0] :: [Int] = LT+_ :: Bool `compare` 0:_:_ :: [Int] = LT+_ :: Bool `compare` id _:xs :: [Int] = LT+_ :: Bool `compare` [id _] :: [Int] = LT+_ :: Bool `compare` id _:_:_ :: [Int] = LT+_ :: Bool `compare` y:_ :: [Int] = LT+_ :: Bool `compare` 1:_ :: [Int] = LT+_ :: Bool `compare` id x:_ :: [Int] = LT+_ :: Bool `compare` id 0:_ :: [Int] = LT+_ :: Bool `compare` id (id _):_ :: [Int] = LT+_ :: Bool `compare` negate _:_ :: [Int] = LT+_ :: Bool `compare` abs _:_ :: [Int] = LT+_ :: Bool `compare` _ + _:_ :: [Int] = LT+_ :: Bool `compare` head _:_ :: [Int] = LT+_ :: Bool `compare` ord _:_ :: [Int] = LT+_ :: Bool `compare` tail xs :: [Int] = LT+_ :: Bool `compare` tail [] :: [Int] = LT+_ :: Bool `compare` tail (_:_) :: [Int] = LT+_ :: Bool `compare` _ ++ xs :: [Int] = LT+_ :: Bool `compare` _ ++ [] :: [Int] = LT+_ :: Bool `compare` _ ++ (_:_) :: [Int] = LT+_ :: Bool `compare` xs ++ _ :: [Int] = LT+_ :: Bool `compare` [] ++ _ :: [Int] = LT+_ :: Bool `compare` (_:_) ++ _ :: [Int] = LT+_ :: Bool `compare` sort _ :: [Int] = LT+_ :: Bool `compare` insert _ _ :: [Int] = LT+_ :: Bool `compare` (x +) :: Int -> Int = LT+_ :: Bool `compare` (0 +) :: Int -> Int = LT+_ :: Bool `compare` (id _ +) :: Int -> Int = LT+_ :: Bool `compare` (_ *) :: Int -> Int = LT+_ :: Bool `compare` f :: Int -> Int = LT+_ :: Bool `compare` (_ ||) :: Bool -> Bool = LT+_ :: Bool `compare` (&&) :: Bool -> Bool -> Bool = LT+_ :: Char `compare` x' :: Int = LT+_ :: Char `compare` 2 :: Int = LT+_ :: Char `compare` id z :: Int = LT+_ :: Char `compare` id (-1) :: Int = LT+_ :: Char `compare` id (id y) :: Int = LT+_ :: Char `compare` id (id 1) :: Int = LT+_ :: Char `compare` id (id (id x)) :: Int = LT+_ :: Char `compare` id (id (id 0)) :: Int = LT+_ :: Char `compare` id (id (id (id _))) :: Int = LT+_ :: Char `compare` id (id (negate _)) :: Int = LT+_ :: Char `compare` id (id (abs _)) :: Int = LT+_ :: Char `compare` id (id (_ + _)) :: Int = LT+_ :: Char `compare` id (id (head _)) :: Int = LT+_ :: Char `compare` id (id (ord _)) :: Int = LT+_ :: Char `compare` id (negate x) :: Int = LT+_ :: Char `compare` id (negate 0) :: Int = LT+_ :: Char `compare` id (negate (id _)) :: Int = LT+_ :: Char `compare` id (abs x) :: Int = LT+_ :: Char `compare` id (abs 0) :: Int = LT+_ :: Char `compare` id (abs (id _)) :: Int = LT+_ :: Char `compare` id (_ + x) :: Int = LT+_ :: Char `compare` id (_ + 0) :: Int = LT+_ :: Char `compare` id (_ + id _) :: Int = LT+_ :: Char `compare` id (x + _) :: Int = LT+_ :: Char `compare` id (0 + _) :: Int = LT+_ :: Char `compare` id (id _ + _) :: Int = LT+_ :: Char `compare` id (_ * _) :: Int = LT+_ :: Char `compare` id (f _) :: Int = LT+_ :: Char `compare` id (head xs) :: Int = LT+_ :: Char `compare` id (head []) :: Int = LT+_ :: Char `compare` id (head (_:_)) :: Int = LT+_ :: Char `compare` id (ord c) :: Int = LT+_ :: Char `compare` id (ord 'a') :: Int = LT+_ :: Char `compare` negate y :: Int = LT+_ :: Char `compare` negate 1 :: Int = LT+_ :: Char `compare` negate (id x) :: Int = LT+_ :: Char `compare` negate (id 0) :: Int = LT+_ :: Char `compare` negate (id (id _)) :: Int = LT+_ :: Char `compare` negate (negate _) :: Int = LT+_ :: Char `compare` negate (abs _) :: Int = LT+_ :: Char `compare` negate (_ + _) :: Int = LT+_ :: Char `compare` negate (head _) :: Int = LT+_ :: Char `compare` negate (ord _) :: Int = LT+_ :: Char `compare` abs y :: Int = LT+_ :: Char `compare` abs 1 :: Int = LT+_ :: Char `compare` abs (id x) :: Int = LT+_ :: Char `compare` abs (id 0) :: Int = LT+_ :: Char `compare` abs (id (id _)) :: Int = LT+_ :: Char `compare` abs (negate _) :: Int = LT+_ :: Char `compare` abs (abs _) :: Int = LT+_ :: Char `compare` abs (_ + _) :: Int = LT+_ :: Char `compare` abs (head _) :: Int = LT+_ :: Char `compare` abs (ord _) :: Int = LT+_ :: Char `compare` _ + y :: Int = LT+_ :: Char `compare` _ + 1 :: Int = LT+_ :: Char `compare` _ + id x :: Int = LT+_ :: Char `compare` _ + id 0 :: Int = LT+_ :: Char `compare` _ + id (id _) :: Int = LT+_ :: Char `compare` _ + negate _ :: Int = LT+_ :: Char `compare` _ + abs _ :: Int = LT+_ :: Char `compare` _ + (_ + _) :: Int = LT+_ :: Char `compare` _ + head _ :: Int = LT+_ :: Char `compare` _ + ord _ :: Int = LT+_ :: Char `compare` x + x :: Int = LT+_ :: Char `compare` x + 0 :: Int = LT+_ :: Char `compare` x + id _ :: Int = LT+_ :: Char `compare` 0 + x :: Int = LT+_ :: Char `compare` 0 + 0 :: Int = LT+_ :: Char `compare` 0 + id _ :: Int = LT+_ :: Char `compare` id _ + x :: Int = LT+_ :: Char `compare` id _ + 0 :: Int = LT+_ :: Char `compare` id _ + id _ :: Int = LT+_ :: Char `compare` _ * x :: Int = LT+_ :: Char `compare` _ * 0 :: Int = LT+_ :: Char `compare` _ * id _ :: Int = LT+_ :: Char `compare` f x :: Int = LT+_ :: Char `compare` f 0 :: Int = LT+_ :: Char `compare` f (id _) :: Int = LT+_ :: Char `compare` y + _ :: Int = LT+_ :: Char `compare` 1 + _ :: Int = LT+_ :: Char `compare` id x + _ :: Int = LT+_ :: Char `compare` id 0 + _ :: Int = LT+_ :: Char `compare` id (id _) + _ :: Int = LT+_ :: Char `compare` negate _ + _ :: Int = LT+_ :: Char `compare` abs _ + _ :: Int = LT+_ :: Char `compare` (_ + _) + _ :: Int = LT+_ :: Char `compare` head _ + _ :: Int = LT+_ :: Char `compare` ord _ + _ :: Int = LT+_ :: Char `compare` x * _ :: Int = LT+_ :: Char `compare` 0 * _ :: Int = LT+_ :: Char `compare` id _ * _ :: Int = LT+_ :: Char `compare` g _ :: Int = LT+_ :: Char `compare` head ys :: Int = LT+_ :: Char `compare` head [0] :: Int = LT+_ :: Char `compare` head (_:xs) :: Int = LT+_ :: Char `compare` head [_] :: Int = LT+_ :: Char `compare` head (_:_:_) :: Int = LT+_ :: Char `compare` head (x:_) :: Int = LT+_ :: Char `compare` head (0:_) :: Int = LT+_ :: Char `compare` head (id _:_) :: Int = LT+_ :: Char `compare` head (tail _) :: Int = LT+_ :: Char `compare` head (_ ++ _) :: Int = LT+_ :: Char `compare` ord d :: Int = LT+_ :: Char `compare` ord ' ' :: Int = LT+_ :: Char `compare` r :: Bool = GT+_ :: Char `compare` not q :: Bool = LT+_ :: Char `compare` not (not p) :: Bool = LT+_ :: Char `compare` not (not False) :: Bool = LT+_ :: Char `compare` not (not True) :: Bool = LT+_ :: Char `compare` not (not (not _)) :: Bool = LT+_ :: Char `compare` not (_ || _) :: Bool = LT+_ :: Char `compare` _ || p :: Bool = LT+_ :: Char `compare` _ || False :: Bool = LT+_ :: Char `compare` _ || True :: Bool = LT+_ :: Char `compare` _ || not _ :: Bool = LT+_ :: Char `compare` p || _ :: Bool = LT+_ :: Char `compare` False || _ :: Bool = LT+_ :: Char `compare` True || _ :: Bool = LT+_ :: Char `compare` not _ || _ :: Bool = LT+_ :: Char `compare` _ && _ :: Bool = LT+_ :: Char `compare` _ == _ :: Bool = LT+_ :: Char `compare` _ == _ :: Bool = LT+_ :: Char `compare` odd _ :: Bool = LT+_ :: Char `compare` even _ :: Bool = LT+_ :: Char `compare` elem _ _ :: Bool = LT+_ :: Char `compare` e :: Char = LT+_ :: Char `compare` 'b' :: Char = LT+_ :: Char `compare` zs :: [Int] = LT+_ :: Char `compare` [0,0] :: [Int] = LT+_ :: Char `compare` [1] :: [Int] = LT+_ :: Char `compare` _:ys :: [Int] = LT+_ :: Char `compare` _:[0] :: [Int] = LT+_ :: Char `compare` _:_:xs :: [Int] = LT+_ :: Char `compare` [_,_] :: [Int] = LT+_ :: Char `compare` _:_:_:_ :: [Int] = LT+_ :: Char `compare` _:x:_ :: [Int] = LT+_ :: Char `compare` _:0:_ :: [Int] = LT+_ :: Char `compare` _:id _:_ :: [Int] = LT+_ :: Char `compare` _:tail _ :: [Int] = LT+_ :: Char `compare` _:(_ ++ _) :: [Int] = LT+_ :: Char `compare` x:xs :: [Int] = LT+_ :: Char `compare` [x] :: [Int] = LT+_ :: Char `compare` x:_:_ :: [Int] = LT+_ :: Char `compare` 0:xs :: [Int] = LT+_ :: Char `compare` [0] :: [Int] = LT+_ :: Char `compare` 0:_:_ :: [Int] = LT+_ :: Char `compare` id _:xs :: [Int] = LT+_ :: Char `compare` [id _] :: [Int] = LT+_ :: Char `compare` id _:_:_ :: [Int] = LT+_ :: Char `compare` y:_ :: [Int] = LT+_ :: Char `compare` 1:_ :: [Int] = LT+_ :: Char `compare` id x:_ :: [Int] = LT+_ :: Char `compare` id 0:_ :: [Int] = LT+_ :: Char `compare` id (id _):_ :: [Int] = LT+_ :: Char `compare` negate _:_ :: [Int] = LT+_ :: Char `compare` abs _:_ :: [Int] = LT+_ :: Char `compare` _ + _:_ :: [Int] = LT+_ :: Char `compare` head _:_ :: [Int] = LT+_ :: Char `compare` ord _:_ :: [Int] = LT+_ :: Char `compare` tail xs :: [Int] = LT+_ :: Char `compare` tail [] :: [Int] = LT+_ :: Char `compare` tail (_:_) :: [Int] = LT+_ :: Char `compare` _ ++ xs :: [Int] = LT+_ :: Char `compare` _ ++ [] :: [Int] = LT+_ :: Char `compare` _ ++ (_:_) :: [Int] = LT+_ :: Char `compare` xs ++ _ :: [Int] = LT+_ :: Char `compare` [] ++ _ :: [Int] = LT+_ :: Char `compare` (_:_) ++ _ :: [Int] = LT+_ :: Char `compare` sort _ :: [Int] = LT+_ :: Char `compare` insert _ _ :: [Int] = LT+_ :: Char `compare` (x +) :: Int -> Int = LT+_ :: Char `compare` (0 +) :: Int -> Int = LT+_ :: Char `compare` (id _ +) :: Int -> Int = LT+_ :: Char `compare` (_ *) :: Int -> Int = LT+_ :: Char `compare` f :: Int -> Int = LT+_ :: Char `compare` (_ ||) :: Bool -> Bool = LT+_ :: Char `compare` (&&) :: Bool -> Bool -> Bool = LT+_ :: [Int] `compare` x' :: Int = GT+_ :: [Int] `compare` 2 :: Int = LT+_ :: [Int] `compare` id z :: Int = LT+_ :: [Int] `compare` id (-1) :: Int = LT+_ :: [Int] `compare` id (id y) :: Int = LT+_ :: [Int] `compare` id (id 1) :: Int = LT+_ :: [Int] `compare` id (id (id x)) :: Int = LT+_ :: [Int] `compare` id (id (id 0)) :: Int = LT+_ :: [Int] `compare` id (id (id (id _))) :: Int = LT+_ :: [Int] `compare` id (id (negate _)) :: Int = LT+_ :: [Int] `compare` id (id (abs _)) :: Int = LT+_ :: [Int] `compare` id (id (_ + _)) :: Int = LT+_ :: [Int] `compare` id (id (head _)) :: Int = LT+_ :: [Int] `compare` id (id (ord _)) :: Int = LT+_ :: [Int] `compare` id (negate x) :: Int = LT+_ :: [Int] `compare` id (negate 0) :: Int = LT+_ :: [Int] `compare` id (negate (id _)) :: Int = LT+_ :: [Int] `compare` id (abs x) :: Int = LT+_ :: [Int] `compare` id (abs 0) :: Int = LT+_ :: [Int] `compare` id (abs (id _)) :: Int = LT+_ :: [Int] `compare` id (_ + x) :: Int = LT+_ :: [Int] `compare` id (_ + 0) :: Int = LT+_ :: [Int] `compare` id (_ + id _) :: Int = LT+_ :: [Int] `compare` id (x + _) :: Int = LT+_ :: [Int] `compare` id (0 + _) :: Int = LT+_ :: [Int] `compare` id (id _ + _) :: Int = LT+_ :: [Int] `compare` id (_ * _) :: Int = LT+_ :: [Int] `compare` id (f _) :: Int = LT+_ :: [Int] `compare` id (head xs) :: Int = LT+_ :: [Int] `compare` id (head []) :: Int = LT+_ :: [Int] `compare` id (head (_:_)) :: Int = LT+_ :: [Int] `compare` id (ord c) :: Int = LT+_ :: [Int] `compare` id (ord 'a') :: Int = LT+_ :: [Int] `compare` negate y :: Int = LT+_ :: [Int] `compare` negate 1 :: Int = LT+_ :: [Int] `compare` negate (id x) :: Int = LT+_ :: [Int] `compare` negate (id 0) :: Int = LT+_ :: [Int] `compare` negate (id (id _)) :: Int = LT+_ :: [Int] `compare` negate (negate _) :: Int = LT+_ :: [Int] `compare` negate (abs _) :: Int = LT+_ :: [Int] `compare` negate (_ + _) :: Int = LT+_ :: [Int] `compare` negate (head _) :: Int = LT+_ :: [Int] `compare` negate (ord _) :: Int = LT+_ :: [Int] `compare` abs y :: Int = LT+_ :: [Int] `compare` abs 1 :: Int = LT+_ :: [Int] `compare` abs (id x) :: Int = LT+_ :: [Int] `compare` abs (id 0) :: Int = LT+_ :: [Int] `compare` abs (id (id _)) :: Int = LT+_ :: [Int] `compare` abs (negate _) :: Int = LT+_ :: [Int] `compare` abs (abs _) :: Int = LT+_ :: [Int] `compare` abs (_ + _) :: Int = LT+_ :: [Int] `compare` abs (head _) :: Int = LT+_ :: [Int] `compare` abs (ord _) :: Int = LT+_ :: [Int] `compare` _ + y :: Int = LT+_ :: [Int] `compare` _ + 1 :: Int = LT+_ :: [Int] `compare` _ + id x :: Int = LT+_ :: [Int] `compare` _ + id 0 :: Int = LT+_ :: [Int] `compare` _ + id (id _) :: Int = LT+_ :: [Int] `compare` _ + negate _ :: Int = LT+_ :: [Int] `compare` _ + abs _ :: Int = LT+_ :: [Int] `compare` _ + (_ + _) :: Int = LT+_ :: [Int] `compare` _ + head _ :: Int = LT+_ :: [Int] `compare` _ + ord _ :: Int = LT+_ :: [Int] `compare` x + x :: Int = LT+_ :: [Int] `compare` x + 0 :: Int = LT+_ :: [Int] `compare` x + id _ :: Int = LT+_ :: [Int] `compare` 0 + x :: Int = LT+_ :: [Int] `compare` 0 + 0 :: Int = LT+_ :: [Int] `compare` 0 + id _ :: Int = LT+_ :: [Int] `compare` id _ + x :: Int = LT+_ :: [Int] `compare` id _ + 0 :: Int = LT+_ :: [Int] `compare` id _ + id _ :: Int = LT+_ :: [Int] `compare` _ * x :: Int = LT+_ :: [Int] `compare` _ * 0 :: Int = LT+_ :: [Int] `compare` _ * id _ :: Int = LT+_ :: [Int] `compare` f x :: Int = LT+_ :: [Int] `compare` f 0 :: Int = LT+_ :: [Int] `compare` f (id _) :: Int = LT+_ :: [Int] `compare` y + _ :: Int = LT+_ :: [Int] `compare` 1 + _ :: Int = LT+_ :: [Int] `compare` id x + _ :: Int = LT+_ :: [Int] `compare` id 0 + _ :: Int = LT+_ :: [Int] `compare` id (id _) + _ :: Int = LT+_ :: [Int] `compare` negate _ + _ :: Int = LT+_ :: [Int] `compare` abs _ + _ :: Int = LT+_ :: [Int] `compare` (_ + _) + _ :: Int = LT+_ :: [Int] `compare` head _ + _ :: Int = LT+_ :: [Int] `compare` ord _ + _ :: Int = LT+_ :: [Int] `compare` x * _ :: Int = LT+_ :: [Int] `compare` 0 * _ :: Int = LT+_ :: [Int] `compare` id _ * _ :: Int = LT+_ :: [Int] `compare` g _ :: Int = LT+_ :: [Int] `compare` head ys :: Int = LT+_ :: [Int] `compare` head [0] :: Int = LT+_ :: [Int] `compare` head (_:xs) :: Int = LT+_ :: [Int] `compare` head [_] :: Int = LT+_ :: [Int] `compare` head (_:_:_) :: Int = LT+_ :: [Int] `compare` head (x:_) :: Int = LT+_ :: [Int] `compare` head (0:_) :: Int = LT+_ :: [Int] `compare` head (id _:_) :: Int = LT+_ :: [Int] `compare` head (tail _) :: Int = LT+_ :: [Int] `compare` head (_ ++ _) :: Int = LT+_ :: [Int] `compare` ord d :: Int = LT+_ :: [Int] `compare` ord ' ' :: Int = LT+_ :: [Int] `compare` r :: Bool = GT+_ :: [Int] `compare` not q :: Bool = LT+_ :: [Int] `compare` not (not p) :: Bool = LT+_ :: [Int] `compare` not (not False) :: Bool = LT+_ :: [Int] `compare` not (not True) :: Bool = LT+_ :: [Int] `compare` not (not (not _)) :: Bool = LT+_ :: [Int] `compare` not (_ || _) :: Bool = LT+_ :: [Int] `compare` _ || p :: Bool = LT+_ :: [Int] `compare` _ || False :: Bool = LT+_ :: [Int] `compare` _ || True :: Bool = LT+_ :: [Int] `compare` _ || not _ :: Bool = LT+_ :: [Int] `compare` p || _ :: Bool = LT+_ :: [Int] `compare` False || _ :: Bool = LT+_ :: [Int] `compare` True || _ :: Bool = LT+_ :: [Int] `compare` not _ || _ :: Bool = LT+_ :: [Int] `compare` _ && _ :: Bool = LT+_ :: [Int] `compare` _ == _ :: Bool = LT+_ :: [Int] `compare` _ == _ :: Bool = LT+_ :: [Int] `compare` odd _ :: Bool = LT+_ :: [Int] `compare` even _ :: Bool = LT+_ :: [Int] `compare` elem _ _ :: Bool = LT+_ :: [Int] `compare` e :: Char = GT+_ :: [Int] `compare` 'b' :: Char = LT+_ :: [Int] `compare` zs :: [Int] = LT+_ :: [Int] `compare` [0,0] :: [Int] = LT+_ :: [Int] `compare` [1] :: [Int] = LT+_ :: [Int] `compare` _:ys :: [Int] = LT+_ :: [Int] `compare` _:[0] :: [Int] = LT+_ :: [Int] `compare` _:_:xs :: [Int] = LT+_ :: [Int] `compare` [_,_] :: [Int] = LT+_ :: [Int] `compare` _:_:_:_ :: [Int] = LT+_ :: [Int] `compare` _:x:_ :: [Int] = LT+_ :: [Int] `compare` _:0:_ :: [Int] = LT+_ :: [Int] `compare` _:id _:_ :: [Int] = LT+_ :: [Int] `compare` _:tail _ :: [Int] = LT+_ :: [Int] `compare` _:(_ ++ _) :: [Int] = LT+_ :: [Int] `compare` x:xs :: [Int] = LT+_ :: [Int] `compare` [x] :: [Int] = LT+_ :: [Int] `compare` x:_:_ :: [Int] = LT+_ :: [Int] `compare` 0:xs :: [Int] = LT+_ :: [Int] `compare` [0] :: [Int] = LT+_ :: [Int] `compare` 0:_:_ :: [Int] = LT+_ :: [Int] `compare` id _:xs :: [Int] = LT+_ :: [Int] `compare` [id _] :: [Int] = LT+_ :: [Int] `compare` id _:_:_ :: [Int] = LT+_ :: [Int] `compare` y:_ :: [Int] = LT+_ :: [Int] `compare` 1:_ :: [Int] = LT+_ :: [Int] `compare` id x:_ :: [Int] = LT+_ :: [Int] `compare` id 0:_ :: [Int] = LT+_ :: [Int] `compare` id (id _):_ :: [Int] = LT+_ :: [Int] `compare` negate _:_ :: [Int] = LT+_ :: [Int] `compare` abs _:_ :: [Int] = LT+_ :: [Int] `compare` _ + _:_ :: [Int] = LT+_ :: [Int] `compare` head _:_ :: [Int] = LT+_ :: [Int] `compare` ord _:_ :: [Int] = LT+_ :: [Int] `compare` tail xs :: [Int] = LT+_ :: [Int] `compare` tail [] :: [Int] = LT+_ :: [Int] `compare` tail (_:_) :: [Int] = LT+_ :: [Int] `compare` _ ++ xs :: [Int] = LT+_ :: [Int] `compare` _ ++ [] :: [Int] = LT+_ :: [Int] `compare` _ ++ (_:_) :: [Int] = LT+_ :: [Int] `compare` xs ++ _ :: [Int] = LT+_ :: [Int] `compare` [] ++ _ :: [Int] = LT+_ :: [Int] `compare` (_:_) ++ _ :: [Int] = LT+_ :: [Int] `compare` sort _ :: [Int] = LT+_ :: [Int] `compare` insert _ _ :: [Int] = LT+_ :: [Int] `compare` (x +) :: Int -> Int = LT+_ :: [Int] `compare` (0 +) :: Int -> Int = LT+_ :: [Int] `compare` (id _ +) :: Int -> Int = LT+_ :: [Int] `compare` (_ *) :: Int -> Int = LT+_ :: [Int] `compare` f :: Int -> Int = LT+_ :: [Int] `compare` (_ ||) :: Bool -> Bool = LT+_ :: [Int] `compare` (&&) :: Bool -> Bool -> Bool = LT+y :: Int `compare` z :: Int = LT+y :: Int `compare` -1 :: Int = LT+y :: Int `compare` id y :: Int = LT+y :: Int `compare` id 1 :: Int = LT+y :: Int `compare` id (id x) :: Int = LT+y :: Int `compare` id (id 0) :: Int = LT+y :: Int `compare` id (id (id _)) :: Int = LT+y :: Int `compare` id (negate _) :: Int = LT+y :: Int `compare` id (abs _) :: Int = LT+y :: Int `compare` id (_ + _) :: Int = LT+y :: Int `compare` id (head _) :: Int = LT+y :: Int `compare` id (ord _) :: Int = LT+y :: Int `compare` negate x :: Int = LT+y :: Int `compare` negate 0 :: Int = LT+y :: Int `compare` negate (id _) :: Int = LT+y :: Int `compare` abs x :: Int = LT+y :: Int `compare` abs 0 :: Int = LT+y :: Int `compare` abs (id _) :: Int = LT+y :: Int `compare` _ + x :: Int = LT+y :: Int `compare` _ + 0 :: Int = LT+y :: Int `compare` _ + id _ :: Int = LT+y :: Int `compare` x + _ :: Int = LT+y :: Int `compare` 0 + _ :: Int = LT+y :: Int `compare` id _ + _ :: Int = LT+y :: Int `compare` _ * _ :: Int = LT+y :: Int `compare` f _ :: Int = LT+y :: Int `compare` head xs :: Int = LT+y :: Int `compare` head [] :: Int = LT+y :: Int `compare` head (_:_) :: Int = LT+y :: Int `compare` ord c :: Int = LT+y :: Int `compare` ord 'a' :: Int = LT+y :: Int `compare` q :: Bool = GT+y :: Int `compare` not p :: Bool = LT+y :: Int `compare` not False :: Bool = LT+y :: Int `compare` not True :: Bool = LT+y :: Int `compare` not (not _) :: Bool = LT+y :: Int `compare` _ || _ :: Bool = LT+y :: Int `compare` d :: Char = GT+y :: Int `compare` ' ' :: Char = LT+y :: Int `compare` ys :: [Int] = LT+y :: Int `compare` [0] :: [Int] = LT+y :: Int `compare` _:xs :: [Int] = LT+y :: Int `compare` [_] :: [Int] = LT+y :: Int `compare` _:_:_ :: [Int] = LT+y :: Int `compare` x:_ :: [Int] = LT+y :: Int `compare` 0:_ :: [Int] = LT+y :: Int `compare` id _:_ :: [Int] = LT+y :: Int `compare` tail _ :: [Int] = LT+y :: Int `compare` _ ++ _ :: [Int] = LT+y :: Int `compare` negate :: Int -> Int = LT+y :: Int `compare` abs :: Int -> Int = LT+y :: Int `compare` (_ +) :: Int -> Int = LT+y :: Int `compare` (*) :: Int -> Int -> Int = LT+y :: Int `compare` not :: Bool -> Bool = LT+y :: Int `compare` (||) :: Bool -> Bool -> Bool = LT+1 :: Int `compare` z :: Int = GT+1 :: Int `compare` -1 :: Int = LT+1 :: Int `compare` id y :: Int = LT+1 :: Int `compare` id 1 :: Int = LT+1 :: Int `compare` id (id x) :: Int = LT+1 :: Int `compare` id (id 0) :: Int = LT+1 :: Int `compare` id (id (id _)) :: Int = LT+1 :: Int `compare` id (negate _) :: Int = LT+1 :: Int `compare` id (abs _) :: Int = LT+1 :: Int `compare` id (_ + _) :: Int = LT+1 :: Int `compare` id (head _) :: Int = LT+1 :: Int `compare` id (ord _) :: Int = LT+1 :: Int `compare` negate x :: Int = LT+1 :: Int `compare` negate 0 :: Int = LT+1 :: Int `compare` negate (id _) :: Int = LT+1 :: Int `compare` abs x :: Int = LT+1 :: Int `compare` abs 0 :: Int = LT+1 :: Int `compare` abs (id _) :: Int = LT+1 :: Int `compare` _ + x :: Int = LT+1 :: Int `compare` _ + 0 :: Int = LT+1 :: Int `compare` _ + id _ :: Int = LT+1 :: Int `compare` x + _ :: Int = LT+1 :: Int `compare` 0 + _ :: Int = LT+1 :: Int `compare` id _ + _ :: Int = LT+1 :: Int `compare` _ * _ :: Int = LT+1 :: Int `compare` f _ :: Int = LT+1 :: Int `compare` head xs :: Int = LT+1 :: Int `compare` head [] :: Int = LT+1 :: Int `compare` head (_:_) :: Int = LT+1 :: Int `compare` ord c :: Int = LT+1 :: Int `compare` ord 'a' :: Int = LT+1 :: Int `compare` q :: Bool = GT+1 :: Int `compare` not p :: Bool = LT+1 :: Int `compare` not False :: Bool = LT+1 :: Int `compare` not True :: Bool = LT+1 :: Int `compare` not (not _) :: Bool = LT+1 :: Int `compare` _ || _ :: Bool = LT+1 :: Int `compare` d :: Char = GT+1 :: Int `compare` ' ' :: Char = GT+1 :: Int `compare` ys :: [Int] = GT+1 :: Int `compare` [0] :: [Int] = LT+1 :: Int `compare` _:xs :: [Int] = LT+1 :: Int `compare` [_] :: [Int] = LT+1 :: Int `compare` _:_:_ :: [Int] = LT+1 :: Int `compare` x:_ :: [Int] = LT+1 :: Int `compare` 0:_ :: [Int] = LT+1 :: Int `compare` id _:_ :: [Int] = LT+1 :: Int `compare` tail _ :: [Int] = LT+1 :: Int `compare` _ ++ _ :: [Int] = LT+1 :: Int `compare` negate :: Int -> Int = LT+1 :: Int `compare` abs :: Int -> Int = LT+1 :: Int `compare` (_ +) :: Int -> Int = LT+1 :: Int `compare` (*) :: Int -> Int -> Int = LT+1 :: Int `compare` not :: Bool -> Bool = LT+1 :: Int `compare` (||) :: Bool -> Bool -> Bool = LT+id x :: Int `compare` z :: Int = GT+id x :: Int `compare` -1 :: Int = GT+id x :: Int `compare` id y :: Int = LT+id x :: Int `compare` id 1 :: Int = LT+id x :: Int `compare` id (id x) :: Int = LT+id x :: Int `compare` id (id 0) :: Int = LT+id x :: Int `compare` id (id (id _)) :: Int = LT+id x :: Int `compare` id (negate _) :: Int = LT+id x :: Int `compare` id (abs _) :: Int = LT+id x :: Int `compare` id (_ + _) :: Int = LT+id x :: Int `compare` id (head _) :: Int = LT+id x :: Int `compare` id (ord _) :: Int = LT+id x :: Int `compare` negate x :: Int = LT+id x :: Int `compare` negate 0 :: Int = LT+id x :: Int `compare` negate (id _) :: Int = LT+id x :: Int `compare` abs x :: Int = LT+id x :: Int `compare` abs 0 :: Int = LT+id x :: Int `compare` abs (id _) :: Int = LT+id x :: Int `compare` _ + x :: Int = LT+id x :: Int `compare` _ + 0 :: Int = LT+id x :: Int `compare` _ + id _ :: Int = LT+id x :: Int `compare` x + _ :: Int = LT+id x :: Int `compare` 0 + _ :: Int = LT+id x :: Int `compare` id _ + _ :: Int = LT+id x :: Int `compare` _ * _ :: Int = LT+id x :: Int `compare` f _ :: Int = GT+id x :: Int `compare` head xs :: Int = LT+id x :: Int `compare` head [] :: Int = LT+id x :: Int `compare` head (_:_) :: Int = LT+id x :: Int `compare` ord c :: Int = GT+id x :: Int `compare` ord 'a' :: Int = LT+id x :: Int `compare` q :: Bool = GT+id x :: Int `compare` not p :: Bool = GT+id x :: Int `compare` not False :: Bool = LT+id x :: Int `compare` not True :: Bool = LT+id x :: Int `compare` not (not _) :: Bool = LT+id x :: Int `compare` _ || _ :: Bool = LT+id x :: Int `compare` d :: Char = GT+id x :: Int `compare` ' ' :: Char = GT+id x :: Int `compare` ys :: [Int] = GT+id x :: Int `compare` [0] :: [Int] = GT+id x :: Int `compare` _:xs :: [Int] = LT+id x :: Int `compare` [_] :: [Int] = LT+id x :: Int `compare` _:_:_ :: [Int] = LT+id x :: Int `compare` x:_ :: [Int] = LT+id x :: Int `compare` 0:_ :: [Int] = LT+id x :: Int `compare` id _:_ :: [Int] = LT+id x :: Int `compare` tail _ :: [Int] = LT+id x :: Int `compare` _ ++ _ :: [Int] = LT+id x :: Int `compare` negate :: Int -> Int = GT+id x :: Int `compare` abs :: Int -> Int = GT+id x :: Int `compare` (_ +) :: Int -> Int = LT+id x :: Int `compare` (*) :: Int -> Int -> Int = GT+id x :: Int `compare` not :: Bool -> Bool = GT+id x :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+id 0 :: Int `compare` z :: Int = GT+id 0 :: Int `compare` -1 :: Int = GT+id 0 :: Int `compare` id y :: Int = GT+id 0 :: Int `compare` id 1 :: Int = LT+id 0 :: Int `compare` id (id x) :: Int = LT+id 0 :: Int `compare` id (id 0) :: Int = LT+id 0 :: Int `compare` id (id (id _)) :: Int = LT+id 0 :: Int `compare` id (negate _) :: Int = LT+id 0 :: Int `compare` id (abs _) :: Int = LT+id 0 :: Int `compare` id (_ + _) :: Int = LT+id 0 :: Int `compare` id (head _) :: Int = LT+id 0 :: Int `compare` id (ord _) :: Int = LT+id 0 :: Int `compare` negate x :: Int = GT+id 0 :: Int `compare` negate 0 :: Int = LT+id 0 :: Int `compare` negate (id _) :: Int = LT+id 0 :: Int `compare` abs x :: Int = GT+id 0 :: Int `compare` abs 0 :: Int = LT+id 0 :: Int `compare` abs (id _) :: Int = LT+id 0 :: Int `compare` _ + x :: Int = LT+id 0 :: Int `compare` _ + 0 :: Int = LT+id 0 :: Int `compare` _ + id _ :: Int = LT+id 0 :: Int `compare` x + _ :: Int = LT+id 0 :: Int `compare` 0 + _ :: Int = LT+id 0 :: Int `compare` id _ + _ :: Int = LT+id 0 :: Int `compare` _ * _ :: Int = LT+id 0 :: Int `compare` f _ :: Int = GT+id 0 :: Int `compare` head xs :: Int = GT+id 0 :: Int `compare` head [] :: Int = LT+id 0 :: Int `compare` head (_:_) :: Int = LT+id 0 :: Int `compare` ord c :: Int = GT+id 0 :: Int `compare` ord 'a' :: Int = GT+id 0 :: Int `compare` q :: Bool = GT+id 0 :: Int `compare` not p :: Bool = GT+id 0 :: Int `compare` not False :: Bool = GT+id 0 :: Int `compare` not True :: Bool = GT+id 0 :: Int `compare` not (not _) :: Bool = LT+id 0 :: Int `compare` _ || _ :: Bool = LT+id 0 :: Int `compare` d :: Char = GT+id 0 :: Int `compare` ' ' :: Char = GT+id 0 :: Int `compare` ys :: [Int] = GT+id 0 :: Int `compare` [0] :: [Int] = GT+id 0 :: Int `compare` _:xs :: [Int] = LT+id 0 :: Int `compare` [_] :: [Int] = LT+id 0 :: Int `compare` _:_:_ :: [Int] = LT+id 0 :: Int `compare` x:_ :: [Int] = LT+id 0 :: Int `compare` 0:_ :: [Int] = LT+id 0 :: Int `compare` id _:_ :: [Int] = LT+id 0 :: Int `compare` tail _ :: [Int] = GT+id 0 :: Int `compare` _ ++ _ :: [Int] = LT+id 0 :: Int `compare` negate :: Int -> Int = GT+id 0 :: Int `compare` abs :: Int -> Int = GT+id 0 :: Int `compare` (_ +) :: Int -> Int = GT+id 0 :: Int `compare` (*) :: Int -> Int -> Int = GT+id 0 :: Int `compare` not :: Bool -> Bool = GT+id 0 :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+id (id _) :: Int `compare` z :: Int = GT+id (id _) :: Int `compare` -1 :: Int = GT+id (id _) :: Int `compare` id y :: Int = GT+id (id _) :: Int `compare` id 1 :: Int = GT+id (id _) :: Int `compare` id (id x) :: Int = LT+id (id _) :: Int `compare` id (id 0) :: Int = LT+id (id _) :: Int `compare` id (id (id _)) :: Int = LT+id (id _) :: Int `compare` id (negate _) :: Int = LT+id (id _) :: Int `compare` id (abs _) :: Int = LT+id (id _) :: Int `compare` id (_ + _) :: Int = LT+id (id _) :: Int `compare` id (head _) :: Int = LT+id (id _) :: Int `compare` id (ord _) :: Int = LT+id (id _) :: Int `compare` negate x :: Int = GT+id (id _) :: Int `compare` negate 0 :: Int = GT+id (id _) :: Int `compare` negate (id _) :: Int = LT+id (id _) :: Int `compare` abs x :: Int = GT+id (id _) :: Int `compare` abs 0 :: Int = GT+id (id _) :: Int `compare` abs (id _) :: Int = LT+id (id _) :: Int `compare` _ + x :: Int = GT+id (id _) :: Int `compare` _ + 0 :: Int = LT+id (id _) :: Int `compare` _ + id _ :: Int = LT+id (id _) :: Int `compare` x + _ :: Int = GT+id (id _) :: Int `compare` 0 + _ :: Int = LT+id (id _) :: Int `compare` id _ + _ :: Int = LT+id (id _) :: Int `compare` _ * _ :: Int = GT+id (id _) :: Int `compare` f _ :: Int = GT+id (id _) :: Int `compare` head xs :: Int = GT+id (id _) :: Int `compare` head [] :: Int = GT+id (id _) :: Int `compare` head (_:_) :: Int = LT+id (id _) :: Int `compare` ord c :: Int = GT+id (id _) :: Int `compare` ord 'a' :: Int = GT+id (id _) :: Int `compare` q :: Bool = GT+id (id _) :: Int `compare` not p :: Bool = GT+id (id _) :: Int `compare` not False :: Bool = GT+id (id _) :: Int `compare` not True :: Bool = GT+id (id _) :: Int `compare` not (not _) :: Bool = GT+id (id _) :: Int `compare` _ || _ :: Bool = GT+id (id _) :: Int `compare` d :: Char = GT+id (id _) :: Int `compare` ' ' :: Char = GT+id (id _) :: Int `compare` ys :: [Int] = GT+id (id _) :: Int `compare` [0] :: [Int] = GT+id (id _) :: Int `compare` _:xs :: [Int] = GT+id (id _) :: Int `compare` [_] :: [Int] = LT+id (id _) :: Int `compare` _:_:_ :: [Int] = LT+id (id _) :: Int `compare` x:_ :: [Int] = GT+id (id _) :: Int `compare` 0:_ :: [Int] = LT+id (id _) :: Int `compare` id _:_ :: [Int] = LT+id (id _) :: Int `compare` tail _ :: [Int] = GT+id (id _) :: Int `compare` _ ++ _ :: [Int] = GT+id (id _) :: Int `compare` negate :: Int -> Int = GT+id (id _) :: Int `compare` abs :: Int -> Int = GT+id (id _) :: Int `compare` (_ +) :: Int -> Int = GT+id (id _) :: Int `compare` (*) :: Int -> Int -> Int = GT+id (id _) :: Int `compare` not :: Bool -> Bool = GT+id (id _) :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+negate _ :: Int `compare` z :: Int = GT+negate _ :: Int `compare` -1 :: Int = GT+negate _ :: Int `compare` id y :: Int = GT+negate _ :: Int `compare` id 1 :: Int = LT+negate _ :: Int `compare` id (id x) :: Int = LT+negate _ :: Int `compare` id (id 0) :: Int = LT+negate _ :: Int `compare` id (id (id _)) :: Int = LT+negate _ :: Int `compare` id (negate _) :: Int = LT+negate _ :: Int `compare` id (abs _) :: Int = LT+negate _ :: Int `compare` id (_ + _) :: Int = LT+negate _ :: Int `compare` id (head _) :: Int = LT+negate _ :: Int `compare` id (ord _) :: Int = LT+negate _ :: Int `compare` negate x :: Int = LT+negate _ :: Int `compare` negate 0 :: Int = LT+negate _ :: Int `compare` negate (id _) :: Int = LT+negate _ :: Int `compare` abs x :: Int = GT+negate _ :: Int `compare` abs 0 :: Int = LT+negate _ :: Int `compare` abs (id _) :: Int = LT+negate _ :: Int `compare` _ + x :: Int = LT+negate _ :: Int `compare` _ + 0 :: Int = LT+negate _ :: Int `compare` _ + id _ :: Int = LT+negate _ :: Int `compare` x + _ :: Int = LT+negate _ :: Int `compare` 0 + _ :: Int = LT+negate _ :: Int `compare` id _ + _ :: Int = LT+negate _ :: Int `compare` _ * _ :: Int = LT+negate _ :: Int `compare` f _ :: Int = GT+negate _ :: Int `compare` head xs :: Int = LT+negate _ :: Int `compare` head [] :: Int = LT+negate _ :: Int `compare` head (_:_) :: Int = LT+negate _ :: Int `compare` ord c :: Int = GT+negate _ :: Int `compare` ord 'a' :: Int = LT+negate _ :: Int `compare` q :: Bool = GT+negate _ :: Int `compare` not p :: Bool = GT+negate _ :: Int `compare` not False :: Bool = LT+negate _ :: Int `compare` not True :: Bool = LT+negate _ :: Int `compare` not (not _) :: Bool = LT+negate _ :: Int `compare` _ || _ :: Bool = LT+negate _ :: Int `compare` d :: Char = GT+negate _ :: Int `compare` ' ' :: Char = GT+negate _ :: Int `compare` ys :: [Int] = GT+negate _ :: Int `compare` [0] :: [Int] = GT+negate _ :: Int `compare` _:xs :: [Int] = LT+negate _ :: Int `compare` [_] :: [Int] = LT+negate _ :: Int `compare` _:_:_ :: [Int] = LT+negate _ :: Int `compare` x:_ :: [Int] = LT+negate _ :: Int `compare` 0:_ :: [Int] = LT+negate _ :: Int `compare` id _:_ :: [Int] = LT+negate _ :: Int `compare` tail _ :: [Int] = LT+negate _ :: Int `compare` _ ++ _ :: [Int] = LT+negate _ :: Int `compare` negate :: Int -> Int = GT+negate _ :: Int `compare` abs :: Int -> Int = GT+negate _ :: Int `compare` (_ +) :: Int -> Int = LT+negate _ :: Int `compare` (*) :: Int -> Int -> Int = GT+negate _ :: Int `compare` not :: Bool -> Bool = GT+negate _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+abs _ :: Int `compare` z :: Int = GT+abs _ :: Int `compare` -1 :: Int = GT+abs _ :: Int `compare` id y :: Int = GT+abs _ :: Int `compare` id 1 :: Int = LT+abs _ :: Int `compare` id (id x) :: Int = LT+abs _ :: Int `compare` id (id 0) :: Int = LT+abs _ :: Int `compare` id (id (id _)) :: Int = LT+abs _ :: Int `compare` id (negate _) :: Int = LT+abs _ :: Int `compare` id (abs _) :: Int = LT+abs _ :: Int `compare` id (_ + _) :: Int = LT+abs _ :: Int `compare` id (head _) :: Int = LT+abs _ :: Int `compare` id (ord _) :: Int = LT+abs _ :: Int `compare` negate x :: Int = LT+abs _ :: Int `compare` negate 0 :: Int = LT+abs _ :: Int `compare` negate (id _) :: Int = LT+abs _ :: Int `compare` abs x :: Int = LT+abs _ :: Int `compare` abs 0 :: Int = LT+abs _ :: Int `compare` abs (id _) :: Int = LT+abs _ :: Int `compare` _ + x :: Int = LT+abs _ :: Int `compare` _ + 0 :: Int = LT+abs _ :: Int `compare` _ + id _ :: Int = LT+abs _ :: Int `compare` x + _ :: Int = LT+abs _ :: Int `compare` 0 + _ :: Int = LT+abs _ :: Int `compare` id _ + _ :: Int = LT+abs _ :: Int `compare` _ * _ :: Int = LT+abs _ :: Int `compare` f _ :: Int = GT+abs _ :: Int `compare` head xs :: Int = LT+abs _ :: Int `compare` head [] :: Int = LT+abs _ :: Int `compare` head (_:_) :: Int = LT+abs _ :: Int `compare` ord c :: Int = GT+abs _ :: Int `compare` ord 'a' :: Int = LT+abs _ :: Int `compare` q :: Bool = GT+abs _ :: Int `compare` not p :: Bool = GT+abs _ :: Int `compare` not False :: Bool = LT+abs _ :: Int `compare` not True :: Bool = LT+abs _ :: Int `compare` not (not _) :: Bool = LT+abs _ :: Int `compare` _ || _ :: Bool = LT+abs _ :: Int `compare` d :: Char = GT+abs _ :: Int `compare` ' ' :: Char = GT+abs _ :: Int `compare` ys :: [Int] = GT+abs _ :: Int `compare` [0] :: [Int] = GT+abs _ :: Int `compare` _:xs :: [Int] = LT+abs _ :: Int `compare` [_] :: [Int] = LT+abs _ :: Int `compare` _:_:_ :: [Int] = LT+abs _ :: Int `compare` x:_ :: [Int] = LT+abs _ :: Int `compare` 0:_ :: [Int] = LT+abs _ :: Int `compare` id _:_ :: [Int] = LT+abs _ :: Int `compare` tail _ :: [Int] = LT+abs _ :: Int `compare` _ ++ _ :: [Int] = LT+abs _ :: Int `compare` negate :: Int -> Int = GT+abs _ :: Int `compare` abs :: Int -> Int = GT+abs _ :: Int `compare` (_ +) :: Int -> Int = LT+abs _ :: Int `compare` (*) :: Int -> Int -> Int = GT+abs _ :: Int `compare` not :: Bool -> Bool = GT+abs _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+_ + _ :: Int `compare` z :: Int = GT+_ + _ :: Int `compare` -1 :: Int = GT+_ + _ :: Int `compare` id y :: Int = GT+_ + _ :: Int `compare` id 1 :: Int = GT+_ + _ :: Int `compare` id (id x) :: Int = LT+_ + _ :: Int `compare` id (id 0) :: Int = LT+_ + _ :: Int `compare` id (id (id _)) :: Int = LT+_ + _ :: Int `compare` id (negate _) :: Int = LT+_ + _ :: Int `compare` id (abs _) :: Int = LT+_ + _ :: Int `compare` id (_ + _) :: Int = LT+_ + _ :: Int `compare` id (head _) :: Int = LT+_ + _ :: Int `compare` id (ord _) :: Int = LT+_ + _ :: Int `compare` negate x :: Int = GT+_ + _ :: Int `compare` negate 0 :: Int = GT+_ + _ :: Int `compare` negate (id _) :: Int = LT+_ + _ :: Int `compare` abs x :: Int = GT+_ + _ :: Int `compare` abs 0 :: Int = GT+_ + _ :: Int `compare` abs (id _) :: Int = LT+_ + _ :: Int `compare` _ + x :: Int = GT+_ + _ :: Int `compare` _ + 0 :: Int = LT+_ + _ :: Int `compare` _ + id _ :: Int = LT+_ + _ :: Int `compare` x + _ :: Int = GT+_ + _ :: Int `compare` 0 + _ :: Int = LT+_ + _ :: Int `compare` id _ + _ :: Int = LT+_ + _ :: Int `compare` _ * _ :: Int = GT+_ + _ :: Int `compare` f _ :: Int = GT+_ + _ :: Int `compare` head xs :: Int = GT+_ + _ :: Int `compare` head [] :: Int = GT+_ + _ :: Int `compare` head (_:_) :: Int = LT+_ + _ :: Int `compare` ord c :: Int = GT+_ + _ :: Int `compare` ord 'a' :: Int = GT+_ + _ :: Int `compare` q :: Bool = GT+_ + _ :: Int `compare` not p :: Bool = GT+_ + _ :: Int `compare` not False :: Bool = GT+_ + _ :: Int `compare` not True :: Bool = GT+_ + _ :: Int `compare` not (not _) :: Bool = LT+_ + _ :: Int `compare` _ || _ :: Bool = GT+_ + _ :: Int `compare` d :: Char = GT+_ + _ :: Int `compare` ' ' :: Char = GT+_ + _ :: Int `compare` ys :: [Int] = GT+_ + _ :: Int `compare` [0] :: [Int] = GT+_ + _ :: Int `compare` _:xs :: [Int] = GT+_ + _ :: Int `compare` [_] :: [Int] = LT+_ + _ :: Int `compare` _:_:_ :: [Int] = LT+_ + _ :: Int `compare` x:_ :: [Int] = GT+_ + _ :: Int `compare` 0:_ :: [Int] = LT+_ + _ :: Int `compare` id _:_ :: [Int] = LT+_ + _ :: Int `compare` tail _ :: [Int] = GT+_ + _ :: Int `compare` _ ++ _ :: [Int] = LT+_ + _ :: Int `compare` negate :: Int -> Int = GT+_ + _ :: Int `compare` abs :: Int -> Int = GT+_ + _ :: Int `compare` (_ +) :: Int -> Int = GT+_ + _ :: Int `compare` (*) :: Int -> Int -> Int = GT+_ + _ :: Int `compare` not :: Bool -> Bool = GT+_ + _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+head _ :: Int `compare` z :: Int = GT+head _ :: Int `compare` -1 :: Int = GT+head _ :: Int `compare` id y :: Int = GT+head _ :: Int `compare` id 1 :: Int = LT+head _ :: Int `compare` id (id x) :: Int = LT+head _ :: Int `compare` id (id 0) :: Int = LT+head _ :: Int `compare` id (id (id _)) :: Int = LT+head _ :: Int `compare` id (negate _) :: Int = LT+head _ :: Int `compare` id (abs _) :: Int = LT+head _ :: Int `compare` id (_ + _) :: Int = LT+head _ :: Int `compare` id (head _) :: Int = LT+head _ :: Int `compare` id (ord _) :: Int = LT+head _ :: Int `compare` negate x :: Int = GT+head _ :: Int `compare` negate 0 :: Int = LT+head _ :: Int `compare` negate (id _) :: Int = LT+head _ :: Int `compare` abs x :: Int = GT+head _ :: Int `compare` abs 0 :: Int = LT+head _ :: Int `compare` abs (id _) :: Int = LT+head _ :: Int `compare` _ + x :: Int = LT+head _ :: Int `compare` _ + 0 :: Int = LT+head _ :: Int `compare` _ + id _ :: Int = LT+head _ :: Int `compare` x + _ :: Int = LT+head _ :: Int `compare` 0 + _ :: Int = LT+head _ :: Int `compare` id _ + _ :: Int = LT+head _ :: Int `compare` _ * _ :: Int = LT+head _ :: Int `compare` f _ :: Int = GT+head _ :: Int `compare` head xs :: Int = LT+head _ :: Int `compare` head [] :: Int = LT+head _ :: Int `compare` head (_:_) :: Int = LT+head _ :: Int `compare` ord c :: Int = GT+head _ :: Int `compare` ord 'a' :: Int = LT+head _ :: Int `compare` q :: Bool = GT+head _ :: Int `compare` not p :: Bool = GT+head _ :: Int `compare` not False :: Bool = LT+head _ :: Int `compare` not True :: Bool = LT+head _ :: Int `compare` not (not _) :: Bool = LT+head _ :: Int `compare` _ || _ :: Bool = LT+head _ :: Int `compare` d :: Char = GT+head _ :: Int `compare` ' ' :: Char = GT+head _ :: Int `compare` ys :: [Int] = GT+head _ :: Int `compare` [0] :: [Int] = GT+head _ :: Int `compare` _:xs :: [Int] = LT+head _ :: Int `compare` [_] :: [Int] = LT+head _ :: Int `compare` _:_:_ :: [Int] = LT+head _ :: Int `compare` x:_ :: [Int] = LT+head _ :: Int `compare` 0:_ :: [Int] = LT+head _ :: Int `compare` id _:_ :: [Int] = LT+head _ :: Int `compare` tail _ :: [Int] = LT+head _ :: Int `compare` _ ++ _ :: [Int] = LT+head _ :: Int `compare` negate :: Int -> Int = GT+head _ :: Int `compare` abs :: Int -> Int = GT+head _ :: Int `compare` (_ +) :: Int -> Int = LT+head _ :: Int `compare` (*) :: Int -> Int -> Int = GT+head _ :: Int `compare` not :: Bool -> Bool = GT+head _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+ord _ :: Int `compare` z :: Int = GT+ord _ :: Int `compare` -1 :: Int = GT+ord _ :: Int `compare` id y :: Int = LT+ord _ :: Int `compare` id 1 :: Int = LT+ord _ :: Int `compare` id (id x) :: Int = LT+ord _ :: Int `compare` id (id 0) :: Int = LT+ord _ :: Int `compare` id (id (id _)) :: Int = LT+ord _ :: Int `compare` id (negate _) :: Int = LT+ord _ :: Int `compare` id (abs _) :: Int = LT+ord _ :: Int `compare` id (_ + _) :: Int = LT+ord _ :: Int `compare` id (head _) :: Int = LT+ord _ :: Int `compare` id (ord _) :: Int = LT+ord _ :: Int `compare` negate x :: Int = LT+ord _ :: Int `compare` negate 0 :: Int = LT+ord _ :: Int `compare` negate (id _) :: Int = LT+ord _ :: Int `compare` abs x :: Int = LT+ord _ :: Int `compare` abs 0 :: Int = LT+ord _ :: Int `compare` abs (id _) :: Int = LT+ord _ :: Int `compare` _ + x :: Int = LT+ord _ :: Int `compare` _ + 0 :: Int = LT+ord _ :: Int `compare` _ + id _ :: Int = LT+ord _ :: Int `compare` x + _ :: Int = LT+ord _ :: Int `compare` 0 + _ :: Int = LT+ord _ :: Int `compare` id _ + _ :: Int = LT+ord _ :: Int `compare` _ * _ :: Int = LT+ord _ :: Int `compare` f _ :: Int = GT+ord _ :: Int `compare` head xs :: Int = LT+ord _ :: Int `compare` head [] :: Int = LT+ord _ :: Int `compare` head (_:_) :: Int = LT+ord _ :: Int `compare` ord c :: Int = LT+ord _ :: Int `compare` ord 'a' :: Int = LT+ord _ :: Int `compare` q :: Bool = GT+ord _ :: Int `compare` not p :: Bool = GT+ord _ :: Int `compare` not False :: Bool = LT+ord _ :: Int `compare` not True :: Bool = LT+ord _ :: Int `compare` not (not _) :: Bool = LT+ord _ :: Int `compare` _ || _ :: Bool = LT+ord _ :: Int `compare` d :: Char = GT+ord _ :: Int `compare` ' ' :: Char = GT+ord _ :: Int `compare` ys :: [Int] = GT+ord _ :: Int `compare` [0] :: [Int] = GT+ord _ :: Int `compare` _:xs :: [Int] = LT+ord _ :: Int `compare` [_] :: [Int] = LT+ord _ :: Int `compare` _:_:_ :: [Int] = LT+ord _ :: Int `compare` x:_ :: [Int] = LT+ord _ :: Int `compare` 0:_ :: [Int] = LT+ord _ :: Int `compare` id _:_ :: [Int] = LT+ord _ :: Int `compare` tail _ :: [Int] = LT+ord _ :: Int `compare` _ ++ _ :: [Int] = LT+ord _ :: Int `compare` negate :: Int -> Int = GT+ord _ :: Int `compare` abs :: Int -> Int = GT+ord _ :: Int `compare` (_ +) :: Int -> Int = LT+ord _ :: Int `compare` (*) :: Int -> Int -> Int = GT+ord _ :: Int `compare` not :: Bool -> Bool = GT+ord _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT+p :: Bool `compare` z :: Int = LT+p :: Bool `compare` -1 :: Int = LT+p :: Bool `compare` id y :: Int = LT+p :: Bool `compare` id 1 :: Int = LT+p :: Bool `compare` id (id x) :: Int = LT+p :: Bool `compare` id (id 0) :: Int = LT+p :: Bool `compare` id (id (id _)) :: Int = LT+p :: Bool `compare` id (negate _) :: Int = LT+p :: Bool `compare` id (abs _) :: Int = LT+p :: Bool `compare` id (_ + _) :: Int = LT+p :: Bool `compare` id (head _) :: Int = LT+p :: Bool `compare` id (ord _) :: Int = LT+p :: Bool `compare` negate x :: Int = LT+p :: Bool `compare` negate 0 :: Int = LT+p :: Bool `compare` negate (id _) :: Int = LT+p :: Bool `compare` abs x :: Int = LT+p :: Bool `compare` abs 0 :: Int = LT+p :: Bool `compare` abs (id _) :: Int = LT+p :: Bool `compare` _ + x :: Int = LT+p :: Bool `compare` _ + 0 :: Int = LT+p :: Bool `compare` _ + id _ :: Int = LT+p :: Bool `compare` x + _ :: Int = LT+p :: Bool `compare` 0 + _ :: Int = LT+p :: Bool `compare` id _ + _ :: Int = LT+p :: Bool `compare` _ * _ :: Int = LT+p :: Bool `compare` f _ :: Int = LT+p :: Bool `compare` head xs :: Int = LT+p :: Bool `compare` head [] :: Int = LT+p :: Bool `compare` head (_:_) :: Int = LT+p :: Bool `compare` ord c :: Int = LT+p :: Bool `compare` ord 'a' :: Int = LT+p :: Bool `compare` q :: Bool = LT+p :: Bool `compare` not p :: Bool = LT+p :: Bool `compare` not False :: Bool = LT+p :: Bool `compare` not True :: Bool = LT+p :: Bool `compare` not (not _) :: Bool = LT+p :: Bool `compare` _ || _ :: Bool = LT+p :: Bool `compare` d :: Char = LT+p :: Bool `compare` ' ' :: Char = LT+p :: Bool `compare` ys :: [Int] = LT+p :: Bool `compare` [0] :: [Int] = LT+p :: Bool `compare` _:xs :: [Int] = LT+p :: Bool `compare` [_] :: [Int] = LT+p :: Bool `compare` _:_:_ :: [Int] = LT+p :: Bool `compare` x:_ :: [Int] = LT+p :: Bool `compare` 0:_ :: [Int] = LT+p :: Bool `compare` id _:_ :: [Int] = LT+p :: Bool `compare` tail _ :: [Int] = LT+p :: Bool `compare` _ ++ _ :: [Int] = LT+p :: Bool `compare` negate :: Int -> Int = LT+p :: Bool `compare` abs :: Int -> Int = LT+p :: Bool `compare` (_ +) :: Int -> Int = LT+p :: Bool `compare` (*) :: Int -> Int -> Int = LT+p :: Bool `compare` not :: Bool -> Bool = LT+p :: Bool `compare` (||) :: Bool -> Bool -> Bool = LT+False :: Bool `compare` z :: Int = GT+False :: Bool `compare` -1 :: Int = LT+False :: Bool `compare` id y :: Int = LT+False :: Bool `compare` id 1 :: Int = LT+False :: Bool `compare` id (id x) :: Int = LT+False :: Bool `compare` id (id 0) :: Int = LT+False :: Bool `compare` id (id (id _)) :: Int = LT+False :: Bool `compare` id (negate _) :: Int = LT+False :: Bool `compare` id (abs _) :: Int = LT+False :: Bool `compare` id (_ + _) :: Int = LT+False :: Bool `compare` id (head _) :: Int = LT+False :: Bool `compare` id (ord _) :: Int = LT+False :: Bool `compare` negate x :: Int = LT+False :: Bool `compare` negate 0 :: Int = LT+False :: Bool `compare` negate (id _) :: Int = LT+False :: Bool `compare` abs x :: Int = LT+False :: Bool `compare` abs 0 :: Int = LT+False :: Bool `compare` abs (id _) :: Int = LT+False :: Bool `compare` _ + x :: Int = LT+False :: Bool `compare` _ + 0 :: Int = LT+False :: Bool `compare` _ + id _ :: Int = LT+False :: Bool `compare` x + _ :: Int = LT+False :: Bool `compare` 0 + _ :: Int = LT+False :: Bool `compare` id _ + _ :: Int = LT+False :: Bool `compare` _ * _ :: Int = LT+False :: Bool `compare` f _ :: Int = LT+False :: Bool `compare` head xs :: Int = LT+False :: Bool `compare` head [] :: Int = LT+False :: Bool `compare` head (_:_) :: Int = LT+False :: Bool `compare` ord c :: Int = LT+False :: Bool `compare` ord 'a' :: Int = LT+False :: Bool `compare` q :: Bool = GT+False :: Bool `compare` not p :: Bool = LT+False :: Bool `compare` not False :: Bool = LT+False :: Bool `compare` not True :: Bool = LT+False :: Bool `compare` not (not _) :: Bool = LT+False :: Bool `compare` _ || _ :: Bool = LT+False :: Bool `compare` d :: Char = GT+False :: Bool `compare` ' ' :: Char = LT+False :: Bool `compare` ys :: [Int] = GT+False :: Bool `compare` [0] :: [Int] = LT+False :: Bool `compare` _:xs :: [Int] = LT+False :: Bool `compare` [_] :: [Int] = LT+False :: Bool `compare` _:_:_ :: [Int] = LT+False :: Bool `compare` x:_ :: [Int] = LT+False :: Bool `compare` 0:_ :: [Int] = LT+False :: Bool `compare` id _:_ :: [Int] = LT+False :: Bool `compare` tail _ :: [Int] = LT+False :: Bool `compare` _ ++ _ :: [Int] = LT+False :: Bool `compare` negate :: Int -> Int = LT+False :: Bool `compare` abs :: Int -> Int = LT+False :: Bool `compare` (_ +) :: Int -> Int = LT+False :: Bool `compare` (*) :: Int -> Int -> Int = LT+False :: Bool `compare` not :: Bool -> Bool = LT+False :: Bool `compare` (||) :: Bool -> Bool -> Bool = LT+True :: Bool `compare` z :: Int = GT+True :: Bool `compare` -1 :: Int = LT+True :: Bool `compare` id y :: Int = LT+True :: Bool `compare` id 1 :: Int = LT+True :: Bool `compare` id (id x) :: Int = LT+True :: Bool `compare` id (id 0) :: Int = LT+True :: Bool `compare` id (id (id _)) :: Int = LT+True :: Bool `compare` id (negate _) :: Int = LT+True :: Bool `compare` id (abs _) :: Int = LT+True :: Bool `compare` id (_ + _) :: Int = LT+True :: Bool `compare` id (head _) :: Int = LT+True :: Bool `compare` id (ord _) :: Int = LT+True :: Bool `compare` negate x :: Int = LT+True :: Bool `compare` negate 0 :: Int = LT+True :: Bool `compare` negate (id _) :: Int = LT+True :: Bool `compare` abs x :: Int = LT+True :: Bool `compare` abs 0 :: Int = LT+True :: Bool `compare` abs (id _) :: Int = LT+True :: Bool `compare` _ + x :: Int = LT+True :: Bool `compare` _ + 0 :: Int = LT+True :: Bool `compare` _ + id _ :: Int = LT+True :: Bool `compare` x + _ :: Int = LT+True :: Bool `compare` 0 + _ :: Int = LT+True :: Bool `compare` id _ + _ :: Int = LT+True :: Bool `compare` _ * _ :: Int = LT+True :: Bool `compare` f _ :: Int = LT+True :: Bool `compare` head xs :: Int = LT+True :: Bool `compare` head [] :: Int = LT+True :: Bool `compare` head (_:_) :: Int = LT+True :: Bool `compare` ord c :: Int = LT+True :: Bool `compare` ord 'a' :: Int = LT+True :: Bool `compare` q :: Bool = GT+True :: Bool `compare` not p :: Bool = LT+True :: Bool `compare` not False :: Bool = LT+True :: Bool `compare` not True :: Bool = LT+True :: Bool `compare` not (not _) :: Bool = LT+True :: Bool `compare` _ || _ :: Bool = LT+True :: Bool `compare` d :: Char = GT+True :: Bool `compare` ' ' :: Char = LT+True :: Bool `compare` ys :: [Int] = GT+True :: Bool `compare` [0] :: [Int] = LT+True :: Bool `compare` _:xs :: [Int] = LT+True :: Bool `compare` [_] :: [Int] = LT+True :: Bool `compare` _:_:_ :: [Int] = LT+True :: Bool `compare` x:_ :: [Int] = LT+True :: Bool `compare` 0:_ :: [Int] = LT+True :: Bool `compare` id _:_ :: [Int] = LT+True :: Bool `compare` tail _ :: [Int] = LT+True :: Bool `compare` _ ++ _ :: [Int] = LT+True :: Bool `compare` negate :: Int -> Int = LT+True :: Bool `compare` abs :: Int -> Int = LT+True :: Bool `compare` (_ +) :: Int -> Int = LT+True :: Bool `compare` (*) :: Int -> Int -> Int = LT+True :: Bool `compare` not :: Bool -> Bool = LT+True :: Bool `compare` (||) :: Bool -> Bool -> Bool = LT+not _ :: Bool `compare` z :: Int = GT+not _ :: Bool `compare` -1 :: Int = GT+not _ :: Bool `compare` id y :: Int = LT+not _ :: Bool `compare` id 1 :: Int = LT+not _ :: Bool `compare` id (id x) :: Int = LT+not _ :: Bool `compare` id (id 0) :: Int = LT+not _ :: Bool `compare` id (id (id _)) :: Int = LT+not _ :: Bool `compare` id (negate _) :: Int = LT+not _ :: Bool `compare` id (abs _) :: Int = LT+not _ :: Bool `compare` id (_ + _) :: Int = LT+not _ :: Bool `compare` id (head _) :: Int = LT+not _ :: Bool `compare` id (ord _) :: Int = LT+not _ :: Bool `compare` negate x :: Int = LT+not _ :: Bool `compare` negate 0 :: Int = LT+not _ :: Bool `compare` negate (id _) :: Int = LT+not _ :: Bool `compare` abs x :: Int = LT+not _ :: Bool `compare` abs 0 :: Int = LT+not _ :: Bool `compare` abs (id _) :: Int = LT+not _ :: Bool `compare` _ + x :: Int = LT+not _ :: Bool `compare` _ + 0 :: Int = LT+not _ :: Bool `compare` _ + id _ :: Int = LT+not _ :: Bool `compare` x + _ :: Int = LT+not _ :: Bool `compare` 0 + _ :: Int = LT+not _ :: Bool `compare` id _ + _ :: Int = LT+not _ :: Bool `compare` _ * _ :: Int = LT+not _ :: Bool `compare` f _ :: Int = GT+not _ :: Bool `compare` head xs :: Int = LT+not _ :: Bool `compare` head [] :: Int = LT+not _ :: Bool `compare` head (_:_) :: Int = LT+not _ :: Bool `compare` ord c :: Int = LT+not _ :: Bool `compare` ord 'a' :: Int = LT+not _ :: Bool `compare` q :: Bool = GT+not _ :: Bool `compare` not p :: Bool = LT+not _ :: Bool `compare` not False :: Bool = LT+not _ :: Bool `compare` not True :: Bool = LT+not _ :: Bool `compare` not (not _) :: Bool = LT+not _ :: Bool `compare` _ || _ :: Bool = LT+not _ :: Bool `compare` d :: Char = GT+not _ :: Bool `compare` ' ' :: Char = GT+not _ :: Bool `compare` ys :: [Int] = GT+not _ :: Bool `compare` [0] :: [Int] = GT+not _ :: Bool `compare` _:xs :: [Int] = LT+not _ :: Bool `compare` [_] :: [Int] = LT+not _ :: Bool `compare` _:_:_ :: [Int] = LT+not _ :: Bool `compare` x:_ :: [Int] = LT+not _ :: Bool `compare` 0:_ :: [Int] = LT+not _ :: Bool `compare` id _:_ :: [Int] = LT+not _ :: Bool `compare` tail _ :: [Int] = LT+not _ :: Bool `compare` _ ++ _ :: [Int] = LT+not _ :: Bool `compare` negate :: Int -> Int = GT+not _ :: Bool `compare` abs :: Int -> Int = GT+not _ :: Bool `compare` (_ +) :: Int -> Int = LT+not _ :: Bool `compare` (*) :: Int -> Int -> Int = GT+not _ :: Bool `compare` not :: Bool -> Bool = GT+not _ :: Bool `compare` (||) :: Bool -> Bool -> Bool = GT+c :: Char `compare` z :: Int = LT+c :: Char `compare` -1 :: Int = LT+c :: Char `compare` id y :: Int = LT+c :: Char `compare` id 1 :: Int = LT+c :: Char `compare` id (id x) :: Int = LT+c :: Char `compare` id (id 0) :: Int = LT+c :: Char `compare` id (id (id _)) :: Int = LT+c :: Char `compare` id (negate _) :: Int = LT+c :: Char `compare` id (abs _) :: Int = LT+c :: Char `compare` id (_ + _) :: Int = LT+c :: Char `compare` id (head _) :: Int = LT+c :: Char `compare` id (ord _) :: Int = LT+c :: Char `compare` negate x :: Int = LT+c :: Char `compare` negate 0 :: Int = LT+c :: Char `compare` negate (id _) :: Int = LT+c :: Char `compare` abs x :: Int = LT+c :: Char `compare` abs 0 :: Int = LT+c :: Char `compare` abs (id _) :: Int = LT+c :: Char `compare` _ + x :: Int = LT+c :: Char `compare` _ + 0 :: Int = LT+c :: Char `compare` _ + id _ :: Int = LT+c :: Char `compare` x + _ :: Int = LT+c :: Char `compare` 0 + _ :: Int = LT+c :: Char `compare` id _ + _ :: Int = LT+c :: Char `compare` _ * _ :: Int = LT+c :: Char `compare` f _ :: Int = LT+c :: Char `compare` head xs :: Int = LT+c :: Char `compare` head [] :: Int = LT+c :: Char `compare` head (_:_) :: Int = LT+c :: Char `compare` ord c :: Int = LT+c :: Char `compare` ord 'a' :: Int = LT+c :: Char `compare` q :: Bool = GT+c :: Char `compare` not p :: Bool = LT+c :: Char `compare` not False :: Bool = LT+c :: Char `compare` not True :: Bool = LT+c :: Char `compare` not (not _) :: Bool = LT+c :: Char `compare` _ || _ :: Bool = LT+c :: Char `compare` d :: Char = LT+c :: Char `compare` ' ' :: Char = LT+c :: Char `compare` ys :: [Int] = LT+c :: Char `compare` [0] :: [Int] = LT+c :: Char `compare` _:xs :: [Int] = LT+c :: Char `compare` [_] :: [Int] = LT+c :: Char `compare` _:_:_ :: [Int] = LT+c :: Char `compare` x:_ :: [Int] = LT+c :: Char `compare` 0:_ :: [Int] = LT+c :: Char `compare` id _:_ :: [Int] = LT+c :: Char `compare` tail _ :: [Int] = LT+c :: Char `compare` _ ++ _ :: [Int] = LT+c :: Char `compare` negate :: Int -> Int = LT+c :: Char `compare` abs :: Int -> Int = LT+c :: Char `compare` (_ +) :: Int -> Int = LT+c :: Char `compare` (*) :: Int -> Int -> Int = LT+c :: Char `compare` not :: Bool -> Bool = LT+c :: Char `compare` (||) :: Bool -> Bool -> Bool = LT+'a' :: Char `compare` z :: Int = GT+'a' :: Char `compare` -1 :: Int = LT+'a' :: Char `compare` id y :: Int = LT+'a' :: Char `compare` id 1 :: Int = LT+'a' :: Char `compare` id (id x) :: Int = LT+'a' :: Char `compare` id (id 0) :: Int = LT+'a' :: Char `compare` id (id (id _)) :: Int = LT+'a' :: Char `compare` id (negate _) :: Int = LT+'a' :: Char `compare` id (abs _) :: Int = LT+'a' :: Char `compare` id (_ + _) :: Int = LT+'a' :: Char `compare` id (head _) :: Int = LT+'a' :: Char `compare` id (ord _) :: Int = LT+'a' :: Char `compare` negate x :: Int = LT+'a' :: Char `compare` negate 0 :: Int = LT+'a' :: Char `compare` negate (id _) :: Int = LT+'a' :: Char `compare` abs x :: Int = LT+'a' :: Char `compare` abs 0 :: Int = LT+'a' :: Char `compare` abs (id _) :: Int = LT+'a' :: Char `compare` _ + x :: Int = LT+'a' :: Char `compare` _ + 0 :: Int = LT+'a' :: Char `compare` _ + id _ :: Int = LT+'a' :: Char `compare` x + _ :: Int = LT+'a' :: Char `compare` 0 + _ :: Int = LT+'a' :: Char `compare` id _ + _ :: Int = LT+'a' :: Char `compare` _ * _ :: Int = LT+'a' :: Char `compare` f _ :: Int = LT+'a' :: Char `compare` head xs :: Int = LT+'a' :: Char `compare` head [] :: Int = LT+'a' :: Char `compare` head (_:_) :: Int = LT+'a' :: Char `compare` ord c :: Int = LT+'a' :: Char `compare` ord 'a' :: Int = LT+'a' :: Char `compare` q :: Bool = GT+'a' :: Char `compare` not p :: Bool = LT+'a' :: Char `compare` not False :: Bool = LT+'a' :: Char `compare` not True :: Bool = LT+'a' :: Char `compare` not (not _) :: Bool = LT+'a' :: Char `compare` _ || _ :: Bool = LT+'a' :: Char `compare` d :: Char = GT+'a' :: Char `compare` ' ' :: Char = GT+'a' :: Char `compare` ys :: [Int] = GT+'a' :: Char `compare` [0] :: [Int] = LT+'a' :: Char `compare` _:xs :: [Int] = LT+'a' :: Char `compare` [_] :: [Int] = LT+'a' :: Char `compare` _:_:_ :: [Int] = LT+'a' :: Char `compare` x:_ :: [Int] = LT+'a' :: Char `compare` 0:_ :: [Int] = LT+'a' :: Char `compare` id _:_ :: [Int] = LT+'a' :: Char `compare` tail _ :: [Int] = LT+'a' :: Char `compare` _ ++ _ :: [Int] = LT+'a' :: Char `compare` negate :: Int -> Int = LT+'a' :: Char `compare` abs :: Int -> Int = LT+'a' :: Char `compare` (_ +) :: Int -> Int = LT+'a' :: Char `compare` (*) :: Int -> Int -> Int = LT+'a' :: Char `compare` not :: Bool -> Bool = LT+'a' :: Char `compare` (||) :: Bool -> Bool -> Bool = LT+xs :: [Int] `compare` z :: Int = GT+xs :: [Int] `compare` -1 :: Int = LT+xs :: [Int] `compare` id y :: Int = LT+xs :: [Int] `compare` id 1 :: Int = LT+xs :: [Int] `compare` id (id x) :: Int = LT+xs :: [Int] `compare` id (id 0) :: Int = LT+xs :: [Int] `compare` id (id (id _)) :: Int = LT+xs :: [Int] `compare` id (negate _) :: Int = LT+xs :: [Int] `compare` id (abs _) :: Int = LT+xs :: [Int] `compare` id (_ + _) :: Int = LT+xs :: [Int] `compare` id (head _) :: Int = LT+xs :: [Int] `compare` id (ord _) :: Int = LT+xs :: [Int] `compare` negate x :: Int = LT+xs :: [Int] `compare` negate 0 :: Int = LT+xs :: [Int] `compare` negate (id _) :: Int = LT+xs :: [Int] `compare` abs x :: Int = LT+xs :: [Int] `compare` abs 0 :: Int = LT+xs :: [Int] `compare` abs (id _) :: Int = LT+xs :: [Int] `compare` _ + x :: Int = LT+xs :: [Int] `compare` _ + 0 :: Int = LT+xs :: [Int] `compare` _ + id _ :: Int = LT+xs :: [Int] `compare` x + _ :: Int = LT+xs :: [Int] `compare` 0 + _ :: Int = LT+xs :: [Int] `compare` id _ + _ :: Int = LT+xs :: [Int] `compare` _ * _ :: Int = LT+xs :: [Int] `compare` f _ :: Int = LT+xs :: [Int] `compare` head xs :: Int = LT+xs :: [Int] `compare` head [] :: Int = LT+xs :: [Int] `compare` head (_:_) :: Int = LT+xs :: [Int] `compare` ord c :: Int = LT+xs :: [Int] `compare` ord 'a' :: Int = LT+xs :: [Int] `compare` q :: Bool = GT+xs :: [Int] `compare` not p :: Bool = LT+xs :: [Int] `compare` not False :: Bool = LT+xs :: [Int] `compare` not True :: Bool = LT+xs :: [Int] `compare` not (not _) :: Bool = LT+xs :: [Int] `compare` _ || _ :: Bool = LT+xs :: [Int] `compare` d :: Char = GT+xs :: [Int] `compare` ' ' :: Char = LT+xs :: [Int] `compare` ys :: [Int] = LT+xs :: [Int] `compare` [0] :: [Int] = LT+xs :: [Int] `compare` _:xs :: [Int] = LT+xs :: [Int] `compare` [_] :: [Int] = LT+xs :: [Int] `compare` _:_:_ :: [Int] = LT+xs :: [Int] `compare` x:_ :: [Int] = LT+xs :: [Int] `compare` 0:_ :: [Int] = LT+xs :: [Int] `compare` id _:_ :: [Int] = LT+xs :: [Int] `compare` tail _ :: [Int] = LT+xs :: [Int] `compare` _ ++ _ :: [Int] = LT+xs :: [Int] `compare` negate :: Int -> Int = LT+xs :: [Int] `compare` abs :: Int -> Int = LT+xs :: [Int] `compare` (_ +) :: Int -> Int = LT+xs :: [Int] `compare` (*) :: Int -> Int -> Int = LT+xs :: [Int] `compare` not :: Bool -> Bool = LT+xs :: [Int] `compare` (||) :: Bool -> Bool -> Bool = LT+[] :: [Int] `compare` z :: Int = GT+[] :: [Int] `compare` -1 :: Int = GT+[] :: [Int] `compare` id y :: Int = LT+[] :: [Int] `compare` id 1 :: Int = LT+[] :: [Int] `compare` id (id x) :: Int = LT+[] :: [Int] `compare` id (id 0) :: Int = LT+[] :: [Int] `compare` id (id (id _)) :: Int = LT+[] :: [Int] `compare` id (negate _) :: Int = LT+[] :: [Int] `compare` id (abs _) :: Int = LT+[] :: [Int] `compare` id (_ + _) :: Int = LT+[] :: [Int] `compare` id (head _) :: Int = LT+[] :: [Int] `compare` id (ord _) :: Int = LT+[] :: [Int] `compare` negate x :: Int = LT+[] :: [Int] `compare` negate 0 :: Int = LT+[] :: [Int] `compare` negate (id _) :: Int = LT+[] :: [Int] `compare` abs x :: Int = LT+[] :: [Int] `compare` abs 0 :: Int = LT+[] :: [Int] `compare` abs (id _) :: Int = LT+[] :: [Int] `compare` _ + x :: Int = LT+[] :: [Int] `compare` _ + 0 :: Int = LT+[] :: [Int] `compare` _ + id _ :: Int = LT+[] :: [Int] `compare` x + _ :: Int = LT+[] :: [Int] `compare` 0 + _ :: Int = LT+[] :: [Int] `compare` id _ + _ :: Int = LT+[] :: [Int] `compare` _ * _ :: Int = LT+[] :: [Int] `compare` f _ :: Int = LT+[] :: [Int] `compare` head xs :: Int = LT+[] :: [Int] `compare` head [] :: Int = LT+[] :: [Int] `compare` head (_:_) :: Int = LT+[] :: [Int] `compare` ord c :: Int = LT+[] :: [Int] `compare` ord 'a' :: Int = LT+[] :: [Int] `compare` q :: Bool = GT+[] :: [Int] `compare` not p :: Bool = LT+[] :: [Int] `compare` not False :: Bool = LT+[] :: [Int] `compare` not True :: Bool = LT+[] :: [Int] `compare` not (not _) :: Bool = LT+[] :: [Int] `compare` _ || _ :: Bool = LT+[] :: [Int] `compare` d :: Char = GT+[] :: [Int] `compare` ' ' :: Char = GT+[] :: [Int] `compare` ys :: [Int] = GT+[] :: [Int] `compare` [0] :: [Int] = LT+[] :: [Int] `compare` _:xs :: [Int] = LT+[] :: [Int] `compare` [_] :: [Int] = LT+[] :: [Int] `compare` _:_:_ :: [Int] = LT+[] :: [Int] `compare` x:_ :: [Int] = LT+[] :: [Int] `compare` 0:_ :: [Int] = LT+[] :: [Int] `compare` id _:_ :: [Int] = LT+[] :: [Int] `compare` tail _ :: [Int] = LT+[] :: [Int] `compare` _ ++ _ :: [Int] = LT+[] :: [Int] `compare` negate :: Int -> Int = LT+[] :: [Int] `compare` abs :: Int -> Int = LT+[] :: [Int] `compare` (_ +) :: Int -> Int = LT+[] :: [Int] `compare` (*) :: Int -> Int -> Int = LT+[] :: [Int] `compare` not :: Bool -> Bool = LT+[] :: [Int] `compare` (||) :: Bool -> Bool -> Bool = LT+_:_ :: [Int] `compare` z :: Int = GT+_:_ :: [Int] `compare` -1 :: Int = GT+_:_ :: [Int] `compare` id y :: Int = GT+_:_ :: [Int] `compare` id 1 :: Int = GT+_:_ :: [Int] `compare` id (id x) :: Int = LT+_:_ :: [Int] `compare` id (id 0) :: Int = LT+_:_ :: [Int] `compare` id (id (id _)) :: Int = LT+_:_ :: [Int] `compare` id (negate _) :: Int = LT+_:_ :: [Int] `compare` id (abs _) :: Int = LT+_:_ :: [Int] `compare` id (_ + _) :: Int = LT+_:_ :: [Int] `compare` id (head _) :: Int = LT+_:_ :: [Int] `compare` id (ord _) :: Int = LT+_:_ :: [Int] `compare` negate x :: Int = GT+_:_ :: [Int] `compare` negate 0 :: Int = GT+_:_ :: [Int] `compare` negate (id _) :: Int = LT+_:_ :: [Int] `compare` abs x :: Int = GT+_:_ :: [Int] `compare` abs 0 :: Int = GT+_:_ :: [Int] `compare` abs (id _) :: Int = LT+_:_ :: [Int] `compare` _ + x :: Int = GT+_:_ :: [Int] `compare` _ + 0 :: Int = LT+_:_ :: [Int] `compare` _ + id _ :: Int = LT+_:_ :: [Int] `compare` x + _ :: Int = GT+_:_ :: [Int] `compare` 0 + _ :: Int = LT+_:_ :: [Int] `compare` id _ + _ :: Int = LT+_:_ :: [Int] `compare` _ * _ :: Int = LT+_:_ :: [Int] `compare` f _ :: Int = GT+_:_ :: [Int] `compare` head xs :: Int = GT+_:_ :: [Int] `compare` head [] :: Int = GT+_:_ :: [Int] `compare` head (_:_) :: Int = LT+_:_ :: [Int] `compare` ord c :: Int = GT+_:_ :: [Int] `compare` ord 'a' :: Int = GT+_:_ :: [Int] `compare` q :: Bool = GT+_:_ :: [Int] `compare` not p :: Bool = GT+_:_ :: [Int] `compare` not False :: Bool = GT+_:_ :: [Int] `compare` not True :: Bool = GT+_:_ :: [Int] `compare` not (not _) :: Bool = LT+_:_ :: [Int] `compare` _ || _ :: Bool = LT+_:_ :: [Int] `compare` d :: Char = GT+_:_ :: [Int] `compare` ' ' :: Char = GT+_:_ :: [Int] `compare` ys :: [Int] = GT+_:_ :: [Int] `compare` [0] :: [Int] = GT+_:_ :: [Int] `compare` _:xs :: [Int] = LT+_:_ :: [Int] `compare` [_] :: [Int] = LT+_:_ :: [Int] `compare` _:_:_ :: [Int] = LT+_:_ :: [Int] `compare` x:_ :: [Int] = LT+_:_ :: [Int] `compare` 0:_ :: [Int] = LT+_:_ :: [Int] `compare` id _:_ :: [Int] = LT+_:_ :: [Int] `compare` tail _ :: [Int] = GT+_:_ :: [Int] `compare` _ ++ _ :: [Int] = LT+_:_ :: [Int] `compare` negate :: Int -> Int = GT+_:_ :: [Int] `compare` abs :: Int -> Int = GT+_:_ :: [Int] `compare` (_ +) :: Int -> Int = GT+_:_ :: [Int] `compare` (*) :: Int -> Int -> Int = GT+_:_ :: [Int] `compare` not :: Bool -> Bool = GT+_:_ :: [Int] `compare` (||) :: Bool -> Bool -> Bool = GT+id :: Int -> Int `compare` z :: Int = GT+id :: Int -> Int `compare` -1 :: Int = GT+id :: Int -> Int `compare` id y :: Int = LT+id :: Int -> Int `compare` id 1 :: Int = LT+id :: Int -> Int `compare` id (id x) :: Int = LT+id :: Int -> Int `compare` id (id 0) :: Int = LT+id :: Int -> Int `compare` id (id (id _)) :: Int = LT+id :: Int -> Int `compare` id (negate _) :: Int = LT+id :: Int -> Int `compare` id (abs _) :: Int = LT+id :: Int -> Int `compare` id (_ + _) :: Int = LT+id :: Int -> Int `compare` id (head _) :: Int = LT+id :: Int -> Int `compare` id (ord _) :: Int = LT+id :: Int -> Int `compare` negate x :: Int = LT+id :: Int -> Int `compare` negate 0 :: Int = LT+id :: Int -> Int `compare` negate (id _) :: Int = LT+id :: Int -> Int `compare` abs x :: Int = LT+id :: Int -> Int `compare` abs 0 :: Int = LT+id :: Int -> Int `compare` abs (id _) :: Int = LT+id :: Int -> Int `compare` _ + x :: Int = LT+id :: Int -> Int `compare` _ + 0 :: Int = LT+id :: Int -> Int `compare` _ + id _ :: Int = LT+id :: Int -> Int `compare` x + _ :: Int = LT+id :: Int -> Int `compare` 0 + _ :: Int = LT+id :: Int -> Int `compare` id _ + _ :: Int = LT+id :: Int -> Int `compare` _ * _ :: Int = LT+id :: Int -> Int `compare` f _ :: Int = LT+id :: Int -> Int `compare` head xs :: Int = LT+id :: Int -> Int `compare` head [] :: Int = LT+id :: Int -> Int `compare` head (_:_) :: Int = LT+id :: Int -> Int `compare` ord c :: Int = LT+id :: Int -> Int `compare` ord 'a' :: Int = LT+id :: Int -> Int `compare` q :: Bool = GT+id :: Int -> Int `compare` not p :: Bool = LT+id :: Int -> Int `compare` not False :: Bool = LT+id :: Int -> Int `compare` not True :: Bool = LT+id :: Int -> Int `compare` not (not _) :: Bool = LT+id :: Int -> Int `compare` _ || _ :: Bool = LT+id :: Int -> Int `compare` d :: Char = GT+id :: Int -> Int `compare` ' ' :: Char = GT+id :: Int -> Int `compare` ys :: [Int] = GT+id :: Int -> Int `compare` [0] :: [Int] = GT+id :: Int -> Int `compare` _:xs :: [Int] = LT+id :: Int -> Int `compare` [_] :: [Int] = LT+id :: Int -> Int `compare` _:_:_ :: [Int] = LT+id :: Int -> Int `compare` x:_ :: [Int] = LT+id :: Int -> Int `compare` 0:_ :: [Int] = LT+id :: Int -> Int `compare` id _:_ :: [Int] = LT+id :: Int -> Int `compare` tail _ :: [Int] = LT+id :: Int -> Int `compare` _ ++ _ :: [Int] = LT+id :: Int -> Int `compare` negate :: Int -> Int = LT+id :: Int -> Int `compare` abs :: Int -> Int = LT+id :: Int -> Int `compare` (_ +) :: Int -> Int = LT+id :: Int -> Int `compare` (*) :: Int -> Int -> Int = LT+id :: Int -> Int `compare` not :: Bool -> Bool = GT+id :: Int -> Int `compare` (||) :: Bool -> Bool -> Bool = LT+(+) :: Int -> Int -> Int `compare` z :: Int = GT+(+) :: Int -> Int -> Int `compare` -1 :: Int = GT+(+) :: Int -> Int -> Int `compare` id y :: Int = LT+(+) :: Int -> Int -> Int `compare` id 1 :: Int = LT+(+) :: Int -> Int -> Int `compare` id (id x) :: Int = LT+(+) :: Int -> Int -> Int `compare` id (id 0) :: Int = LT+(+) :: Int -> Int -> Int `compare` id (id (id _)) :: Int = LT+(+) :: Int -> Int -> Int `compare` id (negate _) :: Int = LT+(+) :: Int -> Int -> Int `compare` id (abs _) :: Int = LT+(+) :: Int -> Int -> Int `compare` id (_ + _) :: Int = LT+(+) :: Int -> Int -> Int `compare` id (head _) :: Int = LT+(+) :: Int -> Int -> Int `compare` id (ord _) :: Int = LT+(+) :: Int -> Int -> Int `compare` negate x :: Int = LT+(+) :: Int -> Int -> Int `compare` negate 0 :: Int = LT+(+) :: Int -> Int -> Int `compare` negate (id _) :: Int = LT+(+) :: Int -> Int -> Int `compare` abs x :: Int = LT+(+) :: Int -> Int -> Int `compare` abs 0 :: Int = LT+(+) :: Int -> Int -> Int `compare` abs (id _) :: Int = LT+(+) :: Int -> Int -> Int `compare` _ + x :: Int = LT+(+) :: Int -> Int -> Int `compare` _ + 0 :: Int = LT+(+) :: Int -> Int -> Int `compare` _ + id _ :: Int = LT+(+) :: Int -> Int -> Int `compare` x + _ :: Int = LT+(+) :: Int -> Int -> Int `compare` 0 + _ :: Int = LT+(+) :: Int -> Int -> Int `compare` id _ + _ :: Int = LT+(+) :: Int -> Int -> Int `compare` _ * _ :: Int = LT+(+) :: Int -> Int -> Int `compare` f _ :: Int = LT+(+) :: Int -> Int -> Int `compare` head xs :: Int = LT+(+) :: Int -> Int -> Int `compare` head [] :: Int = LT+(+) :: Int -> Int -> Int `compare` head (_:_) :: Int = LT+(+) :: Int -> Int -> Int `compare` ord c :: Int = LT+(+) :: Int -> Int -> Int `compare` ord 'a' :: Int = LT+(+) :: Int -> Int -> Int `compare` q :: Bool = GT+(+) :: Int -> Int -> Int `compare` not p :: Bool = LT+(+) :: Int -> Int -> Int `compare` not False :: Bool = LT+(+) :: Int -> Int -> Int `compare` not True :: Bool = LT+(+) :: Int -> Int -> Int `compare` not (not _) :: Bool = LT+(+) :: Int -> Int -> Int `compare` _ || _ :: Bool = LT+(+) :: Int -> Int -> Int `compare` d :: Char = GT+(+) :: Int -> Int -> Int `compare` ' ' :: Char = GT+(+) :: Int -> Int -> Int `compare` ys :: [Int] = GT+(+) :: Int -> Int -> Int `compare` [0] :: [Int] = GT+(+) :: Int -> Int -> Int `compare` _:xs :: [Int] = LT+(+) :: Int -> Int -> Int `compare` [_] :: [Int] = LT+(+) :: Int -> Int -> Int `compare` _:_:_ :: [Int] = LT+(+) :: Int -> Int -> Int `compare` x:_ :: [Int] = LT+(+) :: Int -> Int -> Int `compare` 0:_ :: [Int] = LT+(+) :: Int -> Int -> Int `compare` id _:_ :: [Int] = LT+(+) :: Int -> Int -> Int `compare` tail _ :: [Int] = LT+(+) :: Int -> Int -> Int `compare` _ ++ _ :: [Int] = LT+(+) :: Int -> Int -> Int `compare` negate :: Int -> Int = GT+(+) :: Int -> Int -> Int `compare` abs :: Int -> Int = GT+(+) :: Int -> Int -> Int `compare` (_ +) :: Int -> Int = LT+(+) :: Int -> Int -> Int `compare` (*) :: Int -> Int -> Int = GT+(+) :: Int -> Int -> Int `compare` not :: Bool -> Bool = GT+(+) :: Int -> Int -> Int `compare` (||) :: Bool -> Bool -> Bool = GT+z :: Int `compare` y :: Int = GT+z :: Int `compare` 1 :: Int = LT+z :: Int `compare` id x :: Int = LT+z :: Int `compare` id 0 :: Int = LT+z :: Int `compare` id (id _) :: Int = LT+z :: Int `compare` negate _ :: Int = LT+z :: Int `compare` abs _ :: Int = LT+z :: Int `compare` _ + _ :: Int = LT+z :: Int `compare` head _ :: Int = LT+z :: Int `compare` ord _ :: Int = LT+z :: Int `compare` p :: Bool = GT+z :: Int `compare` False :: Bool = LT+z :: Int `compare` True :: Bool = LT+z :: Int `compare` not _ :: Bool = LT+z :: Int `compare` c :: Char = GT+z :: Int `compare` 'a' :: Char = LT+z :: Int `compare` xs :: [Int] = LT+z :: Int `compare` [] :: [Int] = LT+z :: Int `compare` _:_ :: [Int] = LT+z :: Int `compare` id :: Int -> Int = LT+z :: Int `compare` (+) :: Int -> Int -> Int = LT+-1 :: Int `compare` y :: Int = GT+-1 :: Int `compare` 1 :: Int = GT+-1 :: Int `compare` id x :: Int = LT+-1 :: Int `compare` id 0 :: Int = LT+-1 :: Int `compare` id (id _) :: Int = LT+-1 :: Int `compare` negate _ :: Int = LT+-1 :: Int `compare` abs _ :: Int = LT+-1 :: Int `compare` _ + _ :: Int = LT+-1 :: Int `compare` head _ :: Int = LT+-1 :: Int `compare` ord _ :: Int = LT+-1 :: Int `compare` p :: Bool = GT+-1 :: Int `compare` False :: Bool = GT+-1 :: Int `compare` True :: Bool = GT+-1 :: Int `compare` not _ :: Bool = LT+-1 :: Int `compare` c :: Char = GT+-1 :: Int `compare` 'a' :: Char = GT+-1 :: Int `compare` xs :: [Int] = GT+-1 :: Int `compare` [] :: [Int] = LT+-1 :: Int `compare` _:_ :: [Int] = LT+-1 :: Int `compare` id :: Int -> Int = LT+-1 :: Int `compare` (+) :: Int -> Int -> Int = LT+id y :: Int `compare` y :: Int = GT+id y :: Int `compare` 1 :: Int = GT+id y :: Int `compare` id x :: Int = GT+id y :: Int `compare` id 0 :: Int = LT+id y :: Int `compare` id (id _) :: Int = LT+id y :: Int `compare` negate _ :: Int = LT+id y :: Int `compare` abs _ :: Int = LT+id y :: Int `compare` _ + _ :: Int = LT+id y :: Int `compare` head _ :: Int = LT+id y :: Int `compare` ord _ :: Int = GT+id y :: Int `compare` p :: Bool = GT+id y :: Int `compare` False :: Bool = GT+id y :: Int `compare` True :: Bool = GT+id y :: Int `compare` not _ :: Bool = GT+id y :: Int `compare` c :: Char = GT+id y :: Int `compare` 'a' :: Char = GT+id y :: Int `compare` xs :: [Int] = GT+id y :: Int `compare` [] :: [Int] = GT+id y :: Int `compare` _:_ :: [Int] = LT+id y :: Int `compare` id :: Int -> Int = GT+id y :: Int `compare` (+) :: Int -> Int -> Int = GT+id 1 :: Int `compare` y :: Int = GT+id 1 :: Int `compare` 1 :: Int = GT+id 1 :: Int `compare` id x :: Int = GT+id 1 :: Int `compare` id 0 :: Int = GT+id 1 :: Int `compare` id (id _) :: Int = LT+id 1 :: Int `compare` negate _ :: Int = GT+id 1 :: Int `compare` abs _ :: Int = GT+id 1 :: Int `compare` _ + _ :: Int = LT+id 1 :: Int `compare` head _ :: Int = GT+id 1 :: Int `compare` ord _ :: Int = GT+id 1 :: Int `compare` p :: Bool = GT+id 1 :: Int `compare` False :: Bool = GT+id 1 :: Int `compare` True :: Bool = GT+id 1 :: Int `compare` not _ :: Bool = GT+id 1 :: Int `compare` c :: Char = GT+id 1 :: Int `compare` 'a' :: Char = GT+id 1 :: Int `compare` xs :: [Int] = GT+id 1 :: Int `compare` [] :: [Int] = GT+id 1 :: Int `compare` _:_ :: [Int] = LT+id 1 :: Int `compare` id :: Int -> Int = GT+id 1 :: Int `compare` (+) :: Int -> Int -> Int = GT+id (id x) :: Int `compare` y :: Int = GT+id (id x) :: Int `compare` 1 :: Int = GT+id (id x) :: Int `compare` id x :: Int = GT+id (id x) :: Int `compare` id 0 :: Int = GT+id (id x) :: Int `compare` id (id _) :: Int = GT+id (id x) :: Int `compare` negate _ :: Int = GT+id (id x) :: Int `compare` abs _ :: Int = GT+id (id x) :: Int `compare` _ + _ :: Int = GT+id (id x) :: Int `compare` head _ :: Int = GT+id (id x) :: Int `compare` ord _ :: Int = GT+id (id x) :: Int `compare` p :: Bool = GT+id (id x) :: Int `compare` False :: Bool = GT+id (id x) :: Int `compare` True :: Bool = GT+id (id x) :: Int `compare` not _ :: Bool = GT+id (id x) :: Int `compare` c :: Char = GT+id (id x) :: Int `compare` 'a' :: Char = GT+id (id x) :: Int `compare` xs :: [Int] = GT+id (id x) :: Int `compare` [] :: [Int] = GT+id (id x) :: Int `compare` _:_ :: [Int] = GT+id (id x) :: Int `compare` id :: Int -> Int = GT+id (id x) :: Int `compare` (+) :: Int -> Int -> Int = GT+id (id 0) :: Int `compare` y :: Int = GT+id (id 0) :: Int `compare` 1 :: Int = GT+id (id 0) :: Int `compare` id x :: Int = GT+id (id 0) :: Int `compare` id 0 :: Int = GT+id (id 0) :: Int `compare` id (id _) :: Int = GT+id (id 0) :: Int `compare` negate _ :: Int = GT+id (id 0) :: Int `compare` abs _ :: Int = GT+id (id 0) :: Int `compare` _ + _ :: Int = GT+id (id 0) :: Int `compare` head _ :: Int = GT+id (id 0) :: Int `compare` ord _ :: Int = GT+id (id 0) :: Int `compare` p :: Bool = GT+id (id 0) :: Int `compare` False :: Bool = GT+id (id 0) :: Int `compare` True :: Bool = GT+id (id 0) :: Int `compare` not _ :: Bool = GT+id (id 0) :: Int `compare` c :: Char = GT+id (id 0) :: Int `compare` 'a' :: Char = GT+id (id 0) :: Int `compare` xs :: [Int] = GT+id (id 0) :: Int `compare` [] :: [Int] = GT+id (id 0) :: Int `compare` _:_ :: [Int] = GT+id (id 0) :: Int `compare` id :: Int -> Int = GT+id (id 0) :: Int `compare` (+) :: Int -> Int -> Int = GT+id (id (id _)) :: Int `compare` y :: Int = GT+id (id (id _)) :: Int `compare` 1 :: Int = GT+id (id (id _)) :: Int `compare` id x :: Int = GT+id (id (id _)) :: Int `compare` id 0 :: Int = GT+id (id (id _)) :: Int `compare` id (id _) :: Int = GT+id (id (id _)) :: Int `compare` negate _ :: Int = GT+id (id (id _)) :: Int `compare` abs _ :: Int = GT+id (id (id _)) :: Int `compare` _ + _ :: Int = GT+id (id (id _)) :: Int `compare` head _ :: Int = GT+id (id (id _)) :: Int `compare` ord _ :: Int = GT+id (id (id _)) :: Int `compare` p :: Bool = GT+id (id (id _)) :: Int `compare` False :: Bool = GT+id (id (id _)) :: Int `compare` True :: Bool = GT+id (id (id _)) :: Int `compare` not _ :: Bool = GT+id (id (id _)) :: Int `compare` c :: Char = GT+id (id (id _)) :: Int `compare` 'a' :: Char = GT+id (id (id _)) :: Int `compare` xs :: [Int] = GT+id (id (id _)) :: Int `compare` [] :: [Int] = GT+id (id (id _)) :: Int `compare` _:_ :: [Int] = GT+id (id (id _)) :: Int `compare` id :: Int -> Int = GT+id (id (id _)) :: Int `compare` (+) :: Int -> Int -> Int = GT+id (negate _) :: Int `compare` y :: Int = GT+id (negate _) :: Int `compare` 1 :: Int = GT+id (negate _) :: Int `compare` id x :: Int = GT+id (negate _) :: Int `compare` id 0 :: Int = GT+id (negate _) :: Int `compare` id (id _) :: Int = GT+id (negate _) :: Int `compare` negate _ :: Int = GT+id (negate _) :: Int `compare` abs _ :: Int = GT+id (negate _) :: Int `compare` _ + _ :: Int = GT+id (negate _) :: Int `compare` head _ :: Int = GT+id (negate _) :: Int `compare` ord _ :: Int = GT+id (negate _) :: Int `compare` p :: Bool = GT+id (negate _) :: Int `compare` False :: Bool = GT+id (negate _) :: Int `compare` True :: Bool = GT+id (negate _) :: Int `compare` not _ :: Bool = GT+id (negate _) :: Int `compare` c :: Char = GT+id (negate _) :: Int `compare` 'a' :: Char = GT+id (negate _) :: Int `compare` xs :: [Int] = GT+id (negate _) :: Int `compare` [] :: [Int] = GT+id (negate _) :: Int `compare` _:_ :: [Int] = GT+id (negate _) :: Int `compare` id :: Int -> Int = GT+id (negate _) :: Int `compare` (+) :: Int -> Int -> Int = GT+id (abs _) :: Int `compare` y :: Int = GT+id (abs _) :: Int `compare` 1 :: Int = GT+id (abs _) :: Int `compare` id x :: Int = GT+id (abs _) :: Int `compare` id 0 :: Int = GT+id (abs _) :: Int `compare` id (id _) :: Int = GT+id (abs _) :: Int `compare` negate _ :: Int = GT+id (abs _) :: Int `compare` abs _ :: Int = GT+id (abs _) :: Int `compare` _ + _ :: Int = GT+id (abs _) :: Int `compare` head _ :: Int = GT+id (abs _) :: Int `compare` ord _ :: Int = GT+id (abs _) :: Int `compare` p :: Bool = GT+id (abs _) :: Int `compare` False :: Bool = GT+id (abs _) :: Int `compare` True :: Bool = GT+id (abs _) :: Int `compare` not _ :: Bool = GT+id (abs _) :: Int `compare` c :: Char = GT+id (abs _) :: Int `compare` 'a' :: Char = GT+id (abs _) :: Int `compare` xs :: [Int] = GT+id (abs _) :: Int `compare` [] :: [Int] = GT+id (abs _) :: Int `compare` _:_ :: [Int] = GT+id (abs _) :: Int `compare` id :: Int -> Int = GT+id (abs _) :: Int `compare` (+) :: Int -> Int -> Int = GT+id (_ + _) :: Int `compare` y :: Int = GT+id (_ + _) :: Int `compare` 1 :: Int = GT+id (_ + _) :: Int `compare` id x :: Int = GT+id (_ + _) :: Int `compare` id 0 :: Int = GT+id (_ + _) :: Int `compare` id (id _) :: Int = GT+id (_ + _) :: Int `compare` negate _ :: Int = GT+id (_ + _) :: Int `compare` abs _ :: Int = GT+id (_ + _) :: Int `compare` _ + _ :: Int = GT+id (_ + _) :: Int `compare` head _ :: Int = GT+id (_ + _) :: Int `compare` ord _ :: Int = GT+id (_ + _) :: Int `compare` p :: Bool = GT+id (_ + _) :: Int `compare` False :: Bool = GT+id (_ + _) :: Int `compare` True :: Bool = GT+id (_ + _) :: Int `compare` not _ :: Bool = GT+id (_ + _) :: Int `compare` c :: Char = GT+id (_ + _) :: Int `compare` 'a' :: Char = GT+id (_ + _) :: Int `compare` xs :: [Int] = GT+id (_ + _) :: Int `compare` [] :: [Int] = GT+id (_ + _) :: Int `compare` _:_ :: [Int] = GT+id (_ + _) :: Int `compare` id :: Int -> Int = GT+id (_ + _) :: Int `compare` (+) :: Int -> Int -> Int = GT+id (head _) :: Int `compare` y :: Int = GT+id (head _) :: Int `compare` 1 :: Int = GT+id (head _) :: Int `compare` id x :: Int = GT+id (head _) :: Int `compare` id 0 :: Int = GT+id (head _) :: Int `compare` id (id _) :: Int = GT+id (head _) :: Int `compare` negate _ :: Int = GT+id (head _) :: Int `compare` abs _ :: Int = GT+id (head _) :: Int `compare` _ + _ :: Int = GT+id (head _) :: Int `compare` head _ :: Int = GT+id (head _) :: Int `compare` ord _ :: Int = GT+id (head _) :: Int `compare` p :: Bool = GT+id (head _) :: Int `compare` False :: Bool = GT+id (head _) :: Int `compare` True :: Bool = GT+id (head _) :: Int `compare` not _ :: Bool = GT+id (head _) :: Int `compare` c :: Char = GT+id (head _) :: Int `compare` 'a' :: Char = GT+id (head _) :: Int `compare` xs :: [Int] = GT+id (head _) :: Int `compare` [] :: [Int] = GT+id (head _) :: Int `compare` _:_ :: [Int] = GT+id (head _) :: Int `compare` id :: Int -> Int = GT+id (head _) :: Int `compare` (+) :: Int -> Int -> Int = GT+id (ord _) :: Int `compare` y :: Int = GT+id (ord _) :: Int `compare` 1 :: Int = GT+id (ord _) :: Int `compare` id x :: Int = GT+id (ord _) :: Int `compare` id 0 :: Int = GT+id (ord _) :: Int `compare` id (id _) :: Int = GT+id (ord _) :: Int `compare` negate _ :: Int = GT+id (ord _) :: Int `compare` abs _ :: Int = GT+id (ord _) :: Int `compare` _ + _ :: Int = GT+id (ord _) :: Int `compare` head _ :: Int = GT+id (ord _) :: Int `compare` ord _ :: Int = GT+
bench/match-list.hs view
@@ -1,6 +1,6 @@ -- match-list.hs -- how long it takes to match expression in a list? ----- Copyright (c) 2021 Rudy Matela.+-- Copyright (c) 2021-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). -- -- This program has the same parameters as other match*.hs benchmarks.@@ -19,6 +19,6 @@ main :: IO () main = do- putStrLn $ unlines $ map showEq $ allRules- putStrLn $ unlines $ map show $ mapMaybe query $ take 1080 $ exprs+ putStrLn $ unlines $ map showEq allRules+ putStrLn $ unlines $ map show $ mapMaybe query $ take 1080 exprs print $ (== ']') $ last $ show $ mapMaybe query exprs
+ bench/match-list.txt view
@@ -0,0 +1,795 @@+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)+(id x :: Int,[(x :: Int,id _ :: Int)],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)+(id x :: Int,[(x :: Int,id x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + _ :: Int)],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 || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)+(id x :: Int,[(x :: Int,z :: Int)],x :: Int)+(id x :: Int,[(x :: Int,-1 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id y :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id 1 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (ord _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + id _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,x + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,0 + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id _ + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ * _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,f _ :: 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,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 && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],q && 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)+(id x :: Int,[(x :: Int,id z :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (-1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id y) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id 1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id x)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id 0)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (id _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (negate _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (abs _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (_ + _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (head _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (ord _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (x + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (0 + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id _ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ * _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (f _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head xs) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head []) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head (_:_)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (ord c) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (ord 'a') :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate y :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate 1 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (negate _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (abs _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (_ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (head _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (ord _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs y :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs 1 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (negate _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (abs _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (_ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (head _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (ord _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + y :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + 1 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + id x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + id 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + id (id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + negate _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + abs _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + (_ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + head _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ + ord _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,x + x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,x + 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,x + id _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,0 + x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,0 + 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,0 + id _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id _ + x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id _ + 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id _ + id _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ * x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ * 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,_ * id _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,f x :: Int)],x :: Int)+(id x :: Int,[(x :: Int,f 0 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,f (id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,y + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,1 + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id x + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id 0 + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id _) + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate _ + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs _ + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,(_ + _) + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,head _ + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,ord _ + _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,x * _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,0 * _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id _ * _ :: Int)],x :: Int)+(id x :: Int,[(x :: Int,g _ :: Int)],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 || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,p :: Bool)],q || 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 || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,False :: Bool)],q || 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 || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,True :: Bool)],q || 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 || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,not _ :: Bool)],q || 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)+(id x :: Int,[(x :: Int,id x' :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id 2 :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id z) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (-1)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id y)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id 1)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (id x))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (id 0))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (id (id _)))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (negate _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (abs _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (_ + _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (head _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id (ord _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (negate x)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (negate 0)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (negate (id _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (abs x)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (abs 0)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (abs (id _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (_ + x)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (_ + 0)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (_ + id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (x + _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (0 + _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id _ + _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (_ * _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (f _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (head xs)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (head [])) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (head (_:_))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (ord c)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (ord 'a')) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate y) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate 1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (id x)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (id 0)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (id (id _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (negate _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (abs _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (_ + _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (head _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate (ord _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs y) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs 1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (id x)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (id 0)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (id (id _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (negate _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (abs _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (_ + _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (head _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs (ord _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + y) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + 1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + id x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + id 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + id (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + negate _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + abs _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + (_ + _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + head _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ + ord _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (x + x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (x + 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (x + id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (0 + x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (0 + 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (0 + id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id _ + x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id _ + 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id _ + id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ * x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ * 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (_ * id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (f x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (f 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (f (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (y + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (1 + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id x + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id 0 + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id (id _) + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (negate _ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (abs _ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id ((_ + _) + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head _ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (ord _ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (x * _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (0 * _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (id _ * _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (g _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head ys) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head [0]) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head (_:xs)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head [_]) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head (_:_:_)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head (x:_)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head (0:_)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head (id _:_)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head (tail _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (head (_ ++ _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (ord d) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,id (ord ' ') :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate z :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (-1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id y) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id 1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (id x)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (id 0)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (id (id _))) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (negate _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (abs _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (_ + _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (head _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id (ord _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (negate x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (negate 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (negate (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (abs x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (abs 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (abs (id _)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (_ + x) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (_ + 0) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (_ + id _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (x + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (0 + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (id _ + _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (_ * _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (f _) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (head xs) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (head []) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (head (_:_)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (ord c) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,negate (ord 'a') :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs z :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (-1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id y) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id 1) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id (id x)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id (id 0)) :: Int)],x :: Int)+(id x :: Int,[(x :: Int,abs (id (id (id _))) :: Int)],x :: Int)++True
bench/match-noop.hs view
@@ -1,6 +1,6 @@ -- exprs.hs -- how long it takes to enumerate expressions? ----- Copyright (c) 2021 Rudy Matela.+-- Copyright (c) 2021-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). -- -- This program has the same parameters as other match*.hs benchmarks.@@ -19,6 +19,6 @@ main :: IO () main = do- putStrLn $ unlines $ map showEq $ allRules- putStrLn $ unlines $ map show $ mapMaybe query $ take 1080 $ exprs+ putStrLn $ unlines $ map showEq allRules+ putStrLn $ unlines $ map show $ mapMaybe query $ take 1080 exprs print $ (== ']') $ last $ show $ mapMaybe query exprs
+ bench/match-noop.txt view
@@ -0,0 +1,1182 @@+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++(_ :: Int,[],_ :: Int)+(x :: Int,[],x :: Int)+(0 :: Int,[],0 :: Int)+(id _ :: Int,[],id _ :: Int)+(_ :: Bool,[],_ :: Bool)+(_ :: Char,[],_ :: Char)+(_ :: [Int],[],_ :: [Int])+(y :: Int,[],y :: Int)+(1 :: Int,[],1 :: Int)+(id x :: Int,[],id x :: Int)+(id 0 :: Int,[],id 0 :: Int)+(id (id _) :: Int,[],id (id _) :: Int)+(negate _ :: Int,[],negate _ :: Int)+(abs _ :: Int,[],abs _ :: Int)+(_ + _ :: Int,[],_ + _ :: Int)+(head _ :: Int,[],head _ :: Int)+(ord _ :: Int,[],ord _ :: Int)+(p :: Bool,[],p :: Bool)+(False :: Bool,[],False :: Bool)+(True :: Bool,[],True :: Bool)+(not _ :: Bool,[],not _ :: Bool)+(c :: Char,[],c :: Char)+('a' :: Char,[],'a' :: Char)+(xs :: [Int],[],xs :: [Int])+([] :: [Int],[],[] :: [Int])+(_:_ :: [Int],[],_:_ :: [Int])+(id :: Int -> Int,[],id :: Int -> Int)+((+) :: Int -> Int -> Int,[],(+) :: Int -> Int -> Int)+(z :: Int,[],z :: Int)+(-1 :: Int,[],-1 :: Int)+(id y :: Int,[],id y :: Int)+(id 1 :: Int,[],id 1 :: Int)+(id (id x) :: Int,[],id (id x) :: Int)+(id (id 0) :: Int,[],id (id 0) :: Int)+(id (id (id _)) :: Int,[],id (id (id _)) :: Int)+(id (negate _) :: Int,[],id (negate _) :: Int)+(id (abs _) :: Int,[],id (abs _) :: Int)+(id (_ + _) :: Int,[],id (_ + _) :: Int)+(id (head _) :: Int,[],id (head _) :: Int)+(id (ord _) :: Int,[],id (ord _) :: Int)+(negate x :: Int,[],negate x :: Int)+(negate 0 :: Int,[],negate 0 :: Int)+(negate (id _) :: Int,[],negate (id _) :: Int)+(abs x :: Int,[],abs x :: Int)+(abs 0 :: Int,[],abs 0 :: Int)+(abs (id _) :: Int,[],abs (id _) :: Int)+(_ + x :: Int,[],_ + x :: Int)+(_ + 0 :: Int,[],_ + 0 :: Int)+(_ + id _ :: Int,[],_ + id _ :: Int)+(x + _ :: Int,[],x + _ :: Int)+(0 + _ :: Int,[],0 + _ :: Int)+(id _ + _ :: Int,[],id _ + _ :: Int)+(_ * _ :: Int,[],_ * _ :: Int)+(f _ :: Int,[],f _ :: Int)+(head xs :: Int,[],head xs :: Int)+(head [] :: Int,[],head [] :: Int)+(head (_:_) :: Int,[],head (_:_) :: Int)+(ord c :: Int,[],ord c :: Int)+(ord 'a' :: Int,[],ord 'a' :: Int)+(q :: Bool,[],q :: Bool)+(not p :: Bool,[],not p :: Bool)+(not False :: Bool,[],not False :: Bool)+(not True :: Bool,[],not True :: Bool)+(not (not _) :: Bool,[],not (not _) :: Bool)+(_ || _ :: Bool,[],_ || _ :: Bool)+(d :: Char,[],d :: Char)+(' ' :: Char,[],' ' :: Char)+(ys :: [Int],[],ys :: [Int])+([0] :: [Int],[],[0] :: [Int])+(_:xs :: [Int],[],_:xs :: [Int])+([_] :: [Int],[],[_] :: [Int])+(_:_:_ :: [Int],[],_:_:_ :: [Int])+(x:_ :: [Int],[],x:_ :: [Int])+(0:_ :: [Int],[],0:_ :: [Int])+(id _:_ :: [Int],[],id _:_ :: [Int])+(tail _ :: [Int],[],tail _ :: [Int])+(_ ++ _ :: [Int],[],_ ++ _ :: [Int])+(negate :: Int -> Int,[],negate :: Int -> Int)+(abs :: Int -> Int,[],abs :: Int -> Int)+((_ +) :: Int -> Int,[],(_ +) :: Int -> Int)+((*) :: Int -> Int -> Int,[],(*) :: Int -> Int -> Int)+(not :: Bool -> Bool,[],not :: Bool -> Bool)+((||) :: Bool -> Bool -> Bool,[],(||) :: Bool -> Bool -> Bool)+(x' :: Int,[],x' :: Int)+(2 :: Int,[],2 :: Int)+(id z :: Int,[],id z :: Int)+(id (-1) :: Int,[],id (-1) :: Int)+(id (id y) :: Int,[],id (id y) :: Int)+(id (id 1) :: Int,[],id (id 1) :: Int)+(id (id (id x)) :: Int,[],id (id (id x)) :: Int)+(id (id (id 0)) :: Int,[],id (id (id 0)) :: Int)+(id (id (id (id _))) :: Int,[],id (id (id (id _))) :: Int)+(id (id (negate _)) :: Int,[],id (id (negate _)) :: Int)+(id (id (abs _)) :: Int,[],id (id (abs _)) :: Int)+(id (id (_ + _)) :: Int,[],id (id (_ + _)) :: Int)+(id (id (head _)) :: Int,[],id (id (head _)) :: Int)+(id (id (ord _)) :: Int,[],id (id (ord _)) :: Int)+(id (negate x) :: Int,[],id (negate x) :: Int)+(id (negate 0) :: Int,[],id (negate 0) :: Int)+(id (negate (id _)) :: Int,[],id (negate (id _)) :: Int)+(id (abs x) :: Int,[],id (abs x) :: Int)+(id (abs 0) :: Int,[],id (abs 0) :: Int)+(id (abs (id _)) :: Int,[],id (abs (id _)) :: Int)+(id (_ + x) :: Int,[],id (_ + x) :: Int)+(id (_ + 0) :: Int,[],id (_ + 0) :: Int)+(id (_ + id _) :: Int,[],id (_ + id _) :: Int)+(id (x + _) :: Int,[],id (x + _) :: Int)+(id (0 + _) :: Int,[],id (0 + _) :: Int)+(id (id _ + _) :: Int,[],id (id _ + _) :: Int)+(id (_ * _) :: Int,[],id (_ * _) :: Int)+(id (f _) :: Int,[],id (f _) :: Int)+(id (head xs) :: Int,[],id (head xs) :: Int)+(id (head []) :: Int,[],id (head []) :: Int)+(id (head (_:_)) :: Int,[],id (head (_:_)) :: Int)+(id (ord c) :: Int,[],id (ord c) :: Int)+(id (ord 'a') :: Int,[],id (ord 'a') :: Int)+(negate y :: Int,[],negate y :: Int)+(negate 1 :: Int,[],negate 1 :: Int)+(negate (id x) :: Int,[],negate (id x) :: Int)+(negate (id 0) :: Int,[],negate (id 0) :: Int)+(negate (id (id _)) :: Int,[],negate (id (id _)) :: Int)+(negate (negate _) :: Int,[],negate (negate _) :: Int)+(negate (abs _) :: Int,[],negate (abs _) :: Int)+(negate (_ + _) :: Int,[],negate (_ + _) :: Int)+(negate (head _) :: Int,[],negate (head _) :: Int)+(negate (ord _) :: Int,[],negate (ord _) :: Int)+(abs y :: Int,[],abs y :: Int)+(abs 1 :: Int,[],abs 1 :: Int)+(abs (id x) :: Int,[],abs (id x) :: Int)+(abs (id 0) :: Int,[],abs (id 0) :: Int)+(abs (id (id _)) :: Int,[],abs (id (id _)) :: Int)+(abs (negate _) :: Int,[],abs (negate _) :: Int)+(abs (abs _) :: Int,[],abs (abs _) :: Int)+(abs (_ + _) :: Int,[],abs (_ + _) :: Int)+(abs (head _) :: Int,[],abs (head _) :: Int)+(abs (ord _) :: Int,[],abs (ord _) :: Int)+(_ + y :: Int,[],_ + y :: Int)+(_ + 1 :: Int,[],_ + 1 :: Int)+(_ + id x :: Int,[],_ + id x :: Int)+(_ + id 0 :: Int,[],_ + id 0 :: Int)+(_ + id (id _) :: Int,[],_ + id (id _) :: Int)+(_ + negate _ :: Int,[],_ + negate _ :: Int)+(_ + abs _ :: Int,[],_ + abs _ :: Int)+(_ + (_ + _) :: Int,[],_ + (_ + _) :: Int)+(_ + head _ :: Int,[],_ + head _ :: Int)+(_ + ord _ :: Int,[],_ + ord _ :: Int)+(x + x :: Int,[],x + x :: Int)+(x + 0 :: Int,[],x + 0 :: Int)+(x + id _ :: Int,[],x + id _ :: Int)+(0 + x :: Int,[],0 + x :: Int)+(0 + 0 :: Int,[],0 + 0 :: Int)+(0 + id _ :: Int,[],0 + id _ :: Int)+(id _ + x :: Int,[],id _ + x :: Int)+(id _ + 0 :: Int,[],id _ + 0 :: Int)+(id _ + id _ :: Int,[],id _ + id _ :: Int)+(_ * x :: Int,[],_ * x :: Int)+(_ * 0 :: Int,[],_ * 0 :: Int)+(_ * id _ :: Int,[],_ * id _ :: Int)+(f x :: Int,[],f x :: Int)+(f 0 :: Int,[],f 0 :: Int)+(f (id _) :: Int,[],f (id _) :: Int)+(y + _ :: Int,[],y + _ :: Int)+(1 + _ :: Int,[],1 + _ :: Int)+(id x + _ :: Int,[],id x + _ :: Int)+(id 0 + _ :: Int,[],id 0 + _ :: Int)+(id (id _) + _ :: Int,[],id (id _) + _ :: Int)+(negate _ + _ :: Int,[],negate _ + _ :: Int)+(abs _ + _ :: Int,[],abs _ + _ :: Int)+((_ + _) + _ :: Int,[],(_ + _) + _ :: Int)+(head _ + _ :: Int,[],head _ + _ :: Int)+(ord _ + _ :: Int,[],ord _ + _ :: Int)+(x * _ :: Int,[],x * _ :: Int)+(0 * _ :: Int,[],0 * _ :: Int)+(id _ * _ :: Int,[],id _ * _ :: Int)+(g _ :: Int,[],g _ :: Int)+(head ys :: Int,[],head ys :: Int)+(head [0] :: Int,[],head [0] :: Int)+(head (_:xs) :: Int,[],head (_:xs) :: Int)+(head [_] :: Int,[],head [_] :: Int)+(head (_:_:_) :: Int,[],head (_:_:_) :: Int)+(head (x:_) :: Int,[],head (x:_) :: Int)+(head (0:_) :: Int,[],head (0:_) :: Int)+(head (id _:_) :: Int,[],head (id _:_) :: Int)+(head (tail _) :: Int,[],head (tail _) :: Int)+(head (_ ++ _) :: Int,[],head (_ ++ _) :: Int)+(ord d :: Int,[],ord d :: Int)+(ord ' ' :: Int,[],ord ' ' :: Int)+(r :: Bool,[],r :: Bool)+(not q :: Bool,[],not q :: Bool)+(not (not p) :: Bool,[],not (not p) :: Bool)+(not (not False) :: Bool,[],not (not False) :: Bool)+(not (not True) :: Bool,[],not (not True) :: Bool)+(not (not (not _)) :: Bool,[],not (not (not _)) :: Bool)+(not (_ || _) :: Bool,[],not (_ || _) :: Bool)+(_ || p :: Bool,[],_ || p :: Bool)+(_ || False :: Bool,[],_ || False :: Bool)+(_ || True :: Bool,[],_ || True :: Bool)+(_ || not _ :: Bool,[],_ || not _ :: Bool)+(p || _ :: Bool,[],p || _ :: Bool)+(False || _ :: Bool,[],False || _ :: Bool)+(True || _ :: Bool,[],True || _ :: Bool)+(not _ || _ :: Bool,[],not _ || _ :: Bool)+(_ && _ :: Bool,[],_ && _ :: Bool)+(_ == _ :: Bool,[],_ == _ :: Bool)+(_ == _ :: Bool,[],_ == _ :: Bool)+(odd _ :: Bool,[],odd _ :: Bool)+(even _ :: Bool,[],even _ :: Bool)+(elem _ _ :: Bool,[],elem _ _ :: Bool)+(e :: Char,[],e :: Char)+('b' :: Char,[],'b' :: Char)+(zs :: [Int],[],zs :: [Int])+([0,0] :: [Int],[],[0,0] :: [Int])+([1] :: [Int],[],[1] :: [Int])+(_:ys :: [Int],[],_:ys :: [Int])+(_:[0] :: [Int],[],_:[0] :: [Int])+(_:_:xs :: [Int],[],_:_:xs :: [Int])+([_,_] :: [Int],[],[_,_] :: [Int])+(_:_:_:_ :: [Int],[],_:_:_:_ :: [Int])+(_:x:_ :: [Int],[],_:x:_ :: [Int])+(_:0:_ :: [Int],[],_:0:_ :: [Int])+(_:id _:_ :: [Int],[],_:id _:_ :: [Int])+(_:tail _ :: [Int],[],_:tail _ :: [Int])+(_:(_ ++ _) :: [Int],[],_:(_ ++ _) :: [Int])+(x:xs :: [Int],[],x:xs :: [Int])+([x] :: [Int],[],[x] :: [Int])+(x:_:_ :: [Int],[],x:_:_ :: [Int])+(0:xs :: [Int],[],0:xs :: [Int])+([0] :: [Int],[],[0] :: [Int])+(0:_:_ :: [Int],[],0:_:_ :: [Int])+(id _:xs :: [Int],[],id _:xs :: [Int])+([id _] :: [Int],[],[id _] :: [Int])+(id _:_:_ :: [Int],[],id _:_:_ :: [Int])+(y:_ :: [Int],[],y:_ :: [Int])+(1:_ :: [Int],[],1:_ :: [Int])+(id x:_ :: [Int],[],id x:_ :: [Int])+(id 0:_ :: [Int],[],id 0:_ :: [Int])+(id (id _):_ :: [Int],[],id (id _):_ :: [Int])+(negate _:_ :: [Int],[],negate _:_ :: [Int])+(abs _:_ :: [Int],[],abs _:_ :: [Int])+(_ + _:_ :: [Int],[],_ + _:_ :: [Int])+(head _:_ :: [Int],[],head _:_ :: [Int])+(ord _:_ :: [Int],[],ord _:_ :: [Int])+(tail xs :: [Int],[],tail xs :: [Int])+(tail [] :: [Int],[],tail [] :: [Int])+(tail (_:_) :: [Int],[],tail (_:_) :: [Int])+(_ ++ xs :: [Int],[],_ ++ xs :: [Int])+(_ ++ [] :: [Int],[],_ ++ [] :: [Int])+(_ ++ (_:_) :: [Int],[],_ ++ (_:_) :: [Int])+(xs ++ _ :: [Int],[],xs ++ _ :: [Int])+([] ++ _ :: [Int],[],[] ++ _ :: [Int])+((_:_) ++ _ :: [Int],[],(_:_) ++ _ :: [Int])+(sort _ :: [Int],[],sort _ :: [Int])+(insert _ _ :: [Int],[],insert _ _ :: [Int])+((x +) :: Int -> Int,[],(x +) :: Int -> Int)+((0 +) :: Int -> Int,[],(0 +) :: Int -> Int)+((id _ +) :: Int -> Int,[],(id _ +) :: Int -> Int)+((_ *) :: Int -> Int,[],(_ *) :: Int -> Int)+(f :: Int -> Int,[],f :: Int -> Int)+((_ ||) :: Bool -> Bool,[],(_ ||) :: Bool -> Bool)+((&&) :: Bool -> Bool -> Bool,[],(&&) :: Bool -> Bool -> Bool)+(y' :: Int,[],y' :: Int)+(-2 :: Int,[],-2 :: Int)+(id x' :: Int,[],id x' :: Int)+(id 2 :: Int,[],id 2 :: Int)+(id (id z) :: Int,[],id (id z) :: Int)+(id (id (-1)) :: Int,[],id (id (-1)) :: Int)+(id (id (id y)) :: Int,[],id (id (id y)) :: Int)+(id (id (id 1)) :: Int,[],id (id (id 1)) :: Int)+(id (id (id (id x))) :: Int,[],id (id (id (id x))) :: Int)+(id (id (id (id 0))) :: Int,[],id (id (id (id 0))) :: Int)+(id (id (id (id (id _)))) :: Int,[],id (id (id (id (id _)))) :: Int)+(id (id (id (negate _))) :: Int,[],id (id (id (negate _))) :: Int)+(id (id (id (abs _))) :: Int,[],id (id (id (abs _))) :: Int)+(id (id (id (_ + _))) :: Int,[],id (id (id (_ + _))) :: Int)+(id (id (id (head _))) :: Int,[],id (id (id (head _))) :: Int)+(id (id (id (ord _))) :: Int,[],id (id (id (ord _))) :: Int)+(id (id (negate x)) :: Int,[],id (id (negate x)) :: Int)+(id (id (negate 0)) :: Int,[],id (id (negate 0)) :: Int)+(id (id (negate (id _))) :: Int,[],id (id (negate (id _))) :: Int)+(id (id (abs x)) :: Int,[],id (id (abs x)) :: Int)+(id (id (abs 0)) :: Int,[],id (id (abs 0)) :: Int)+(id (id (abs (id _))) :: Int,[],id (id (abs (id _))) :: Int)+(id (id (_ + x)) :: Int,[],id (id (_ + x)) :: Int)+(id (id (_ + 0)) :: Int,[],id (id (_ + 0)) :: Int)+(id (id (_ + id _)) :: Int,[],id (id (_ + id _)) :: Int)+(id (id (x + _)) :: Int,[],id (id (x + _)) :: Int)+(id (id (0 + _)) :: Int,[],id (id (0 + _)) :: Int)+(id (id (id _ + _)) :: Int,[],id (id (id _ + _)) :: Int)+(id (id (_ * _)) :: Int,[],id (id (_ * _)) :: Int)+(id (id (f _)) :: Int,[],id (id (f _)) :: Int)+(id (id (head xs)) :: Int,[],id (id (head xs)) :: Int)+(id (id (head [])) :: Int,[],id (id (head [])) :: Int)+(id (id (head (_:_))) :: Int,[],id (id (head (_:_))) :: Int)+(id (id (ord c)) :: Int,[],id (id (ord c)) :: Int)+(id (id (ord 'a')) :: Int,[],id (id (ord 'a')) :: Int)+(id (negate y) :: Int,[],id (negate y) :: Int)+(id (negate 1) :: Int,[],id (negate 1) :: Int)+(id (negate (id x)) :: Int,[],id (negate (id x)) :: Int)+(id (negate (id 0)) :: Int,[],id (negate (id 0)) :: Int)+(id (negate (id (id _))) :: Int,[],id (negate (id (id _))) :: Int)+(id (negate (negate _)) :: Int,[],id (negate (negate _)) :: Int)+(id (negate (abs _)) :: Int,[],id (negate (abs _)) :: Int)+(id (negate (_ + _)) :: Int,[],id (negate (_ + _)) :: Int)+(id (negate (head _)) :: Int,[],id (negate (head _)) :: Int)+(id (negate (ord _)) :: Int,[],id (negate (ord _)) :: Int)+(id (abs y) :: Int,[],id (abs y) :: Int)+(id (abs 1) :: Int,[],id (abs 1) :: Int)+(id (abs (id x)) :: Int,[],id (abs (id x)) :: Int)+(id (abs (id 0)) :: Int,[],id (abs (id 0)) :: Int)+(id (abs (id (id _))) :: Int,[],id (abs (id (id _))) :: Int)+(id (abs (negate _)) :: Int,[],id (abs (negate _)) :: Int)+(id (abs (abs _)) :: Int,[],id (abs (abs _)) :: Int)+(id (abs (_ + _)) :: Int,[],id (abs (_ + _)) :: Int)+(id (abs (head _)) :: Int,[],id (abs (head _)) :: Int)+(id (abs (ord _)) :: Int,[],id (abs (ord _)) :: Int)+(id (_ + y) :: Int,[],id (_ + y) :: Int)+(id (_ + 1) :: Int,[],id (_ + 1) :: Int)+(id (_ + id x) :: Int,[],id (_ + id x) :: Int)+(id (_ + id 0) :: Int,[],id (_ + id 0) :: Int)+(id (_ + id (id _)) :: Int,[],id (_ + id (id _)) :: Int)+(id (_ + negate _) :: Int,[],id (_ + negate _) :: Int)+(id (_ + abs _) :: Int,[],id (_ + abs _) :: Int)+(id (_ + (_ + _)) :: Int,[],id (_ + (_ + _)) :: Int)+(id (_ + head _) :: Int,[],id (_ + head _) :: Int)+(id (_ + ord _) :: Int,[],id (_ + ord _) :: Int)+(id (x + x) :: Int,[],id (x + x) :: Int)+(id (x + 0) :: Int,[],id (x + 0) :: Int)+(id (x + id _) :: Int,[],id (x + id _) :: Int)+(id (0 + x) :: Int,[],id (0 + x) :: Int)+(id (0 + 0) :: Int,[],id (0 + 0) :: Int)+(id (0 + id _) :: Int,[],id (0 + id _) :: Int)+(id (id _ + x) :: Int,[],id (id _ + x) :: Int)+(id (id _ + 0) :: Int,[],id (id _ + 0) :: Int)+(id (id _ + id _) :: Int,[],id (id _ + id _) :: Int)+(id (_ * x) :: Int,[],id (_ * x) :: Int)+(id (_ * 0) :: Int,[],id (_ * 0) :: Int)+(id (_ * id _) :: Int,[],id (_ * id _) :: Int)+(id (f x) :: Int,[],id (f x) :: Int)+(id (f 0) :: Int,[],id (f 0) :: Int)+(id (f (id _)) :: Int,[],id (f (id _)) :: Int)+(id (y + _) :: Int,[],id (y + _) :: Int)+(id (1 + _) :: Int,[],id (1 + _) :: Int)+(id (id x + _) :: Int,[],id (id x + _) :: Int)+(id (id 0 + _) :: Int,[],id (id 0 + _) :: Int)+(id (id (id _) + _) :: Int,[],id (id (id _) + _) :: Int)+(id (negate _ + _) :: Int,[],id (negate _ + _) :: Int)+(id (abs _ + _) :: Int,[],id (abs _ + _) :: Int)+(id ((_ + _) + _) :: Int,[],id ((_ + _) + _) :: Int)+(id (head _ + _) :: Int,[],id (head _ + _) :: Int)+(id (ord _ + _) :: Int,[],id (ord _ + _) :: Int)+(id (x * _) :: Int,[],id (x * _) :: Int)+(id (0 * _) :: Int,[],id (0 * _) :: Int)+(id (id _ * _) :: Int,[],id (id _ * _) :: Int)+(id (g _) :: Int,[],id (g _) :: Int)+(id (head ys) :: Int,[],id (head ys) :: Int)+(id (head [0]) :: Int,[],id (head [0]) :: Int)+(id (head (_:xs)) :: Int,[],id (head (_:xs)) :: Int)+(id (head [_]) :: Int,[],id (head [_]) :: Int)+(id (head (_:_:_)) :: Int,[],id (head (_:_:_)) :: Int)+(id (head (x:_)) :: Int,[],id (head (x:_)) :: Int)+(id (head (0:_)) :: Int,[],id (head (0:_)) :: Int)+(id (head (id _:_)) :: Int,[],id (head (id _:_)) :: Int)+(id (head (tail _)) :: Int,[],id (head (tail _)) :: Int)+(id (head (_ ++ _)) :: Int,[],id (head (_ ++ _)) :: Int)+(id (ord d) :: Int,[],id (ord d) :: Int)+(id (ord ' ') :: Int,[],id (ord ' ') :: Int)+(negate z :: Int,[],negate z :: Int)+(negate (-1) :: Int,[],negate (-1) :: Int)+(negate (id y) :: Int,[],negate (id y) :: Int)+(negate (id 1) :: Int,[],negate (id 1) :: Int)+(negate (id (id x)) :: Int,[],negate (id (id x)) :: Int)+(negate (id (id 0)) :: Int,[],negate (id (id 0)) :: Int)+(negate (id (id (id _))) :: Int,[],negate (id (id (id _))) :: Int)+(negate (id (negate _)) :: Int,[],negate (id (negate _)) :: Int)+(negate (id (abs _)) :: Int,[],negate (id (abs _)) :: Int)+(negate (id (_ + _)) :: Int,[],negate (id (_ + _)) :: Int)+(negate (id (head _)) :: Int,[],negate (id (head _)) :: Int)+(negate (id (ord _)) :: Int,[],negate (id (ord _)) :: Int)+(negate (negate x) :: Int,[],negate (negate x) :: Int)+(negate (negate 0) :: Int,[],negate (negate 0) :: Int)+(negate (negate (id _)) :: Int,[],negate (negate (id _)) :: Int)+(negate (abs x) :: Int,[],negate (abs x) :: Int)+(negate (abs 0) :: Int,[],negate (abs 0) :: Int)+(negate (abs (id _)) :: Int,[],negate (abs (id _)) :: Int)+(negate (_ + x) :: Int,[],negate (_ + x) :: Int)+(negate (_ + 0) :: Int,[],negate (_ + 0) :: Int)+(negate (_ + id _) :: Int,[],negate (_ + id _) :: Int)+(negate (x + _) :: Int,[],negate (x + _) :: Int)+(negate (0 + _) :: Int,[],negate (0 + _) :: Int)+(negate (id _ + _) :: Int,[],negate (id _ + _) :: Int)+(negate (_ * _) :: Int,[],negate (_ * _) :: Int)+(negate (f _) :: Int,[],negate (f _) :: Int)+(negate (head xs) :: Int,[],negate (head xs) :: Int)+(negate (head []) :: Int,[],negate (head []) :: Int)+(negate (head (_:_)) :: Int,[],negate (head (_:_)) :: Int)+(negate (ord c) :: Int,[],negate (ord c) :: Int)+(negate (ord 'a') :: Int,[],negate (ord 'a') :: Int)+(abs z :: Int,[],abs z :: Int)+(abs (-1) :: Int,[],abs (-1) :: Int)+(abs (id y) :: Int,[],abs (id y) :: Int)+(abs (id 1) :: Int,[],abs (id 1) :: Int)+(abs (id (id x)) :: Int,[],abs (id (id x)) :: Int)+(abs (id (id 0)) :: Int,[],abs (id (id 0)) :: Int)+(abs (id (id (id _))) :: Int,[],abs (id (id (id _))) :: Int)+(abs (id (negate _)) :: Int,[],abs (id (negate _)) :: Int)+(abs (id (abs _)) :: Int,[],abs (id (abs _)) :: Int)+(abs (id (_ + _)) :: Int,[],abs (id (_ + _)) :: Int)+(abs (id (head _)) :: Int,[],abs (id (head _)) :: Int)+(abs (id (ord _)) :: Int,[],abs (id (ord _)) :: Int)+(abs (negate x) :: Int,[],abs (negate x) :: Int)+(abs (negate 0) :: Int,[],abs (negate 0) :: Int)+(abs (negate (id _)) :: Int,[],abs (negate (id _)) :: Int)+(abs (abs x) :: Int,[],abs (abs x) :: Int)+(abs (abs 0) :: Int,[],abs (abs 0) :: Int)+(abs (abs (id _)) :: Int,[],abs (abs (id _)) :: Int)+(abs (_ + x) :: Int,[],abs (_ + x) :: Int)+(abs (_ + 0) :: Int,[],abs (_ + 0) :: Int)+(abs (_ + id _) :: Int,[],abs (_ + id _) :: Int)+(abs (x + _) :: Int,[],abs (x + _) :: Int)+(abs (0 + _) :: Int,[],abs (0 + _) :: Int)+(abs (id _ + _) :: Int,[],abs (id _ + _) :: Int)+(abs (_ * _) :: Int,[],abs (_ * _) :: Int)+(abs (f _) :: Int,[],abs (f _) :: Int)+(abs (head xs) :: Int,[],abs (head xs) :: Int)+(abs (head []) :: Int,[],abs (head []) :: Int)+(abs (head (_:_)) :: Int,[],abs (head (_:_)) :: Int)+(abs (ord c) :: Int,[],abs (ord c) :: Int)+(abs (ord 'a') :: Int,[],abs (ord 'a') :: Int)+(_ + z :: Int,[],_ + z :: Int)+(_ + (-1) :: Int,[],_ + (-1) :: Int)+(_ + id y :: Int,[],_ + id y :: Int)+(_ + id 1 :: Int,[],_ + id 1 :: Int)+(_ + id (id x) :: Int,[],_ + id (id x) :: Int)+(_ + id (id 0) :: Int,[],_ + id (id 0) :: Int)+(_ + id (id (id _)) :: Int,[],_ + id (id (id _)) :: Int)+(_ + id (negate _) :: Int,[],_ + id (negate _) :: Int)+(_ + id (abs _) :: Int,[],_ + id (abs _) :: Int)+(_ + id (_ + _) :: Int,[],_ + id (_ + _) :: Int)+(_ + id (head _) :: Int,[],_ + id (head _) :: Int)+(_ + id (ord _) :: Int,[],_ + id (ord _) :: Int)+(_ + negate x :: Int,[],_ + negate x :: Int)+(_ + negate 0 :: Int,[],_ + negate 0 :: Int)+(_ + negate (id _) :: Int,[],_ + negate (id _) :: Int)+(_ + abs x :: Int,[],_ + abs x :: Int)+(_ + abs 0 :: Int,[],_ + abs 0 :: Int)+(_ + abs (id _) :: Int,[],_ + abs (id _) :: Int)+(_ + (_ + x) :: Int,[],_ + (_ + x) :: Int)+(_ + (_ + 0) :: Int,[],_ + (_ + 0) :: Int)+(_ + (_ + id _) :: Int,[],_ + (_ + id _) :: Int)+(_ + (x + _) :: Int,[],_ + (x + _) :: Int)+(_ + (0 + _) :: Int,[],_ + (0 + _) :: Int)+(_ + (id _ + _) :: Int,[],_ + (id _ + _) :: Int)+(_ + _ * _ :: Int,[],_ + _ * _ :: Int)+(_ + f _ :: Int,[],_ + f _ :: Int)+(_ + head xs :: Int,[],_ + head xs :: Int)+(_ + head [] :: Int,[],_ + head [] :: Int)+(_ + head (_:_) :: Int,[],_ + head (_:_) :: Int)+(_ + ord c :: Int,[],_ + ord c :: Int)+(_ + ord 'a' :: Int,[],_ + ord 'a' :: Int)+(x + y :: Int,[],x + y :: Int)+(x + 1 :: Int,[],x + 1 :: Int)+(x + id x :: Int,[],x + id x :: Int)+(x + id 0 :: Int,[],x + id 0 :: Int)+(x + id (id _) :: Int,[],x + id (id _) :: Int)+(x + negate _ :: Int,[],x + negate _ :: Int)+(x + abs _ :: Int,[],x + abs _ :: Int)+(x + (_ + _) :: Int,[],x + (_ + _) :: Int)+(x + head _ :: Int,[],x + head _ :: Int)+(x + ord _ :: Int,[],x + ord _ :: Int)+(0 + y :: Int,[],0 + y :: Int)+(0 + 1 :: Int,[],0 + 1 :: Int)+(0 + id x :: Int,[],0 + id x :: Int)+(0 + id 0 :: Int,[],0 + id 0 :: Int)+(0 + id (id _) :: Int,[],0 + id (id _) :: Int)+(0 + negate _ :: Int,[],0 + negate _ :: Int)+(0 + abs _ :: Int,[],0 + abs _ :: Int)+(0 + (_ + _) :: Int,[],0 + (_ + _) :: Int)+(0 + head _ :: Int,[],0 + head _ :: Int)+(0 + ord _ :: Int,[],0 + ord _ :: Int)+(id _ + y :: Int,[],id _ + y :: Int)+(id _ + 1 :: Int,[],id _ + 1 :: Int)+(id _ + id x :: Int,[],id _ + id x :: Int)+(id _ + id 0 :: Int,[],id _ + id 0 :: Int)+(id _ + id (id _) :: Int,[],id _ + id (id _) :: Int)+(id _ + negate _ :: Int,[],id _ + negate _ :: Int)+(id _ + abs _ :: Int,[],id _ + abs _ :: Int)+(id _ + (_ + _) :: Int,[],id _ + (_ + _) :: Int)+(id _ + head _ :: Int,[],id _ + head _ :: Int)+(id _ + ord _ :: Int,[],id _ + ord _ :: Int)+(_ * y :: Int,[],_ * y :: Int)+(_ * 1 :: Int,[],_ * 1 :: Int)+(_ * id x :: Int,[],_ * id x :: Int)+(_ * id 0 :: Int,[],_ * id 0 :: Int)+(_ * id (id _) :: Int,[],_ * id (id _) :: Int)+(_ * negate _ :: Int,[],_ * negate _ :: Int)+(_ * abs _ :: Int,[],_ * abs _ :: Int)+(_ * (_ + _) :: Int,[],_ * (_ + _) :: Int)+(_ * head _ :: Int,[],_ * head _ :: Int)+(_ * ord _ :: Int,[],_ * ord _ :: Int)+(f y :: Int,[],f y :: Int)+(f 1 :: Int,[],f 1 :: Int)+(f (id x) :: Int,[],f (id x) :: Int)+(f (id 0) :: Int,[],f (id 0) :: Int)+(f (id (id _)) :: Int,[],f (id (id _)) :: Int)+(f (negate _) :: Int,[],f (negate _) :: Int)+(f (abs _) :: Int,[],f (abs _) :: Int)+(f (_ + _) :: Int,[],f (_ + _) :: Int)+(f (head _) :: Int,[],f (head _) :: Int)+(f (ord _) :: Int,[],f (ord _) :: Int)+(y + x :: Int,[],y + x :: Int)+(y + 0 :: Int,[],y + 0 :: Int)+(y + id _ :: Int,[],y + id _ :: Int)+(1 + x :: Int,[],1 + x :: Int)+(1 + 0 :: Int,[],1 + 0 :: Int)+(1 + id _ :: Int,[],1 + id _ :: Int)+(id x + x :: Int,[],id x + x :: Int)+(id x + 0 :: Int,[],id x + 0 :: Int)+(id x + id _ :: Int,[],id x + id _ :: Int)+(id 0 + x :: Int,[],id 0 + x :: Int)+(id 0 + 0 :: Int,[],id 0 + 0 :: Int)+(id 0 + id _ :: Int,[],id 0 + id _ :: Int)+(id (id _) + x :: Int,[],id (id _) + x :: Int)+(id (id _) + 0 :: Int,[],id (id _) + 0 :: Int)+(id (id _) + id _ :: Int,[],id (id _) + id _ :: Int)+(negate _ + x :: Int,[],negate _ + x :: Int)+(negate _ + 0 :: Int,[],negate _ + 0 :: Int)+(negate _ + id _ :: Int,[],negate _ + id _ :: Int)+(abs _ + x :: Int,[],abs _ + x :: Int)+(abs _ + 0 :: Int,[],abs _ + 0 :: Int)+(abs _ + id _ :: Int,[],abs _ + id _ :: Int)+((_ + _) + x :: Int,[],(_ + _) + x :: Int)+((_ + _) + 0 :: Int,[],(_ + _) + 0 :: Int)+((_ + _) + id _ :: Int,[],(_ + _) + id _ :: Int)+(head _ + x :: Int,[],head _ + x :: Int)+(head _ + 0 :: Int,[],head _ + 0 :: Int)+(head _ + id _ :: Int,[],head _ + id _ :: Int)+(ord _ + x :: Int,[],ord _ + x :: Int)+(ord _ + 0 :: Int,[],ord _ + 0 :: Int)+(ord _ + id _ :: Int,[],ord _ + id _ :: Int)+(x * x :: Int,[],x * x :: Int)+(x * 0 :: Int,[],x * 0 :: Int)+(x * id _ :: Int,[],x * id _ :: Int)+(0 * x :: Int,[],0 * x :: Int)+(0 * 0 :: Int,[],0 * 0 :: Int)+(0 * id _ :: Int,[],0 * id _ :: Int)+(id _ * x :: Int,[],id _ * x :: Int)+(id _ * 0 :: Int,[],id _ * 0 :: Int)+(id _ * id _ :: Int,[],id _ * id _ :: Int)+(g x :: Int,[],g x :: Int)+(g 0 :: Int,[],g 0 :: Int)+(g (id _) :: Int,[],g (id _) :: Int)+(z + _ :: Int,[],z + _ :: Int)+((-1) + _ :: Int,[],(-1) + _ :: Int)+(id y + _ :: Int,[],id y + _ :: Int)+(id 1 + _ :: Int,[],id 1 + _ :: Int)+(id (id x) + _ :: Int,[],id (id x) + _ :: Int)+(id (id 0) + _ :: Int,[],id (id 0) + _ :: Int)+(id (id (id _)) + _ :: Int,[],id (id (id _)) + _ :: Int)+(id (negate _) + _ :: Int,[],id (negate _) + _ :: Int)+(id (abs _) + _ :: Int,[],id (abs _) + _ :: Int)+(id (_ + _) + _ :: Int,[],id (_ + _) + _ :: Int)+(id (head _) + _ :: Int,[],id (head _) + _ :: Int)+(id (ord _) + _ :: Int,[],id (ord _) + _ :: Int)+(negate x + _ :: Int,[],negate x + _ :: Int)+(negate 0 + _ :: Int,[],negate 0 + _ :: Int)+(negate (id _) + _ :: Int,[],negate (id _) + _ :: Int)+(abs x + _ :: Int,[],abs x + _ :: Int)+(abs 0 + _ :: Int,[],abs 0 + _ :: Int)+(abs (id _) + _ :: Int,[],abs (id _) + _ :: Int)+((_ + x) + _ :: Int,[],(_ + x) + _ :: Int)+((_ + 0) + _ :: Int,[],(_ + 0) + _ :: Int)+((_ + id _) + _ :: Int,[],(_ + id _) + _ :: Int)+((x + _) + _ :: Int,[],(x + _) + _ :: Int)+((0 + _) + _ :: Int,[],(0 + _) + _ :: Int)+((id _ + _) + _ :: Int,[],(id _ + _) + _ :: Int)+(_ * _ + _ :: Int,[],_ * _ + _ :: Int)+(f _ + _ :: Int,[],f _ + _ :: Int)+(head xs + _ :: Int,[],head xs + _ :: Int)+(head [] + _ :: Int,[],head [] + _ :: Int)+(head (_:_) + _ :: Int,[],head (_:_) + _ :: Int)+(ord c + _ :: Int,[],ord c + _ :: Int)+(ord 'a' + _ :: Int,[],ord 'a' + _ :: Int)+(y * _ :: Int,[],y * _ :: Int)+(1 * _ :: Int,[],1 * _ :: Int)+(id x * _ :: Int,[],id x * _ :: Int)+(id 0 * _ :: Int,[],id 0 * _ :: Int)+(id (id _) * _ :: Int,[],id (id _) * _ :: Int)+(negate _ * _ :: Int,[],negate _ * _ :: Int)+(abs _ * _ :: Int,[],abs _ * _ :: Int)+((_ + _) * _ :: Int,[],(_ + _) * _ :: Int)+(head _ * _ :: Int,[],head _ * _ :: Int)+(ord _ * _ :: Int,[],ord _ * _ :: Int)+(h _ :: Int,[],h _ :: Int)+(head zs :: Int,[],head zs :: Int)+(head [0,0] :: Int,[],head [0,0] :: Int)+(head [1] :: Int,[],head [1] :: Int)+(head (_:ys) :: Int,[],head (_:ys) :: Int)+(head (_:[0]) :: Int,[],head (_:[0]) :: Int)+(head (_:_:xs) :: Int,[],head (_:_:xs) :: Int)+(head [_,_] :: Int,[],head [_,_] :: Int)+(head (_:_:_:_) :: Int,[],head (_:_:_:_) :: Int)+(head (_:x:_) :: Int,[],head (_:x:_) :: Int)+(head (_:0:_) :: Int,[],head (_:0:_) :: Int)+(head (_:id _:_) :: Int,[],head (_:id _:_) :: Int)+(head (_:tail _) :: Int,[],head (_:tail _) :: Int)+(head (_:(_ ++ _)) :: Int,[],head (_:(_ ++ _)) :: Int)+(head (x:xs) :: Int,[],head (x:xs) :: Int)+(head [x] :: Int,[],head [x] :: Int)+(head (x:_:_) :: Int,[],head (x:_:_) :: Int)+(head (0:xs) :: Int,[],head (0:xs) :: Int)+(head [0] :: Int,[],head [0] :: Int)+(head (0:_:_) :: Int,[],head (0:_:_) :: Int)+(head (id _:xs) :: Int,[],head (id _:xs) :: Int)+(head [id _] :: Int,[],head [id _] :: Int)+(head (id _:_:_) :: Int,[],head (id _:_:_) :: Int)+(head (y:_) :: Int,[],head (y:_) :: Int)+(head (1:_) :: Int,[],head (1:_) :: Int)+(head (id x:_) :: Int,[],head (id x:_) :: Int)+(head (id 0:_) :: Int,[],head (id 0:_) :: Int)+(head (id (id _):_) :: Int,[],head (id (id _):_) :: Int)+(head (negate _:_) :: Int,[],head (negate _:_) :: Int)+(head (abs _:_) :: Int,[],head (abs _:_) :: Int)+(head (_ + _:_) :: Int,[],head (_ + _:_) :: Int)+(head (head _:_) :: Int,[],head (head _:_) :: Int)+(head (ord _:_) :: Int,[],head (ord _:_) :: Int)+(head (tail xs) :: Int,[],head (tail xs) :: Int)+(head (tail []) :: Int,[],head (tail []) :: Int)+(head (tail (_:_)) :: Int,[],head (tail (_:_)) :: Int)+(head (_ ++ xs) :: Int,[],head (_ ++ xs) :: Int)+(head (_ ++ []) :: Int,[],head (_ ++ []) :: Int)+(head (_ ++ (_:_)) :: Int,[],head (_ ++ (_:_)) :: Int)+(head (xs ++ _) :: Int,[],head (xs ++ _) :: Int)+(head ([] ++ _) :: Int,[],head ([] ++ _) :: Int)+(head ((_:_) ++ _) :: Int,[],head ((_:_) ++ _) :: Int)+(head (sort _) :: Int,[],head (sort _) :: Int)+(head (insert _ _) :: Int,[],head (insert _ _) :: Int)+(ord e :: Int,[],ord e :: Int)+(ord 'b' :: Int,[],ord 'b' :: Int)+(p' :: Bool,[],p' :: Bool)+(not r :: Bool,[],not r :: Bool)+(not (not q) :: Bool,[],not (not q) :: Bool)+(not (not (not p)) :: Bool,[],not (not (not p)) :: Bool)+(not (not (not False)) :: Bool,[],not (not (not False)) :: Bool)+(not (not (not True)) :: Bool,[],not (not (not True)) :: Bool)+(not (not (not (not _))) :: Bool,[],not (not (not (not _))) :: Bool)+(not (not (_ || _)) :: Bool,[],not (not (_ || _)) :: Bool)+(not (_ || p) :: Bool,[],not (_ || p) :: Bool)+(not (_ || False) :: Bool,[],not (_ || False) :: Bool)+(not (_ || True) :: Bool,[],not (_ || True) :: Bool)+(not (_ || not _) :: Bool,[],not (_ || not _) :: Bool)+(not (p || _) :: Bool,[],not (p || _) :: Bool)+(not (False || _) :: Bool,[],not (False || _) :: Bool)+(not (True || _) :: Bool,[],not (True || _) :: Bool)+(not (not _ || _) :: Bool,[],not (not _ || _) :: Bool)+(not (_ && _) :: Bool,[],not (_ && _) :: Bool)+(not (_ == _) :: Bool,[],not (_ == _) :: Bool)+(not (_ == _) :: Bool,[],not (_ == _) :: Bool)+(not (odd _) :: Bool,[],not (odd _) :: Bool)+(not (even _) :: Bool,[],not (even _) :: Bool)+(not (elem _ _) :: Bool,[],not (elem _ _) :: Bool)+(_ || q :: Bool,[],_ || q :: Bool)+(_ || not p :: Bool,[],_ || not p :: Bool)+(_ || not False :: Bool,[],_ || not False :: Bool)+(_ || not True :: Bool,[],_ || not True :: Bool)+(_ || not (not _) :: Bool,[],_ || not (not _) :: Bool)+(_ || (_ || _) :: Bool,[],_ || (_ || _) :: Bool)+(p || p :: Bool,[],p || p :: Bool)+(p || False :: Bool,[],p || False :: Bool)+(p || True :: Bool,[],p || True :: Bool)+(p || not _ :: Bool,[],p || not _ :: Bool)+(False || p :: Bool,[],False || p :: Bool)+(False || False :: Bool,[],False || False :: Bool)+(False || True :: Bool,[],False || True :: Bool)+(False || not _ :: Bool,[],False || not _ :: Bool)+(True || p :: Bool,[],True || p :: Bool)+(True || False :: Bool,[],True || False :: Bool)+(True || True :: Bool,[],True || True :: Bool)+(True || not _ :: Bool,[],True || not _ :: Bool)+(not _ || p :: Bool,[],not _ || p :: Bool)+(not _ || False :: Bool,[],not _ || False :: Bool)+(not _ || True :: Bool,[],not _ || True :: Bool)+(not _ || not _ :: Bool,[],not _ || not _ :: Bool)+(_ && p :: Bool,[],_ && p :: Bool)+(_ && False :: Bool,[],_ && False :: Bool)+(_ && True :: Bool,[],_ && True :: Bool)+(_ && not _ :: Bool,[],_ && not _ :: Bool)+(q || _ :: Bool,[],q || _ :: Bool)+(not p || _ :: Bool,[],not p || _ :: Bool)+(not False || _ :: Bool,[],not False || _ :: Bool)+(not True || _ :: Bool,[],not True || _ :: Bool)+(not (not _) || _ :: Bool,[],not (not _) || _ :: Bool)+((_ || _) || _ :: Bool,[],(_ || _) || _ :: Bool)+(p && _ :: Bool,[],p && _ :: Bool)+(False && _ :: Bool,[],False && _ :: Bool)+(True && _ :: Bool,[],True && _ :: Bool)+(not _ && _ :: Bool,[],not _ && _ :: Bool)+(_ ==> _ :: Bool,[],_ ==> _ :: Bool)+(_ == x :: Bool,[],_ == x :: Bool)+(_ == 0 :: Bool,[],_ == 0 :: Bool)+(_ == id _ :: Bool,[],_ == id _ :: Bool)+(x == _ :: Bool,[],x == _ :: Bool)+(0 == _ :: Bool,[],0 == _ :: Bool)+(id _ == _ :: Bool,[],id _ == _ :: Bool)+(_ == p :: Bool,[],_ == p :: Bool)+(_ == False :: Bool,[],_ == False :: Bool)+(_ == True :: Bool,[],_ == True :: Bool)+(_ == not _ :: Bool,[],_ == not _ :: Bool)+(p == _ :: Bool,[],p == _ :: Bool)+(False == _ :: Bool,[],False == _ :: Bool)+(True == _ :: Bool,[],True == _ :: Bool)+(not _ == _ :: Bool,[],not _ == _ :: Bool)+(_ <= _ :: Bool,[],_ <= _ :: Bool)+(_ <= _ :: Bool,[],_ <= _ :: Bool)+(odd x :: Bool,[],odd x :: Bool)+(odd 0 :: Bool,[],odd 0 :: Bool)+(odd (id _) :: Bool,[],odd (id _) :: Bool)+(even x :: Bool,[],even x :: Bool)+(even 0 :: Bool,[],even 0 :: Bool)+(even (id _) :: Bool,[],even (id _) :: Bool)+(elem _ xs :: Bool,[],elem _ xs :: Bool)+(elem _ [] :: Bool,[],elem _ [] :: Bool)+(elem _ (_:_) :: Bool,[],elem _ (_:_) :: Bool)+(elem x _ :: Bool,[],elem x _ :: Bool)+(elem 0 _ :: Bool,[],elem 0 _ :: Bool)+(elem (id _) _ :: Bool,[],elem (id _) _ :: Bool)+(c' :: Char,[],c' :: Char)+('A' :: Char,[],'A' :: Char)+(xs' :: [Int],[],xs' :: [Int])+([0,0,0] :: [Int],[],[0,0,0] :: [Int])+([0,1] :: [Int],[],[0,1] :: [Int])+([1,0] :: [Int],[],[1,0] :: [Int])+([-1] :: [Int],[],[-1] :: [Int])+(_:zs :: [Int],[],_:zs :: [Int])+(_:[0,0] :: [Int],[],_:[0,0] :: [Int])+(_:[1] :: [Int],[],_:[1] :: [Int])+(_:_:ys :: [Int],[],_:_:ys :: [Int])+(_:_:[0] :: [Int],[],_:_:[0] :: [Int])+(_:_:_:xs :: [Int],[],_:_:_:xs :: [Int])+([_,_,_] :: [Int],[],[_,_,_] :: [Int])+(_:_:_:_:_ :: [Int],[],_:_:_:_:_ :: [Int])+(_:_:x:_ :: [Int],[],_:_:x:_ :: [Int])+(_:_:0:_ :: [Int],[],_:_:0:_ :: [Int])+(_:_:id _:_ :: [Int],[],_:_:id _:_ :: [Int])+(_:_:tail _ :: [Int],[],_:_:tail _ :: [Int])+(_:_:(_ ++ _) :: [Int],[],_:_:(_ ++ _) :: [Int])+(_:x:xs :: [Int],[],_:x:xs :: [Int])+([_,x] :: [Int],[],[_,x] :: [Int])+(_:x:_:_ :: [Int],[],_:x:_:_ :: [Int])+(_:0:xs :: [Int],[],_:0:xs :: [Int])+([_,0] :: [Int],[],[_,0] :: [Int])+(_:0:_:_ :: [Int],[],_:0:_:_ :: [Int])+(_:id _:xs :: [Int],[],_:id _:xs :: [Int])+([_,id _] :: [Int],[],[_,id _] :: [Int])+(_:id _:_:_ :: [Int],[],_:id _:_:_ :: [Int])+(_:y:_ :: [Int],[],_:y:_ :: [Int])+(_:1:_ :: [Int],[],_:1:_ :: [Int])+(_:id x:_ :: [Int],[],_:id x:_ :: [Int])+(_:id 0:_ :: [Int],[],_:id 0:_ :: [Int])+(_:id (id _):_ :: [Int],[],_:id (id _):_ :: [Int])+(_:negate _:_ :: [Int],[],_:negate _:_ :: [Int])+(_:abs _:_ :: [Int],[],_:abs _:_ :: [Int])+(_:_ + _:_ :: [Int],[],_:_ + _:_ :: [Int])+(_:head _:_ :: [Int],[],_:head _:_ :: [Int])+(_:ord _:_ :: [Int],[],_:ord _:_ :: [Int])+(_:tail xs :: [Int],[],_:tail xs :: [Int])+(_:tail [] :: [Int],[],_:tail [] :: [Int])+(_:tail (_:_) :: [Int],[],_:tail (_:_) :: [Int])+(_:(_ ++ xs) :: [Int],[],_:(_ ++ xs) :: [Int])+(_:(_ ++ []) :: [Int],[],_:(_ ++ []) :: [Int])+(_:(_ ++ (_:_)) :: [Int],[],_:(_ ++ (_:_)) :: [Int])+(_:(xs ++ _) :: [Int],[],_:(xs ++ _) :: [Int])+(_:([] ++ _) :: [Int],[],_:([] ++ _) :: [Int])+(_:((_:_) ++ _) :: [Int],[],_:((_:_) ++ _) :: [Int])+(_:sort _ :: [Int],[],_:sort _ :: [Int])+(_:insert _ _ :: [Int],[],_:insert _ _ :: [Int])+(x:ys :: [Int],[],x:ys :: [Int])+(x:[0] :: [Int],[],x:[0] :: [Int])+(x:_:xs :: [Int],[],x:_:xs :: [Int])+([x,_] :: [Int],[],[x,_] :: [Int])+(x:_:_:_ :: [Int],[],x:_:_:_ :: [Int])+(x:x:_ :: [Int],[],x:x:_ :: [Int])+(x:0:_ :: [Int],[],x:0:_ :: [Int])+(x:id _:_ :: [Int],[],x:id _:_ :: [Int])+(x:tail _ :: [Int],[],x:tail _ :: [Int])+(x:(_ ++ _) :: [Int],[],x:(_ ++ _) :: [Int])+(0:ys :: [Int],[],0:ys :: [Int])+(0:[0] :: [Int],[],0:[0] :: [Int])+(0:_:xs :: [Int],[],0:_:xs :: [Int])+([0,_] :: [Int],[],[0,_] :: [Int])+(0:_:_:_ :: [Int],[],0:_:_:_ :: [Int])+(0:x:_ :: [Int],[],0:x:_ :: [Int])+(0:0:_ :: [Int],[],0:0:_ :: [Int])+(0:id _:_ :: [Int],[],0:id _:_ :: [Int])+(0:tail _ :: [Int],[],0:tail _ :: [Int])+(0:(_ ++ _) :: [Int],[],0:(_ ++ _) :: [Int])+(id _:ys :: [Int],[],id _:ys :: [Int])+(id _:[0] :: [Int],[],id _:[0] :: [Int])+(id _:_:xs :: [Int],[],id _:_:xs :: [Int])+([id _,_] :: [Int],[],[id _,_] :: [Int])+(id _:_:_:_ :: [Int],[],id _:_:_:_ :: [Int])+(id _:x:_ :: [Int],[],id _:x:_ :: [Int])+(id _:0:_ :: [Int],[],id _:0:_ :: [Int])+(id _:id _:_ :: [Int],[],id _:id _:_ :: [Int])+(id _:tail _ :: [Int],[],id _:tail _ :: [Int])+(id _:(_ ++ _) :: [Int],[],id _:(_ ++ _) :: [Int])+(y:xs :: [Int],[],y:xs :: [Int])+([y] :: [Int],[],[y] :: [Int])+(y:_:_ :: [Int],[],y:_:_ :: [Int])+(1:xs :: [Int],[],1:xs :: [Int])+([1] :: [Int],[],[1] :: [Int])+(1:_:_ :: [Int],[],1:_:_ :: [Int])+(id x:xs :: [Int],[],id x:xs :: [Int])+([id x] :: [Int],[],[id x] :: [Int])+(id x:_:_ :: [Int],[],id x:_:_ :: [Int])+(id 0:xs :: [Int],[],id 0:xs :: [Int])+([id 0] :: [Int],[],[id 0] :: [Int])+(id 0:_:_ :: [Int],[],id 0:_:_ :: [Int])+(id (id _):xs :: [Int],[],id (id _):xs :: [Int])+([id (id _)] :: [Int],[],[id (id _)] :: [Int])+(id (id _):_:_ :: [Int],[],id (id _):_:_ :: [Int])+(negate _:xs :: [Int],[],negate _:xs :: [Int])+([negate _] :: [Int],[],[negate _] :: [Int])+(negate _:_:_ :: [Int],[],negate _:_:_ :: [Int])+(abs _:xs :: [Int],[],abs _:xs :: [Int])+([abs _] :: [Int],[],[abs _] :: [Int])+(abs _:_:_ :: [Int],[],abs _:_:_ :: [Int])+(_ + _:xs :: [Int],[],_ + _:xs :: [Int])+([_ + _] :: [Int],[],[_ + _] :: [Int])+(_ + _:_:_ :: [Int],[],_ + _:_:_ :: [Int])+(head _:xs :: [Int],[],head _:xs :: [Int])+([head _] :: [Int],[],[head _] :: [Int])+(head _:_:_ :: [Int],[],head _:_:_ :: [Int])+(ord _:xs :: [Int],[],ord _:xs :: [Int])+([ord _] :: [Int],[],[ord _] :: [Int])+(ord _:_:_ :: [Int],[],ord _:_:_ :: [Int])+(z:_ :: [Int],[],z:_ :: [Int])+((-1):_ :: [Int],[],(-1):_ :: [Int])+(id y:_ :: [Int],[],id y:_ :: [Int])+(id 1:_ :: [Int],[],id 1:_ :: [Int])+(id (id x):_ :: [Int],[],id (id x):_ :: [Int])+(id (id 0):_ :: [Int],[],id (id 0):_ :: [Int])+(id (id (id _)):_ :: [Int],[],id (id (id _)):_ :: [Int])+(id (negate _):_ :: [Int],[],id (negate _):_ :: [Int])+(id (abs _):_ :: [Int],[],id (abs _):_ :: [Int])+(id (_ + _):_ :: [Int],[],id (_ + _):_ :: [Int])+(id (head _):_ :: [Int],[],id (head _):_ :: [Int])+(id (ord _):_ :: [Int],[],id (ord _):_ :: [Int])+(negate x:_ :: [Int],[],negate x:_ :: [Int])+(negate 0:_ :: [Int],[],negate 0:_ :: [Int])+(negate (id _):_ :: [Int],[],negate (id _):_ :: [Int])+(abs x:_ :: [Int],[],abs x:_ :: [Int])+(abs 0:_ :: [Int],[],abs 0:_ :: [Int])+(abs (id _):_ :: [Int],[],abs (id _):_ :: [Int])+(_ + x:_ :: [Int],[],_ + x:_ :: [Int])+(_ + 0:_ :: [Int],[],_ + 0:_ :: [Int])+(_ + id _:_ :: [Int],[],_ + id _:_ :: [Int])+(x + _:_ :: [Int],[],x + _:_ :: [Int])+(0 + _:_ :: [Int],[],0 + _:_ :: [Int])+(id _ + _:_ :: [Int],[],id _ + _:_ :: [Int])+(_ * _:_ :: [Int],[],_ * _:_ :: [Int])+(f _:_ :: [Int],[],f _:_ :: [Int])+(head xs:_ :: [Int],[],head xs:_ :: [Int])+(head []:_ :: [Int],[],head []:_ :: [Int])+(head (_:_):_ :: [Int],[],head (_:_):_ :: [Int])+(ord c:_ :: [Int],[],ord c:_ :: [Int])+(ord 'a':_ :: [Int],[],ord 'a':_ :: [Int])+(tail ys :: [Int],[],tail ys :: [Int])+(tail [0] :: [Int],[],tail [0] :: [Int])+(tail (_:xs) :: [Int],[],tail (_:xs) :: [Int])+(tail [_] :: [Int],[],tail [_] :: [Int])+(tail (_:_:_) :: [Int],[],tail (_:_:_) :: [Int])+(tail (x:_) :: [Int],[],tail (x:_) :: [Int])+(tail (0:_) :: [Int],[],tail (0:_) :: [Int])+(tail (id _:_) :: [Int],[],tail (id _:_) :: [Int])+(tail (tail _) :: [Int],[],tail (tail _) :: [Int])+(tail (_ ++ _) :: [Int],[],tail (_ ++ _) :: [Int])+(_ ++ ys :: [Int],[],_ ++ ys :: [Int])+(_ ++ [0] :: [Int],[],_ ++ [0] :: [Int])+(_ ++ (_:xs) :: [Int],[],_ ++ (_:xs) :: [Int])+(_ ++ [_] :: [Int],[],_ ++ [_] :: [Int])+(_ ++ (_:_:_) :: [Int],[],_ ++ (_:_:_) :: [Int])+(_ ++ (x:_) :: [Int],[],_ ++ (x:_) :: [Int])+(_ ++ (0:_) :: [Int],[],_ ++ (0:_) :: [Int])+(_ ++ (id _:_) :: [Int],[],_ ++ (id _:_) :: [Int])+(_ ++ tail _ :: [Int],[],_ ++ tail _ :: [Int])+(_ ++ (_ ++ _) :: [Int],[],_ ++ (_ ++ _) :: [Int])+(xs ++ xs :: [Int],[],xs ++ xs :: [Int])+(xs ++ [] :: [Int],[],xs ++ [] :: [Int])+(xs ++ (_:_) :: [Int],[],xs ++ (_:_) :: [Int])+([] ++ xs :: [Int],[],[] ++ xs :: [Int])+([] ++ [] :: [Int],[],[] ++ [] :: [Int])+([] ++ (_:_) :: [Int],[],[] ++ (_:_) :: [Int])+((_:_) ++ xs :: [Int],[],(_:_) ++ xs :: [Int])+((_:_) ++ [] :: [Int],[],(_:_) ++ [] :: [Int])+((_:_) ++ (_:_) :: [Int],[],(_:_) ++ (_:_) :: [Int])+(ys ++ _ :: [Int],[],ys ++ _ :: [Int])+([0] ++ _ :: [Int],[],[0] ++ _ :: [Int])+((_:xs) ++ _ :: [Int],[],(_:xs) ++ _ :: [Int])+([_] ++ _ :: [Int],[],[_] ++ _ :: [Int])+((_:_:_) ++ _ :: [Int],[],(_:_:_) ++ _ :: [Int])+((x:_) ++ _ :: [Int],[],(x:_) ++ _ :: [Int])+((0:_) ++ _ :: [Int],[],(0:_) ++ _ :: [Int])+((id _:_) ++ _ :: [Int],[],(id _:_) ++ _ :: [Int])+(tail _ ++ _ :: [Int],[],tail _ ++ _ :: [Int])+((_ ++ _) ++ _ :: [Int],[],(_ ++ _) ++ _ :: [Int])+(sort xs :: [Int],[],sort xs :: [Int])+(sort [] :: [Int],[],sort [] :: [Int])+(sort (_:_) :: [Int],[],sort (_:_) :: [Int])+(insert _ xs :: [Int],[],insert _ xs :: [Int])+(insert _ [] :: [Int],[],insert _ [] :: [Int])+(insert _ (_:_) :: [Int],[],insert _ (_:_) :: [Int])+(insert x _ :: [Int],[],insert x _ :: [Int])+(insert 0 _ :: [Int],[],insert 0 _ :: [Int])+(insert (id _) _ :: [Int],[],insert (id _) _ :: [Int])+((y +) :: Int -> Int,[],(y +) :: Int -> Int)+((1 +) :: Int -> Int,[],(1 +) :: Int -> Int)+((id x +) :: Int -> Int,[],(id x +) :: Int -> Int)+((id 0 +) :: Int -> Int,[],(id 0 +) :: Int -> Int)+((id (id _) +) :: Int -> Int,[],(id (id _) +) :: Int -> Int)+((negate _ +) :: Int -> Int,[],(negate _ +) :: Int -> Int)+((abs _ +) :: Int -> Int,[],(abs _ +) :: Int -> Int)+(((_ + _) +) :: Int -> Int,[],((_ + _) +) :: Int -> Int)+((head _ +) :: Int -> Int,[],(head _ +) :: Int -> Int)+((ord _ +) :: Int -> Int,[],(ord _ +) :: Int -> Int)+((x *) :: Int -> Int,[],(x *) :: Int -> Int)+((0 *) :: Int -> Int,[],(0 *) :: Int -> Int)+((id _ *) :: Int -> Int,[],(id _ *) :: Int -> Int)+(g :: Int -> Int,[],g :: Int -> Int)+((p ||) :: Bool -> Bool,[],(p ||) :: Bool -> Bool)+((False ||) :: Bool -> Bool,[],(False ||) :: Bool -> Bool)+((True ||) :: Bool -> Bool,[],(True ||) :: Bool -> Bool)+((not _ ||) :: Bool -> Bool,[],(not _ ||) :: Bool -> Bool)+((_ &&) :: Bool -> Bool,[],(_ &&) :: Bool -> Bool)+((==>) :: Bool -> Bool -> Bool,[],(==>) :: Bool -> Bool -> Bool)+(z' :: Int,[],z' :: Int)+(3 :: Int,[],3 :: Int)+(id y' :: Int,[],id y' :: Int)+(id (-2) :: Int,[],id (-2) :: Int)+(id (id x') :: Int,[],id (id x') :: Int)+(id (id 2) :: Int,[],id (id 2) :: Int)+(id (id (id z)) :: Int,[],id (id (id z)) :: Int)+(id (id (id (-1))) :: Int,[],id (id (id (-1))) :: Int)+(id (id (id (id y))) :: Int,[],id (id (id (id y))) :: Int)+(id (id (id (id 1))) :: Int,[],id (id (id (id 1))) :: Int)+(id (id (id (id (id x)))) :: Int,[],id (id (id (id (id x)))) :: Int)+(id (id (id (id (id 0)))) :: Int,[],id (id (id (id (id 0)))) :: Int)+(id (id (id (id (id (id _))))) :: Int,[],id (id (id (id (id (id _))))) :: Int)+(id (id (id (id (negate _)))) :: Int,[],id (id (id (id (negate _)))) :: Int)+(id (id (id (id (abs _)))) :: Int,[],id (id (id (id (abs _)))) :: Int)+(id (id (id (id (_ + _)))) :: Int,[],id (id (id (id (_ + _)))) :: Int)+(id (id (id (id (head _)))) :: Int,[],id (id (id (id (head _)))) :: Int)+(id (id (id (id (ord _)))) :: Int,[],id (id (id (id (ord _)))) :: Int)+(id (id (id (negate x))) :: Int,[],id (id (id (negate x))) :: Int)+(id (id (id (negate 0))) :: Int,[],id (id (id (negate 0))) :: Int)+(id (id (id (negate (id _)))) :: Int,[],id (id (id (negate (id _)))) :: Int)+(id (id (id (abs x))) :: Int,[],id (id (id (abs x))) :: Int)+(id (id (id (abs 0))) :: Int,[],id (id (id (abs 0))) :: Int)+(id (id (id (abs (id _)))) :: Int,[],id (id (id (abs (id _)))) :: Int)+(id (id (id (_ + x))) :: Int,[],id (id (id (_ + x))) :: Int)+(id (id (id (_ + 0))) :: Int,[],id (id (id (_ + 0))) :: Int)+(id (id (id (_ + id _))) :: Int,[],id (id (id (_ + id _))) :: Int)+(id (id (id (x + _))) :: Int,[],id (id (id (x + _))) :: Int)+(id (id (id (0 + _))) :: Int,[],id (id (id (0 + _))) :: Int)+(id (id (id (id _ + _))) :: Int,[],id (id (id (id _ + _))) :: Int)+(id (id (id (_ * _))) :: Int,[],id (id (id (_ * _))) :: Int)+(id (id (id (f _))) :: Int,[],id (id (id (f _))) :: Int)+(id (id (id (head xs))) :: Int,[],id (id (id (head xs))) :: Int)+(id (id (id (head []))) :: Int,[],id (id (id (head []))) :: Int)+(id (id (id (head (_:_)))) :: Int,[],id (id (id (head (_:_)))) :: Int)+(id (id (id (ord c))) :: Int,[],id (id (id (ord c))) :: Int)+(id (id (id (ord 'a'))) :: Int,[],id (id (id (ord 'a'))) :: Int)+(id (id (negate y)) :: Int,[],id (id (negate y)) :: Int)+(id (id (negate 1)) :: Int,[],id (id (negate 1)) :: Int)+(id (id (negate (id x))) :: Int,[],id (id (negate (id x))) :: Int)+(id (id (negate (id 0))) :: Int,[],id (id (negate (id 0))) :: Int)+(id (id (negate (id (id _)))) :: Int,[],id (id (negate (id (id _)))) :: Int)+(id (id (negate (negate _))) :: Int,[],id (id (negate (negate _))) :: Int)+(id (id (negate (abs _))) :: Int,[],id (id (negate (abs _))) :: Int)+(id (id (negate (_ + _))) :: Int,[],id (id (negate (_ + _))) :: Int)+(id (id (negate (head _))) :: Int,[],id (id (negate (head _))) :: Int)+(id (id (negate (ord _))) :: Int,[],id (id (negate (ord _))) :: Int)+(id (id (abs y)) :: Int,[],id (id (abs y)) :: Int)+(id (id (abs 1)) :: Int,[],id (id (abs 1)) :: Int)+(id (id (abs (id x))) :: Int,[],id (id (abs (id x))) :: Int)+(id (id (abs (id 0))) :: Int,[],id (id (abs (id 0))) :: Int)+(id (id (abs (id (id _)))) :: Int,[],id (id (abs (id (id _)))) :: Int)+(id (id (abs (negate _))) :: Int,[],id (id (abs (negate _))) :: Int)+(id (id (abs (abs _))) :: Int,[],id (id (abs (abs _))) :: Int)+(id (id (abs (_ + _))) :: Int,[],id (id (abs (_ + _))) :: Int)+(id (id (abs (head _))) :: Int,[],id (id (abs (head _))) :: Int)+(id (id (abs (ord _))) :: Int,[],id (id (abs (ord _))) :: Int)+(id (id (_ + y)) :: Int,[],id (id (_ + y)) :: Int)+(id (id (_ + 1)) :: Int,[],id (id (_ + 1)) :: Int)+(id (id (_ + id x)) :: Int,[],id (id (_ + id x)) :: Int)+(id (id (_ + id 0)) :: Int,[],id (id (_ + id 0)) :: Int)+(id (id (_ + id (id _))) :: Int,[],id (id (_ + id (id _))) :: Int)+(id (id (_ + negate _)) :: Int,[],id (id (_ + negate _)) :: Int)+(id (id (_ + abs _)) :: Int,[],id (id (_ + abs _)) :: Int)+(id (id (_ + (_ + _))) :: Int,[],id (id (_ + (_ + _))) :: Int)+(id (id (_ + head _)) :: Int,[],id (id (_ + head _)) :: Int)+(id (id (_ + ord _)) :: Int,[],id (id (_ + ord _)) :: Int)+(id (id (x + x)) :: Int,[],id (id (x + x)) :: Int)+(id (id (x + 0)) :: Int,[],id (id (x + 0)) :: Int)+(id (id (x + id _)) :: Int,[],id (id (x + id _)) :: Int)+(id (id (0 + x)) :: Int,[],id (id (0 + x)) :: Int)+(id (id (0 + 0)) :: Int,[],id (id (0 + 0)) :: Int)+(id (id (0 + id _)) :: Int,[],id (id (0 + id _)) :: Int)+(id (id (id _ + x)) :: Int,[],id (id (id _ + x)) :: Int)+(id (id (id _ + 0)) :: Int,[],id (id (id _ + 0)) :: Int)+(id (id (id _ + id _)) :: Int,[],id (id (id _ + id _)) :: Int)+(id (id (_ * x)) :: Int,[],id (id (_ * x)) :: Int)+(id (id (_ * 0)) :: Int,[],id (id (_ * 0)) :: Int)+(id (id (_ * id _)) :: Int,[],id (id (_ * id _)) :: Int)+(id (id (f x)) :: Int,[],id (id (f x)) :: Int)+(id (id (f 0)) :: Int,[],id (id (f 0)) :: Int)+(id (id (f (id _))) :: Int,[],id (id (f (id _))) :: Int)+(id (id (y + _)) :: Int,[],id (id (y + _)) :: Int)+(id (id (1 + _)) :: Int,[],id (id (1 + _)) :: Int)+(id (id (id x + _)) :: Int,[],id (id (id x + _)) :: Int)+(id (id (id 0 + _)) :: Int,[],id (id (id 0 + _)) :: Int)+(id (id (id (id _) + _)) :: Int,[],id (id (id (id _) + _)) :: Int)+(id (id (negate _ + _)) :: Int,[],id (id (negate _ + _)) :: Int)+(id (id (abs _ + _)) :: Int,[],id (id (abs _ + _)) :: Int)+(id (id ((_ + _) + _)) :: Int,[],id (id ((_ + _) + _)) :: Int)+(id (id (head _ + _)) :: Int,[],id (id (head _ + _)) :: Int)+(id (id (ord _ + _)) :: Int,[],id (id (ord _ + _)) :: Int)+(id (id (x * _)) :: Int,[],id (id (x * _)) :: Int)+(id (id (0 * _)) :: Int,[],id (id (0 * _)) :: Int)+(id (id (id _ * _)) :: Int,[],id (id (id _ * _)) :: Int)+(id (id (g _)) :: Int,[],id (id (g _)) :: Int)+(id (id (head ys)) :: Int,[],id (id (head ys)) :: Int)+(id (id (head [0])) :: Int,[],id (id (head [0])) :: Int)+(id (id (head (_:xs))) :: Int,[],id (id (head (_:xs))) :: Int)+(id (id (head [_])) :: Int,[],id (id (head [_])) :: Int)+(id (id (head (_:_:_))) :: Int,[],id (id (head (_:_:_))) :: Int)+(id (id (head (x:_))) :: Int,[],id (id (head (x:_))) :: Int)+(id (id (head (0:_))) :: Int,[],id (id (head (0:_))) :: Int)+(id (id (head (id _:_))) :: Int,[],id (id (head (id _:_))) :: Int)+(id (id (head (tail _))) :: Int,[],id (id (head (tail _))) :: Int)+(id (id (head (_ ++ _))) :: Int,[],id (id (head (_ ++ _))) :: Int)+(id (id (ord d)) :: Int,[],id (id (ord d)) :: Int)+(id (id (ord ' ')) :: Int,[],id (id (ord ' ')) :: Int)+(id (negate z) :: Int,[],id (negate z) :: Int)+(id (negate (-1)) :: Int,[],id (negate (-1)) :: Int)+(id (negate (id y)) :: Int,[],id (negate (id y)) :: Int)+(id (negate (id 1)) :: Int,[],id (negate (id 1)) :: Int)+(id (negate (id (id x))) :: Int,[],id (negate (id (id x))) :: Int)+(id (negate (id (id 0))) :: Int,[],id (negate (id (id 0))) :: Int)+(id (negate (id (id (id _)))) :: Int,[],id (negate (id (id (id _)))) :: Int)+(id (negate (id (negate _))) :: Int,[],id (negate (id (negate _))) :: Int)+(id (negate (id (abs _))) :: Int,[],id (negate (id (abs _))) :: Int)+(id (negate (id (_ + _))) :: Int,[],id (negate (id (_ + _))) :: Int)+(id (negate (id (head _))) :: Int,[],id (negate (id (head _))) :: Int)+(id (negate (id (ord _))) :: Int,[],id (negate (id (ord _))) :: Int)+(id (negate (negate x)) :: Int,[],id (negate (negate x)) :: Int)+(id (negate (negate 0)) :: Int,[],id (negate (negate 0)) :: Int)+(id (negate (negate (id _))) :: Int,[],id (negate (negate (id _))) :: Int)+(id (negate (abs x)) :: Int,[],id (negate (abs x)) :: Int)+(id (negate (abs 0)) :: Int,[],id (negate (abs 0)) :: Int)+(id (negate (abs (id _))) :: Int,[],id (negate (abs (id _))) :: Int)+(id (negate (_ + x)) :: Int,[],id (negate (_ + x)) :: Int)+(id (negate (_ + 0)) :: Int,[],id (negate (_ + 0)) :: Int)+(id (negate (_ + id _)) :: Int,[],id (negate (_ + id _)) :: Int)+(id (negate (x + _)) :: Int,[],id (negate (x + _)) :: Int)+(id (negate (0 + _)) :: Int,[],id (negate (0 + _)) :: Int)+(id (negate (id _ + _)) :: Int,[],id (negate (id _ + _)) :: Int)+(id (negate (_ * _)) :: Int,[],id (negate (_ * _)) :: Int)+(id (negate (f _)) :: Int,[],id (negate (f _)) :: Int)+(id (negate (head xs)) :: Int,[],id (negate (head xs)) :: Int)+(id (negate (head [])) :: Int,[],id (negate (head [])) :: Int)+(id (negate (head (_:_))) :: Int,[],id (negate (head (_:_))) :: Int)+(id (negate (ord c)) :: Int,[],id (negate (ord c)) :: Int)+(id (negate (ord 'a')) :: Int,[],id (negate (ord 'a')) :: Int)+(id (abs z) :: Int,[],id (abs z) :: Int)+(id (abs (-1)) :: Int,[],id (abs (-1)) :: Int)+(id (abs (id y)) :: Int,[],id (abs (id y)) :: Int)+(id (abs (id 1)) :: Int,[],id (abs (id 1)) :: Int)+(id (abs (id (id x))) :: Int,[],id (abs (id (id x))) :: Int)+(id (abs (id (id 0))) :: Int,[],id (abs (id (id 0))) :: Int)+(id (abs (id (id (id _)))) :: Int,[],id (abs (id (id (id _)))) :: Int)++True
bench/match-triexpr.hs view
@@ -1,6 +1,6 @@ -- triexpr.hs -- how long it takes to match expressions in a Triexpr? ----- Copyright (c) 2021 Rudy Matela.+-- Copyright (c) 2021-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). -- -- This program has the same parameters as other match*.hs benchmarks.@@ -19,8 +19,8 @@ main :: IO () main = do- putStrLn $ unlines $ map showEq $ allRules- putStrLn $ unlines $ map show $ mapMaybe query $ take 1080 $ exprs+ putStrLn $ unlines $ map showEq allRules+ putStrLn $ unlines $ map show $ mapMaybe query $ take 1080 exprs print $ (== ']') $ last $ show $ mapMaybe query exprs trie :: Triexpr Expr
+ bench/match-triexpr.txt view
@@ -0,0 +1,795 @@+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
bench/pairs.hs view
@@ -1,6 +1,6 @@ -- pairs.hs -- a thousand pairs of expressions ----- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test import System.Environment (getArgs)
+ bench/pairs.txt view
@@ -0,0 +1,1001 @@+(_ :: Int,_ :: Int)+(_ :: Int,x :: Int)+(_ :: Int,0 :: Int)+(_ :: Int,id _ :: Int)+(_ :: Int,_ :: Bool)+(_ :: Int,_ :: Char)+(_ :: Int,_ :: [Int])+(x :: Int,_ :: Int)+(0 :: Int,_ :: Int)+(id _ :: Int,_ :: Int)+(_ :: Bool,_ :: Int)+(_ :: Char,_ :: Int)+(_ :: [Int],_ :: Int)+(_ :: Int,y :: Int)+(_ :: Int,1 :: Int)+(_ :: Int,id x :: Int)+(_ :: Int,id 0 :: Int)+(_ :: Int,id (id _) :: Int)+(_ :: Int,negate _ :: Int)+(_ :: Int,abs _ :: Int)+(_ :: Int,_ + _ :: Int)+(_ :: Int,head _ :: Int)+(_ :: Int,ord _ :: Int)+(_ :: Int,p :: Bool)+(_ :: Int,False :: Bool)+(_ :: Int,True :: Bool)+(_ :: Int,not _ :: Bool)+(_ :: Int,c :: Char)+(_ :: Int,'a' :: Char)+(_ :: Int,xs :: [Int])+(_ :: Int,[] :: [Int])+(_ :: Int,_:_ :: [Int])+(_ :: Int,id :: Int -> Int)+(_ :: Int,(+) :: Int -> Int -> Int)+(x :: Int,x :: Int)+(x :: Int,0 :: Int)+(x :: Int,id _ :: Int)+(x :: Int,_ :: Bool)+(x :: Int,_ :: Char)+(x :: Int,_ :: [Int])+(0 :: Int,x :: Int)+(0 :: Int,0 :: Int)+(0 :: Int,id _ :: Int)+(0 :: Int,_ :: Bool)+(0 :: Int,_ :: Char)+(0 :: Int,_ :: [Int])+(id _ :: Int,x :: Int)+(id _ :: Int,0 :: Int)+(id _ :: Int,id _ :: Int)+(id _ :: Int,_ :: Bool)+(id _ :: Int,_ :: Char)+(id _ :: Int,_ :: [Int])+(_ :: Bool,x :: Int)+(_ :: Bool,0 :: Int)+(_ :: Bool,id _ :: Int)+(_ :: Bool,_ :: Bool)+(_ :: Bool,_ :: Char)+(_ :: Bool,_ :: [Int])+(_ :: Char,x :: Int)+(_ :: Char,0 :: Int)+(_ :: Char,id _ :: Int)+(_ :: Char,_ :: Bool)+(_ :: Char,_ :: Char)+(_ :: Char,_ :: [Int])+(_ :: [Int],x :: Int)+(_ :: [Int],0 :: Int)+(_ :: [Int],id _ :: Int)+(_ :: [Int],_ :: Bool)+(_ :: [Int],_ :: Char)+(_ :: [Int],_ :: [Int])+(y :: Int,_ :: Int)+(1 :: Int,_ :: Int)+(id x :: Int,_ :: Int)+(id 0 :: Int,_ :: Int)+(id (id _) :: Int,_ :: Int)+(negate _ :: Int,_ :: Int)+(abs _ :: Int,_ :: Int)+(_ + _ :: Int,_ :: Int)+(head _ :: Int,_ :: Int)+(ord _ :: Int,_ :: Int)+(p :: Bool,_ :: Int)+(False :: Bool,_ :: Int)+(True :: Bool,_ :: Int)+(not _ :: Bool,_ :: Int)+(c :: Char,_ :: Int)+('a' :: Char,_ :: Int)+(xs :: [Int],_ :: Int)+([] :: [Int],_ :: Int)+(_:_ :: [Int],_ :: Int)+(id :: Int -> Int,_ :: Int)+((+) :: Int -> Int -> Int,_ :: 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,id (id (id _)) :: Int)+(_ :: Int,id (negate _) :: Int)+(_ :: Int,id (abs _) :: Int)+(_ :: Int,id (_ + _) :: Int)+(_ :: Int,id (head _) :: Int)+(_ :: Int,id (ord _) :: Int)+(_ :: Int,negate x :: Int)+(_ :: Int,negate 0 :: Int)+(_ :: Int,negate (id _) :: Int)+(_ :: Int,abs x :: Int)+(_ :: Int,abs 0 :: Int)+(_ :: Int,abs (id _) :: Int)+(_ :: Int,_ + x :: Int)+(_ :: Int,_ + 0 :: Int)+(_ :: Int,_ + id _ :: Int)+(_ :: Int,x + _ :: Int)+(_ :: Int,0 + _ :: Int)+(_ :: Int,id _ + _ :: Int)+(_ :: Int,_ * _ :: Int)+(_ :: Int,f _ :: Int)+(_ :: Int,head xs :: Int)+(_ :: Int,head [] :: Int)+(_ :: Int,head (_:_) :: Int)+(_ :: Int,ord c :: Int)+(_ :: Int,ord 'a' :: Int)+(_ :: Int,q :: Bool)+(_ :: Int,not p :: Bool)+(_ :: Int,not False :: Bool)+(_ :: Int,not True :: Bool)+(_ :: Int,not (not _) :: Bool)+(_ :: Int,_ || _ :: Bool)+(_ :: Int,d :: Char)+(_ :: Int,' ' :: Char)+(_ :: Int,ys :: [Int])+(_ :: Int,[0] :: [Int])+(_ :: Int,_:xs :: [Int])+(_ :: Int,[_] :: [Int])+(_ :: Int,_:_:_ :: [Int])+(_ :: Int,x:_ :: [Int])+(_ :: Int,0:_ :: [Int])+(_ :: Int,id _:_ :: [Int])+(_ :: Int,tail _ :: [Int])+(_ :: Int,_ ++ _ :: [Int])+(_ :: Int,negate :: Int -> Int)+(_ :: Int,abs :: Int -> Int)+(_ :: Int,(_ +) :: Int -> Int)+(_ :: Int,(*) :: Int -> Int -> Int)+(_ :: Int,not :: Bool -> Bool)+(_ :: Int,(||) :: Bool -> Bool -> Bool)+(x :: Int,y :: Int)+(x :: Int,1 :: Int)+(x :: Int,id x :: Int)+(x :: Int,id 0 :: Int)+(x :: Int,id (id _) :: Int)+(x :: Int,negate _ :: Int)+(x :: Int,abs _ :: Int)+(x :: Int,_ + _ :: Int)+(x :: Int,head _ :: Int)+(x :: Int,ord _ :: Int)+(x :: Int,p :: Bool)+(x :: Int,False :: Bool)+(x :: Int,True :: Bool)+(x :: Int,not _ :: Bool)+(x :: Int,c :: Char)+(x :: Int,'a' :: Char)+(x :: Int,xs :: [Int])+(x :: Int,[] :: [Int])+(x :: Int,_:_ :: [Int])+(x :: Int,id :: Int -> Int)+(x :: Int,(+) :: Int -> Int -> Int)+(0 :: Int,y :: Int)+(0 :: Int,1 :: Int)+(0 :: Int,id x :: Int)+(0 :: Int,id 0 :: Int)+(0 :: Int,id (id _) :: Int)+(0 :: Int,negate _ :: Int)+(0 :: Int,abs _ :: Int)+(0 :: Int,_ + _ :: Int)+(0 :: Int,head _ :: Int)+(0 :: Int,ord _ :: Int)+(0 :: Int,p :: Bool)+(0 :: Int,False :: Bool)+(0 :: Int,True :: Bool)+(0 :: Int,not _ :: Bool)+(0 :: Int,c :: Char)+(0 :: Int,'a' :: Char)+(0 :: Int,xs :: [Int])+(0 :: Int,[] :: [Int])+(0 :: Int,_:_ :: [Int])+(0 :: Int,id :: Int -> Int)+(0 :: Int,(+) :: Int -> Int -> Int)+(id _ :: Int,y :: Int)+(id _ :: Int,1 :: Int)+(id _ :: Int,id x :: Int)+(id _ :: Int,id 0 :: Int)+(id _ :: Int,id (id _) :: Int)+(id _ :: Int,negate _ :: Int)+(id _ :: Int,abs _ :: Int)+(id _ :: Int,_ + _ :: Int)+(id _ :: Int,head _ :: Int)+(id _ :: Int,ord _ :: Int)+(id _ :: Int,p :: Bool)+(id _ :: Int,False :: Bool)+(id _ :: Int,True :: Bool)+(id _ :: Int,not _ :: Bool)+(id _ :: Int,c :: Char)+(id _ :: Int,'a' :: Char)+(id _ :: Int,xs :: [Int])+(id _ :: Int,[] :: [Int])+(id _ :: Int,_:_ :: [Int])+(id _ :: Int,id :: Int -> Int)+(id _ :: Int,(+) :: Int -> Int -> Int)+(_ :: Bool,y :: Int)+(_ :: Bool,1 :: Int)+(_ :: Bool,id x :: Int)+(_ :: Bool,id 0 :: Int)+(_ :: Bool,id (id _) :: Int)+(_ :: Bool,negate _ :: Int)+(_ :: Bool,abs _ :: Int)+(_ :: Bool,_ + _ :: Int)+(_ :: Bool,head _ :: Int)+(_ :: Bool,ord _ :: Int)+(_ :: Bool,p :: Bool)+(_ :: Bool,False :: Bool)+(_ :: Bool,True :: Bool)+(_ :: Bool,not _ :: Bool)+(_ :: Bool,c :: Char)+(_ :: Bool,'a' :: Char)+(_ :: Bool,xs :: [Int])+(_ :: Bool,[] :: [Int])+(_ :: Bool,_:_ :: [Int])+(_ :: Bool,id :: Int -> Int)+(_ :: Bool,(+) :: Int -> Int -> Int)+(_ :: Char,y :: Int)+(_ :: Char,1 :: Int)+(_ :: Char,id x :: Int)+(_ :: Char,id 0 :: Int)+(_ :: Char,id (id _) :: Int)+(_ :: Char,negate _ :: Int)+(_ :: Char,abs _ :: Int)+(_ :: Char,_ + _ :: Int)+(_ :: Char,head _ :: Int)+(_ :: Char,ord _ :: Int)+(_ :: Char,p :: Bool)+(_ :: Char,False :: Bool)+(_ :: Char,True :: Bool)+(_ :: Char,not _ :: Bool)+(_ :: Char,c :: Char)+(_ :: Char,'a' :: Char)+(_ :: Char,xs :: [Int])+(_ :: Char,[] :: [Int])+(_ :: Char,_:_ :: [Int])+(_ :: Char,id :: Int -> Int)+(_ :: Char,(+) :: Int -> Int -> Int)+(_ :: [Int],y :: Int)+(_ :: [Int],1 :: Int)+(_ :: [Int],id x :: Int)+(_ :: [Int],id 0 :: Int)+(_ :: [Int],id (id _) :: Int)+(_ :: [Int],negate _ :: Int)+(_ :: [Int],abs _ :: Int)+(_ :: [Int],_ + _ :: Int)+(_ :: [Int],head _ :: Int)+(_ :: [Int],ord _ :: Int)+(_ :: [Int],p :: Bool)+(_ :: [Int],False :: Bool)+(_ :: [Int],True :: Bool)+(_ :: [Int],not _ :: Bool)+(_ :: [Int],c :: Char)+(_ :: [Int],'a' :: Char)+(_ :: [Int],xs :: [Int])+(_ :: [Int],[] :: [Int])+(_ :: [Int],_:_ :: [Int])+(_ :: [Int],id :: Int -> Int)+(_ :: [Int],(+) :: Int -> Int -> Int)+(y :: Int,x :: Int)+(y :: Int,0 :: Int)+(y :: Int,id _ :: Int)+(y :: Int,_ :: Bool)+(y :: Int,_ :: Char)+(y :: Int,_ :: [Int])+(1 :: Int,x :: Int)+(1 :: Int,0 :: Int)+(1 :: Int,id _ :: Int)+(1 :: Int,_ :: Bool)+(1 :: Int,_ :: Char)+(1 :: Int,_ :: [Int])+(id x :: Int,x :: Int)+(id x :: Int,0 :: Int)+(id x :: Int,id _ :: Int)+(id x :: Int,_ :: Bool)+(id x :: Int,_ :: Char)+(id x :: Int,_ :: [Int])+(id 0 :: Int,x :: Int)+(id 0 :: Int,0 :: Int)+(id 0 :: Int,id _ :: Int)+(id 0 :: Int,_ :: Bool)+(id 0 :: Int,_ :: Char)+(id 0 :: Int,_ :: [Int])+(id (id _) :: Int,x :: Int)+(id (id _) :: Int,0 :: Int)+(id (id _) :: Int,id _ :: Int)+(id (id _) :: Int,_ :: Bool)+(id (id _) :: Int,_ :: Char)+(id (id _) :: Int,_ :: [Int])+(negate _ :: Int,x :: Int)+(negate _ :: Int,0 :: Int)+(negate _ :: Int,id _ :: Int)+(negate _ :: Int,_ :: Bool)+(negate _ :: Int,_ :: Char)+(negate _ :: Int,_ :: [Int])+(abs _ :: Int,x :: Int)+(abs _ :: Int,0 :: Int)+(abs _ :: Int,id _ :: Int)+(abs _ :: Int,_ :: Bool)+(abs _ :: Int,_ :: Char)+(abs _ :: Int,_ :: [Int])+(_ + _ :: Int,x :: Int)+(_ + _ :: Int,0 :: Int)+(_ + _ :: Int,id _ :: Int)+(_ + _ :: Int,_ :: Bool)+(_ + _ :: Int,_ :: Char)+(_ + _ :: Int,_ :: [Int])+(head _ :: Int,x :: Int)+(head _ :: Int,0 :: Int)+(head _ :: Int,id _ :: Int)+(head _ :: Int,_ :: Bool)+(head _ :: Int,_ :: Char)+(head _ :: Int,_ :: [Int])+(ord _ :: Int,x :: Int)+(ord _ :: Int,0 :: Int)+(ord _ :: Int,id _ :: Int)+(ord _ :: Int,_ :: Bool)+(ord _ :: Int,_ :: Char)+(ord _ :: Int,_ :: [Int])+(p :: Bool,x :: Int)+(p :: Bool,0 :: Int)+(p :: Bool,id _ :: Int)+(p :: Bool,_ :: Bool)+(p :: Bool,_ :: Char)+(p :: Bool,_ :: [Int])+(False :: Bool,x :: Int)+(False :: Bool,0 :: Int)+(False :: Bool,id _ :: Int)+(False :: Bool,_ :: Bool)+(False :: Bool,_ :: Char)+(False :: Bool,_ :: [Int])+(True :: Bool,x :: Int)+(True :: Bool,0 :: Int)+(True :: Bool,id _ :: Int)+(True :: Bool,_ :: Bool)+(True :: Bool,_ :: Char)+(True :: Bool,_ :: [Int])+(not _ :: Bool,x :: Int)+(not _ :: Bool,0 :: Int)+(not _ :: Bool,id _ :: Int)+(not _ :: Bool,_ :: Bool)+(not _ :: Bool,_ :: Char)+(not _ :: Bool,_ :: [Int])+(c :: Char,x :: Int)+(c :: Char,0 :: Int)+(c :: Char,id _ :: Int)+(c :: Char,_ :: Bool)+(c :: Char,_ :: Char)+(c :: Char,_ :: [Int])+('a' :: Char,x :: Int)+('a' :: Char,0 :: Int)+('a' :: Char,id _ :: Int)+('a' :: Char,_ :: Bool)+('a' :: Char,_ :: Char)+('a' :: Char,_ :: [Int])+(xs :: [Int],x :: Int)+(xs :: [Int],0 :: Int)+(xs :: [Int],id _ :: Int)+(xs :: [Int],_ :: Bool)+(xs :: [Int],_ :: Char)+(xs :: [Int],_ :: [Int])+([] :: [Int],x :: Int)+([] :: [Int],0 :: Int)+([] :: [Int],id _ :: Int)+([] :: [Int],_ :: Bool)+([] :: [Int],_ :: Char)+([] :: [Int],_ :: [Int])+(_:_ :: [Int],x :: Int)+(_:_ :: [Int],0 :: Int)+(_:_ :: [Int],id _ :: Int)+(_:_ :: [Int],_ :: Bool)+(_:_ :: [Int],_ :: Char)+(_:_ :: [Int],_ :: [Int])+(id :: Int -> Int,x :: Int)+(id :: Int -> Int,0 :: Int)+(id :: Int -> Int,id _ :: Int)+(id :: Int -> Int,_ :: Bool)+(id :: Int -> Int,_ :: Char)+(id :: Int -> Int,_ :: [Int])+((+) :: Int -> Int -> Int,x :: Int)+((+) :: Int -> Int -> Int,0 :: Int)+((+) :: Int -> Int -> Int,id _ :: Int)+((+) :: Int -> Int -> Int,_ :: Bool)+((+) :: Int -> Int -> Int,_ :: Char)+((+) :: Int -> Int -> 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)+(id (id (id _)) :: Int,_ :: Int)+(id (negate _) :: Int,_ :: Int)+(id (abs _) :: Int,_ :: Int)+(id (_ + _) :: Int,_ :: Int)+(id (head _) :: Int,_ :: Int)+(id (ord _) :: Int,_ :: Int)+(negate x :: Int,_ :: Int)+(negate 0 :: Int,_ :: Int)+(negate (id _) :: Int,_ :: Int)+(abs x :: Int,_ :: Int)+(abs 0 :: Int,_ :: Int)+(abs (id _) :: Int,_ :: Int)+(_ + x :: Int,_ :: Int)+(_ + 0 :: Int,_ :: Int)+(_ + id _ :: Int,_ :: Int)+(x + _ :: Int,_ :: Int)+(0 + _ :: Int,_ :: Int)+(id _ + _ :: Int,_ :: Int)+(_ * _ :: Int,_ :: Int)+(f _ :: Int,_ :: Int)+(head xs :: Int,_ :: Int)+(head [] :: Int,_ :: Int)+(head (_:_) :: Int,_ :: Int)+(ord c :: Int,_ :: Int)+(ord 'a' :: Int,_ :: Int)+(q :: Bool,_ :: Int)+(not p :: Bool,_ :: Int)+(not False :: Bool,_ :: Int)+(not True :: Bool,_ :: Int)+(not (not _) :: Bool,_ :: Int)+(_ || _ :: Bool,_ :: Int)+(d :: Char,_ :: Int)+(' ' :: Char,_ :: Int)+(ys :: [Int],_ :: Int)+([0] :: [Int],_ :: Int)+(_:xs :: [Int],_ :: Int)+([_] :: [Int],_ :: Int)+(_:_:_ :: [Int],_ :: Int)+(x:_ :: [Int],_ :: Int)+(0:_ :: [Int],_ :: Int)+(id _:_ :: [Int],_ :: Int)+(tail _ :: [Int],_ :: Int)+(_ ++ _ :: [Int],_ :: Int)+(negate :: Int -> Int,_ :: Int)+(abs :: Int -> Int,_ :: Int)+((_ +) :: Int -> Int,_ :: Int)+((*) :: Int -> Int -> Int,_ :: Int)+(not :: Bool -> Bool,_ :: Int)+((||) :: Bool -> Bool -> Bool,_ :: Int)+(_ :: 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 (id (id (id _))) :: Int)+(_ :: Int,id (id (negate _)) :: Int)+(_ :: Int,id (id (abs _)) :: Int)+(_ :: Int,id (id (_ + _)) :: Int)+(_ :: Int,id (id (head _)) :: Int)+(_ :: Int,id (id (ord _)) :: Int)+(_ :: Int,id (negate x) :: Int)+(_ :: Int,id (negate 0) :: Int)+(_ :: Int,id (negate (id _)) :: Int)+(_ :: Int,id (abs x) :: Int)+(_ :: Int,id (abs 0) :: Int)+(_ :: Int,id (abs (id _)) :: Int)+(_ :: Int,id (_ + x) :: Int)+(_ :: Int,id (_ + 0) :: Int)+(_ :: Int,id (_ + id _) :: Int)+(_ :: Int,id (x + _) :: Int)+(_ :: Int,id (0 + _) :: Int)+(_ :: Int,id (id _ + _) :: Int)+(_ :: Int,id (_ * _) :: Int)+(_ :: Int,id (f _) :: Int)+(_ :: Int,id (head xs) :: Int)+(_ :: Int,id (head []) :: 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,negate (id (id _)) :: Int)+(_ :: Int,negate (negate _) :: Int)+(_ :: Int,negate (abs _) :: Int)+(_ :: Int,negate (_ + _) :: Int)+(_ :: Int,negate (head _) :: Int)+(_ :: Int,negate (ord _) :: Int)+(_ :: Int,abs y :: Int)+(_ :: Int,abs 1 :: Int)+(_ :: Int,abs (id x) :: Int)+(_ :: Int,abs (id 0) :: Int)+(_ :: Int,abs (id (id _)) :: Int)+(_ :: Int,abs (negate _) :: Int)+(_ :: Int,abs (abs _) :: Int)+(_ :: Int,abs (_ + _) :: Int)+(_ :: Int,abs (head _) :: Int)+(_ :: Int,abs (ord _) :: Int)+(_ :: Int,_ + y :: Int)+(_ :: Int,_ + 1 :: Int)+(_ :: Int,_ + id x :: Int)+(_ :: Int,_ + id 0 :: Int)+(_ :: Int,_ + id (id _) :: Int)+(_ :: Int,_ + negate _ :: Int)+(_ :: Int,_ + abs _ :: Int)+(_ :: Int,_ + (_ + _) :: Int)+(_ :: Int,_ + head _ :: Int)+(_ :: Int,_ + ord _ :: Int)+(_ :: Int,x + x :: Int)+(_ :: Int,x + 0 :: Int)+(_ :: Int,x + id _ :: Int)+(_ :: Int,0 + x :: Int)+(_ :: Int,0 + 0 :: Int)+(_ :: Int,0 + id _ :: Int)+(_ :: Int,id _ + x :: Int)+(_ :: Int,id _ + 0 :: Int)+(_ :: Int,id _ + id _ :: Int)+(_ :: Int,_ * x :: Int)+(_ :: Int,_ * 0 :: Int)+(_ :: Int,_ * id _ :: Int)+(_ :: Int,f x :: Int)+(_ :: Int,f 0 :: Int)+(_ :: Int,f (id _) :: Int)+(_ :: Int,y + _ :: Int)+(_ :: Int,1 + _ :: Int)+(_ :: Int,id x + _ :: Int)+(_ :: Int,id 0 + _ :: Int)+(_ :: Int,id (id _) + _ :: Int)+(_ :: Int,negate _ + _ :: Int)+(_ :: Int,abs _ + _ :: Int)+(_ :: Int,(_ + _) + _ :: Int)+(_ :: Int,head _ + _ :: Int)+(_ :: Int,ord _ + _ :: Int)+(_ :: Int,x * _ :: Int)+(_ :: Int,0 * _ :: Int)+(_ :: Int,id _ * _ :: Int)+(_ :: Int,g _ :: Int)+(_ :: Int,head ys :: Int)+(_ :: Int,head [0] :: Int)+(_ :: Int,head (_:xs) :: Int)+(_ :: Int,head [_] :: Int)+(_ :: Int,head (_:_:_) :: Int)+(_ :: Int,head (x:_) :: Int)+(_ :: Int,head (0:_) :: Int)+(_ :: Int,head (id _:_) :: Int)+(_ :: Int,head (tail _) :: Int)+(_ :: Int,head (_ ++ _) :: Int)+(_ :: Int,ord d :: Int)+(_ :: Int,ord ' ' :: Int)+(_ :: Int,r :: Bool)+(_ :: Int,not q :: Bool)+(_ :: Int,not (not p) :: Bool)+(_ :: Int,not (not False) :: Bool)+(_ :: Int,not (not True) :: Bool)+(_ :: Int,not (not (not _)) :: Bool)+(_ :: Int,not (_ || _) :: Bool)+(_ :: Int,_ || p :: Bool)+(_ :: Int,_ || False :: Bool)+(_ :: Int,_ || True :: Bool)+(_ :: Int,_ || not _ :: Bool)+(_ :: Int,p || _ :: Bool)+(_ :: Int,False || _ :: Bool)+(_ :: Int,True || _ :: Bool)+(_ :: Int,not _ || _ :: Bool)+(_ :: Int,_ && _ :: Bool)+(_ :: Int,_ == _ :: Bool)+(_ :: Int,_ == _ :: Bool)+(_ :: Int,odd _ :: Bool)+(_ :: Int,even _ :: Bool)+(_ :: Int,elem _ _ :: Bool)+(_ :: Int,e :: Char)+(_ :: Int,'b' :: Char)+(_ :: Int,zs :: [Int])+(_ :: Int,[0,0] :: [Int])+(_ :: Int,[1] :: [Int])+(_ :: Int,_:ys :: [Int])+(_ :: Int,_:[0] :: [Int])+(_ :: Int,_:_:xs :: [Int])+(_ :: Int,[_,_] :: [Int])+(_ :: Int,_:_:_:_ :: [Int])+(_ :: Int,_:x:_ :: [Int])+(_ :: Int,_:0:_ :: [Int])+(_ :: Int,_:id _:_ :: [Int])+(_ :: Int,_:tail _ :: [Int])+(_ :: Int,_:(_ ++ _) :: [Int])+(_ :: Int,x:xs :: [Int])+(_ :: Int,[x] :: [Int])+(_ :: Int,x:_:_ :: [Int])+(_ :: Int,0:xs :: [Int])+(_ :: Int,[0] :: [Int])+(_ :: Int,0:_:_ :: [Int])+(_ :: Int,id _:xs :: [Int])+(_ :: Int,[id _] :: [Int])+(_ :: Int,id _:_:_ :: [Int])+(_ :: Int,y:_ :: [Int])+(_ :: Int,1:_ :: [Int])+(_ :: Int,id x:_ :: [Int])+(_ :: Int,id 0:_ :: [Int])+(_ :: Int,id (id _):_ :: [Int])+(_ :: Int,negate _:_ :: [Int])+(_ :: Int,abs _:_ :: [Int])+(_ :: Int,_ + _:_ :: [Int])+(_ :: Int,head _:_ :: [Int])+(_ :: Int,ord _:_ :: [Int])+(_ :: Int,tail xs :: [Int])+(_ :: Int,tail [] :: [Int])+(_ :: Int,tail (_:_) :: [Int])+(_ :: Int,_ ++ xs :: [Int])+(_ :: Int,_ ++ [] :: [Int])+(_ :: Int,_ ++ (_:_) :: [Int])+(_ :: Int,xs ++ _ :: [Int])+(_ :: Int,[] ++ _ :: [Int])+(_ :: Int,(_:_) ++ _ :: [Int])+(_ :: Int,sort _ :: [Int])+(_ :: Int,insert _ _ :: [Int])+(_ :: Int,(x +) :: Int -> Int)+(_ :: Int,(0 +) :: Int -> Int)+(_ :: Int,(id _ +) :: Int -> Int)+(_ :: Int,(_ *) :: Int -> Int)+(_ :: Int,f :: Int -> Int)+(_ :: Int,(_ ||) :: Bool -> Bool)+(_ :: Int,(&&) :: Bool -> Bool -> Bool)+(x :: Int,z :: Int)+(x :: Int,-1 :: Int)+(x :: Int,id y :: Int)+(x :: Int,id 1 :: Int)+(x :: Int,id (id x) :: Int)+(x :: Int,id (id 0) :: Int)+(x :: Int,id (id (id _)) :: Int)+(x :: Int,id (negate _) :: Int)+(x :: Int,id (abs _) :: Int)+(x :: Int,id (_ + _) :: Int)+(x :: Int,id (head _) :: Int)+(x :: Int,id (ord _) :: Int)+(x :: Int,negate x :: Int)+(x :: Int,negate 0 :: Int)+(x :: Int,negate (id _) :: Int)+(x :: Int,abs x :: Int)+(x :: Int,abs 0 :: Int)+(x :: Int,abs (id _) :: Int)+(x :: Int,_ + x :: Int)+(x :: Int,_ + 0 :: Int)+(x :: Int,_ + id _ :: Int)+(x :: Int,x + _ :: Int)+(x :: Int,0 + _ :: Int)+(x :: Int,id _ + _ :: Int)+(x :: Int,_ * _ :: Int)+(x :: Int,f _ :: Int)+(x :: Int,head xs :: Int)+(x :: Int,head [] :: Int)+(x :: Int,head (_:_) :: Int)+(x :: Int,ord c :: Int)+(x :: Int,ord 'a' :: Int)+(x :: Int,q :: Bool)+(x :: Int,not p :: Bool)+(x :: Int,not False :: Bool)+(x :: Int,not True :: Bool)+(x :: Int,not (not _) :: Bool)+(x :: Int,_ || _ :: Bool)+(x :: Int,d :: Char)+(x :: Int,' ' :: Char)+(x :: Int,ys :: [Int])+(x :: Int,[0] :: [Int])+(x :: Int,_:xs :: [Int])+(x :: Int,[_] :: [Int])+(x :: Int,_:_:_ :: [Int])+(x :: Int,x:_ :: [Int])+(x :: Int,0:_ :: [Int])+(x :: Int,id _:_ :: [Int])+(x :: Int,tail _ :: [Int])+(x :: Int,_ ++ _ :: [Int])+(x :: Int,negate :: Int -> Int)+(x :: Int,abs :: Int -> Int)+(x :: Int,(_ +) :: Int -> Int)+(x :: Int,(*) :: Int -> Int -> Int)+(x :: Int,not :: Bool -> Bool)+(x :: Int,(||) :: Bool -> Bool -> Bool)+(0 :: Int,z :: Int)+(0 :: Int,-1 :: Int)+(0 :: Int,id y :: Int)+(0 :: Int,id 1 :: Int)+(0 :: Int,id (id x) :: Int)+(0 :: Int,id (id 0) :: Int)+(0 :: Int,id (id (id _)) :: Int)+(0 :: Int,id (negate _) :: Int)+(0 :: Int,id (abs _) :: Int)+(0 :: Int,id (_ + _) :: Int)+(0 :: Int,id (head _) :: Int)+(0 :: Int,id (ord _) :: Int)+(0 :: Int,negate x :: Int)+(0 :: Int,negate 0 :: Int)+(0 :: Int,negate (id _) :: Int)+(0 :: Int,abs x :: Int)+(0 :: Int,abs 0 :: Int)+(0 :: Int,abs (id _) :: Int)+(0 :: Int,_ + x :: Int)+(0 :: Int,_ + 0 :: Int)+(0 :: Int,_ + id _ :: Int)+(0 :: Int,x + _ :: Int)+(0 :: Int,0 + _ :: Int)+(0 :: Int,id _ + _ :: Int)+(0 :: Int,_ * _ :: Int)+(0 :: Int,f _ :: Int)+(0 :: Int,head xs :: Int)+(0 :: Int,head [] :: Int)+(0 :: Int,head (_:_) :: Int)+(0 :: Int,ord c :: Int)+(0 :: Int,ord 'a' :: Int)+(0 :: Int,q :: Bool)+(0 :: Int,not p :: Bool)+(0 :: Int,not False :: Bool)+(0 :: Int,not True :: Bool)+(0 :: Int,not (not _) :: Bool)+(0 :: Int,_ || _ :: Bool)+(0 :: Int,d :: Char)+(0 :: Int,' ' :: Char)+(0 :: Int,ys :: [Int])+(0 :: Int,[0] :: [Int])+(0 :: Int,_:xs :: [Int])+(0 :: Int,[_] :: [Int])+(0 :: Int,_:_:_ :: [Int])+(0 :: Int,x:_ :: [Int])+(0 :: Int,0:_ :: [Int])+(0 :: Int,id _:_ :: [Int])+(0 :: Int,tail _ :: [Int])+(0 :: Int,_ ++ _ :: [Int])+(0 :: Int,negate :: Int -> Int)+(0 :: Int,abs :: Int -> Int)+(0 :: Int,(_ +) :: Int -> Int)+(0 :: Int,(*) :: Int -> Int -> Int)+(0 :: Int,not :: Bool -> Bool)+(0 :: Int,(||) :: Bool -> Bool -> Bool)+(id _ :: Int,z :: Int)+(id _ :: Int,-1 :: Int)+(id _ :: Int,id y :: Int)+(id _ :: Int,id 1 :: Int)+(id _ :: Int,id (id x) :: Int)+(id _ :: Int,id (id 0) :: Int)+(id _ :: Int,id (id (id _)) :: Int)+(id _ :: Int,id (negate _) :: Int)+(id _ :: Int,id (abs _) :: Int)+(id _ :: Int,id (_ + _) :: Int)+(id _ :: Int,id (head _) :: Int)+(id _ :: Int,id (ord _) :: Int)+(id _ :: Int,negate x :: Int)+(id _ :: Int,negate 0 :: Int)+(id _ :: Int,negate (id _) :: Int)+(id _ :: Int,abs x :: Int)+(id _ :: Int,abs 0 :: Int)+(id _ :: Int,abs (id _) :: Int)+(id _ :: Int,_ + x :: Int)+(id _ :: Int,_ + 0 :: Int)+(id _ :: Int,_ + id _ :: Int)+(id _ :: Int,x + _ :: Int)+(id _ :: Int,0 + _ :: Int)+(id _ :: Int,id _ + _ :: Int)+(id _ :: Int,_ * _ :: Int)+(id _ :: Int,f _ :: Int)+(id _ :: Int,head xs :: Int)+(id _ :: Int,head [] :: Int)+(id _ :: Int,head (_:_) :: Int)+(id _ :: Int,ord c :: Int)+(id _ :: Int,ord 'a' :: Int)+(id _ :: Int,q :: Bool)+(id _ :: Int,not p :: Bool)+(id _ :: Int,not False :: Bool)+(id _ :: Int,not True :: Bool)+(id _ :: Int,not (not _) :: Bool)+(id _ :: Int,_ || _ :: Bool)+(id _ :: Int,d :: Char)+(id _ :: Int,' ' :: Char)+(id _ :: Int,ys :: [Int])+(id _ :: Int,[0] :: [Int])+(id _ :: Int,_:xs :: [Int])+(id _ :: Int,[_] :: [Int])+(id _ :: Int,_:_:_ :: [Int])+(id _ :: Int,x:_ :: [Int])+(id _ :: Int,0:_ :: [Int])+(id _ :: Int,id _:_ :: [Int])+(id _ :: Int,tail _ :: [Int])+(id _ :: Int,_ ++ _ :: [Int])+(id _ :: Int,negate :: Int -> Int)+(id _ :: Int,abs :: Int -> Int)+(id _ :: Int,(_ +) :: Int -> Int)+(id _ :: Int,(*) :: Int -> Int -> Int)+(id _ :: Int,not :: Bool -> Bool)+(id _ :: Int,(||) :: Bool -> Bool -> Bool)+(_ :: Bool,z :: Int)+(_ :: Bool,-1 :: Int)+(_ :: Bool,id y :: Int)+(_ :: Bool,id 1 :: Int)+(_ :: Bool,id (id x) :: Int)+(_ :: Bool,id (id 0) :: Int)+(_ :: Bool,id (id (id _)) :: Int)+(_ :: Bool,id (negate _) :: Int)+(_ :: Bool,id (abs _) :: Int)+(_ :: Bool,id (_ + _) :: Int)+(_ :: Bool,id (head _) :: Int)+(_ :: Bool,id (ord _) :: Int)+(_ :: Bool,negate x :: Int)+(_ :: Bool,negate 0 :: Int)+(_ :: Bool,negate (id _) :: Int)+(_ :: Bool,abs x :: Int)+(_ :: Bool,abs 0 :: Int)+(_ :: Bool,abs (id _) :: Int)+(_ :: Bool,_ + x :: Int)+(_ :: Bool,_ + 0 :: Int)+(_ :: Bool,_ + id _ :: Int)+(_ :: Bool,x + _ :: Int)+(_ :: Bool,0 + _ :: Int)+(_ :: Bool,id _ + _ :: Int)+(_ :: Bool,_ * _ :: Int)+(_ :: Bool,f _ :: Int)+(_ :: Bool,head xs :: Int)+(_ :: Bool,head [] :: Int)+(_ :: Bool,head (_:_) :: Int)+(_ :: Bool,ord c :: Int)+(_ :: Bool,ord 'a' :: Int)+(_ :: Bool,q :: Bool)+(_ :: Bool,not p :: Bool)+(_ :: Bool,not False :: Bool)+(_ :: Bool,not True :: Bool)+(_ :: Bool,not (not _) :: Bool)+(_ :: Bool,_ || _ :: Bool)+(_ :: Bool,d :: Char)+(_ :: Bool,' ' :: Char)+(_ :: Bool,ys :: [Int])+(_ :: Bool,[0] :: [Int])+(_ :: Bool,_:xs :: [Int])+(_ :: Bool,[_] :: [Int])+(_ :: Bool,_:_:_ :: [Int])+(_ :: Bool,x:_ :: [Int])+(_ :: Bool,0:_ :: [Int])+(_ :: Bool,id _:_ :: [Int])+(_ :: Bool,tail _ :: [Int])+(_ :: Bool,_ ++ _ :: [Int])+(_ :: Bool,negate :: Int -> Int)+(_ :: Bool,abs :: Int -> Int)+(_ :: Bool,(_ +) :: Int -> Int)+(_ :: Bool,(*) :: Int -> Int -> Int)+(_ :: Bool,not :: Bool -> Bool)+(_ :: Bool,(||) :: Bool -> Bool -> Bool)+(_ :: Char,z :: Int)+(_ :: Char,-1 :: Int)+(_ :: Char,id y :: Int)+(_ :: Char,id 1 :: Int)+(_ :: Char,id (id x) :: Int)+(_ :: Char,id (id 0) :: Int)+(_ :: Char,id (id (id _)) :: Int)+(_ :: Char,id (negate _) :: Int)+(_ :: Char,id (abs _) :: Int)+(_ :: Char,id (_ + _) :: Int)+(_ :: Char,id (head _) :: Int)+(_ :: Char,id (ord _) :: Int)+(_ :: Char,negate x :: Int)+(_ :: Char,negate 0 :: Int)+(_ :: Char,negate (id _) :: Int)+(_ :: Char,abs x :: Int)+(_ :: Char,abs 0 :: Int)+(_ :: Char,abs (id _) :: Int)+(_ :: Char,_ + x :: Int)+(_ :: Char,_ + 0 :: Int)+(_ :: Char,_ + id _ :: Int)+(_ :: Char,x + _ :: Int)+(_ :: Char,0 + _ :: Int)+(_ :: Char,id _ + _ :: Int)+(_ :: Char,_ * _ :: Int)+(_ :: Char,f _ :: Int)+(_ :: Char,head xs :: Int)+(_ :: Char,head [] :: Int)+(_ :: Char,head (_:_) :: Int)+(_ :: Char,ord c :: Int)+(_ :: Char,ord 'a' :: Int)+(_ :: Char,q :: Bool)+(_ :: Char,not p :: Bool)+(_ :: Char,not False :: Bool)+(_ :: Char,not True :: Bool)+(_ :: Char,not (not _) :: Bool)+(_ :: Char,_ || _ :: Bool)+(_ :: Char,d :: Char)+(_ :: Char,' ' :: Char)+(_ :: Char,ys :: [Int])+(_ :: Char,[0] :: [Int])+(_ :: Char,_:xs :: [Int])+(_ :: Char,[_] :: [Int])+(_ :: Char,_:_:_ :: [Int])+(_ :: Char,x:_ :: [Int])+(_ :: Char,0:_ :: [Int])+(_ :: Char,id _:_ :: [Int])+(_ :: Char,tail _ :: [Int])+(_ :: Char,_ ++ _ :: [Int])+(_ :: Char,negate :: Int -> Int)+(_ :: Char,abs :: Int -> Int)+(_ :: Char,(_ +) :: Int -> Int)+(_ :: Char,(*) :: Int -> Int -> Int)+(_ :: Char,not :: Bool -> Bool)+(_ :: Char,(||) :: Bool -> Bool -> Bool)+(_ :: [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],id (id (id _)) :: Int)+(_ :: [Int],id (negate _) :: Int)+(_ :: [Int],id (abs _) :: Int)+(_ :: [Int],id (_ + _) :: Int)+(_ :: [Int],id (head _) :: Int)+(_ :: [Int],id (ord _) :: Int)+(_ :: [Int],negate x :: Int)+(_ :: [Int],negate 0 :: Int)+(_ :: [Int],negate (id _) :: Int)+(_ :: [Int],abs x :: Int)+(_ :: [Int],abs 0 :: Int)+(_ :: [Int],abs (id _) :: Int)+(_ :: [Int],_ + x :: Int)+(_ :: [Int],_ + 0 :: Int)+(_ :: [Int],_ + id _ :: Int)+(_ :: [Int],x + _ :: Int)+(_ :: [Int],0 + _ :: Int)+(_ :: [Int],id _ + _ :: Int)+(_ :: [Int],_ * _ :: Int)+(_ :: [Int],f _ :: Int)+(_ :: [Int],head xs :: Int)+(_ :: [Int],head [] :: Int)+(_ :: [Int],head (_:_) :: Int)+(_ :: [Int],ord c :: Int)+(_ :: [Int],ord 'a' :: Int)+(_ :: [Int],q :: Bool)+(_ :: [Int],not p :: Bool)+(_ :: [Int],not False :: Bool)+(_ :: [Int],not True :: Bool)+(_ :: [Int],not (not _) :: Bool)+(_ :: [Int],_ || _ :: Bool)+(_ :: [Int],d :: Char)+(_ :: [Int],' ' :: Char)+(_ :: [Int],ys :: [Int])+(_ :: [Int],[0] :: [Int])+(_ :: [Int],_:xs :: [Int])+(_ :: [Int],[_] :: [Int])+(_ :: [Int],_:_:_ :: [Int])+(_ :: [Int],x:_ :: [Int])+(_ :: [Int],0:_ :: [Int])+(_ :: [Int],id _:_ :: [Int])+(_ :: [Int],tail _ :: [Int])+(_ :: [Int],_ ++ _ :: [Int])+(_ :: [Int],negate :: Int -> Int)+(_ :: [Int],abs :: Int -> Int)+(_ :: [Int],(_ +) :: Int -> Int)+(_ :: [Int],(*) :: Int -> Int -> Int)+(_ :: [Int],not :: Bool -> Bool)+(_ :: [Int],(||) :: Bool -> Bool -> Bool)+(y :: Int,y :: Int)+(y :: Int,1 :: Int)+(y :: Int,id x :: Int)+(y :: Int,id 0 :: Int)+(y :: Int,id (id _) :: Int)+(y :: Int,negate _ :: Int)+(y :: Int,abs _ :: Int)+(y :: Int,_ + _ :: Int)+(y :: Int,head _ :: Int)+(y :: Int,ord _ :: Int)+(y :: Int,p :: Bool)+(y :: Int,False :: Bool)+(y :: Int,True :: Bool)+(y :: Int,not _ :: Bool)+(y :: Int,c :: Char)+(y :: Int,'a' :: Char)+(y :: Int,xs :: [Int])+(y :: Int,[] :: [Int])+(y :: Int,_:_ :: [Int])+(y :: Int,id :: Int -> Int)+(y :: Int,(+) :: Int -> Int -> Int)+(1 :: Int,y :: Int)+(1 :: Int,1 :: Int)+(1 :: Int,id x :: Int)+(1 :: Int,id 0 :: Int)+(1 :: Int,id (id _) :: Int)+(1 :: Int,negate _ :: Int)+(1 :: Int,abs _ :: Int)+(1 :: Int,_ + _ :: Int)+(1 :: Int,head _ :: Int)+(1 :: Int,ord _ :: Int)+(1 :: Int,p :: Bool)+(1 :: Int,False :: Bool)+(1 :: Int,True :: Bool)+(1 :: Int,not _ :: Bool)+(1 :: Int,c :: Char)+(1 :: Int,'a' :: Char)+(1 :: Int,xs :: [Int])+(1 :: Int,[] :: [Int])+(1 :: Int,_:_ :: [Int])+
bench/runtime/zero/bench/compare.runtime view
@@ -1,1 +1,1 @@-0.02+0.05
bench/runtime/zero/bench/match-list.runtime view
@@ -1,1 +1,1 @@-2.36+2.28
bench/runtime/zero/bench/match-noop.runtime view
@@ -1,1 +1,1 @@-2.00+1.70
bench/runtime/zero/bench/match-triexpr.runtime view
@@ -1,1 +1,1 @@-2.59+2.23
bench/runtime/zero/bench/pairs.runtime view
@@ -1,1 +1,1 @@-0.01+0.04
bench/runtime/zero/bench/sort.runtime view
@@ -1,1 +1,1 @@-0.19+0.23
+ bench/runtime/zero/bench/tiers-complete.runtime view
@@ -0,0 +1,1 @@+1.24
bench/runtime/zero/bench/tiers.runtime view
@@ -1,1 +1,1 @@-0.19+0.24
bench/runtime/zero/eg/u-conjure.runtime view
@@ -1,1 +1,1 @@-0.33+0.37
bench/runtime/zero/eg/u-extrapolate.runtime view
@@ -1,1 +1,1 @@-0.01+0.04
bench/runtime/zero/eg/u-speculate.runtime view
@@ -1,1 +1,1 @@-0.32+0.35
bench/runtime/zero/versions view
@@ -1,1 +1,1 @@-GHC 8.10.4+GHC 9.0.2
bench/sort.hs view
@@ -1,6 +1,6 @@ -- ord.hs -- prints different expression sortins: ----- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test import Data.List (intercalate, nub)@@ -15,11 +15,11 @@ main :: IO () main = do- putStrLn $ "sort $ take 5040 $ list :: [ Expr ] ="- printL (sort $ take 5040 $ list :: [Expr])+ putStrLn "sort $ take 5040 $ list :: [ Expr ] ="+ printL (sort $ take 5040 list :: [Expr]) - putStrLn $ "sortBy compareLexicographically $ take 5040 $ list :: [ Expr ] ="- printL (sortBy compareLexicographically $ take 5040 $ list :: [Expr])+ putStrLn "sortBy compareLexicographically $ take 5040 $ list :: [ Expr ] ="+ printL (sortBy compareLexicographically $ take 5040 list :: [Expr]) - putStrLn $ "sortBy compareQuickly $ take 5040 $ list :: [ Expr ] ="- printL (sortBy compareQuickly $ take 5040 $ list :: [Expr])+ putStrLn "sortBy compareQuickly $ take 5040 $ list :: [ Expr ] ="+ printL (sortBy compareQuickly $ take 5040 list :: [Expr])
+ bench/sort.txt view
@@ -0,0 +1,15129 @@+sort $ take 5040 $ list :: [ Expr ] =+ [ _ :: Bool+ , p :: Bool+ , q :: Bool+ , r :: Bool+ , p' :: Bool+ , q' :: Bool+ , _ :: Char+ , c :: Char+ , d :: Char+ , e :: Char+ , c' :: Char+ , d' :: Char+ , _ :: Int+ , x :: Int+ , y :: Int+ , z :: Int+ , x' :: Int+ , y' :: Int+ , z' :: Int+ , x'' :: Int+ , _ :: [Int]+ , xs :: [Int]+ , ys :: [Int]+ , zs :: [Int]+ , xs' :: [Int]+ , ys' :: [Int]+ , f :: Int -> Int+ , g :: Int -> Int+ , h :: Int -> Int+ , False :: Bool+ , True :: Bool+ , ' ' :: Char+ , 'A' :: Char+ , 'a' :: Char+ , 'b' :: Char+ , 'c' :: Char+ , 0 :: Int+ , 1 :: Int+ , 2 :: Int+ , 3 :: Int+ , -1 :: Int+ , -2 :: Int+ , -3 :: Int+ , [] :: [Int]+ , [0] :: [Int]+ , [1] :: [Int]+ , [2] :: [Int]+ , [-1] :: [Int]+ , [0,0] :: [Int]+ , [0,1] :: [Int]+ , [1,0] :: [Int]+ , [1,1] :: [Int]+ , [-1,0] :: [Int]+ , [0,-1] :: [Int]+ , [0,0,0] :: [Int]+ , [0,0,1] :: [Int]+ , [0,1,0] :: [Int]+ , [1,0,0] :: [Int]+ , [0,0,0,0] :: [Int]+ , not :: Bool -> Bool+ , id :: Int -> Int+ , abs :: Int -> Int+ , negate :: Int -> Int+ , (&&) :: Bool -> Bool -> Bool+ , (||) :: Bool -> Bool -> Bool+ , (==>) :: Bool -> Bool -> Bool+ , (*) :: Int -> Int -> Int+ , (+) :: Int -> Int -> Int+ , f _ :: Int+ , f x :: Int+ , f y :: Int+ , f z :: Int+ , g _ :: Int+ , g x :: Int+ , g y :: Int+ , h _ :: Int+ , h x :: Int+ , f' _ :: Int+ , f 0 :: Int+ , f 1 :: Int+ , f (-1) :: Int+ , g 0 :: Int+ , g 1 :: Int+ , h 0 :: Int+ , not _ :: Bool+ , not p :: Bool+ , not q :: Bool+ , not r :: Bool+ , not p' :: Bool+ , ord _ :: Int+ , ord c :: Int+ , ord d :: Int+ , ord e :: Int+ , ord c' :: Int+ , odd _ :: Bool+ , odd x :: Bool+ , odd y :: Bool+ , even _ :: Bool+ , even x :: Bool+ , even y :: Bool+ , id _ :: Int+ , id x :: Int+ , id y :: Int+ , id z :: Int+ , id x' :: Int+ , id y' :: Int+ , id z' :: Int+ , abs _ :: Int+ , abs x :: Int+ , abs y :: Int+ , abs z :: Int+ , abs x' :: Int+ , negate _ :: Int+ , negate x :: Int+ , negate y :: Int+ , negate z :: Int+ , negate x' :: Int+ , head _ :: Int+ , head xs :: Int+ , head ys :: Int+ , head zs :: Int+ , head xs' :: Int+ , sort _ :: [Int]+ , sort xs :: [Int]+ , sort ys :: [Int]+ , tail _ :: [Int]+ , tail xs :: [Int]+ , tail ys :: [Int]+ , tail zs :: [Int]+ , (_ &&) :: Bool -> Bool+ , (p &&) :: Bool -> Bool+ , (_ ||) :: Bool -> Bool+ , (p ||) :: Bool -> Bool+ , (q ||) :: Bool -> Bool+ , (_ ==>) :: Bool -> Bool+ , (_ *) :: Int -> Int+ , (x *) :: Int -> Int+ , (y *) :: Int -> Int+ , (_ +) :: Int -> Int+ , (x +) :: Int -> Int+ , (y +) :: Int -> Int+ , (z +) :: Int -> Int+ , not False :: Bool+ , not True :: Bool+ , ord ' ' :: Int+ , ord 'A' :: Int+ , ord 'a' :: Int+ , ord 'b' :: Int+ , odd 0 :: Bool+ , odd 1 :: Bool+ , even 0 :: Bool+ , even 1 :: Bool+ , id 0 :: Int+ , id 1 :: Int+ , id 2 :: Int+ , id 3 :: Int+ , id (-1) :: Int+ , id (-2) :: Int+ , abs 0 :: Int+ , abs 1 :: Int+ , abs 2 :: Int+ , abs (-1) :: Int+ , negate 0 :: Int+ , negate 1 :: Int+ , negate 2 :: Int+ , negate (-1) :: Int+ , head [] :: Int+ , head [0] :: Int+ , head [1] :: Int+ , head [-1] :: Int+ , head [0,0] :: Int+ , head [0,1] :: Int+ , head [1,0] :: Int+ , head [0,0,0] :: Int+ , sort [] :: [Int]+ , sort [0] :: [Int]+ , tail [] :: [Int]+ , tail [0] :: [Int]+ , tail [1] :: [Int]+ , tail [0,0] :: [Int]+ , (False &&) :: Bool -> Bool+ , (True &&) :: Bool -> Bool+ , (False ||) :: Bool -> Bool+ , (True ||) :: Bool -> Bool+ , (0 *) :: Int -> Int+ , (1 *) :: Int -> Int+ , (0 +) :: Int -> Int+ , (1 +) :: Int -> Int+ , ((-1) +) :: Int -> Int+ , f (f _) :: Int+ , f (ord _) :: Int+ , f (ord c) :: Int+ , f (id _) :: Int+ , f (id x) :: Int+ , f (id y) :: Int+ , f (abs _) :: Int+ , f (abs x) :: Int+ , f (negate _) :: Int+ , f (negate x) :: Int+ , f (head _) :: Int+ , f (head xs) :: Int+ , g (ord _) :: Int+ , g (id _) :: Int+ , g (id x) :: Int+ , g (abs _) :: Int+ , g (negate _) :: Int+ , g (head _) :: Int+ , h (id _) :: Int+ , id (f _) :: Int+ , id (f x) :: Int+ , id (f y) :: Int+ , id (f z) :: Int+ , id (g _) :: Int+ , id (g x) :: Int+ , id (g y) :: Int+ , id (h _) :: Int+ , id (h x) :: Int+ , id (f' _) :: Int+ , abs (f _) :: Int+ , abs (f x) :: Int+ , abs (g _) :: Int+ , negate (f _) :: Int+ , negate (f x) :: Int+ , negate (g _) :: Int+ , (f _ +) :: Int -> Int+ , _ && p :: Bool+ , _ && q :: Bool+ , p && _ :: Bool+ , q && _ :: Bool+ , _ <= p :: Bool+ , p <= _ :: Bool+ , _ == p :: Bool+ , _ == q :: Bool+ , p == _ :: Bool+ , q == _ :: Bool+ , _ || p :: Bool+ , _ || q :: Bool+ , _ || r :: Bool+ , p || _ :: Bool+ , p || q :: Bool+ , q || _ :: Bool+ , q || p :: Bool+ , r || _ :: Bool+ , _ ==> p :: Bool+ , p ==> _ :: Bool+ , _ <= x :: Bool+ , x <= _ :: Bool+ , _ == x :: Bool+ , _ == y :: Bool+ , x == _ :: Bool+ , y == _ :: Bool+ , _ * x :: Int+ , _ * y :: Int+ , _ * z :: Int+ , x * _ :: Int+ , x * y :: Int+ , y * _ :: Int+ , y * x :: Int+ , z * _ :: Int+ , _ + x :: Int+ , _ + y :: Int+ , _ + z :: Int+ , _ + x' :: Int+ , x + _ :: Int+ , x + y :: Int+ , x + z :: Int+ , y + _ :: Int+ , y + x :: Int+ , z + _ :: Int+ , z + x :: Int+ , x' + _ :: Int+ , elem _ _ :: Bool+ , elem _ xs :: Bool+ , elem _ ys :: Bool+ , elem x _ :: Bool+ , elem x xs :: Bool+ , elem y _ :: Bool+ , _:_ :: [Int]+ , _:xs :: [Int]+ , _:ys :: [Int]+ , _:zs :: [Int]+ , _:xs' :: [Int]+ , x:_ :: [Int]+ , x:xs :: [Int]+ , x:ys :: [Int]+ , x:zs :: [Int]+ , y:_ :: [Int]+ , y:xs :: [Int]+ , y:ys :: [Int]+ , z:_ :: [Int]+ , z:xs :: [Int]+ , x':_ :: [Int]+ , insert _ _ :: [Int]+ , insert _ xs :: [Int]+ , insert _ ys :: [Int]+ , insert x _ :: [Int]+ , insert x xs :: [Int]+ , insert y _ :: [Int]+ , _ ++ xs :: [Int]+ , _ ++ ys :: [Int]+ , _ ++ zs :: [Int]+ , xs ++ _ :: [Int]+ , xs ++ ys :: [Int]+ , ys ++ _ :: [Int]+ , ys ++ xs :: [Int]+ , zs ++ _ :: [Int]+ , _ < _ :: Bool+ , _ && _ :: Bool+ , p && p :: Bool+ , _ <= _ :: Bool+ , _ == _ :: Bool+ , p == p :: Bool+ , _ || _ :: Bool+ , p || p :: Bool+ , _ ==> _ :: Bool+ , _ < _ :: Bool+ , _ <= _ :: Bool+ , _ == _ :: Bool+ , x == x :: Bool+ , _ * _ :: Int+ , x * x :: Int+ , _ + _ :: Int+ , x + x :: Int+ , y + y :: Int+ , _ ++ _ :: [Int]+ , xs ++ xs :: [Int]+ , not (not _) :: Bool+ , not (not p) :: Bool+ , not (not q) :: Bool+ , not (not r) :: Bool+ , id (id _) :: Int+ , id (id x) :: Int+ , id (id y) :: Int+ , id (id z) :: Int+ , id (id x') :: Int+ , id (id y') :: Int+ , abs (abs _) :: Int+ , abs (abs x) :: Int+ , abs (abs y) :: Int+ , negate (negate _) :: Int+ , negate (negate x) :: Int+ , negate (negate y) :: Int+ , tail (tail _) :: [Int]+ , tail (tail xs) :: [Int]+ , f (ord 'a') :: Int+ , f (id 0) :: Int+ , f (id 1) :: Int+ , f (abs 0) :: Int+ , f (negate 0) :: Int+ , f (head []) :: Int+ , g (id 0) :: Int+ , not (odd _) :: Bool+ , not (odd x) :: Bool+ , not (even _) :: Bool+ , not (even x) :: Bool+ , odd (ord _) :: Bool+ , odd (id _) :: Bool+ , odd (id x) :: Bool+ , odd (abs _) :: Bool+ , odd (negate _) :: Bool+ , odd (head _) :: Bool+ , even (ord _) :: Bool+ , even (id _) :: Bool+ , even (id x) :: Bool+ , even (abs _) :: Bool+ , even (negate _) :: Bool+ , even (head _) :: Bool+ , id (f 0) :: Int+ , id (f 1) :: Int+ , id (f (-1)) :: Int+ , id (g 0) :: Int+ , id (g 1) :: Int+ , id (h 0) :: Int+ , id (ord _) :: Int+ , id (ord c) :: Int+ , id (ord d) :: Int+ , id (ord e) :: Int+ , id (abs _) :: Int+ , id (abs x) :: Int+ , id (abs y) :: Int+ , id (abs z) :: Int+ , id (abs x') :: Int+ , id (negate _) :: Int+ , id (negate x) :: Int+ , id (negate y) :: Int+ , id (negate z) :: Int+ , id (negate x') :: Int+ , id (head _) :: Int+ , id (head xs) :: Int+ , id (head ys) :: Int+ , id (head zs) :: Int+ , id (head xs') :: Int+ , abs (f 0) :: Int+ , abs (ord _) :: Int+ , abs (ord c) :: Int+ , abs (ord d) :: Int+ , abs (id _) :: Int+ , abs (id x) :: Int+ , abs (id y) :: Int+ , abs (id z) :: Int+ , abs (negate _) :: Int+ , abs (negate x) :: Int+ , abs (negate y) :: Int+ , abs (head _) :: Int+ , abs (head xs) :: Int+ , abs (head ys) :: Int+ , negate (f 0) :: Int+ , negate (ord _) :: Int+ , negate (ord c) :: Int+ , negate (ord d) :: Int+ , negate (id _) :: Int+ , negate (id x) :: Int+ , negate (id y) :: Int+ , negate (id z) :: Int+ , negate (abs _) :: Int+ , negate (abs x) :: Int+ , negate (abs y) :: Int+ , negate (head _) :: Int+ , negate (head xs) :: Int+ , negate (head ys) :: Int+ , head (sort _) :: Int+ , head (sort xs) :: Int+ , head (tail _) :: Int+ , head (tail xs) :: Int+ , head (tail ys) :: Int+ , sort (tail _) :: [Int]+ , tail (sort _) :: [Int]+ , (not _ &&) :: Bool -> Bool+ , (not _ ||) :: Bool -> Bool+ , (not p ||) :: Bool -> Bool+ , (ord _ *) :: Int -> Int+ , (id _ *) :: Int -> Int+ , (id x *) :: Int -> Int+ , (abs _ *) :: Int -> Int+ , (negate _ *) :: Int -> Int+ , (head _ *) :: Int -> Int+ , (ord _ +) :: Int -> Int+ , (ord c +) :: Int -> Int+ , (id _ +) :: Int -> Int+ , (id x +) :: Int -> Int+ , (id y +) :: Int -> Int+ , (abs _ +) :: Int -> Int+ , (abs x +) :: Int -> Int+ , (negate _ +) :: Int -> Int+ , (negate x +) :: Int -> Int+ , (head _ +) :: Int -> Int+ , (head xs +) :: Int -> Int+ , _ && False :: Bool+ , _ && True :: Bool+ , p && False :: Bool+ , p && True :: Bool+ , False && _ :: Bool+ , False && p :: Bool+ , True && _ :: Bool+ , True && p :: Bool+ , _ <= False :: Bool+ , _ <= True :: Bool+ , False <= _ :: Bool+ , True <= _ :: Bool+ , _ == False :: Bool+ , _ == True :: Bool+ , p == False :: Bool+ , p == True :: Bool+ , False == _ :: Bool+ , False == p :: Bool+ , True == _ :: Bool+ , True == p :: Bool+ , _ || False :: Bool+ , _ || True :: Bool+ , p || False :: Bool+ , p || True :: Bool+ , q || False :: Bool+ , q || True :: Bool+ , False || _ :: Bool+ , False || p :: Bool+ , False || q :: Bool+ , True || _ :: Bool+ , True || p :: Bool+ , True || q :: Bool+ , _ ==> False :: Bool+ , _ ==> True :: Bool+ , False ==> _ :: Bool+ , True ==> _ :: Bool+ , _ <= 0 :: Bool+ , 0 <= _ :: Bool+ , _ == 0 :: Bool+ , _ == 1 :: Bool+ , x == 0 :: Bool+ , 0 == _ :: Bool+ , 0 == x :: Bool+ , 1 == _ :: Bool+ , _ * 0 :: Int+ , _ * 1 :: Int+ , _ * (-1) :: Int+ , x * 0 :: Int+ , x * 1 :: Int+ , y * 0 :: Int+ , 0 * _ :: Int+ , 0 * x :: Int+ , 0 * y :: Int+ , 1 * _ :: Int+ , 1 * x :: Int+ , (-1) * _ :: Int+ , _ + 0 :: Int+ , _ + 1 :: Int+ , _ + 2 :: Int+ , _ + (-1) :: Int+ , x + 0 :: Int+ , x + 1 :: Int+ , x + (-1) :: Int+ , y + 0 :: Int+ , y + 1 :: Int+ , z + 0 :: Int+ , 0 + _ :: Int+ , 0 + x :: Int+ , 0 + y :: Int+ , 0 + z :: Int+ , 1 + _ :: Int+ , 1 + x :: Int+ , 1 + y :: Int+ , 2 + _ :: Int+ , (-1) + _ :: Int+ , (-1) + x :: Int+ , elem _ [] :: Bool+ , elem _ [0] :: Bool+ , elem x [] :: Bool+ , elem 0 _ :: Bool+ , elem 0 xs :: Bool+ , elem 1 _ :: Bool+ , [_] :: [Int]+ , _:[0] :: [Int]+ , _:[1] :: [Int]+ , _:[-1] :: [Int]+ , _:[0,0] :: [Int]+ , _:[0,1] :: [Int]+ , _:[1,0] :: [Int]+ , _:[0,0,0] :: [Int]+ , [x] :: [Int]+ , x:[0] :: [Int]+ , x:[1] :: [Int]+ , x:[0,0] :: [Int]+ , [y] :: [Int]+ , y:[0] :: [Int]+ , [z] :: [Int]+ , 0:_ :: [Int]+ , 0:xs :: [Int]+ , 0:ys :: [Int]+ , 0:zs :: [Int]+ , 1:_ :: [Int]+ , 1:xs :: [Int]+ , 1:ys :: [Int]+ , 2:_ :: [Int]+ , (-1):_ :: [Int]+ , (-1):xs :: [Int]+ , insert _ [] :: [Int]+ , insert _ [0] :: [Int]+ , insert x [] :: [Int]+ , insert 0 _ :: [Int]+ , insert 0 xs :: [Int]+ , insert 1 _ :: [Int]+ , _ ++ [] :: [Int]+ , _ ++ [0] :: [Int]+ , _ ++ [1] :: [Int]+ , _ ++ [0,0] :: [Int]+ , xs ++ [] :: [Int]+ , xs ++ [0] :: [Int]+ , ys ++ [] :: [Int]+ , [] ++ _ :: [Int]+ , [] ++ xs :: [Int]+ , [] ++ ys :: [Int]+ , [0] ++ _ :: [Int]+ , [0] ++ xs :: [Int]+ , [1] ++ _ :: [Int]+ , [0,0] ++ _ :: [Int]+ , not (not False) :: Bool+ , not (not True) :: Bool+ , id (id 0) :: Int+ , id (id 1) :: Int+ , id (id 2) :: Int+ , id (id (-1)) :: Int+ , id (id (-2)) :: Int+ , abs (abs 0) :: Int+ , abs (abs 1) :: Int+ , negate (negate 0) :: Int+ , negate (negate 1) :: Int+ , tail (tail []) :: [Int]+ , False && False :: Bool+ , True && True :: Bool+ , False == False :: Bool+ , True == True :: Bool+ , False || False :: Bool+ , True || True :: Bool+ , 0 == 0 :: Bool+ , 0 * 0 :: Int+ , 0 + 0 :: Int+ , 1 + 1 :: Int+ , [] ++ [] :: [Int]+ , not (odd 0) :: Bool+ , not (even 0) :: Bool+ , odd (id 0) :: Bool+ , even (id 0) :: Bool+ , id (ord ' ') :: Int+ , id (ord 'a') :: Int+ , id (ord 'b') :: Int+ , id (abs 0) :: Int+ , id (abs 1) :: Int+ , id (abs 2) :: Int+ , id (abs (-1)) :: Int+ , id (negate 0) :: Int+ , id (negate 1) :: Int+ , id (negate 2) :: Int+ , id (negate (-1)) :: Int+ , id (head []) :: Int+ , id (head [0]) :: Int+ , id (head [1]) :: Int+ , id (head [-1]) :: Int+ , id (head [0,0]) :: Int+ , id (head [0,1]) :: Int+ , id (head [1,0]) :: Int+ , id (head [0,0,0]) :: Int+ , abs (ord ' ') :: Int+ , abs (ord 'a') :: Int+ , abs (id 0) :: Int+ , abs (id 1) :: Int+ , abs (id (-1)) :: Int+ , abs (negate 0) :: Int+ , abs (negate 1) :: Int+ , abs (head []) :: Int+ , abs (head [0]) :: Int+ , negate (ord ' ') :: Int+ , negate (ord 'a') :: Int+ , negate (id 0) :: Int+ , negate (id 1) :: Int+ , negate (id (-1)) :: Int+ , negate (abs 0) :: Int+ , negate (abs 1) :: Int+ , negate (head []) :: Int+ , negate (head [0]) :: Int+ , head (sort []) :: Int+ , head (tail []) :: Int+ , head (tail [0]) :: Int+ , (not False ||) :: Bool -> Bool+ , (not True ||) :: Bool -> Bool+ , (id 0 *) :: Int -> Int+ , (ord 'a' +) :: Int -> Int+ , (id 0 +) :: Int -> Int+ , (id 1 +) :: Int -> Int+ , (abs 0 +) :: Int -> Int+ , (negate 0 +) :: Int -> Int+ , (head [] +) :: Int -> Int+ , False && True :: Bool+ , True && False :: Bool+ , False == True :: Bool+ , True == False :: Bool+ , False || True :: Bool+ , True || False :: Bool+ , 0 * 1 :: Int+ , 1 * 0 :: Int+ , 0 + 1 :: Int+ , 0 + (-1) :: Int+ , 1 + 0 :: Int+ , (-1) + 0 :: Int+ , elem 0 [] :: Bool+ , [0] :: [Int]+ , 0:[0] :: [Int]+ , 0:[1] :: [Int]+ , 0:[0,0] :: [Int]+ , [1] :: [Int]+ , 1:[0] :: [Int]+ , [-1] :: [Int]+ , insert 0 [] :: [Int]+ , [] ++ [0] :: [Int]+ , [0] ++ [] :: [Int]+ , f (_ + x) :: Int+ , f (x + _) :: Int+ , _ + f x :: Int+ , x + f _ :: Int+ , f _ + x :: Int+ , f x + _ :: Int+ , f _:_ :: [Int]+ , f _:xs :: [Int]+ , f x:_ :: [Int]+ , g _:_ :: [Int]+ , f (_ * _) :: Int+ , f (_ + _) :: Int+ , g (_ + _) :: Int+ , id (f (f _)) :: Int+ , _ * f _ :: Int+ , f _ * _ :: Int+ , _ + f _ :: Int+ , _ + g _ :: Int+ , f _ + _ :: Int+ , g _ + _ :: Int+ , f (id (id _)) :: Int+ , f (id (id x)) :: Int+ , g (id (id _)) :: Int+ , id (f (id _)) :: Int+ , id (f (id x)) :: Int+ , id (f (id y)) :: Int+ , id (g (id _)) :: Int+ , id (g (id x)) :: Int+ , id (h (id _)) :: Int+ , id (id (f _)) :: Int+ , id (id (f x)) :: Int+ , id (id (f y)) :: Int+ , id (id (g _)) :: Int+ , id (id (g x)) :: Int+ , id (id (h _)) :: Int+ , ((_ + x) +) :: Int -> Int+ , ((x + _) +) :: Int -> Int+ , f (id (ord _)) :: Int+ , f (id (abs _)) :: Int+ , f (id (negate _)) :: Int+ , f (id (head _)) :: Int+ , f (abs (id _)) :: Int+ , f (negate (id _)) :: Int+ , f (_ + 0) :: Int+ , f (0 + _) :: Int+ , not (_ && p) :: Bool+ , not (p && _) :: Bool+ , not (_ == p) :: Bool+ , not (p == _) :: Bool+ , not (_ || p) :: Bool+ , not (_ || q) :: Bool+ , not (p || _) :: Bool+ , not (q || _) :: Bool+ , not (_ == x) :: Bool+ , not (x == _) :: Bool+ , not (elem _ _) :: Bool+ , not (elem _ xs) :: Bool+ , not (elem x _) :: Bool+ , id (f (ord _)) :: Int+ , id (f (ord c)) :: Int+ , id (f (abs _)) :: Int+ , id (f (abs x)) :: Int+ , id (f (negate _)) :: Int+ , id (f (negate x)) :: Int+ , id (f (head _)) :: Int+ , id (f (head xs)) :: Int+ , id (g (ord _)) :: Int+ , id (g (abs _)) :: Int+ , id (g (negate _)) :: Int+ , id (g (head _)) :: Int+ , id (abs (f _)) :: Int+ , id (abs (f x)) :: Int+ , id (abs (g _)) :: Int+ , id (negate (f _)) :: Int+ , id (negate (f x)) :: Int+ , id (negate (g _)) :: Int+ , id (_ * x) :: Int+ , id (_ * y) :: Int+ , id (_ * z) :: Int+ , id (x * _) :: Int+ , id (x * y) :: Int+ , id (y * _) :: Int+ , id (y * x) :: Int+ , id (z * _) :: Int+ , id (_ + x) :: Int+ , id (_ + y) :: Int+ , id (_ + z) :: Int+ , id (_ + x') :: Int+ , id (x + _) :: Int+ , id (x + y) :: Int+ , id (x + z) :: Int+ , id (y + _) :: Int+ , id (y + x) :: Int+ , id (z + _) :: Int+ , id (z + x) :: Int+ , id (x' + _) :: Int+ , abs (f (id _)) :: Int+ , abs (id (f _)) :: Int+ , abs (_ * x) :: Int+ , abs (x * _) :: Int+ , abs (_ + x) :: Int+ , abs (_ + y) :: Int+ , abs (x + _) :: Int+ , abs (y + _) :: Int+ , negate (f (id _)) :: Int+ , negate (id (f _)) :: Int+ , negate (_ * x) :: Int+ , negate (x * _) :: Int+ , negate (_ + x) :: Int+ , negate (_ + y) :: Int+ , negate (x + _) :: Int+ , negate (y + _) :: Int+ , head (_:_) :: Int+ , head (_:xs) :: Int+ , head (_:ys) :: Int+ , head (_:zs) :: Int+ , head (x:_) :: Int+ , head (x:xs) :: Int+ , head (x:ys) :: Int+ , head (y:_) :: Int+ , head (y:xs) :: Int+ , head (z:_) :: Int+ , head (insert _ _) :: Int+ , head (insert _ xs) :: Int+ , head (insert x _) :: Int+ , head (_ ++ xs) :: Int+ , head (_ ++ ys) :: Int+ , head (xs ++ _) :: Int+ , head (ys ++ _) :: Int+ , sort (_:_) :: [Int]+ , sort (_:xs) :: [Int]+ , sort (x:_) :: [Int]+ , tail (_:_) :: [Int]+ , tail (_:xs) :: [Int]+ , tail (_:ys) :: [Int]+ , tail (x:_) :: [Int]+ , tail (x:xs) :: [Int]+ , tail (y:_) :: [Int]+ , tail (insert _ _) :: [Int]+ , tail (_ ++ xs) :: [Int]+ , tail (xs ++ _) :: [Int]+ , _ && not p :: Bool+ , p && not _ :: Bool+ , not _ && p :: Bool+ , not p && _ :: Bool+ , _ == not p :: Bool+ , p == not _ :: Bool+ , not _ == p :: Bool+ , not p == _ :: Bool+ , _ || not p :: Bool+ , _ || not q :: Bool+ , _ || odd _ :: Bool+ , _ || even _ :: Bool+ , p || not _ :: Bool+ , q || not _ :: Bool+ , not _ || p :: Bool+ , not _ || q :: Bool+ , not p || _ :: Bool+ , not q || _ :: Bool+ , odd _ || _ :: Bool+ , even _ || _ :: Bool+ , _ == ord _ :: Bool+ , _ == id x :: Bool+ , _ == head _ :: Bool+ , x == id _ :: Bool+ , ord _ == _ :: Bool+ , id _ == x :: Bool+ , id x == _ :: Bool+ , head _ == _ :: Bool+ , _ * ord _ :: Int+ , _ * ord c :: Int+ , _ * id x :: Int+ , _ * id y :: Int+ , _ * abs x :: Int+ , _ * negate x :: Int+ , _ * head _ :: Int+ , _ * head xs :: Int+ , x * ord _ :: Int+ , x * id _ :: Int+ , x * abs _ :: Int+ , x * negate _ :: Int+ , x * head _ :: Int+ , y * id _ :: Int+ , ord _ * _ :: Int+ , ord _ * x :: Int+ , ord c * _ :: Int+ , id _ * x :: Int+ , id _ * y :: Int+ , id x * _ :: Int+ , id y * _ :: Int+ , abs _ * x :: Int+ , abs x * _ :: Int+ , negate _ * x :: Int+ , negate x * _ :: Int+ , head _ * _ :: Int+ , head _ * x :: Int+ , head xs * _ :: Int+ , _ + f 0 :: Int+ , _ + ord _ :: Int+ , _ + ord c :: Int+ , _ + ord d :: Int+ , _ + id x :: Int+ , _ + id y :: Int+ , _ + id z :: Int+ , _ + abs x :: Int+ , _ + abs y :: Int+ , _ + negate x :: Int+ , _ + negate y :: Int+ , _ + head _ :: Int+ , _ + head xs :: Int+ , _ + head ys :: Int+ , x + ord _ :: Int+ , x + ord c :: Int+ , x + id _ :: Int+ , x + id y :: Int+ , x + abs _ :: Int+ , x + negate _ :: Int+ , x + head _ :: Int+ , x + head xs :: Int+ , y + ord _ :: Int+ , y + id _ :: Int+ , y + id x :: Int+ , y + abs _ :: Int+ , y + negate _ :: Int+ , y + head _ :: Int+ , z + id _ :: Int+ , 0 + f _ :: Int+ , f _ + 0 :: Int+ , f 0 + _ :: Int+ , ord _ + _ :: Int+ , ord _ + x :: Int+ , ord _ + y :: Int+ , ord c + _ :: Int+ , ord c + x :: Int+ , ord d + _ :: Int+ , id _ + x :: Int+ , id _ + y :: Int+ , id _ + z :: Int+ , id x + _ :: Int+ , id x + y :: Int+ , id y + _ :: Int+ , id y + x :: Int+ , id z + _ :: Int+ , abs _ + x :: Int+ , abs _ + y :: Int+ , abs x + _ :: Int+ , abs y + _ :: Int+ , negate _ + x :: Int+ , negate _ + y :: Int+ , negate x + _ :: Int+ , negate y + _ :: Int+ , head _ + _ :: Int+ , head _ + x :: Int+ , head _ + y :: Int+ , head xs + _ :: Int+ , head xs + x :: Int+ , head ys + _ :: Int+ , elem _ (tail _) :: Bool+ , elem (ord _) _ :: Bool+ , elem (id _) _ :: Bool+ , elem (id _) xs :: Bool+ , elem (id x) _ :: Bool+ , elem (abs _) _ :: Bool+ , elem (negate _) _ :: Bool+ , _:sort _ :: [Int]+ , _:sort xs :: [Int]+ , _:tail _ :: [Int]+ , _:tail xs :: [Int]+ , _:tail ys :: [Int]+ , x:sort _ :: [Int]+ , x:tail _ :: [Int]+ , x:tail xs :: [Int]+ , y:tail _ :: [Int]+ , [f _] :: [Int]+ , f 0:_ :: [Int]+ , ord _:_ :: [Int]+ , ord _:xs :: [Int]+ , ord _:ys :: [Int]+ , ord c:_ :: [Int]+ , ord c:xs :: [Int]+ , ord d:_ :: [Int]+ , id _:_ :: [Int]+ , id _:xs :: [Int]+ , id _:ys :: [Int]+ , id _:zs :: [Int]+ , id x:_ :: [Int]+ , id x:xs :: [Int]+ , id x:ys :: [Int]+ , id y:_ :: [Int]+ , id y:xs :: [Int]+ , id z:_ :: [Int]+ , abs _:_ :: [Int]+ , abs _:xs :: [Int]+ , abs _:ys :: [Int]+ , abs x:_ :: [Int]+ , abs x:xs :: [Int]+ , abs y:_ :: [Int]+ , negate _:_ :: [Int]+ , negate _:xs :: [Int]+ , negate _:ys :: [Int]+ , negate x:_ :: [Int]+ , negate x:xs :: [Int]+ , negate y:_ :: [Int]+ , head _:xs :: [Int]+ , head _:ys :: [Int]+ , head xs:_ :: [Int]+ , head ys:_ :: [Int]+ , insert _ (tail _) :: [Int]+ , insert (ord _) _ :: [Int]+ , insert (id _) _ :: [Int]+ , insert (id _) xs :: [Int]+ , insert (id x) _ :: [Int]+ , insert (abs _) _ :: [Int]+ , insert (negate _) _ :: [Int]+ , _ ++ tail xs :: [Int]+ , xs ++ tail _ :: [Int]+ , tail _ ++ xs :: [Int]+ , tail xs ++ _ :: [Int]+ , ((_ || _) ||) :: Bool -> Bool+ , ((_ + _) +) :: Int -> Int+ , not (_ && _) :: Bool+ , not (_ <= _) :: Bool+ , not (_ == _) :: Bool+ , not (_ || _) :: Bool+ , not (p || p) :: Bool+ , not (_ ==> _) :: Bool+ , not (_ <= _) :: Bool+ , not (_ == _) :: Bool+ , odd (_ + _) :: Bool+ , even (_ + _) :: Bool+ , id (_ * _) :: Int+ , id (x * x) :: Int+ , id (_ + _) :: Int+ , id (x + x) :: Int+ , id (y + y) :: Int+ , abs (_ * _) :: Int+ , abs (_ + _) :: Int+ , abs (x + x) :: Int+ , negate (_ * _) :: Int+ , negate (_ + _) :: Int+ , negate (x + x) :: Int+ , head (_ ++ _) :: Int+ , head (xs ++ xs) :: Int+ , sort (_ ++ _) :: [Int]+ , tail (_ ++ _) :: [Int]+ , ((_ + _) *) :: Int -> Int+ , (_ * _ +) :: Int -> Int+ , _ && not _ :: Bool+ , not _ && _ :: Bool+ , _ <= not _ :: Bool+ , not _ <= _ :: Bool+ , _ == not _ :: Bool+ , not _ == _ :: Bool+ , _ || not _ :: Bool+ , p || not p :: Bool+ , not _ || _ :: Bool+ , not p || p :: Bool+ , _ ==> not _ :: Bool+ , not _ ==> _ :: Bool+ , _ <= id _ :: Bool+ , id _ <= _ :: Bool+ , _ == id _ :: Bool+ , _ == abs _ :: Bool+ , _ == negate _ :: Bool+ , id _ == _ :: Bool+ , abs _ == _ :: Bool+ , negate _ == _ :: Bool+ , _ * id _ :: Int+ , _ * abs _ :: Int+ , _ * negate _ :: Int+ , x * id x :: Int+ , id _ * _ :: Int+ , id x * x :: Int+ , abs _ * _ :: Int+ , negate _ * _ :: Int+ , _ + id _ :: Int+ , _ + abs _ :: Int+ , _ + negate _ :: Int+ , x + id x :: Int+ , x + abs x :: Int+ , x + negate x :: Int+ , id _ + _ :: Int+ , id x + x :: Int+ , abs _ + _ :: Int+ , abs x + x :: Int+ , negate _ + _ :: Int+ , negate x + x :: Int+ , elem (head _) _ :: Bool+ , head _:_ :: [Int]+ , head xs:xs :: [Int]+ , insert (head _) _ :: [Int]+ , _ ++ sort _ :: [Int]+ , _ ++ tail _ :: [Int]+ , sort _ ++ _ :: [Int]+ , tail _ ++ _ :: [Int]+ , not (not (not _)) :: Bool+ , not (not (not p)) :: Bool+ , not (not (not q)) :: Bool+ , id (id (id _)) :: Int+ , id (id (id x)) :: Int+ , id (id (id y)) :: Int+ , id (id (id z)) :: Int+ , id (id (id x')) :: Int+ , abs (abs (abs _)) :: Int+ , negate (negate (negate _)) :: Int+ , f (id (id 0)) :: Int+ , not (not (odd _)) :: Bool+ , not (not (even _)) :: Bool+ , odd (id (id _)) :: Bool+ , even (id (id _)) :: Bool+ , id (f (id 0)) :: Int+ , id (f (id 1)) :: Int+ , id (g (id 0)) :: Int+ , id (id (f 0)) :: Int+ , id (id (f 1)) :: Int+ , id (id (g 0)) :: Int+ , id (id (ord _)) :: Int+ , id (id (ord c)) :: Int+ , id (id (ord d)) :: Int+ , id (id (ord e)) :: Int+ , id (id (abs _)) :: Int+ , id (id (abs x)) :: Int+ , id (id (abs y)) :: Int+ , id (id (abs z)) :: Int+ , id (id (negate _)) :: Int+ , id (id (negate x)) :: Int+ , id (id (negate y)) :: Int+ , id (id (negate z)) :: Int+ , id (id (head _)) :: Int+ , id (id (head xs)) :: Int+ , id (id (head ys)) :: Int+ , id (id (head zs)) :: Int+ , id (abs (id _)) :: Int+ , id (abs (id x)) :: Int+ , id (abs (id y)) :: Int+ , id (abs (id z)) :: Int+ , id (abs (abs _)) :: Int+ , id (abs (abs x)) :: Int+ , id (abs (abs y)) :: Int+ , id (negate (id _)) :: Int+ , id (negate (id x)) :: Int+ , id (negate (id y)) :: Int+ , id (negate (id z)) :: Int+ , id (negate (negate _)) :: Int+ , id (negate (negate x)) :: Int+ , id (negate (negate y)) :: Int+ , abs (id (id _)) :: Int+ , abs (id (id x)) :: Int+ , abs (id (id y)) :: Int+ , abs (id (abs _)) :: Int+ , abs (id (abs x)) :: Int+ , abs (abs (ord _)) :: Int+ , abs (abs (id _)) :: Int+ , abs (abs (id x)) :: Int+ , abs (abs (negate _)) :: Int+ , abs (abs (head _)) :: Int+ , abs (negate (abs _)) :: Int+ , abs (negate (negate _)) :: Int+ , negate (id (id _)) :: Int+ , negate (id (id x)) :: Int+ , negate (id (id y)) :: Int+ , negate (id (negate _)) :: Int+ , negate (id (negate x)) :: Int+ , negate (abs (abs _)) :: Int+ , negate (abs (negate _)) :: Int+ , negate (negate (ord _)) :: Int+ , negate (negate (id _)) :: Int+ , negate (negate (id x)) :: Int+ , negate (negate (abs _)) :: Int+ , negate (negate (head _)) :: Int+ , head (tail (tail _)) :: Int+ , (not (not _) ||) :: Bool -> Bool+ , (id (id _) *) :: Int -> Int+ , (id (id _) +) :: Int -> Int+ , (id (id x) +) :: Int -> Int+ , ((_ + 0) +) :: Int -> Int+ , ((0 + _) +) :: Int -> Int+ , not (odd (id _)) :: Bool+ , not (even (id _)) :: Bool+ , not (_ && False) :: Bool+ , not (_ && True) :: Bool+ , not (False && _) :: Bool+ , not (True && _) :: Bool+ , not (_ == False) :: Bool+ , not (_ == True) :: Bool+ , not (False == _) :: Bool+ , not (True == _) :: Bool+ , not (_ || False) :: Bool+ , not (_ || True) :: Bool+ , not (p || False) :: Bool+ , not (p || True) :: Bool+ , not (False || _) :: Bool+ , not (False || p) :: Bool+ , not (True || _) :: Bool+ , not (True || p) :: Bool+ , not (_ == 0) :: Bool+ , not (0 == _) :: Bool+ , not (elem _ []) :: Bool+ , not (elem 0 _) :: Bool+ , id (f (ord 'a')) :: Int+ , id (f (abs 0)) :: Int+ , id (f (negate 0)) :: Int+ , id (f (head [])) :: Int+ , id (abs (f 0)) :: Int+ , id (abs (ord _)) :: Int+ , id (abs (ord c)) :: Int+ , id (abs (ord d)) :: Int+ , id (abs (negate _)) :: Int+ , id (abs (negate x)) :: Int+ , id (abs (negate y)) :: Int+ , id (abs (head _)) :: Int+ , id (abs (head xs)) :: Int+ , id (abs (head ys)) :: Int+ , id (negate (f 0)) :: Int+ , id (negate (ord _)) :: Int+ , id (negate (ord c)) :: Int+ , id (negate (ord d)) :: Int+ , id (negate (abs _)) :: Int+ , id (negate (abs x)) :: Int+ , id (negate (abs y)) :: Int+ , id (negate (head _)) :: Int+ , id (negate (head xs)) :: Int+ , id (negate (head ys)) :: Int+ , id (head (sort _)) :: Int+ , id (head (tail _)) :: Int+ , id (head (tail xs)) :: Int+ , id (head (tail ys)) :: Int+ , id (_ * 0) :: Int+ , id (_ * 1) :: Int+ , id (_ * (-1)) :: Int+ , id (x * 0) :: Int+ , id (x * 1) :: Int+ , id (y * 0) :: Int+ , id (0 * _) :: Int+ , id (0 * x) :: Int+ , id (0 * y) :: Int+ , id (1 * _) :: Int+ , id (1 * x) :: Int+ , id ((-1) * _) :: Int+ , id (_ + 0) :: Int+ , id (_ + 1) :: Int+ , id (_ + 2) :: Int+ , id (_ + (-1)) :: Int+ , id (x + 0) :: Int+ , id (x + 1) :: Int+ , id (x + (-1)) :: Int+ , id (y + 0) :: Int+ , id (y + 1) :: Int+ , id (z + 0) :: Int+ , id (0 + _) :: Int+ , id (0 + x) :: Int+ , id (0 + y) :: Int+ , id (0 + z) :: Int+ , id (1 + _) :: Int+ , id (1 + x) :: Int+ , id (1 + y) :: Int+ , id (2 + _) :: Int+ , id ((-1) + _) :: Int+ , id ((-1) + x) :: Int+ , abs (id (ord _)) :: Int+ , abs (id (ord c)) :: Int+ , abs (id (negate _)) :: Int+ , abs (id (negate x)) :: Int+ , abs (id (head _)) :: Int+ , abs (id (head xs)) :: Int+ , abs (negate (ord _)) :: Int+ , abs (negate (id _)) :: Int+ , abs (negate (id x)) :: Int+ , abs (negate (head _)) :: Int+ , abs (head (tail _)) :: Int+ , abs (_ * 0) :: Int+ , abs (0 * _) :: Int+ , abs (_ + 0) :: Int+ , abs (_ + 1) :: Int+ , abs (x + 0) :: Int+ , abs (0 + _) :: Int+ , abs (0 + x) :: Int+ , abs (1 + _) :: Int+ , negate (id (ord _)) :: Int+ , negate (id (ord c)) :: Int+ , negate (id (abs _)) :: Int+ , negate (id (abs x)) :: Int+ , negate (id (head _)) :: Int+ , negate (id (head xs)) :: Int+ , negate (abs (ord _)) :: Int+ , negate (abs (id _)) :: Int+ , negate (abs (id x)) :: Int+ , negate (abs (head _)) :: Int+ , negate (head (tail _)) :: Int+ , negate (_ * 0) :: Int+ , negate (0 * _) :: Int+ , negate (_ + 0) :: Int+ , negate (_ + 1) :: Int+ , negate (x + 0) :: Int+ , negate (0 + _) :: Int+ , negate (0 + x) :: Int+ , negate (1 + _) :: Int+ , head [_] :: Int+ , head (_:[0]) :: Int+ , head (_:[1]) :: Int+ , head (_:[0,0]) :: Int+ , head [x] :: Int+ , head (x:[0]) :: Int+ , head [y] :: Int+ , head (0:_) :: Int+ , head (0:xs) :: Int+ , head (0:ys) :: Int+ , head (1:_) :: Int+ , head (1:xs) :: Int+ , head ((-1):_) :: Int+ , head (insert _ []) :: Int+ , head (insert 0 _) :: Int+ , head (_ ++ []) :: Int+ , head (_ ++ [0]) :: Int+ , head (xs ++ []) :: Int+ , head ([] ++ _) :: Int+ , head ([] ++ xs) :: Int+ , head ([0] ++ _) :: Int+ , sort [_] :: [Int]+ , sort (0:_) :: [Int]+ , tail [_] :: [Int]+ , tail (_:[0]) :: [Int]+ , tail [x] :: [Int]+ , tail (0:_) :: [Int]+ , tail (0:xs) :: [Int]+ , tail (1:_) :: [Int]+ , tail (_ ++ []) :: [Int]+ , tail ([] ++ _) :: [Int]+ , (id (ord _) +) :: Int -> Int+ , (id (abs _) +) :: Int -> Int+ , (id (negate _) +) :: Int -> Int+ , (id (head _) +) :: Int -> Int+ , (abs (id _) +) :: Int -> Int+ , (negate (id _) +) :: Int -> Int+ , _ && not False :: Bool+ , _ && not True :: Bool+ , False && not _ :: Bool+ , True && not _ :: Bool+ , not _ && False :: Bool+ , not _ && True :: Bool+ , not False && _ :: Bool+ , not True && _ :: Bool+ , _ == not False :: Bool+ , _ == not True :: Bool+ , False == not _ :: Bool+ , True == not _ :: Bool+ , not _ == False :: Bool+ , not _ == True :: Bool+ , not False == _ :: Bool+ , not True == _ :: Bool+ , _ || not False :: Bool+ , _ || not True :: Bool+ , p || not False :: Bool+ , p || not True :: Bool+ , False || not _ :: Bool+ , False || not p :: Bool+ , True || not _ :: Bool+ , True || not p :: Bool+ , not _ || False :: Bool+ , not _ || True :: Bool+ , not p || False :: Bool+ , not p || True :: Bool+ , not False || _ :: Bool+ , not False || p :: Bool+ , not True || _ :: Bool+ , not True || p :: Bool+ , _ == id 0 :: Bool+ , 0 == id _ :: Bool+ , id _ == 0 :: Bool+ , id 0 == _ :: Bool+ , _ * ord 'a' :: Int+ , _ * id 0 :: Int+ , _ * id 1 :: Int+ , _ * abs 0 :: Int+ , _ * negate 0 :: Int+ , _ * head [] :: Int+ , x * id 0 :: Int+ , 0 * ord _ :: Int+ , 0 * id _ :: Int+ , 0 * id x :: Int+ , 0 * abs _ :: Int+ , 0 * negate _ :: Int+ , 0 * head _ :: Int+ , 1 * id _ :: Int+ , ord _ * 0 :: Int+ , ord 'a' * _ :: Int+ , id _ * 0 :: Int+ , id _ * 1 :: Int+ , id x * 0 :: Int+ , id 0 * _ :: Int+ , id 0 * x :: Int+ , id 1 * _ :: Int+ , abs _ * 0 :: Int+ , abs 0 * _ :: Int+ , negate _ * 0 :: Int+ , negate 0 * _ :: Int+ , head _ * 0 :: Int+ , head [] * _ :: Int+ , _ + ord ' ' :: Int+ , _ + ord 'a' :: Int+ , _ + id 0 :: Int+ , _ + id 1 :: Int+ , _ + id (-1) :: Int+ , _ + abs 0 :: Int+ , _ + abs 1 :: Int+ , _ + negate 0 :: Int+ , _ + negate 1 :: Int+ , _ + head [] :: Int+ , _ + head [0] :: Int+ , x + ord 'a' :: Int+ , x + id 0 :: Int+ , x + id 1 :: Int+ , x + abs 0 :: Int+ , x + negate 0 :: Int+ , x + head [] :: Int+ , y + id 0 :: Int+ , 0 + ord _ :: Int+ , 0 + ord c :: Int+ , 0 + id _ :: Int+ , 0 + id x :: Int+ , 0 + id y :: Int+ , 0 + abs _ :: Int+ , 0 + abs x :: Int+ , 0 + negate _ :: Int+ , 0 + negate x :: Int+ , 0 + head _ :: Int+ , 0 + head xs :: Int+ , 1 + ord _ :: Int+ , 1 + id _ :: Int+ , 1 + id x :: Int+ , 1 + abs _ :: Int+ , 1 + negate _ :: Int+ , 1 + head _ :: Int+ , (-1) + id _ :: Int+ , ord _ + 0 :: Int+ , ord _ + 1 :: Int+ , ord c + 0 :: Int+ , ord ' ' + _ :: Int+ , ord 'a' + _ :: Int+ , ord 'a' + x :: Int+ , id _ + 0 :: Int+ , id _ + 1 :: Int+ , id _ + (-1) :: Int+ , id x + 0 :: Int+ , id x + 1 :: Int+ , id y + 0 :: Int+ , id 0 + _ :: Int+ , id 0 + x :: Int+ , id 0 + y :: Int+ , id 1 + _ :: Int+ , id 1 + x :: Int+ , id (-1) + _ :: Int+ , abs _ + 0 :: Int+ , abs _ + 1 :: Int+ , abs x + 0 :: Int+ , abs 0 + _ :: Int+ , abs 0 + x :: Int+ , abs 1 + _ :: Int+ , negate _ + 0 :: Int+ , negate _ + 1 :: Int+ , negate x + 0 :: Int+ , negate 0 + _ :: Int+ , negate 0 + x :: Int+ , negate 1 + _ :: Int+ , head _ + 0 :: Int+ , head _ + 1 :: Int+ , head xs + 0 :: Int+ , head [] + _ :: Int+ , head [] + x :: Int+ , head [0] + _ :: Int+ , elem (id _) [] :: Bool+ , elem (id 0) _ :: Bool+ , _:sort [] :: [Int]+ , _:tail [] :: [Int]+ , _:tail [0] :: [Int]+ , x:tail [] :: [Int]+ , 0:sort _ :: [Int]+ , 0:tail _ :: [Int]+ , 0:tail xs :: [Int]+ , 1:tail _ :: [Int]+ , [ord _] :: [Int]+ , ord _:[0] :: [Int]+ , [ord c] :: [Int]+ , ord ' ':_ :: [Int]+ , ord 'a':_ :: [Int]+ , ord 'a':xs :: [Int]+ , [id _] :: [Int]+ , id _:[0] :: [Int]+ , id _:[1] :: [Int]+ , id _:[0,0] :: [Int]+ , [id x] :: [Int]+ , id x:[0] :: [Int]+ , [id y] :: [Int]+ , id 0:_ :: [Int]+ , id 0:xs :: [Int]+ , id 0:ys :: [Int]+ , id 1:_ :: [Int]+ , id 1:xs :: [Int]+ , id (-1):_ :: [Int]+ , [abs _] :: [Int]+ , abs _:[0] :: [Int]+ , [abs x] :: [Int]+ , abs 0:_ :: [Int]+ , abs 0:xs :: [Int]+ , abs 1:_ :: [Int]+ , [negate _] :: [Int]+ , negate _:[0] :: [Int]+ , [negate x] :: [Int]+ , negate 0:_ :: [Int]+ , negate 0:xs :: [Int]+ , negate 1:_ :: [Int]+ , [head _] :: [Int]+ , head _:[0] :: [Int]+ , [head xs] :: [Int]+ , head []:_ :: [Int]+ , head []:xs :: [Int]+ , head [0]:_ :: [Int]+ , insert (id _) [] :: [Int]+ , insert (id 0) _ :: [Int]+ , _ ++ tail [] :: [Int]+ , [] ++ tail _ :: [Int]+ , tail _ ++ [] :: [Int]+ , tail [] ++ _ :: [Int]+ , not (not (not False)) :: Bool+ , not (not (not True)) :: Bool+ , id (id (id 0)) :: Int+ , id (id (id 1)) :: Int+ , id (id (id 2)) :: Int+ , id (id (id (-1))) :: Int+ , not (False || False) :: Bool+ , not (True || True) :: Bool+ , id (id (ord ' ')) :: Int+ , id (id (ord 'a')) :: Int+ , id (id (ord 'b')) :: Int+ , id (id (abs 0)) :: Int+ , id (id (abs 1)) :: Int+ , id (id (abs (-1))) :: Int+ , id (id (negate 0)) :: Int+ , id (id (negate 1)) :: Int+ , id (id (negate (-1))) :: Int+ , id (id (head [])) :: Int+ , id (id (head [0])) :: Int+ , id (id (head [1])) :: Int+ , id (id (head [0,0])) :: Int+ , id (abs (id 0)) :: Int+ , id (abs (id 1)) :: Int+ , id (abs (id (-1))) :: Int+ , id (abs (abs 0)) :: Int+ , id (abs (abs 1)) :: Int+ , id (negate (id 0)) :: Int+ , id (negate (id 1)) :: Int+ , id (negate (id (-1))) :: Int+ , id (negate (negate 0)) :: Int+ , id (negate (negate 1)) :: Int+ , id (0 * 0) :: Int+ , id (0 + 0) :: Int+ , id (1 + 1) :: Int+ , abs (id (id 0)) :: Int+ , abs (id (id 1)) :: Int+ , abs (id (abs 0)) :: Int+ , abs (abs (id 0)) :: Int+ , abs (0 + 0) :: Int+ , negate (id (id 0)) :: Int+ , negate (id (id 1)) :: Int+ , negate (id (negate 0)) :: Int+ , negate (negate (id 0)) :: Int+ , negate (0 + 0) :: Int+ , head ([] ++ []) :: Int+ , (id (id 0) +) :: Int -> Int+ , False || not False :: Bool+ , True || not True :: Bool+ , not False || False :: Bool+ , not True || True :: Bool+ , 0 * id 0 :: Int+ , id 0 * 0 :: Int+ , 0 + id 0 :: Int+ , 0 + abs 0 :: Int+ , 0 + negate 0 :: Int+ , id 0 + 0 :: Int+ , abs 0 + 0 :: Int+ , negate 0 + 0 :: Int+ , [head []] :: [Int]+ , not (False || True) :: Bool+ , not (True || False) :: Bool+ , id (abs (ord ' ')) :: Int+ , id (abs (ord 'a')) :: Int+ , id (abs (negate 0)) :: Int+ , id (abs (negate 1)) :: Int+ , id (abs (head [])) :: Int+ , id (abs (head [0])) :: Int+ , id (negate (ord ' ')) :: Int+ , id (negate (ord 'a')) :: Int+ , id (negate (abs 0)) :: Int+ , id (negate (abs 1)) :: Int+ , id (negate (head [])) :: Int+ , id (negate (head [0])) :: Int+ , id (head (tail [])) :: Int+ , id (head (tail [0])) :: Int+ , id (0 * 1) :: Int+ , id (1 * 0) :: Int+ , id (0 + 1) :: Int+ , id (0 + (-1)) :: Int+ , id (1 + 0) :: Int+ , id ((-1) + 0) :: Int+ , abs (id (ord 'a')) :: Int+ , abs (id (negate 0)) :: Int+ , abs (id (head [])) :: Int+ , abs (negate (id 0)) :: Int+ , negate (id (ord 'a')) :: Int+ , negate (id (abs 0)) :: Int+ , negate (id (head [])) :: Int+ , negate (abs (id 0)) :: Int+ , head [0] :: Int+ , head (0:[0]) :: Int+ , head [1] :: Int+ , tail [0] :: [Int]+ , False || not True :: Bool+ , True || not False :: Bool+ , not False || True :: Bool+ , not True || False :: Bool+ , 0 + ord 'a' :: Int+ , 0 + id 1 :: Int+ , 0 + head [] :: Int+ , 1 + id 0 :: Int+ , ord 'a' + 0 :: Int+ , id 0 + 1 :: Int+ , id 1 + 0 :: Int+ , head [] + 0 :: Int+ , 0:tail [] :: [Int]+ , [ord 'a'] :: [Int]+ , [id 0] :: [Int]+ , id 0:[0] :: [Int]+ , [id 1] :: [Int]+ , [abs 0] :: [Int]+ , [negate 0] :: [Int]+ , _:x:_ :: [Int]+ , _:x:xs :: [Int]+ , _:x:ys :: [Int]+ , _:y:_ :: [Int]+ , _:y:xs :: [Int]+ , _:z:_ :: [Int]+ , x:_:_ :: [Int]+ , x:_:xs :: [Int]+ , x:_:ys :: [Int]+ , x:y:_ :: [Int]+ , y:_:_ :: [Int]+ , y:_:xs :: [Int]+ , y:x:_ :: [Int]+ , z:_:_ :: [Int]+ , f (head (_:_)) :: Int+ , id (f (_ + x)) :: Int+ , id (f (x + _)) :: Int+ , id (_ + f x) :: Int+ , id (x + f _) :: Int+ , id (f _ + x) :: Int+ , id (f x + _) :: Int+ , head (f _:_) :: Int+ , _ || elem _ _ :: Bool+ , elem _ _ || _ :: Bool+ , elem _ (x:_) :: Bool+ , elem x (_:_) :: Bool+ , _:insert x _ :: [Int]+ , _:(_ ++ xs) :: [Int]+ , _:(_ ++ ys) :: [Int]+ , _:(xs ++ _) :: [Int]+ , _:(ys ++ _) :: [Int]+ , x:insert _ _ :: [Int]+ , x:(_ ++ xs) :: [Int]+ , x:(xs ++ _) :: [Int]+ , f (id _):_ :: [Int]+ , id (f _):_ :: [Int]+ , _ * x:_ :: [Int]+ , x * _:_ :: [Int]+ , _ + x:_ :: [Int]+ , _ + x:xs :: [Int]+ , _ + y:_ :: [Int]+ , x + _:_ :: [Int]+ , x + _:xs :: [Int]+ , y + _:_ :: [Int]+ , insert _ (x:_) :: [Int]+ , insert x (_:_) :: [Int]+ , _ ++ (_:xs) :: [Int]+ , _ ++ (_:ys) :: [Int]+ , _ ++ (x:xs) :: [Int]+ , xs ++ (_:_) :: [Int]+ , xs ++ (x:_) :: [Int]+ , ys ++ (_:_) :: [Int]+ , (_:_) ++ xs :: [Int]+ , (_:_) ++ ys :: [Int]+ , (_:xs) ++ _ :: [Int]+ , (_:ys) ++ _ :: [Int]+ , (x:_) ++ xs :: [Int]+ , (x:xs) ++ _ :: [Int]+ , _ || (_ || p) :: Bool+ , _ || (p || _) :: Bool+ , p || (_ || _) :: Bool+ , (_ || _) || p :: Bool+ , (_ || p) || _ :: Bool+ , (p || _) || _ :: Bool+ , _ + (_ + x) :: Int+ , _ + (_ + y) :: Int+ , _ + (x + _) :: Int+ , _ + (x + x) :: Int+ , _ + (y + _) :: Int+ , x + (_ + _) :: Int+ , x + (_ + x) :: Int+ , x + (x + _) :: Int+ , y + (_ + _) :: Int+ , (_ + _) + x :: Int+ , (_ + _) + y :: Int+ , (_ + x) + _ :: Int+ , (_ + x) + x :: Int+ , (_ + y) + _ :: Int+ , (x + _) + _ :: Int+ , (x + _) + x :: Int+ , (x + x) + _ :: Int+ , (y + _) + _ :: Int+ , _:_:_ :: [Int]+ , _:_:xs :: [Int]+ , _:_:ys :: [Int]+ , _:_:zs :: [Int]+ , x:x:_ :: [Int]+ , x:x:xs :: [Int]+ , _ ++ (_ ++ xs) :: [Int]+ , _ ++ (xs ++ _) :: [Int]+ , xs ++ (_ ++ _) :: [Int]+ , (_ ++ _) ++ xs :: [Int]+ , (_ ++ xs) ++ _ :: [Int]+ , (xs ++ _) ++ _ :: [Int]+ , f (id (_ + _)) :: Int+ , f (_ + id _) :: Int+ , f (id _ + _) :: Int+ , id (f (_ * _)) :: Int+ , id (f (_ + _)) :: Int+ , id (g (_ + _)) :: Int+ , id (_ * f _) :: Int+ , id (f _ * _) :: Int+ , id (_ + f _) :: Int+ , id (_ + g _) :: Int+ , id (f _ + _) :: Int+ , id (g _ + _) :: Int+ , _ || _ == _ :: Bool+ , _ == _ || _ :: Bool+ , _ * (_ + x) :: Int+ , _ * (x + _) :: Int+ , x * (_ + _) :: Int+ , (_ + _) * x :: Int+ , (_ + x) * _ :: Int+ , (x + _) * _ :: Int+ , _ + f (id _) :: Int+ , _ + id (f _) :: Int+ , _ + _ * x :: Int+ , _ + x * _ :: Int+ , x + _ * _ :: Int+ , f _ + id _ :: Int+ , f (id _) + _ :: Int+ , id _ + f _ :: Int+ , id (f _) + _ :: Int+ , _ * _ + x :: Int+ , _ * x + _ :: Int+ , x * _ + _ :: Int+ , elem _ (_:_) :: Bool+ , elem _ (_:xs) :: Bool+ , elem _ (_ ++ _) :: Bool+ , elem (_ + _) _ :: Bool+ , _:insert _ _ :: [Int]+ , _:insert _ xs :: [Int]+ , _:(_ ++ _) :: [Int]+ , _:(xs ++ xs) :: [Int]+ , x:(_ ++ _) :: [Int]+ , y:(_ ++ _) :: [Int]+ , _ * _:_ :: [Int]+ , _ * _:xs :: [Int]+ , _ + _:_ :: [Int]+ , _ + _:xs :: [Int]+ , _ + _:ys :: [Int]+ , x + x:_ :: [Int]+ , insert _ (_:_) :: [Int]+ , insert _ (_:xs) :: [Int]+ , insert _ (_ ++ _) :: [Int]+ , insert (_ + _) _ :: [Int]+ , _ ++ (_:_) :: [Int]+ , _ ++ (x:_) :: [Int]+ , _ ++ (y:_) :: [Int]+ , _ ++ insert _ _ :: [Int]+ , xs ++ (_:xs) :: [Int]+ , (_:_) ++ _ :: [Int]+ , (_:xs) ++ xs :: [Int]+ , (x:_) ++ _ :: [Int]+ , (y:_) ++ _ :: [Int]+ , insert _ _ ++ _ :: [Int]+ , f (id (id (id _))) :: Int+ , id (f (id (id _))) :: Int+ , id (f (id (id x))) :: Int+ , id (g (id (id _))) :: Int+ , id (id (f (id _))) :: Int+ , id (id (f (id x))) :: Int+ , id (id (g (id _))) :: Int+ , id (id (id (f _))) :: Int+ , id (id (id (f x))) :: Int+ , id (id (id (g _))) :: Int+ , not (not (_ || p)) :: Bool+ , not (not (p || _)) :: Bool+ , not (not (elem _ _)) :: Bool+ , not (_ || not p) :: Bool+ , not (p || not _) :: Bool+ , not (not _ || p) :: Bool+ , not (not p || _) :: Bool+ , id (f (id (ord _))) :: Int+ , id (f (id (abs _))) :: Int+ , id (f (id (negate _))) :: Int+ , id (f (id (head _))) :: Int+ , id (f (abs (id _))) :: Int+ , id (f (negate (id _))) :: Int+ , id (id (f (ord _))) :: Int+ , id (id (f (abs _))) :: Int+ , id (id (f (negate _))) :: Int+ , id (id (f (head _))) :: Int+ , id (id (abs (f _))) :: Int+ , id (id (negate (f _))) :: Int+ , id (id (_ * x)) :: Int+ , id (id (_ * y)) :: Int+ , id (id (x * _)) :: Int+ , id (id (y * _)) :: Int+ , id (id (_ + x)) :: Int+ , id (id (_ + y)) :: Int+ , id (id (_ + z)) :: Int+ , id (id (x + _)) :: Int+ , id (id (x + y)) :: Int+ , id (id (y + _)) :: Int+ , id (id (y + x)) :: Int+ , id (id (z + _)) :: Int+ , id (abs (f (id _))) :: Int+ , id (abs (id (f _))) :: Int+ , id (negate (f (id _))) :: Int+ , id (negate (id (f _))) :: Int+ , id (_ * id x) :: Int+ , id (_ * id y) :: Int+ , id (x * id _) :: Int+ , id (y * id _) :: Int+ , id (id _ * x) :: Int+ , id (id _ * y) :: Int+ , id (id x * _) :: Int+ , id (id y * _) :: Int+ , id (_ + id x) :: Int+ , id (_ + id y) :: Int+ , id (_ + id z) :: Int+ , id (x + id _) :: Int+ , id (x + id y) :: Int+ , id (y + id _) :: Int+ , id (y + id x) :: Int+ , id (z + id _) :: Int+ , id (id _ + x) :: Int+ , id (id _ + y) :: Int+ , id (id _ + z) :: Int+ , id (id x + _) :: Int+ , id (id x + y) :: Int+ , id (id y + _) :: Int+ , id (id y + x) :: Int+ , id (id z + _) :: Int+ , head (head _:xs) :: Int+ , head (head xs:_) :: Int+ , tail (tail (_:_)) :: [Int]+ , tail (_:tail _) :: [Int]+ , _ || not (not p) :: Bool+ , p || not (not _) :: Bool+ , not _ || not p :: Bool+ , not p || not _ :: Bool+ , not (not _) || p :: Bool+ , not (not p) || _ :: Bool+ , _ * id (id x) :: Int+ , x * id (id _) :: Int+ , id _ * id x :: Int+ , id x * id _ :: Int+ , id (id _) * x :: Int+ , id (id x) * _ :: Int+ , _ + id (id x) :: Int+ , _ + id (id y) :: Int+ , _ + (x + 0) :: Int+ , _ + (0 + x) :: Int+ , x + id (id _) :: Int+ , x + (_ + 0) :: Int+ , x + (0 + _) :: Int+ , y + id (id _) :: Int+ , 0 + (_ + x) :: Int+ , 0 + (x + _) :: Int+ , id _ + id x :: Int+ , id _ + id y :: Int+ , id x + id _ :: Int+ , id y + id _ :: Int+ , id (id _) + x :: Int+ , id (id _) + y :: Int+ , id (id x) + _ :: Int+ , id (id y) + _ :: Int+ , (_ + x) + 0 :: Int+ , (_ + 0) + x :: Int+ , (x + _) + 0 :: Int+ , (x + 0) + _ :: Int+ , (0 + _) + x :: Int+ , (0 + x) + _ :: Int+ , elem (id (id _)) _ :: Bool+ , _:tail (tail _) :: [Int]+ , [_,x] :: [Int]+ , _:x:[0] :: [Int]+ , [_,y] :: [Int]+ , _:0:_ :: [Int]+ , _:0:xs :: [Int]+ , _:0:ys :: [Int]+ , _:1:_ :: [Int]+ , _:1:xs :: [Int]+ , _:(-1):_ :: [Int]+ , [x,_] :: [Int]+ , x:_:[0] :: [Int]+ , x:0:_ :: [Int]+ , x:0:xs :: [Int]+ , x:1:_ :: [Int]+ , [y,_] :: [Int]+ , y:0:_ :: [Int]+ , 0:_:_ :: [Int]+ , 0:_:xs :: [Int]+ , 0:_:ys :: [Int]+ , 0:x:_ :: [Int]+ , 0:x:xs :: [Int]+ , 0:y:_ :: [Int]+ , 1:_:_ :: [Int]+ , 1:_:xs :: [Int]+ , 1:x:_ :: [Int]+ , (-1):_:_ :: [Int]+ , id (id _):_ :: [Int]+ , id (id _):xs :: [Int]+ , id (id _):ys :: [Int]+ , id (id x):_ :: [Int]+ , id (id x):xs :: [Int]+ , id (id y):_ :: [Int]+ , abs (abs _):_ :: [Int]+ , negate (negate _):_ :: [Int]+ , insert (id (id _)) _ :: [Int]+ , not (elem (id _) _) :: Bool+ , id (f (_ + 0)) :: Int+ , id (f (0 + _)) :: Int+ , id (abs (_ * x)) :: Int+ , id (abs (x * _)) :: Int+ , id (abs (_ + x)) :: Int+ , id (abs (_ + y)) :: Int+ , id (abs (x + _)) :: Int+ , id (abs (y + _)) :: Int+ , id (negate (_ * x)) :: Int+ , id (negate (x * _)) :: Int+ , id (negate (_ + x)) :: Int+ , id (negate (_ + y)) :: Int+ , id (negate (x + _)) :: Int+ , id (negate (y + _)) :: Int+ , id (head (_:_)) :: Int+ , id (head (_:xs)) :: Int+ , id (head (_:ys)) :: Int+ , id (head (_:zs)) :: Int+ , id (head (x:_)) :: Int+ , id (head (x:xs)) :: Int+ , id (head (x:ys)) :: Int+ , id (head (y:_)) :: Int+ , id (head (y:xs)) :: Int+ , id (head (z:_)) :: Int+ , id (head (insert _ _)) :: Int+ , id (head (_ ++ xs)) :: Int+ , id (head (_ ++ ys)) :: Int+ , id (head (xs ++ _)) :: Int+ , id (head (ys ++ _)) :: Int+ , id (_ * ord _) :: Int+ , id (_ * ord c) :: Int+ , id (_ * abs x) :: Int+ , id (_ * negate x) :: Int+ , id (_ * head _) :: Int+ , id (_ * head xs) :: Int+ , id (x * ord _) :: Int+ , id (x * abs _) :: Int+ , id (x * negate _) :: Int+ , id (x * head _) :: Int+ , id (ord _ * _) :: Int+ , id (ord _ * x) :: Int+ , id (ord c * _) :: Int+ , id (abs _ * x) :: Int+ , id (abs x * _) :: Int+ , id (negate _ * x) :: Int+ , id (negate x * _) :: Int+ , id (head _ * _) :: Int+ , id (head _ * x) :: Int+ , id (head xs * _) :: Int+ , id (_ + f 0) :: Int+ , id (_ + ord _) :: Int+ , id (_ + ord c) :: Int+ , id (_ + ord d) :: Int+ , id (_ + abs x) :: Int+ , id (_ + abs y) :: Int+ , id (_ + negate x) :: Int+ , id (_ + negate y) :: Int+ , id (_ + head _) :: Int+ , id (_ + head xs) :: Int+ , id (_ + head ys) :: Int+ , id (x + ord _) :: Int+ , id (x + ord c) :: Int+ , id (x + abs _) :: Int+ , id (x + negate _) :: Int+ , id (x + head _) :: Int+ , id (x + head xs) :: Int+ , id (y + ord _) :: Int+ , id (y + abs _) :: Int+ , id (y + negate _) :: Int+ , id (y + head _) :: Int+ , id (0 + f _) :: Int+ , id (f _ + 0) :: Int+ , id (f 0 + _) :: Int+ , id (ord _ + _) :: Int+ , id (ord _ + x) :: Int+ , id (ord _ + y) :: Int+ , id (ord c + _) :: Int+ , id (ord c + x) :: Int+ , id (ord d + _) :: Int+ , id (abs _ + x) :: Int+ , id (abs _ + y) :: Int+ , id (abs x + _) :: Int+ , id (abs y + _) :: Int+ , id (negate _ + x) :: Int+ , id (negate _ + y) :: Int+ , id (negate x + _) :: Int+ , id (negate y + _) :: Int+ , id (head _ + _) :: Int+ , id (head _ + x) :: Int+ , id (head _ + y) :: Int+ , id (head xs + _) :: Int+ , id (head xs + x) :: Int+ , id (head ys + _) :: Int+ , abs (id (_ + x)) :: Int+ , abs (id (x + _)) :: Int+ , abs (head (_:_)) :: Int+ , abs (head (_:xs)) :: Int+ , abs (head (x:_)) :: Int+ , abs (_ + ord _) :: Int+ , abs (_ + id x) :: Int+ , abs (_ + head _) :: Int+ , abs (x + id _) :: Int+ , abs (ord _ + _) :: Int+ , abs (id _ + x) :: Int+ , abs (id x + _) :: Int+ , abs (head _ + _) :: Int+ , negate (id (_ + x)) :: Int+ , negate (id (x + _)) :: Int+ , negate (head (_:_)) :: Int+ , negate (head (_:xs)) :: Int+ , negate (head (x:_)) :: Int+ , negate (_ + ord _) :: Int+ , negate (_ + id x) :: Int+ , negate (_ + head _) :: Int+ , negate (x + id _) :: Int+ , negate (ord _ + _) :: Int+ , negate (id _ + x) :: Int+ , negate (id x + _) :: Int+ , negate (head _ + _) :: Int+ , head (sort (_:_)) :: Int+ , head (tail (_:_)) :: Int+ , head (tail (_:xs)) :: Int+ , head (tail (x:_)) :: Int+ , head (_:sort _) :: Int+ , head (_:tail _) :: Int+ , head (_:tail xs) :: Int+ , head (x:tail _) :: Int+ , head (ord _:_) :: Int+ , head (ord _:xs) :: Int+ , head (ord c:_) :: Int+ , head (id _:_) :: Int+ , head (id _:xs) :: Int+ , head (id _:ys) :: Int+ , head (id x:_) :: Int+ , head (id x:xs) :: Int+ , head (id y:_) :: Int+ , head (abs _:_) :: Int+ , head (abs _:xs) :: Int+ , head (abs x:_) :: Int+ , head (negate _:_) :: Int+ , head (negate _:xs) :: Int+ , head (negate x:_) :: Int+ , head (insert (id _) _) :: Int+ , sort (id _:_) :: [Int]+ , tail (ord _:_) :: [Int]+ , tail (id _:_) :: [Int]+ , tail (id _:xs) :: [Int]+ , tail (id x:_) :: [Int]+ , tail (abs _:_) :: [Int]+ , tail (negate _:_) :: [Int]+ , (head (_:_) +) :: Int -> Int+ , _ * id (ord _) :: Int+ , _ * id (head _) :: Int+ , ord _ * id _ :: Int+ , id _ * ord _ :: Int+ , id _ * head _ :: Int+ , id (ord _) * _ :: Int+ , id (head _) * _ :: Int+ , head _ * id _ :: Int+ , _ + id (ord _) :: Int+ , _ + id (ord c) :: Int+ , _ + id (abs x) :: Int+ , _ + id (negate x) :: Int+ , _ + id (head _) :: Int+ , _ + id (head xs) :: Int+ , _ + abs (ord _) :: Int+ , _ + abs (id x) :: Int+ , _ + abs (head _) :: Int+ , _ + negate (ord _) :: Int+ , _ + negate (id x) :: Int+ , _ + negate (head _) :: Int+ , _ + head (tail _) :: Int+ , x + id (ord _) :: Int+ , x + id (abs _) :: Int+ , x + id (negate _) :: Int+ , x + id (head _) :: Int+ , x + abs (id _) :: Int+ , x + negate (id _) :: Int+ , ord _ + id _ :: Int+ , ord _ + id x :: Int+ , ord _ + abs _ :: Int+ , ord _ + negate _ :: Int+ , ord _ + head _ :: Int+ , ord c + id _ :: Int+ , id _ + ord _ :: Int+ , id _ + ord c :: Int+ , id _ + abs x :: Int+ , id _ + negate x :: Int+ , id _ + head _ :: Int+ , id _ + head xs :: Int+ , id x + ord _ :: Int+ , id x + abs _ :: Int+ , id x + negate _ :: Int+ , id x + head _ :: Int+ , id (ord _) + _ :: Int+ , id (ord _) + x :: Int+ , id (ord c) + _ :: Int+ , id (abs _) + x :: Int+ , id (abs x) + _ :: Int+ , id (negate _) + x :: Int+ , id (negate x) + _ :: Int+ , id (head _) + _ :: Int+ , id (head _) + x :: Int+ , id (head xs) + _ :: Int+ , abs _ + ord _ :: Int+ , abs _ + id x :: Int+ , abs _ + head _ :: Int+ , abs x + id _ :: Int+ , abs (ord _) + _ :: Int+ , abs (id _) + x :: Int+ , abs (id x) + _ :: Int+ , abs (head _) + _ :: Int+ , negate _ + ord _ :: Int+ , negate _ + id x :: Int+ , negate _ + head _ :: Int+ , negate x + id _ :: Int+ , negate (ord _) + _ :: Int+ , negate (id _) + x :: Int+ , negate (id x) + _ :: Int+ , negate (head _) + _ :: Int+ , head _ + ord _ :: Int+ , head _ + id _ :: Int+ , head _ + id x :: Int+ , head _ + abs _ :: Int+ , head _ + negate _ :: Int+ , head xs + id _ :: Int+ , head (tail _) + _ :: Int+ , elem _ (0:_) :: Bool+ , elem 0 (_:_) :: Bool+ , _:insert 0 _ :: [Int]+ , _:(_ ++ []) :: [Int]+ , _:(_ ++ [0]) :: [Int]+ , _:(xs ++ []) :: [Int]+ , _:([] ++ _) :: [Int]+ , _:([] ++ xs) :: [Int]+ , _:([0] ++ _) :: [Int]+ , x:(_ ++ []) :: [Int]+ , x:([] ++ _) :: [Int]+ , 0:insert _ _ :: [Int]+ , 0:(_ ++ xs) :: [Int]+ , 0:(xs ++ _) :: [Int]+ , ord _:tail _ :: [Int]+ , id _:sort _ :: [Int]+ , id _:tail _ :: [Int]+ , id _:tail xs :: [Int]+ , id x:tail _ :: [Int]+ , id (ord _):_ :: [Int]+ , id (ord _):xs :: [Int]+ , id (ord c):_ :: [Int]+ , id (abs _):_ :: [Int]+ , id (abs _):xs :: [Int]+ , id (abs x):_ :: [Int]+ , id (negate _):_ :: [Int]+ , id (negate _):xs :: [Int]+ , id (negate x):_ :: [Int]+ , id (head _):xs :: [Int]+ , id (head xs):_ :: [Int]+ , abs _:tail _ :: [Int]+ , abs (ord _):_ :: [Int]+ , abs (id _):_ :: [Int]+ , abs (id _):xs :: [Int]+ , abs (id x):_ :: [Int]+ , abs (negate _):_ :: [Int]+ , negate _:tail _ :: [Int]+ , negate (ord _):_ :: [Int]+ , negate (id _):_ :: [Int]+ , negate (id _):xs :: [Int]+ , negate (id x):_ :: [Int]+ , negate (abs _):_ :: [Int]+ , _ * 0:_ :: [Int]+ , 0 * _:_ :: [Int]+ , [_ + x] :: [Int]+ , _ + 0:_ :: [Int]+ , _ + 0:xs :: [Int]+ , _ + 1:_ :: [Int]+ , [x + _] :: [Int]+ , x + 0:_ :: [Int]+ , 0 + _:_ :: [Int]+ , 0 + _:xs :: [Int]+ , 0 + x:_ :: [Int]+ , 1 + _:_ :: [Int]+ , insert _ (0:_) :: [Int]+ , insert 0 (_:_) :: [Int]+ , _ ++ [_] :: [Int]+ , _ ++ (_:[0]) :: [Int]+ , _ ++ [x] :: [Int]+ , _ ++ (0:xs) :: [Int]+ , xs ++ [_] :: [Int]+ , xs ++ (0:_) :: [Int]+ , [] ++ (_:_) :: [Int]+ , [] ++ (_:xs) :: [Int]+ , [] ++ (x:_) :: [Int]+ , [0] ++ (_:_) :: [Int]+ , (_:_) ++ [] :: [Int]+ , (_:_) ++ [0] :: [Int]+ , (_:xs) ++ [] :: [Int]+ , [_] ++ _ :: [Int]+ , [_] ++ xs :: [Int]+ , (_:[0]) ++ _ :: [Int]+ , (x:_) ++ [] :: [Int]+ , [x] ++ _ :: [Int]+ , (0:_) ++ xs :: [Int]+ , (0:xs) ++ _ :: [Int]+ , _ || (_ || _) :: Bool+ , (_ || _) || _ :: Bool+ , _ * (_ * _) :: Int+ , (_ * _) * _ :: Int+ , _ + (_ + _) :: Int+ , (_ + _) + _ :: Int+ , _ ++ (_ ++ _) :: [Int]+ , (_ ++ _) ++ _ :: [Int]+ , _ && (_ || _) :: Bool+ , (_ || _) && _ :: Bool+ , _ == (_ || _) :: Bool+ , (_ || _) == _ :: Bool+ , _ || _ && _ :: Bool+ , _ || _ == _ :: Bool+ , _ && _ || _ :: Bool+ , _ == _ || _ :: Bool+ , _ == _ + _ :: Bool+ , _ + _ == _ :: Bool+ , _ * (_ + _) :: Int+ , (_ + _) * _ :: Int+ , _ + _ * _ :: Int+ , _ * _ + _ :: Int+ , not (not (_ && _)) :: Bool+ , not (not (_ == _)) :: Bool+ , not (not (_ || _)) :: Bool+ , not (not (_ == _)) :: Bool+ , not (_ && not _) :: Bool+ , not (not _ && _) :: Bool+ , not (_ == not _) :: Bool+ , not (not _ == _) :: Bool+ , not (_ || not _) :: Bool+ , not (not _ || _) :: Bool+ , id (id (_ * _)) :: Int+ , id (id (x * x)) :: Int+ , id (id (_ + _)) :: Int+ , id (id (x + x)) :: Int+ , id (_ * id _) :: Int+ , id (x * id x) :: Int+ , id (id _ * _) :: Int+ , id (id x * x) :: Int+ , id (_ + id _) :: Int+ , id (x + id x) :: Int+ , id (id _ + _) :: Int+ , id (id x + x) :: Int+ , abs (abs (_ + _)) :: Int+ , abs (_ + abs _) :: Int+ , abs (abs _ + _) :: Int+ , negate (negate (_ + _)) :: Int+ , negate (_ + negate _) :: Int+ , negate (negate _ + _) :: Int+ , head (head _:_) :: Int+ , (id (_ + _) +) :: Int -> Int+ , ((_ + id _) +) :: Int -> Int+ , ((id _ + _) +) :: Int -> Int+ , _ && not (not _) :: Bool+ , not _ && not _ :: Bool+ , not (not _) && _ :: Bool+ , _ == not (not _) :: Bool+ , not _ == not _ :: Bool+ , not (not _) == _ :: Bool+ , _ || not (not _) :: Bool+ , _ || (_ || False) :: Bool+ , _ || (_ || True) :: Bool+ , _ || (False || _) :: Bool+ , _ || (True || _) :: Bool+ , False || (_ || _) :: Bool+ , True || (_ || _) :: Bool+ , not _ || not _ :: Bool+ , not (not _) || _ :: Bool+ , (_ || _) || False :: Bool+ , (_ || _) || True :: Bool+ , (_ || False) || _ :: Bool+ , (_ || True) || _ :: Bool+ , (False || _) || _ :: Bool+ , (True || _) || _ :: Bool+ , _ == id (id _) :: Bool+ , id _ == id _ :: Bool+ , id (id _) == _ :: Bool+ , _ * id (id _) :: Int+ , id _ * id _ :: Int+ , id (id _) * _ :: Int+ , _ + id (id _) :: Int+ , _ + abs (abs _) :: Int+ , _ + negate (negate _) :: Int+ , _ + (_ + 0) :: Int+ , _ + (_ + 1) :: Int+ , _ + (0 + _) :: Int+ , _ + (1 + _) :: Int+ , x + id (id x) :: Int+ , 0 + (_ + _) :: Int+ , 1 + (_ + _) :: Int+ , ord _ + ord _ :: Int+ , id _ + id _ :: Int+ , id x + id x :: Int+ , id (id _) + _ :: Int+ , id (id x) + x :: Int+ , abs _ + abs _ :: Int+ , abs (abs _) + _ :: Int+ , negate _ + negate _ :: Int+ , negate (negate _) + _ :: Int+ , head _ + head _ :: Int+ , (_ + _) + 0 :: Int+ , (_ + _) + 1 :: Int+ , (_ + 0) + _ :: Int+ , (_ + 1) + _ :: Int+ , (0 + _) + _ :: Int+ , (1 + _) + _ :: Int+ , [_,_] :: [Int]+ , _:_:[0] :: [Int]+ , _:_:[1] :: [Int]+ , _:_:[0,0] :: [Int]+ , [x,x] :: [Int]+ , _ ++ (_ ++ []) :: [Int]+ , _ ++ ([] ++ _) :: [Int]+ , [] ++ (_ ++ _) :: [Int]+ , (_ ++ _) ++ [] :: [Int]+ , (_ ++ []) ++ _ :: [Int]+ , ([] ++ _) ++ _ :: [Int]+ , not (_ == id _) :: Bool+ , not (id _ == _) :: Bool+ , id (abs (_ * _)) :: Int+ , id (abs (_ + _)) :: Int+ , id (abs (x + x)) :: Int+ , id (negate (_ * _)) :: Int+ , id (negate (_ + _)) :: Int+ , id (negate (x + x)) :: Int+ , id (head (_ ++ _)) :: Int+ , id (head (xs ++ xs)) :: Int+ , id (_ * abs _) :: Int+ , id (_ * negate _) :: Int+ , id (abs _ * _) :: Int+ , id (negate _ * _) :: Int+ , id (_ + abs _) :: Int+ , id (_ + negate _) :: Int+ , id (x + abs x) :: Int+ , id (x + negate x) :: Int+ , id (abs _ + _) :: Int+ , id (abs x + x) :: Int+ , id (negate _ + _) :: Int+ , id (negate x + x) :: Int+ , abs (id (_ * _)) :: Int+ , abs (id (_ + _)) :: Int+ , abs (negate (_ + _)) :: Int+ , abs (head (_ ++ _)) :: Int+ , abs (_ * id _) :: Int+ , abs (id _ * _) :: Int+ , abs (_ + id _) :: Int+ , abs (_ + negate _) :: Int+ , abs (id _ + _) :: Int+ , abs (negate _ + _) :: Int+ , negate (id (_ * _)) :: Int+ , negate (id (_ + _)) :: Int+ , negate (abs (_ + _)) :: Int+ , negate (head (_ ++ _)) :: Int+ , negate (_ * id _) :: Int+ , negate (id _ * _) :: Int+ , negate (_ + id _) :: Int+ , negate (_ + abs _) :: Int+ , negate (id _ + _) :: Int+ , negate (abs _ + _) :: Int+ , head (tail (_ ++ _)) :: Int+ , head (_ ++ tail _) :: Int+ , head (tail _ ++ _) :: Int+ , tail (head _:_) :: [Int]+ , _ * id (abs _) :: Int+ , _ * id (negate _) :: Int+ , _ * abs (id _) :: Int+ , _ * negate (id _) :: Int+ , _ * (_ + 0) :: Int+ , _ * (0 + _) :: Int+ , 0 * (_ + _) :: Int+ , id _ * abs _ :: Int+ , id _ * negate _ :: Int+ , id (abs _) * _ :: Int+ , id (negate _) * _ :: Int+ , abs _ * id _ :: Int+ , abs (id _) * _ :: Int+ , negate _ * id _ :: Int+ , negate (id _) * _ :: Int+ , (_ + _) * 0 :: Int+ , (_ + 0) * _ :: Int+ , (0 + _) * _ :: Int+ , _ + id (abs _) :: Int+ , _ + id (negate _) :: Int+ , _ + abs (id _) :: Int+ , _ + abs (negate _) :: Int+ , _ + negate (id _) :: Int+ , _ + negate (abs _) :: Int+ , _ + _ * 0 :: Int+ , _ + 0 * _ :: Int+ , 0 + _ * _ :: Int+ , id _ + abs _ :: Int+ , id _ + negate _ :: Int+ , id (abs _) + _ :: Int+ , id (negate _) + _ :: Int+ , abs _ + id _ :: Int+ , abs _ + negate _ :: Int+ , abs (id _) + _ :: Int+ , abs (negate _) + _ :: Int+ , negate _ + id _ :: Int+ , negate _ + abs _ :: Int+ , negate (id _) + _ :: Int+ , negate (abs _) + _ :: Int+ , _ * _ + 0 :: Int+ , _ * 0 + _ :: Int+ , 0 * _ + _ :: Int+ , elem _ [_] :: Bool+ , _:insert _ [] :: [Int]+ , 0:(_ ++ _) :: [Int]+ , 1:(_ ++ _) :: [Int]+ , id (head _):_ :: [Int]+ , abs (head _):_ :: [Int]+ , negate (head _):_ :: [Int]+ , head _:tail _ :: [Int]+ , head (tail _):_ :: [Int]+ , [_ * _] :: [Int]+ , [_ + _] :: [Int]+ , _ + _:[0] :: [Int]+ , insert _ [_] :: [Int]+ , _ ++ (0:_) :: [Int]+ , _ ++ (1:_) :: [Int]+ , (0:_) ++ _ :: [Int]+ , (1:_) ++ _ :: [Int]+ , not (not (not (not _))) :: Bool+ , not (not (not (not p))) :: Bool+ , id (id (id (id _))) :: Int+ , id (id (id (id x))) :: Int+ , id (id (id (id y))) :: Int+ , id (id (id (id z))) :: Int+ , id (f (id (id 0))) :: Int+ , id (id (f (id 0))) :: Int+ , id (id (id (f 0))) :: Int+ , id (id (id (ord _))) :: Int+ , id (id (id (ord c))) :: Int+ , id (id (id (ord d))) :: Int+ , id (id (id (abs _))) :: Int+ , id (id (id (abs x))) :: Int+ , id (id (id (abs y))) :: Int+ , id (id (id (negate _))) :: Int+ , id (id (id (negate x))) :: Int+ , id (id (id (negate y))) :: Int+ , id (id (id (head _))) :: Int+ , id (id (id (head xs))) :: Int+ , id (id (id (head ys))) :: Int+ , id (id (abs (id _))) :: Int+ , id (id (abs (id x))) :: Int+ , id (id (abs (id y))) :: Int+ , id (id (abs (abs _))) :: Int+ , id (id (abs (abs x))) :: Int+ , id (id (negate (id _))) :: Int+ , id (id (negate (id x))) :: Int+ , id (id (negate (id y))) :: Int+ , id (id (negate (negate _))) :: Int+ , id (id (negate (negate x))) :: Int+ , id (abs (id (id _))) :: Int+ , id (abs (id (id x))) :: Int+ , id (abs (id (id y))) :: Int+ , id (abs (id (abs _))) :: Int+ , id (abs (id (abs x))) :: Int+ , id (abs (abs (id _))) :: Int+ , id (abs (abs (id x))) :: Int+ , id (abs (abs (abs _))) :: Int+ , id (negate (id (id _))) :: Int+ , id (negate (id (id x))) :: Int+ , id (negate (id (id y))) :: Int+ , id (negate (id (negate _))) :: Int+ , id (negate (id (negate x))) :: Int+ , id (negate (negate (id _))) :: Int+ , id (negate (negate (id x))) :: Int+ , id (negate (negate (negate _))) :: Int+ , abs (id (id (id _))) :: Int+ , abs (id (id (id x))) :: Int+ , abs (id (id (abs _))) :: Int+ , abs (id (abs (id _))) :: Int+ , abs (abs (id (id _))) :: Int+ , negate (id (id (id _))) :: Int+ , negate (id (id (id x))) :: Int+ , negate (id (id (negate _))) :: Int+ , negate (id (negate (id _))) :: Int+ , negate (negate (id (id _))) :: Int+ , (id (id (id _)) +) :: Int -> Int+ , _ + (0 + 0) :: Int+ , 0 + (_ + 0) :: Int+ , 0 + (0 + _) :: Int+ , (_ + 0) + 0 :: Int+ , (0 + _) + 0 :: Int+ , (0 + 0) + _ :: Int+ , 0:0:_ :: [Int]+ , 0:0:xs :: [Int]+ , not (not (_ || False)) :: Bool+ , not (not (_ || True)) :: Bool+ , not (not (False || _)) :: Bool+ , not (not (True || _)) :: Bool+ , not (_ || not False) :: Bool+ , not (_ || not True) :: Bool+ , not (False || not _) :: Bool+ , not (True || not _) :: Bool+ , not (not _ || False) :: Bool+ , not (not _ || True) :: Bool+ , not (not False || _) :: Bool+ , not (not True || _) :: Bool+ , id (id (abs (ord _))) :: Int+ , id (id (abs (ord c))) :: Int+ , id (id (abs (negate _))) :: Int+ , id (id (abs (negate x))) :: Int+ , id (id (abs (head _))) :: Int+ , id (id (abs (head xs))) :: Int+ , id (id (negate (ord _))) :: Int+ , id (id (negate (ord c))) :: Int+ , id (id (negate (abs _))) :: Int+ , id (id (negate (abs x))) :: Int+ , id (id (negate (head _))) :: Int+ , id (id (negate (head xs))) :: Int+ , id (id (head (sort _))) :: Int+ , id (id (head (tail _))) :: Int+ , id (id (head (tail xs))) :: Int+ , id (id (_ * 0)) :: Int+ , id (id (_ * 1)) :: Int+ , id (id (x * 0)) :: Int+ , id (id (0 * _)) :: Int+ , id (id (0 * x)) :: Int+ , id (id (1 * _)) :: Int+ , id (id (_ + 0)) :: Int+ , id (id (_ + 1)) :: Int+ , id (id (_ + (-1))) :: Int+ , id (id (x + 0)) :: Int+ , id (id (x + 1)) :: Int+ , id (id (y + 0)) :: Int+ , id (id (0 + _)) :: Int+ , id (id (0 + x)) :: Int+ , id (id (0 + y)) :: Int+ , id (id (1 + _)) :: Int+ , id (id (1 + x)) :: Int+ , id (id ((-1) + _)) :: Int+ , id (abs (id (ord _))) :: Int+ , id (abs (id (ord c))) :: Int+ , id (abs (id (negate _))) :: Int+ , id (abs (id (negate x))) :: Int+ , id (abs (id (head _))) :: Int+ , id (abs (id (head xs))) :: Int+ , id (abs (abs (ord _))) :: Int+ , id (abs (abs (negate _))) :: Int+ , id (abs (abs (head _))) :: Int+ , id (abs (negate (id _))) :: Int+ , id (abs (negate (id x))) :: Int+ , id (abs (negate (abs _))) :: Int+ , id (abs (negate (negate _))) :: Int+ , id (negate (id (ord _))) :: Int+ , id (negate (id (ord c))) :: Int+ , id (negate (id (abs _))) :: Int+ , id (negate (id (abs x))) :: Int+ , id (negate (id (head _))) :: Int+ , id (negate (id (head xs))) :: Int+ , id (negate (abs (id _))) :: Int+ , id (negate (abs (id x))) :: Int+ , id (negate (abs (abs _))) :: Int+ , id (negate (abs (negate _))) :: Int+ , id (negate (negate (ord _))) :: Int+ , id (negate (negate (abs _))) :: Int+ , id (negate (negate (head _))) :: Int+ , id (head (tail (tail _))) :: Int+ , id (_ * id 0) :: Int+ , id (_ * id 1) :: Int+ , id (x * id 0) :: Int+ , id (0 * id _) :: Int+ , id (0 * id x) :: Int+ , id (1 * id _) :: Int+ , id (id _ * 0) :: Int+ , id (id _ * 1) :: Int+ , id (id x * 0) :: Int+ , id (id 0 * _) :: Int+ , id (id 0 * x) :: Int+ , id (id 1 * _) :: Int+ , id (_ + id 0) :: Int+ , id (_ + id 1) :: Int+ , id (_ + id (-1)) :: Int+ , id (x + id 0) :: Int+ , id (x + id 1) :: Int+ , id (y + id 0) :: Int+ , id (0 + id _) :: Int+ , id (0 + id x) :: Int+ , id (0 + id y) :: Int+ , id (1 + id _) :: Int+ , id (1 + id x) :: Int+ , id ((-1) + id _) :: Int+ , id (id _ + 0) :: Int+ , id (id _ + 1) :: Int+ , id (id _ + (-1)) :: Int+ , id (id x + 0) :: Int+ , id (id x + 1) :: Int+ , id (id y + 0) :: Int+ , id (id 0 + _) :: Int+ , id (id 0 + x) :: Int+ , id (id 0 + y) :: Int+ , id (id 1 + _) :: Int+ , id (id 1 + x) :: Int+ , id (id (-1) + _) :: Int+ , abs (id (id (ord _))) :: Int+ , abs (id (id (negate _))) :: Int+ , abs (id (id (head _))) :: Int+ , abs (id (negate (id _))) :: Int+ , abs (negate (id (id _))) :: Int+ , negate (id (id (ord _))) :: Int+ , negate (id (id (abs _))) :: Int+ , negate (id (id (head _))) :: Int+ , negate (id (abs (id _))) :: Int+ , negate (abs (id (id _))) :: Int+ , head [head _] :: Int+ , head (head []:_) :: Int+ , _ || not (not False) :: Bool+ , _ || not (not True) :: Bool+ , False || not (not _) :: Bool+ , True || not (not _) :: Bool+ , not _ || not False :: Bool+ , not _ || not True :: Bool+ , not False || not _ :: Bool+ , not True || not _ :: Bool+ , not (not _) || False :: Bool+ , not (not _) || True :: Bool+ , not (not False) || _ :: Bool+ , not (not True) || _ :: Bool+ , _ * id (id 0) :: Int+ , 0 * id (id _) :: Int+ , id _ * id 0 :: Int+ , id 0 * id _ :: Int+ , id (id _) * 0 :: Int+ , id (id 0) * _ :: Int+ , _ + id (id 0) :: Int+ , _ + id (id 1) :: Int+ , x + id (id 0) :: Int+ , 0 + id (id _) :: Int+ , 0 + id (id x) :: Int+ , 1 + id (id _) :: Int+ , id _ + id 0 :: Int+ , id _ + id 1 :: Int+ , id x + id 0 :: Int+ , id 0 + id _ :: Int+ , id 0 + id x :: Int+ , id 1 + id _ :: Int+ , id (id _) + 0 :: Int+ , id (id _) + 1 :: Int+ , id (id x) + 0 :: Int+ , id (id 0) + _ :: Int+ , id (id 0) + x :: Int+ , id (id 1) + _ :: Int+ , [_,0] :: [Int]+ , _:0:[0] :: [Int]+ , [_,1] :: [Int]+ , _:([] ++ []) :: [Int]+ , [x,0] :: [Int]+ , [0,_] :: [Int]+ , 0:_:[0] :: [Int]+ , [0,x] :: [Int]+ , 0:1:_ :: [Int]+ , [1,_] :: [Int]+ , 1:0:_ :: [Int]+ , [id (id _)] :: [Int]+ , id (id _):[0] :: [Int]+ , [id (id x)] :: [Int]+ , id (id 0):_ :: [Int]+ , id (id 0):xs :: [Int]+ , id (id 1):_ :: [Int]+ , 0 + 0:_ :: [Int]+ , [] ++ [_] :: [Int]+ , [_] ++ [] :: [Int]+ , id (abs (negate (ord _))) :: Int+ , id (abs (negate (head _))) :: Int+ , id (abs (head (tail _))) :: Int+ , id (abs (_ * 0)) :: Int+ , id (abs (0 * _)) :: Int+ , id (abs (_ + 0)) :: Int+ , id (abs (_ + 1)) :: Int+ , id (abs (x + 0)) :: Int+ , id (abs (0 + _)) :: Int+ , id (abs (0 + x)) :: Int+ , id (abs (1 + _)) :: Int+ , id (negate (abs (ord _))) :: Int+ , id (negate (abs (head _))) :: Int+ , id (negate (head (tail _))) :: Int+ , id (negate (_ * 0)) :: Int+ , id (negate (0 * _)) :: Int+ , id (negate (_ + 0)) :: Int+ , id (negate (_ + 1)) :: Int+ , id (negate (x + 0)) :: Int+ , id (negate (0 + _)) :: Int+ , id (negate (0 + x)) :: Int+ , id (negate (1 + _)) :: Int+ , id (head [_]) :: Int+ , id (head (_:[0])) :: Int+ , id (head (_:[1])) :: Int+ , id (head (_:[0,0])) :: Int+ , id (head [x]) :: Int+ , id (head (x:[0])) :: Int+ , id (head [y]) :: Int+ , id (head (0:_)) :: Int+ , id (head (0:xs)) :: Int+ , id (head (0:ys)) :: Int+ , id (head (1:_)) :: Int+ , id (head (1:xs)) :: Int+ , id (head ((-1):_)) :: Int+ , id (head (_ ++ [])) :: Int+ , id (head (_ ++ [0])) :: Int+ , id (head (xs ++ [])) :: Int+ , id (head ([] ++ _)) :: Int+ , id (head ([] ++ xs)) :: Int+ , id (head ([0] ++ _)) :: Int+ , id (_ * ord 'a') :: Int+ , id (_ * abs 0) :: Int+ , id (_ * negate 0) :: Int+ , id (_ * head []) :: Int+ , id (0 * ord _) :: Int+ , id (0 * abs _) :: Int+ , id (0 * negate _) :: Int+ , id (0 * head _) :: Int+ , id (ord _ * 0) :: Int+ , id (ord 'a' * _) :: Int+ , id (abs _ * 0) :: Int+ , id (abs 0 * _) :: Int+ , id (negate _ * 0) :: Int+ , id (negate 0 * _) :: Int+ , id (head _ * 0) :: Int+ , id (head [] * _) :: Int+ , id (_ + ord ' ') :: Int+ , id (_ + ord 'a') :: Int+ , id (_ + abs 0) :: Int+ , id (_ + abs 1) :: Int+ , id (_ + negate 0) :: Int+ , id (_ + negate 1) :: Int+ , id (_ + head []) :: Int+ , id (_ + head [0]) :: Int+ , id (x + ord 'a') :: Int+ , id (x + abs 0) :: Int+ , id (x + negate 0) :: Int+ , id (x + head []) :: Int+ , id (0 + ord _) :: Int+ , id (0 + ord c) :: Int+ , id (0 + abs _) :: Int+ , id (0 + abs x) :: Int+ , id (0 + negate _) :: Int+ , id (0 + negate x) :: Int+ , id (0 + head _) :: Int+ , id (0 + head xs) :: Int+ , id (1 + ord _) :: Int+ , id (1 + abs _) :: Int+ , id (1 + negate _) :: Int+ , id (1 + head _) :: Int+ , id (ord _ + 0) :: Int+ , id (ord _ + 1) :: Int+ , id (ord c + 0) :: Int+ , id (ord ' ' + _) :: Int+ , id (ord 'a' + _) :: Int+ , id (ord 'a' + x) :: Int+ , id (abs _ + 0) :: Int+ , id (abs _ + 1) :: Int+ , id (abs x + 0) :: Int+ , id (abs 0 + _) :: Int+ , id (abs 0 + x) :: Int+ , id (abs 1 + _) :: Int+ , id (negate _ + 0) :: Int+ , id (negate _ + 1) :: Int+ , id (negate x + 0) :: Int+ , id (negate 0 + _) :: Int+ , id (negate 0 + x) :: Int+ , id (negate 1 + _) :: Int+ , id (head _ + 0) :: Int+ , id (head _ + 1) :: Int+ , id (head xs + 0) :: Int+ , id (head [] + _) :: Int+ , id (head [] + x) :: Int+ , id (head [0] + _) :: Int+ , abs (id (_ + 0)) :: Int+ , abs (id (0 + _)) :: Int+ , abs (head [_]) :: Int+ , abs (head (0:_)) :: Int+ , abs (_ + id 0) :: Int+ , abs (0 + id _) :: Int+ , abs (id _ + 0) :: Int+ , abs (id 0 + _) :: Int+ , negate (id (_ + 0)) :: Int+ , negate (id (0 + _)) :: Int+ , negate (head [_]) :: Int+ , negate (head (0:_)) :: Int+ , negate (_ + id 0) :: Int+ , negate (0 + id _) :: Int+ , negate (id _ + 0) :: Int+ , negate (id 0 + _) :: Int+ , head (tail [_]) :: Int+ , head (tail (0:_)) :: Int+ , head (_:tail []) :: Int+ , head (0:tail _) :: Int+ , head [ord _] :: Int+ , head (ord 'a':_) :: Int+ , head [id _] :: Int+ , head (id _:[0]) :: Int+ , head [id x] :: Int+ , head (id 0:_) :: Int+ , head (id 0:xs) :: Int+ , head (id 1:_) :: Int+ , head [abs _] :: Int+ , head (abs 0:_) :: Int+ , head [negate _] :: Int+ , head (negate 0:_) :: Int+ , tail [id _] :: [Int]+ , tail (id 0:_) :: [Int]+ , _ + id (ord 'a') :: Int+ , _ + id (abs 0) :: Int+ , _ + id (negate 0) :: Int+ , _ + id (head []) :: Int+ , _ + abs (id 0) :: Int+ , _ + negate (id 0) :: Int+ , 0 + id (ord _) :: Int+ , 0 + id (abs _) :: Int+ , 0 + id (negate _) :: Int+ , 0 + id (head _) :: Int+ , 0 + abs (id _) :: Int+ , 0 + negate (id _) :: Int+ , ord _ + id 0 :: Int+ , ord 'a' + id _ :: Int+ , id _ + ord 'a' :: Int+ , id _ + abs 0 :: Int+ , id _ + negate 0 :: Int+ , id _ + head [] :: Int+ , id 0 + ord _ :: Int+ , id 0 + abs _ :: Int+ , id 0 + negate _ :: Int+ , id 0 + head _ :: Int+ , id (ord _) + 0 :: Int+ , id (ord 'a') + _ :: Int+ , id (abs _) + 0 :: Int+ , id (abs 0) + _ :: Int+ , id (negate _) + 0 :: Int+ , id (negate 0) + _ :: Int+ , id (head _) + 0 :: Int+ , id (head []) + _ :: Int+ , abs _ + id 0 :: Int+ , abs 0 + id _ :: Int+ , abs (id _) + 0 :: Int+ , abs (id 0) + _ :: Int+ , negate _ + id 0 :: Int+ , negate 0 + id _ :: Int+ , negate (id _) + 0 :: Int+ , negate (id 0) + _ :: Int+ , head _ + id 0 :: Int+ , head [] + id _ :: Int+ , 0:(_ ++ []) :: [Int]+ , 0:([] ++ _) :: [Int]+ , id _:tail [] :: [Int]+ , id 0:tail _ :: [Int]+ , [id (ord _)] :: [Int]+ , id (ord 'a'):_ :: [Int]+ , [id (abs _)] :: [Int]+ , id (abs 0):_ :: [Int]+ , [id (negate _)] :: [Int]+ , id (negate 0):_ :: [Int]+ , [id (head _)] :: [Int]+ , id (head []):_ :: [Int]+ , [abs (id _)] :: [Int]+ , abs (id 0):_ :: [Int]+ , [negate (id _)] :: [Int]+ , negate (id 0):_ :: [Int]+ , [_ + 0] :: [Int]+ , [0 + _] :: [Int]+ , _ ++ [0] :: [Int]+ , [] ++ (0:_) :: [Int]+ , (0:_) ++ [] :: [Int]+ , [0] ++ _ :: [Int]+ , not (not (not (not False))) :: Bool+ , not (not (not (not True))) :: Bool+ , id (id (id (id 0))) :: Int+ , id (id (id (id 1))) :: Int+ , id (id (id (id (-1)))) :: Int+ , id (id (id (ord ' '))) :: Int+ , id (id (id (ord 'a'))) :: Int+ , id (id (id (abs 0))) :: Int+ , id (id (id (abs 1))) :: Int+ , id (id (id (negate 0))) :: Int+ , id (id (id (negate 1))) :: Int+ , id (id (id (head []))) :: Int+ , id (id (id (head [0]))) :: Int+ , id (id (abs (id 0))) :: Int+ , id (id (abs (id 1))) :: Int+ , id (id (abs (abs 0))) :: Int+ , id (id (negate (id 0))) :: Int+ , id (id (negate (id 1))) :: Int+ , id (id (negate (negate 0))) :: Int+ , id (id (0 * 0)) :: Int+ , id (id (0 + 0)) :: Int+ , id (abs (id (id 0))) :: Int+ , id (abs (id (id 1))) :: Int+ , id (abs (id (abs 0))) :: Int+ , id (abs (abs (id 0))) :: Int+ , id (negate (id (id 0))) :: Int+ , id (negate (id (id 1))) :: Int+ , id (negate (id (negate 0))) :: Int+ , id (negate (negate (id 0))) :: Int+ , id (0 * id 0) :: Int+ , id (id 0 * 0) :: Int+ , id (0 + id 0) :: Int+ , id (id 0 + 0) :: Int+ , abs (id (id (id 0))) :: Int+ , negate (id (id (id 0))) :: Int+ , 0 + id (id 0) :: Int+ , id 0 + id 0 :: Int+ , id (id 0) + 0 :: Int+ , [0,0] :: [Int]+ , id (id (abs (ord 'a'))) :: Int+ , id (id (abs (negate 0))) :: Int+ , id (id (abs (head []))) :: Int+ , id (id (negate (ord 'a'))) :: Int+ , id (id (negate (abs 0))) :: Int+ , id (id (negate (head []))) :: Int+ , id (id (head (tail []))) :: Int+ , id (id (0 + 1)) :: Int+ , id (id (1 + 0)) :: Int+ , id (abs (id (ord 'a'))) :: Int+ , id (abs (id (negate 0))) :: Int+ , id (abs (id (head []))) :: Int+ , id (abs (negate (id 0))) :: Int+ , id (abs (0 + 0)) :: Int+ , id (negate (id (ord 'a'))) :: Int+ , id (negate (id (abs 0))) :: Int+ , id (negate (id (head []))) :: Int+ , id (negate (abs (id 0))) :: Int+ , id (negate (0 + 0)) :: Int+ , id (head ([] ++ [])) :: Int+ , id (0 + id 1) :: Int+ , id (0 + abs 0) :: Int+ , id (0 + negate 0) :: Int+ , id (1 + id 0) :: Int+ , id (id 0 + 1) :: Int+ , id (id 1 + 0) :: Int+ , id (abs 0 + 0) :: Int+ , id (negate 0 + 0) :: Int+ , [id (id 0)] :: [Int]+ , id (head [0]) :: Int+ , id (head (0:[0])) :: Int+ , id (head [1]) :: Int+ , id (0 + ord 'a') :: Int+ , id (0 + head []) :: Int+ , id (ord 'a' + 0) :: Int+ , id (head [] + 0) :: Int+ , head [id 0] :: Int+ , _:f _:_ :: [Int]+ , f _:_:_ :: [Int]+ , head (_:x:_) :: Int+ , head (_:x:xs) :: Int+ , head (_:y:_) :: Int+ , head (x:_:_) :: Int+ , head (x:_:xs) :: Int+ , head (y:_:_) :: Int+ , tail (_:x:_) :: [Int]+ , tail (x:_:_) :: [Int]+ , _:tail (x:_) :: [Int]+ , _:x:tail _ :: [Int]+ , _:ord _:_ :: [Int]+ , _:ord _:xs :: [Int]+ , _:ord c:_ :: [Int]+ , _:id x:_ :: [Int]+ , _:id x:xs :: [Int]+ , _:id y:_ :: [Int]+ , _:abs x:_ :: [Int]+ , _:negate x:_ :: [Int]+ , _:head _:xs :: [Int]+ , _:head xs:_ :: [Int]+ , x:tail (_:_) :: [Int]+ , x:_:tail _ :: [Int]+ , x:ord _:_ :: [Int]+ , x:id _:_ :: [Int]+ , x:id _:xs :: [Int]+ , x:abs _:_ :: [Int]+ , x:negate _:_ :: [Int]+ , y:id _:_ :: [Int]+ , ord _:_:_ :: [Int]+ , ord _:_:xs :: [Int]+ , ord _:x:_ :: [Int]+ , ord c:_:_ :: [Int]+ , id _:x:_ :: [Int]+ , id _:x:xs :: [Int]+ , id _:y:_ :: [Int]+ , id x:_:_ :: [Int]+ , id x:_:xs :: [Int]+ , id y:_:_ :: [Int]+ , abs _:x:_ :: [Int]+ , abs x:_:_ :: [Int]+ , negate _:x:_ :: [Int]+ , negate x:_:_ :: [Int]+ , head _:_:xs :: [Int]+ , head xs:_:_ :: [Int]+ , head (_:_):xs :: [Int]+ , head (_:xs):_ :: [Int]+ , id (f (head (_:_))) :: Int+ , id (head (f _:_)) :: Int+ , head (_:(_ ++ xs)) :: Int+ , head (_:(xs ++ _)) :: Int+ , head (_ + x:_) :: Int+ , head (x + _:_) :: Int+ , head (_ ++ (_:xs)) :: Int+ , head (xs ++ (_:_)) :: Int+ , head ((_:_) ++ xs) :: Int+ , head ((_:xs) ++ _) :: Int+ , _ + head (x:_) :: Int+ , x + head (_:_) :: Int+ , head (_:_) + x :: Int+ , head (x:_) + _ :: Int+ , id _:(_ ++ xs) :: [Int]+ , id _:(xs ++ _) :: [Int]+ , id (_ + x):_ :: [Int]+ , id (x + _):_ :: [Int]+ , _ + ord _:_ :: [Int]+ , _ + id x:_ :: [Int]+ , x + id _:_ :: [Int]+ , ord _ + _:_ :: [Int]+ , id _ + x:_ :: [Int]+ , id x + _:_ :: [Int]+ , _ ++ (id _:xs) :: [Int]+ , xs ++ (id _:_) :: [Int]+ , (id _:_) ++ xs :: [Int]+ , (id _:xs) ++ _ :: [Int]+ , id (f (id (_ + _))) :: Int+ , id (f (_ + id _)) :: Int+ , id (f (id _ + _)) :: Int+ , id (id (f (_ + _))) :: Int+ , id (id (_ + f _)) :: Int+ , id (id (f _ + _)) :: Int+ , id (_ + f (id _)) :: Int+ , id (_ + id (f _)) :: Int+ , id (_ + (_ + x)) :: Int+ , id (_ + (_ + y)) :: Int+ , id (_ + (x + _)) :: Int+ , id (_ + (x + x)) :: Int+ , id (_ + (y + _)) :: Int+ , id (x + (_ + _)) :: Int+ , id (x + (_ + x)) :: Int+ , id (x + (x + _)) :: Int+ , id (y + (_ + _)) :: Int+ , id (f _ + id _) :: Int+ , id (f (id _) + _) :: Int+ , id (id _ + f _) :: Int+ , id (id (f _) + _) :: Int+ , id ((_ + _) + x) :: Int+ , id ((_ + _) + y) :: Int+ , id ((_ + x) + _) :: Int+ , id ((_ + x) + x) :: Int+ , id ((_ + y) + _) :: Int+ , id ((x + _) + _) :: Int+ , id ((x + _) + x) :: Int+ , id ((x + x) + _) :: Int+ , id ((y + _) + _) :: Int+ , head (_:_:_) :: Int+ , head (_:_:xs) :: Int+ , head (_:_:ys) :: Int+ , head (x:x:_) :: Int+ , sort (_:_:_) :: [Int]+ , tail (_:_:_) :: [Int]+ , tail (_:_:xs) :: [Int]+ , _ + id (_ + x) :: Int+ , _ + id (x + _) :: Int+ , _ + (_ + ord _) :: Int+ , _ + (_ + id x) :: Int+ , _ + (_ + head _) :: Int+ , _ + (x + id _) :: Int+ , _ + (ord _ + _) :: Int+ , _ + (id _ + x) :: Int+ , _ + (id x + _) :: Int+ , _ + (head _ + _) :: Int+ , x + id (_ + _) :: Int+ , x + (_ + id _) :: Int+ , x + (id _ + _) :: Int+ , ord _ + (_ + _) :: Int+ , id _ + (_ + x) :: Int+ , id _ + (x + _) :: Int+ , id x + (_ + _) :: Int+ , id (_ + _) + x :: Int+ , id (_ + x) + _ :: Int+ , id (x + _) + _ :: Int+ , head _ + (_ + _) :: Int+ , (_ + _) + ord _ :: Int+ , (_ + _) + id x :: Int+ , (_ + _) + head _ :: Int+ , (_ + x) + id _ :: Int+ , (_ + ord _) + _ :: Int+ , (_ + id _) + x :: Int+ , (_ + id x) + _ :: Int+ , (_ + head _) + _ :: Int+ , (x + _) + id _ :: Int+ , (x + id _) + _ :: Int+ , (ord _ + _) + _ :: Int+ , (id _ + _) + x :: Int+ , (id _ + x) + _ :: Int+ , (id x + _) + _ :: Int+ , (head _ + _) + _ :: Int+ , _:sort (_:_) :: [Int]+ , _:tail (_:_) :: [Int]+ , _:tail (_:xs) :: [Int]+ , _:_:sort _ :: [Int]+ , _:_:tail _ :: [Int]+ , _:_:tail xs :: [Int]+ , _:id _:_ :: [Int]+ , _:id _:xs :: [Int]+ , _:id _:ys :: [Int]+ , _:abs _:_ :: [Int]+ , _:abs _:xs :: [Int]+ , _:negate _:_ :: [Int]+ , _:negate _:xs :: [Int]+ , _:head _:_ :: [Int]+ , x:id x:_ :: [Int]+ , x:head _:_ :: [Int]+ , id _:_:_ :: [Int]+ , id _:_:xs :: [Int]+ , id _:_:ys :: [Int]+ , id x:x:_ :: [Int]+ , abs _:_:_ :: [Int]+ , abs _:_:xs :: [Int]+ , negate _:_:_ :: [Int]+ , negate _:_:xs :: [Int]+ , head _:_:_ :: [Int]+ , head _:x:_ :: [Int]+ , head (_:_):_ :: [Int]+ , head (x:_):_ :: [Int]+ , not (elem _ (_:_)) :: Bool+ , id (_ * (_ + x)) :: Int+ , id (_ * (x + _)) :: Int+ , id (x * (_ + _)) :: Int+ , id ((_ + _) * x) :: Int+ , id ((_ + x) * _) :: Int+ , id ((x + _) * _) :: Int+ , id (_ + _ * x) :: Int+ , id (_ + x * _) :: Int+ , id (x + _ * _) :: Int+ , id (_ * _ + x) :: Int+ , id (_ * x + _) :: Int+ , id (x * _ + _) :: Int+ , head (_:insert _ _) :: Int+ , head (_:(_ ++ _)) :: Int+ , head (x:(_ ++ _)) :: Int+ , head (_ * _:_) :: Int+ , head (_ + _:_) :: Int+ , head (_ + _:xs) :: Int+ , head (insert _ (_:_)) :: Int+ , head (_ ++ (_:_)) :: Int+ , head (_ ++ (x:_)) :: Int+ , head ((_:_) ++ _) :: Int+ , head ((x:_) ++ _) :: Int+ , tail (_:(_ ++ _)) :: [Int]+ , tail (_ + _:_) :: [Int]+ , tail (_ ++ (_:_)) :: [Int]+ , tail ((_:_) ++ _) :: [Int]+ , _ * head (_:_) :: Int+ , head (_:_) * _ :: Int+ , _ + head (_:_) :: Int+ , _ + head (_:xs) :: Int+ , _ + head (_ ++ _) :: Int+ , head (_:_) + _ :: Int+ , head (_:xs) + _ :: Int+ , head (_ ++ _) + _ :: Int+ , elem _ (id _:_) :: Bool+ , elem (id _) (_:_) :: Bool+ , _:tail (_ ++ _) :: [Int]+ , _:insert (id _) _ :: [Int]+ , _:(_ ++ tail _) :: [Int]+ , _:(tail _ ++ _) :: [Int]+ , ord _:(_ ++ _) :: [Int]+ , id _:insert _ _ :: [Int]+ , id _:(_ ++ _) :: [Int]+ , id x:(_ ++ _) :: [Int]+ , id (_ * _):_ :: [Int]+ , id (_ + _):_ :: [Int]+ , id (_ + _):xs :: [Int]+ , abs _:(_ ++ _) :: [Int]+ , abs (_ + _):_ :: [Int]+ , negate _:(_ ++ _) :: [Int]+ , negate (_ + _):_ :: [Int]+ , _ * id _:_ :: [Int]+ , id _ * _:_ :: [Int]+ , _ + _:tail _ :: [Int]+ , _ + id _:_ :: [Int]+ , _ + id _:xs :: [Int]+ , _ + abs _:_ :: [Int]+ , _ + negate _:_ :: [Int]+ , _ + head _:_ :: [Int]+ , id _ + _:_ :: [Int]+ , id _ + _:xs :: [Int]+ , abs _ + _:_ :: [Int]+ , negate _ + _:_ :: [Int]+ , head _ + _:_ :: [Int]+ , insert _ (id _:_) :: [Int]+ , insert (id _) (_:_) :: [Int]+ , _ ++ tail (_:_) :: [Int]+ , _ ++ (_:tail _) :: [Int]+ , _ ++ (ord _:_) :: [Int]+ , _ ++ (id _:_) :: [Int]+ , _ ++ (id x:_) :: [Int]+ , _ ++ (abs _:_) :: [Int]+ , _ ++ (negate _:_) :: [Int]+ , tail _ ++ (_:_) :: [Int]+ , tail (_:_) ++ _ :: [Int]+ , (_:_) ++ tail _ :: [Int]+ , (_:tail _) ++ _ :: [Int]+ , (ord _:_) ++ _ :: [Int]+ , (id _:_) ++ _ :: [Int]+ , (id x:_) ++ _ :: [Int]+ , (abs _:_) ++ _ :: [Int]+ , (negate _:_) ++ _ :: [Int]+ , id (f (id (id (id _)))) :: Int+ , id (id (f (id (id _)))) :: Int+ , id (id (id (f (id _)))) :: Int+ , id (id (id (id (f _)))) :: Int+ , id (id (id (_ * x))) :: Int+ , id (id (id (x * _))) :: Int+ , id (id (id (_ + x))) :: Int+ , id (id (id (_ + y))) :: Int+ , id (id (id (x + _))) :: Int+ , id (id (id (y + _))) :: Int+ , id (id (_ * id x)) :: Int+ , id (id (x * id _)) :: Int+ , id (id (id _ * x)) :: Int+ , id (id (id x * _)) :: Int+ , id (id (_ + id x)) :: Int+ , id (id (_ + id y)) :: Int+ , id (id (x + id _)) :: Int+ , id (id (y + id _)) :: Int+ , id (id (id _ + x)) :: Int+ , id (id (id _ + y)) :: Int+ , id (id (id x + _)) :: Int+ , id (id (id y + _)) :: Int+ , id (_ * id (id x)) :: Int+ , id (x * id (id _)) :: Int+ , id (id _ * id x) :: Int+ , id (id x * id _) :: Int+ , id (id (id _) * x) :: Int+ , id (id (id x) * _) :: Int+ , id (_ + id (id x)) :: Int+ , id (_ + id (id y)) :: Int+ , id (x + id (id _)) :: Int+ , id (y + id (id _)) :: Int+ , id (id _ + id x) :: Int+ , id (id _ + id y) :: Int+ , id (id x + id _) :: Int+ , id (id y + id _) :: Int+ , id (id (id _) + x) :: Int+ , id (id (id _) + y) :: Int+ , id (id (id x) + _) :: Int+ , id (id (id y) + _) :: Int+ , _ + id (id (id x)) :: Int+ , x + id (id (id _)) :: Int+ , id _ + id (id x) :: Int+ , id x + id (id _) :: Int+ , id (id _) + id x :: Int+ , id (id x) + id _ :: Int+ , id (id (id _)) + x :: Int+ , id (id (id x)) + _ :: Int+ , id (id (id _)):_ :: [Int]+ , id (id (id _)):xs :: [Int]+ , id (id (id x)):_ :: [Int]+ , id (id (abs (_ + x))) :: Int+ , id (id (abs (x + _))) :: Int+ , id (id (negate (_ + x))) :: Int+ , id (id (negate (x + _))) :: Int+ , id (id (head (_:_))) :: Int+ , id (id (head (_:xs))) :: Int+ , id (id (head (_:ys))) :: Int+ , id (id (head (x:_))) :: Int+ , id (id (head (x:xs))) :: Int+ , id (id (head (y:_))) :: Int+ , id (id (head (insert _ _))) :: Int+ , id (id (head (_ ++ xs))) :: Int+ , id (id (head (xs ++ _))) :: Int+ , id (id (_ * ord _)) :: Int+ , id (id (_ * head _)) :: Int+ , id (id (ord _ * _)) :: Int+ , id (id (head _ * _)) :: Int+ , id (id (_ + ord _)) :: Int+ , id (id (_ + ord c)) :: Int+ , id (id (_ + abs x)) :: Int+ , id (id (_ + negate x)) :: Int+ , id (id (_ + head _)) :: Int+ , id (id (_ + head xs)) :: Int+ , id (id (x + ord _)) :: Int+ , id (id (x + abs _)) :: Int+ , id (id (x + negate _)) :: Int+ , id (id (x + head _)) :: Int+ , id (id (ord _ + _)) :: Int+ , id (id (ord _ + x)) :: Int+ , id (id (ord c + _)) :: Int+ , id (id (abs _ + x)) :: Int+ , id (id (abs x + _)) :: Int+ , id (id (negate _ + x)) :: Int+ , id (id (negate x + _)) :: Int+ , id (id (head _ + _)) :: Int+ , id (id (head _ + x)) :: Int+ , id (id (head xs + _)) :: Int+ , id (abs (id (_ + x))) :: Int+ , id (abs (id (x + _))) :: Int+ , id (abs (_ + id x)) :: Int+ , id (abs (x + id _)) :: Int+ , id (abs (id _ + x)) :: Int+ , id (abs (id x + _)) :: Int+ , id (negate (id (_ + x))) :: Int+ , id (negate (id (x + _))) :: Int+ , id (negate (_ + id x)) :: Int+ , id (negate (x + id _)) :: Int+ , id (negate (id _ + x)) :: Int+ , id (negate (id x + _)) :: Int+ , id (head (id _:_)) :: Int+ , id (head (id _:xs)) :: Int+ , id (head (id _:ys)) :: Int+ , id (head (id x:_)) :: Int+ , id (head (id x:xs)) :: Int+ , id (head (id y:_)) :: Int+ , id (head (head _:xs)) :: Int+ , id (head (head xs:_)) :: Int+ , id (_ * id (ord _)) :: Int+ , id (_ * id (head _)) :: Int+ , id (ord _ * id _) :: Int+ , id (id _ * ord _) :: Int+ , id (id _ * head _) :: Int+ , id (id (ord _) * _) :: Int+ , id (id (head _) * _) :: Int+ , id (head _ * id _) :: Int+ , id (_ + id (ord _)) :: Int+ , id (_ + id (ord c)) :: Int+ , id (_ + id (abs x)) :: Int+ , id (_ + id (negate x)) :: Int+ , id (_ + id (head _)) :: Int+ , id (_ + id (head xs)) :: Int+ , id (_ + abs (id x)) :: Int+ , id (_ + negate (id x)) :: Int+ , id (_ + (x + 0)) :: Int+ , id (_ + (0 + x)) :: Int+ , id (x + id (ord _)) :: Int+ , id (x + id (abs _)) :: Int+ , id (x + id (negate _)) :: Int+ , id (x + id (head _)) :: Int+ , id (x + abs (id _)) :: Int+ , id (x + negate (id _)) :: Int+ , id (x + (_ + 0)) :: Int+ , id (x + (0 + _)) :: Int+ , id (0 + (_ + x)) :: Int+ , id (0 + (x + _)) :: Int+ , id (ord _ + id _) :: Int+ , id (ord _ + id x) :: Int+ , id (ord c + id _) :: Int+ , id (id _ + ord _) :: Int+ , id (id _ + ord c) :: Int+ , id (id _ + abs x) :: Int+ , id (id _ + negate x) :: Int+ , id (id _ + head _) :: Int+ , id (id _ + head xs) :: Int+ , id (id x + ord _) :: Int+ , id (id x + abs _) :: Int+ , id (id x + negate _) :: Int+ , id (id x + head _) :: Int+ , id (id (ord _) + _) :: Int+ , id (id (ord _) + x) :: Int+ , id (id (ord c) + _) :: Int+ , id (id (abs _) + x) :: Int+ , id (id (abs x) + _) :: Int+ , id (id (negate _) + x) :: Int+ , id (id (negate x) + _) :: Int+ , id (id (head _) + _) :: Int+ , id (id (head _) + x) :: Int+ , id (id (head xs) + _) :: Int+ , id (abs _ + id x) :: Int+ , id (abs x + id _) :: Int+ , id (abs (id _) + x) :: Int+ , id (abs (id x) + _) :: Int+ , id (negate _ + id x) :: Int+ , id (negate x + id _) :: Int+ , id (negate (id _) + x) :: Int+ , id (negate (id x) + _) :: Int+ , id (head _ + id _) :: Int+ , id (head _ + id x) :: Int+ , id (head xs + id _) :: Int+ , id ((_ + x) + 0) :: Int+ , id ((_ + 0) + x) :: Int+ , id ((x + _) + 0) :: Int+ , id ((x + 0) + _) :: Int+ , id ((0 + _) + x) :: Int+ , id ((0 + x) + _) :: Int+ , head [_,x] :: Int+ , head (_:0:_) :: Int+ , head (_:0:xs) :: Int+ , head (_:1:_) :: Int+ , head [x,_] :: Int+ , head (x:0:_) :: Int+ , head (0:_:_) :: Int+ , head (0:_:xs) :: Int+ , head (0:x:_) :: Int+ , head (1:_:_) :: Int+ , head (id (id _):_) :: Int+ , head (id (id _):xs) :: Int+ , head (id (id x):_) :: Int+ , tail (_:0:_) :: [Int]+ , tail (0:_:_) :: [Int]+ , tail (id (id _):_) :: [Int]+ , _ + id (id (ord _)) :: Int+ , _ + id (id (head _)) :: Int+ , ord _ + id (id _) :: Int+ , id _ + id (ord _) :: Int+ , id _ + id (head _) :: Int+ , id (ord _) + id _ :: Int+ , id (id _) + ord _ :: Int+ , id (id _) + head _ :: Int+ , id (id (ord _)) + _ :: Int+ , id (id (head _)) + _ :: Int+ , id (head _) + id _ :: Int+ , head _ + id (id _) :: Int+ , _:tail (0:_) :: [Int]+ , _:0:tail _ :: [Int]+ , [_,ord _] :: [Int]+ , _:ord 'a':_ :: [Int]+ , [_,id x] :: [Int]+ , _:id 0:_ :: [Int]+ , _:id 0:xs :: [Int]+ , _:id 1:_ :: [Int]+ , _:abs 0:_ :: [Int]+ , _:negate 0:_ :: [Int]+ , [_,head _] :: [Int]+ , _:head []:_ :: [Int]+ , [x,id _] :: [Int]+ , x:id 0:_ :: [Int]+ , 0:tail (_:_) :: [Int]+ , 0:_:tail _ :: [Int]+ , 0:ord _:_ :: [Int]+ , 0:id _:_ :: [Int]+ , 0:id _:xs :: [Int]+ , 0:id x:_ :: [Int]+ , 0:abs _:_ :: [Int]+ , 0:negate _:_ :: [Int]+ , 1:id _:_ :: [Int]+ , [ord _,_] :: [Int]+ , ord _:0:_ :: [Int]+ , ord 'a':_:_ :: [Int]+ , [id _,x] :: [Int]+ , id _:0:_ :: [Int]+ , id _:0:xs :: [Int]+ , id _:1:_ :: [Int]+ , [id x,_] :: [Int]+ , id x:0:_ :: [Int]+ , id 0:_:_ :: [Int]+ , id 0:_:xs :: [Int]+ , id 0:x:_ :: [Int]+ , id 1:_:_ :: [Int]+ , id (id _):tail _ :: [Int]+ , id (id (ord _)):_ :: [Int]+ , id (id (abs _)):_ :: [Int]+ , id (id (negate _)):_ :: [Int]+ , id (abs (id _)):_ :: [Int]+ , id (negate (id _)):_ :: [Int]+ , abs _:0:_ :: [Int]+ , abs 0:_:_ :: [Int]+ , abs (id (id _)):_ :: [Int]+ , negate _:0:_ :: [Int]+ , negate 0:_:_ :: [Int]+ , negate (id (id _)):_ :: [Int]+ , [head _,_] :: [Int]+ , head []:_:_ :: [Int]+ , [head (_:_)] :: [Int]+ , head [_]:_ :: [Int]+ , id (abs (head (_:_))) :: Int+ , id (abs (head (_:xs))) :: Int+ , id (abs (head (x:_))) :: Int+ , id (abs (_ + ord _)) :: Int+ , id (abs (_ + head _)) :: Int+ , id (abs (ord _ + _)) :: Int+ , id (abs (head _ + _)) :: Int+ , id (negate (head (_:_))) :: Int+ , id (negate (head (_:xs))) :: Int+ , id (negate (head (x:_))) :: Int+ , id (negate (_ + ord _)) :: Int+ , id (negate (_ + head _)) :: Int+ , id (negate (ord _ + _)) :: Int+ , id (negate (head _ + _)) :: Int+ , id (head (tail (_:_))) :: Int+ , id (head (tail (_:xs))) :: Int+ , id (head (tail (x:_))) :: Int+ , id (head (_:sort _)) :: Int+ , id (head (_:tail _)) :: Int+ , id (head (_:tail xs)) :: Int+ , id (head (x:tail _)) :: Int+ , id (head (ord _:_)) :: Int+ , id (head (ord _:xs)) :: Int+ , id (head (ord c:_)) :: Int+ , id (head (abs _:_)) :: Int+ , id (head (abs _:xs)) :: Int+ , id (head (abs x:_)) :: Int+ , id (head (negate _:_)) :: Int+ , id (head (negate _:xs)) :: Int+ , id (head (negate x:_)) :: Int+ , id (_ + abs (ord _)) :: Int+ , id (_ + abs (head _)) :: Int+ , id (_ + negate (ord _)) :: Int+ , id (_ + negate (head _)) :: Int+ , id (_ + head (tail _)) :: Int+ , id (ord _ + abs _) :: Int+ , id (ord _ + negate _) :: Int+ , id (ord _ + head _) :: Int+ , id (abs _ + ord _) :: Int+ , id (abs _ + head _) :: Int+ , id (abs (ord _) + _) :: Int+ , id (abs (head _) + _) :: Int+ , id (negate _ + ord _) :: Int+ , id (negate _ + head _) :: Int+ , id (negate (ord _) + _) :: Int+ , id (negate (head _) + _) :: Int+ , id (head _ + ord _) :: Int+ , id (head _ + abs _) :: Int+ , id (head _ + negate _) :: Int+ , id (head (tail _) + _) :: Int+ , abs (id (head (_:_))) :: Int+ , abs (head (id _:_)) :: Int+ , negate (id (head (_:_))) :: Int+ , negate (head (id _:_)) :: Int+ , head (tail (id _:_)) :: Int+ , head (_:(_ ++ [])) :: Int+ , head (_:([] ++ _)) :: Int+ , head (id _:tail _) :: Int+ , head (id (ord _):_) :: Int+ , head (id (abs _):_) :: Int+ , head (id (negate _):_) :: Int+ , head (abs (id _):_) :: Int+ , head (negate (id _):_) :: Int+ , head (_ + 0:_) :: Int+ , head (0 + _:_) :: Int+ , head (_ ++ [_]) :: Int+ , head ([] ++ (_:_)) :: Int+ , head ((_:_) ++ []) :: Int+ , head ([_] ++ _) :: Int+ , _ + head (0:_) :: Int+ , 0 + head (_:_) :: Int+ , head (_:_) + 0 :: Int+ , head (0:_) + _ :: Int+ , id _:(_ ++ []) :: [Int]+ , id _:([] ++ _) :: [Int]+ , id (_ + 0):_ :: [Int]+ , id (0 + _):_ :: [Int]+ , _ + id 0:_ :: [Int]+ , 0 + id _:_ :: [Int]+ , id _ + 0:_ :: [Int]+ , id 0 + _:_ :: [Int]+ , _ ++ [id _] :: [Int]+ , [] ++ (id _:_) :: [Int]+ , (id _:_) ++ [] :: [Int]+ , [id _] ++ _ :: [Int]+ , not (_ || (_ || _)) :: Bool+ , not ((_ || _) || _) :: Bool+ , id (_ * (_ * _)) :: Int+ , id ((_ * _) * _) :: Int+ , id (_ + (_ + _)) :: Int+ , id ((_ + _) + _) :: Int+ , abs (_ + (_ + _)) :: Int+ , abs ((_ + _) + _) :: Int+ , negate (_ + (_ + _)) :: Int+ , negate ((_ + _) + _) :: Int+ , head (_ ++ (_ ++ _)) :: Int+ , head ((_ ++ _) ++ _) :: Int+ , _ || not (_ || _) :: Bool+ , _ || (_ || not _) :: Bool+ , _ || (not _ || _) :: Bool+ , not _ || (_ || _) :: Bool+ , not (_ || _) || _ :: Bool+ , (_ || _) || not _ :: Bool+ , (_ || not _) || _ :: Bool+ , (not _ || _) || _ :: Bool+ , _ + id (_ + _) :: Int+ , _ + abs (_ + _) :: Int+ , _ + negate (_ + _) :: Int+ , _ + (_ + id _) :: Int+ , _ + (_ + abs _) :: Int+ , _ + (_ + negate _) :: Int+ , _ + (id _ + _) :: Int+ , _ + (abs _ + _) :: Int+ , _ + (negate _ + _) :: Int+ , id _ + (_ + _) :: Int+ , id (_ + _) + _ :: Int+ , abs _ + (_ + _) :: Int+ , abs (_ + _) + _ :: Int+ , negate _ + (_ + _) :: Int+ , negate (_ + _) + _ :: Int+ , (_ + _) + id _ :: Int+ , (_ + _) + abs _ :: Int+ , (_ + _) + negate _ :: Int+ , (_ + id _) + _ :: Int+ , (_ + abs _) + _ :: Int+ , (_ + negate _) + _ :: Int+ , (id _ + _) + _ :: Int+ , (abs _ + _) + _ :: Int+ , (negate _ + _) + _ :: Int+ , id (_ * (_ + _)) :: Int+ , id ((_ + _) * _) :: Int+ , id (_ + _ * _) :: Int+ , id (_ * _ + _) :: Int+ , _ * id (_ + _) :: Int+ , _ * (_ + id _) :: Int+ , _ * (id _ + _) :: Int+ , id _ * (_ + _) :: Int+ , id (_ + _) * _ :: Int+ , (_ + _) * id _ :: Int+ , (_ + id _) * _ :: Int+ , (id _ + _) * _ :: Int+ , _ + id (_ * _) :: Int+ , _ + _ * id _ :: Int+ , _ + id _ * _ :: Int+ , id _ + _ * _ :: Int+ , id (_ * _) + _ :: Int+ , _ * _ + id _ :: Int+ , _ * id _ + _ :: Int+ , id _ * _ + _ :: Int+ , head _:(_ ++ _) :: [Int]+ , head (_ ++ _):_ :: [Int]+ , _ ++ (head _:_) :: [Int]+ , (head _:_) ++ _ :: [Int]+ , not (not (not (_ || _))) :: Bool+ , not (not (_ || not _)) :: Bool+ , not (not (not _ || _)) :: Bool+ , not (_ || not (not _)) :: Bool+ , not (not _ || not _) :: Bool+ , not (not (not _) || _) :: Bool+ , id (id (id (_ * _))) :: Int+ , id (id (id (_ + _))) :: Int+ , id (id (id (x + x))) :: Int+ , id (id (_ * id _)) :: Int+ , id (id (id _ * _)) :: Int+ , id (id (_ + id _)) :: Int+ , id (id (x + id x)) :: Int+ , id (id (id _ + _)) :: Int+ , id (id (id x + x)) :: Int+ , id (_ * id (id _)) :: Int+ , id (id _ * id _) :: Int+ , id (id (id _) * _) :: Int+ , id (_ + id (id _)) :: Int+ , id (x + id (id x)) :: Int+ , id (id _ + id _) :: Int+ , id (id x + id x) :: Int+ , id (id (id _) + _) :: Int+ , id (id (id x) + x) :: Int+ , _ || not (not (not _)) :: Bool+ , not _ || not (not _) :: Bool+ , not (not _) || not _ :: Bool+ , not (not (not _)) || _ :: Bool+ , _ * id (id (id _)) :: Int+ , id _ * id (id _) :: Int+ , id (id _) * id _ :: Int+ , id (id (id _)) * _ :: Int+ , _ + id (id (id _)) :: Int+ , id _ + id (id _) :: Int+ , id (id _) + id _ :: Int+ , id (id (id _)) + _ :: Int+ , id (id (abs (_ * _))) :: Int+ , id (id (abs (_ + _))) :: Int+ , id (id (negate (_ * _))) :: Int+ , id (id (negate (_ + _))) :: Int+ , id (id (head (_ ++ _))) :: Int+ , id (id (_ * abs _)) :: Int+ , id (id (_ * negate _)) :: Int+ , id (id (abs _ * _)) :: Int+ , id (id (negate _ * _)) :: Int+ , id (id (_ + abs _)) :: Int+ , id (id (_ + negate _)) :: Int+ , id (id (abs _ + _)) :: Int+ , id (id (negate _ + _)) :: Int+ , id (abs (id (_ * _))) :: Int+ , id (abs (id (_ + _))) :: Int+ , id (abs (abs (_ + _))) :: Int+ , id (abs (_ * id _)) :: Int+ , id (abs (id _ * _)) :: Int+ , id (abs (_ + id _)) :: Int+ , id (abs (_ + abs _)) :: Int+ , id (abs (id _ + _)) :: Int+ , id (abs (abs _ + _)) :: Int+ , id (negate (id (_ * _))) :: Int+ , id (negate (id (_ + _))) :: Int+ , id (negate (negate (_ + _))) :: Int+ , id (negate (_ * id _)) :: Int+ , id (negate (id _ * _)) :: Int+ , id (negate (_ + id _)) :: Int+ , id (negate (_ + negate _)) :: Int+ , id (negate (id _ + _)) :: Int+ , id (negate (negate _ + _)) :: Int+ , id (head (head _:_)) :: Int+ , id (_ * id (abs _)) :: Int+ , id (_ * id (negate _)) :: Int+ , id (_ * abs (id _)) :: Int+ , id (_ * negate (id _)) :: Int+ , id (id _ * abs _) :: Int+ , id (id _ * negate _) :: Int+ , id (id (abs _) * _) :: Int+ , id (id (negate _) * _) :: Int+ , id (abs _ * id _) :: Int+ , id (abs (id _) * _) :: Int+ , id (negate _ * id _) :: Int+ , id (negate (id _) * _) :: Int+ , id (_ + id (abs _)) :: Int+ , id (_ + id (negate _)) :: Int+ , id (_ + abs (id _)) :: Int+ , id (_ + abs (abs _)) :: Int+ , id (_ + negate (id _)) :: Int+ , id (_ + negate (negate _)) :: Int+ , id (_ + (_ + 0)) :: Int+ , id (_ + (_ + 1)) :: Int+ , id (_ + (0 + _)) :: Int+ , id (_ + (1 + _)) :: Int+ , id (0 + (_ + _)) :: Int+ , id (1 + (_ + _)) :: Int+ , id (ord _ + ord _) :: Int+ , id (id _ + abs _) :: Int+ , id (id _ + negate _) :: Int+ , id (id (abs _) + _) :: Int+ , id (id (negate _) + _) :: Int+ , id (abs _ + id _) :: Int+ , id (abs _ + abs _) :: Int+ , id (abs (id _) + _) :: Int+ , id (abs (abs _) + _) :: Int+ , id (negate _ + id _) :: Int+ , id (negate _ + negate _) :: Int+ , id (negate (id _) + _) :: Int+ , id (negate (negate _) + _) :: Int+ , id (head _ + head _) :: Int+ , id ((_ + _) + 0) :: Int+ , id ((_ + _) + 1) :: Int+ , id ((_ + 0) + _) :: Int+ , id ((_ + 1) + _) :: Int+ , id ((0 + _) + _) :: Int+ , id ((1 + _) + _) :: Int+ , abs (id (id (_ + _))) :: Int+ , abs (id (_ + id _)) :: Int+ , abs (id (id _ + _)) :: Int+ , abs (_ + id (id _)) :: Int+ , abs (id _ + id _) :: Int+ , abs (id (id _) + _) :: Int+ , negate (id (id (_ + _))) :: Int+ , negate (id (_ + id _)) :: Int+ , negate (id (id _ + _)) :: Int+ , negate (_ + id (id _)) :: Int+ , negate (id _ + id _) :: Int+ , negate (id (id _) + _) :: Int+ , head [_,_] :: Int+ , head (_:_:[0]) :: Int+ , head (id (head _):_) :: Int+ , tail [_,_] :: [Int]+ , _ + id (id (abs _)) :: Int+ , _ + id (id (negate _)) :: Int+ , _ + id (abs (id _)) :: Int+ , _ + id (negate (id _)) :: Int+ , _ + id (_ + 0) :: Int+ , _ + id (0 + _) :: Int+ , _ + abs (id (id _)) :: Int+ , _ + negate (id (id _)) :: Int+ , _ + (_ + id 0) :: Int+ , _ + (0 + id _) :: Int+ , _ + (id _ + 0) :: Int+ , _ + (id 0 + _) :: Int+ , 0 + id (_ + _) :: Int+ , 0 + (_ + id _) :: Int+ , 0 + (id _ + _) :: Int+ , id _ + id (abs _) :: Int+ , id _ + id (negate _) :: Int+ , id _ + abs (id _) :: Int+ , id _ + negate (id _) :: Int+ , id _ + (_ + 0) :: Int+ , id _ + (0 + _) :: Int+ , id 0 + (_ + _) :: Int+ , id (id _) + abs _ :: Int+ , id (id _) + negate _ :: Int+ , id (id (abs _)) + _ :: Int+ , id (id (negate _)) + _ :: Int+ , id (abs _) + id _ :: Int+ , id (abs (id _)) + _ :: Int+ , id (negate _) + id _ :: Int+ , id (negate (id _)) + _ :: Int+ , id (_ + _) + 0 :: Int+ , id (_ + 0) + _ :: Int+ , id (0 + _) + _ :: Int+ , abs _ + id (id _) :: Int+ , abs (id _) + id _ :: Int+ , abs (id (id _)) + _ :: Int+ , negate _ + id (id _) :: Int+ , negate (id _) + id _ :: Int+ , negate (id (id _)) + _ :: Int+ , (_ + _) + id 0 :: Int+ , (_ + 0) + id _ :: Int+ , (_ + id _) + 0 :: Int+ , (_ + id 0) + _ :: Int+ , (0 + _) + id _ :: Int+ , (0 + id _) + _ :: Int+ , (id _ + _) + 0 :: Int+ , (id _ + 0) + _ :: Int+ , (id 0 + _) + _ :: Int+ , _:tail [_] :: [Int]+ , _:_:tail [] :: [Int]+ , [_,id _] :: [Int]+ , _:id _:[0] :: [Int]+ , [_,abs _] :: [Int]+ , [_,negate _] :: [Int]+ , 0:head _:_ :: [Int]+ , [id _,_] :: [Int]+ , id _:_:[0] :: [Int]+ , id (id (head _)):_ :: [Int]+ , [abs _,_] :: [Int]+ , [negate _,_] :: [Int]+ , head _:0:_ :: [Int]+ , head (0:_):_ :: [Int]+ , id (abs (negate (_ + _))) :: Int+ , id (abs (head (_ ++ _))) :: Int+ , id (abs (_ + negate _)) :: Int+ , id (abs (negate _ + _)) :: Int+ , id (negate (abs (_ + _))) :: Int+ , id (negate (head (_ ++ _))) :: Int+ , id (negate (_ + abs _)) :: Int+ , id (negate (abs _ + _)) :: Int+ , id (head (tail (_ ++ _))) :: Int+ , id (head (_ ++ tail _)) :: Int+ , id (_ * (_ + 0)) :: Int+ , id (_ * (0 + _)) :: Int+ , id (0 * (_ + _)) :: Int+ , id ((_ + _) * 0) :: Int+ , id ((_ + 0) * _) :: Int+ , id ((0 + _) * _) :: Int+ , id (_ + abs (negate _)) :: Int+ , id (_ + negate (abs _)) :: Int+ , id (_ + _ * 0) :: Int+ , id (_ + 0 * _) :: Int+ , id (0 + _ * _) :: Int+ , id (abs _ + negate _) :: Int+ , id (abs (negate _) + _) :: Int+ , id (negate _ + abs _) :: Int+ , id (negate (abs _) + _) :: Int+ , id (_ * _ + 0) :: Int+ , id (_ * 0 + _) :: Int+ , id (0 * _ + _) :: Int+ , head (0:(_ ++ _)) :: Int+ , head [_ + _] :: Int+ , head (_ ++ (0:_)) :: Int+ , head ((0:_) ++ _) :: Int+ , _ + head [_] :: Int+ , head [_] + _ :: Int+ , id 0:(_ ++ _) :: [Int]+ , [id (_ + _)] :: [Int]+ , [_ + id _] :: [Int]+ , [id _ + _] :: [Int]+ , _ ++ (id 0:_) :: [Int]+ , (id 0:_) ++ _ :: [Int]+ , not (not (not (not (not _)))) :: Bool+ , id (id (id (id (id _)))) :: Int+ , id (id (id (id (id x)))) :: Int+ , id (id (id (id (id y)))) :: Int+ , id (id (id (id (ord _)))) :: Int+ , id (id (id (id (ord c)))) :: Int+ , id (id (id (id (abs _)))) :: Int+ , id (id (id (id (abs x)))) :: Int+ , id (id (id (id (negate _)))) :: Int+ , id (id (id (id (negate x)))) :: Int+ , id (id (id (id (head _)))) :: Int+ , id (id (id (id (head xs)))) :: Int+ , id (id (id (abs (id _)))) :: Int+ , id (id (id (abs (id x)))) :: Int+ , id (id (id (abs (abs _)))) :: Int+ , id (id (id (negate (id _)))) :: Int+ , id (id (id (negate (id x)))) :: Int+ , id (id (id (negate (negate _)))) :: Int+ , id (id (abs (id (id _)))) :: Int+ , id (id (abs (id (id x)))) :: Int+ , id (id (abs (id (abs _)))) :: Int+ , id (id (abs (abs (id _)))) :: Int+ , id (id (negate (id (id _)))) :: Int+ , id (id (negate (id (id x)))) :: Int+ , id (id (negate (id (negate _)))) :: Int+ , id (id (negate (negate (id _)))) :: Int+ , id (abs (id (id (id _)))) :: Int+ , id (abs (id (id (id x)))) :: Int+ , id (abs (id (id (abs _)))) :: Int+ , id (abs (id (abs (id _)))) :: Int+ , id (abs (abs (id (id _)))) :: Int+ , id (negate (id (id (id _)))) :: Int+ , id (negate (id (id (id x)))) :: Int+ , id (negate (id (id (negate _)))) :: Int+ , id (negate (id (negate (id _)))) :: Int+ , id (negate (negate (id (id _)))) :: Int+ , abs (id (id (id (id _)))) :: Int+ , negate (id (id (id (id _)))) :: Int+ , id (id (id (abs (ord _)))) :: Int+ , id (id (id (abs (negate _)))) :: Int+ , id (id (id (abs (head _)))) :: Int+ , id (id (id (negate (ord _)))) :: Int+ , id (id (id (negate (abs _)))) :: Int+ , id (id (id (negate (head _)))) :: Int+ , id (id (id (head (tail _)))) :: Int+ , id (id (id (_ * 0))) :: Int+ , id (id (id (0 * _))) :: Int+ , id (id (id (_ + 0))) :: Int+ , id (id (id (_ + 1))) :: Int+ , id (id (id (x + 0))) :: Int+ , id (id (id (0 + _))) :: Int+ , id (id (id (0 + x))) :: Int+ , id (id (id (1 + _))) :: Int+ , id (id (abs (id (ord _)))) :: Int+ , id (id (abs (id (negate _)))) :: Int+ , id (id (abs (id (head _)))) :: Int+ , id (id (abs (negate (id _)))) :: Int+ , id (id (negate (id (ord _)))) :: Int+ , id (id (negate (id (abs _)))) :: Int+ , id (id (negate (id (head _)))) :: Int+ , id (id (negate (abs (id _)))) :: Int+ , id (id (_ * id 0)) :: Int+ , id (id (0 * id _)) :: Int+ , id (id (id _ * 0)) :: Int+ , id (id (id 0 * _)) :: Int+ , id (id (_ + id 0)) :: Int+ , id (id (_ + id 1)) :: Int+ , id (id (x + id 0)) :: Int+ , id (id (0 + id _)) :: Int+ , id (id (0 + id x)) :: Int+ , id (id (1 + id _)) :: Int+ , id (id (id _ + 0)) :: Int+ , id (id (id _ + 1)) :: Int+ , id (id (id x + 0)) :: Int+ , id (id (id 0 + _)) :: Int+ , id (id (id 0 + x)) :: Int+ , id (id (id 1 + _)) :: Int+ , id (abs (id (id (ord _)))) :: Int+ , id (abs (id (id (negate _)))) :: Int+ , id (abs (id (id (head _)))) :: Int+ , id (abs (id (negate (id _)))) :: Int+ , id (abs (negate (id (id _)))) :: Int+ , id (negate (id (id (ord _)))) :: Int+ , id (negate (id (id (abs _)))) :: Int+ , id (negate (id (id (head _)))) :: Int+ , id (negate (id (abs (id _)))) :: Int+ , id (negate (abs (id (id _)))) :: Int+ , id (_ * id (id 0)) :: Int+ , id (0 * id (id _)) :: Int+ , id (id _ * id 0) :: Int+ , id (id 0 * id _) :: Int+ , id (id (id _) * 0) :: Int+ , id (id (id 0) * _) :: Int+ , id (_ + id (id 0)) :: Int+ , id (_ + id (id 1)) :: Int+ , id (_ + (0 + 0)) :: Int+ , id (x + id (id 0)) :: Int+ , id (0 + id (id _)) :: Int+ , id (0 + id (id x)) :: Int+ , id (0 + (_ + 0)) :: Int+ , id (0 + (0 + _)) :: Int+ , id (1 + id (id _)) :: Int+ , id (id _ + id 0) :: Int+ , id (id _ + id 1) :: Int+ , id (id x + id 0) :: Int+ , id (id 0 + id _) :: Int+ , id (id 0 + id x) :: Int+ , id (id 1 + id _) :: Int+ , id (id (id _) + 0) :: Int+ , id (id (id _) + 1) :: Int+ , id (id (id x) + 0) :: Int+ , id (id (id 0) + _) :: Int+ , id (id (id 0) + x) :: Int+ , id (id (id 1) + _) :: Int+ , id ((_ + 0) + 0) :: Int+ , id ((0 + _) + 0) :: Int+ , id ((0 + 0) + _) :: Int+ , head (0:0:_) :: Int+ , _ + id (id (id 0)) :: Int+ , 0 + id (id (id _)) :: Int+ , id _ + id (id 0) :: Int+ , id 0 + id (id _) :: Int+ , id (id _) + id 0 :: Int+ , id (id 0) + id _ :: Int+ , id (id (id _)) + 0 :: Int+ , id (id (id 0)) + _ :: Int+ , 0:id 0:_ :: [Int]+ , id 0:0:_ :: [Int]+ , [id (id (id _))] :: [Int]+ , id (id (id 0)):_ :: [Int]+ , id (id (abs (_ + 0))) :: Int+ , id (id (abs (0 + _))) :: Int+ , id (id (negate (_ + 0))) :: Int+ , id (id (negate (0 + _))) :: Int+ , id (id (head [_])) :: Int+ , id (id (head (_:[0]))) :: Int+ , id (id (head [x])) :: Int+ , id (id (head (0:_))) :: Int+ , id (id (head (0:xs))) :: Int+ , id (id (head (1:_))) :: Int+ , id (id (head (_ ++ []))) :: Int+ , id (id (head ([] ++ _))) :: Int+ , id (id (_ + ord 'a')) :: Int+ , id (id (_ + abs 0)) :: Int+ , id (id (_ + negate 0)) :: Int+ , id (id (_ + head [])) :: Int+ , id (id (0 + ord _)) :: Int+ , id (id (0 + abs _)) :: Int+ , id (id (0 + negate _)) :: Int+ , id (id (0 + head _)) :: Int+ , id (id (ord _ + 0)) :: Int+ , id (id (ord 'a' + _)) :: Int+ , id (id (abs _ + 0)) :: Int+ , id (id (abs 0 + _)) :: Int+ , id (id (negate _ + 0)) :: Int+ , id (id (negate 0 + _)) :: Int+ , id (id (head _ + 0)) :: Int+ , id (id (head [] + _)) :: Int+ , id (abs (id (_ + 0))) :: Int+ , id (abs (id (0 + _))) :: Int+ , id (abs (_ + id 0)) :: Int+ , id (abs (0 + id _)) :: Int+ , id (abs (id _ + 0)) :: Int+ , id (abs (id 0 + _)) :: Int+ , id (negate (id (_ + 0))) :: Int+ , id (negate (id (0 + _))) :: Int+ , id (negate (_ + id 0)) :: Int+ , id (negate (0 + id _)) :: Int+ , id (negate (id _ + 0)) :: Int+ , id (negate (id 0 + _)) :: Int+ , id (head [id _]) :: Int+ , id (head (id _:[0])) :: Int+ , id (head [id x]) :: Int+ , id (head (id 0:_)) :: Int+ , id (head (id 0:xs)) :: Int+ , id (head (id 1:_)) :: Int+ , id (head [head _]) :: Int+ , id (head (head []:_)) :: Int+ , id (_ + id (ord 'a')) :: Int+ , id (_ + id (abs 0)) :: Int+ , id (_ + id (negate 0)) :: Int+ , id (_ + id (head [])) :: Int+ , id (_ + abs (id 0)) :: Int+ , id (_ + negate (id 0)) :: Int+ , id (0 + id (ord _)) :: Int+ , id (0 + id (abs _)) :: Int+ , id (0 + id (negate _)) :: Int+ , id (0 + id (head _)) :: Int+ , id (0 + abs (id _)) :: Int+ , id (0 + negate (id _)) :: Int+ , id (ord _ + id 0) :: Int+ , id (ord 'a' + id _) :: Int+ , id (id _ + ord 'a') :: Int+ , id (id _ + abs 0) :: Int+ , id (id _ + negate 0) :: Int+ , id (id _ + head []) :: Int+ , id (id 0 + ord _) :: Int+ , id (id 0 + abs _) :: Int+ , id (id 0 + negate _) :: Int+ , id (id 0 + head _) :: Int+ , id (id (ord _) + 0) :: Int+ , id (id (ord 'a') + _) :: Int+ , id (id (abs _) + 0) :: Int+ , id (id (abs 0) + _) :: Int+ , id (id (negate _) + 0) :: Int+ , id (id (negate 0) + _) :: Int+ , id (id (head _) + 0) :: Int+ , id (id (head []) + _) :: Int+ , id (abs _ + id 0) :: Int+ , id (abs 0 + id _) :: Int+ , id (abs (id _) + 0) :: Int+ , id (abs (id 0) + _) :: Int+ , id (negate _ + id 0) :: Int+ , id (negate 0 + id _) :: Int+ , id (negate (id _) + 0) :: Int+ , id (negate (id 0) + _) :: Int+ , id (head _ + id 0) :: Int+ , id (head [] + id _) :: Int+ , head [_,0] :: Int+ , head [0,_] :: Int+ , head [id (id _)] :: Int+ , head (id (id 0):_) :: Int+ , [_,id 0] :: [Int]+ , [0,id _] :: [Int]+ , [id _,0] :: [Int]+ , [id 0,_] :: [Int]+ , id (abs (head [_])) :: Int+ , id (abs (head (0:_))) :: Int+ , id (negate (head [_])) :: Int+ , id (negate (head (0:_))) :: Int+ , id (head (tail [_])) :: Int+ , id (head (tail (0:_))) :: Int+ , id (head (_:tail [])) :: Int+ , id (head (0:tail _)) :: Int+ , id (head [ord _]) :: Int+ , id (head (ord 'a':_)) :: Int+ , id (head [abs _]) :: Int+ , id (head (abs 0:_)) :: Int+ , id (head [negate _]) :: Int+ , id (head (negate 0:_)) :: Int+ , id (id (id (id (id 0)))) :: Int+ , id (id (id (id (id 1)))) :: Int+ , id (id (id (id (ord 'a')))) :: Int+ , id (id (id (id (abs 0)))) :: Int+ , id (id (id (id (negate 0)))) :: Int+ , id (id (id (id (head [])))) :: Int+ , id (id (id (abs (id 0)))) :: Int+ , id (id (id (negate (id 0)))) :: Int+ , id (id (id (0 + 0))) :: Int+ , id (id (abs (id (id 0)))) :: Int+ , id (id (negate (id (id 0)))) :: Int+ , id (id (0 + id 0)) :: Int+ , id (id (id 0 + 0)) :: Int+ , id (abs (id (id (id 0)))) :: Int+ , id (negate (id (id (id 0)))) :: Int+ , id (0 + id (id 0)) :: Int+ , id (id 0 + id 0) :: Int+ , id (id (id 0) + 0) :: Int+ , id (id (head [0])) :: Int+ , id (head [id 0]) :: Int+ , _:_:x:_ :: [Int]+ , _:_:x:xs :: [Int]+ , _:_:y:_ :: [Int]+ , _:x:_:_ :: [Int]+ , _:x:_:xs :: [Int]+ , _:x:x:_ :: [Int]+ , _:y:_:_ :: [Int]+ , x:_:_:_ :: [Int]+ , x:_:_:xs :: [Int]+ , x:_:x:_ :: [Int]+ , x:x:_:_ :: [Int]+ , y:_:_:_ :: [Int]+ , _:_:(_ ++ xs) :: [Int]+ , _:_:(xs ++ _) :: [Int]+ , _:x:(_ ++ _) :: [Int]+ , _:_ + x:_ :: [Int]+ , _:x + _:_ :: [Int]+ , _:(_ ++ (_:xs)) :: [Int]+ , _:(_ ++ (x:_)) :: [Int]+ , _:(xs ++ (_:_)) :: [Int]+ , _:((_:_) ++ xs) :: [Int]+ , _:((_:xs) ++ _) :: [Int]+ , _:((x:_) ++ _) :: [Int]+ , x:_:(_ ++ _) :: [Int]+ , x:_ + _:_ :: [Int]+ , x:(_ ++ (_:_)) :: [Int]+ , x:((_:_) ++ _) :: [Int]+ , _ + _:x:_ :: [Int]+ , _ + x:_:_ :: [Int]+ , x + _:_:_ :: [Int]+ , _ ++ (_:_:xs) :: [Int]+ , _ ++ (_:x:_) :: [Int]+ , _ ++ (x:_:_) :: [Int]+ , xs ++ (_:_:_) :: [Int]+ , (_:_) ++ (_:xs) :: [Int]+ , (_:_) ++ (x:_) :: [Int]+ , (_:xs) ++ (_:_) :: [Int]+ , (_:_:_) ++ xs :: [Int]+ , (_:_:xs) ++ _ :: [Int]+ , (_:x:_) ++ _ :: [Int]+ , (x:_) ++ (_:_) :: [Int]+ , (x:_:_) ++ _ :: [Int]+ , _:x:0:_ :: [Int]+ , _:0:x:_ :: [Int]+ , _:id (id x):_ :: [Int]+ , x:_:0:_ :: [Int]+ , x:0:_:_ :: [Int]+ , x:id (id _):_ :: [Int]+ , 0:_:x:_ :: [Int]+ , 0:x:_:_ :: [Int]+ , id _:id x:_ :: [Int]+ , id x:id _:_ :: [Int]+ , id (id _):x:_ :: [Int]+ , id (id x):_:_ :: [Int]+ , id (head (_:x:_)) :: Int+ , id (head (_:x:xs)) :: Int+ , id (head (_:y:_)) :: Int+ , id (head (x:_:_)) :: Int+ , id (head (x:_:xs)) :: Int+ , id (head (y:_:_)) :: Int+ , head (_:ord _:_) :: Int+ , head (_:id x:_) :: Int+ , head (x:id _:_) :: Int+ , head (ord _:_:_) :: Int+ , head (id _:x:_) :: Int+ , head (id x:_:_) :: Int+ , _:id (ord _):_ :: [Int]+ , ord _:id _:_ :: [Int]+ , id _:ord _:_ :: [Int]+ , id (ord _):_:_ :: [Int]+ , id (head (_:(_ ++ xs))) :: Int+ , id (head (_:(xs ++ _))) :: Int+ , id (head (_ + x:_)) :: Int+ , id (head (x + _:_)) :: Int+ , id (head (_ ++ (_:xs))) :: Int+ , id (head (xs ++ (_:_))) :: Int+ , id (head ((_:_) ++ xs)) :: Int+ , id (head ((_:xs) ++ _)) :: Int+ , id (_ + head (x:_)) :: Int+ , id (x + head (_:_)) :: Int+ , id (head (_:_) + x) :: Int+ , id (head (x:_) + _) :: Int+ , _:_:_:_ :: [Int]+ , _:_:_:xs :: [Int]+ , _:_:_:ys :: [Int]+ , elem _ (_:_:_) :: Bool+ , _:_:insert _ _ :: [Int]+ , _:_:(_ ++ _) :: [Int]+ , _:_ * _:_ :: [Int]+ , _:_ + _:_ :: [Int]+ , _:_ + _:xs :: [Int]+ , _:insert _ (_:_) :: [Int]+ , _:(_ ++ (_:_)) :: [Int]+ , _:(_ ++ (_ ++ _)) :: [Int]+ , _:((_:_) ++ _) :: [Int]+ , _:((_ ++ _) ++ _) :: [Int]+ , _ * _:_:_ :: [Int]+ , _ + _:_:_ :: [Int]+ , _ + _:_:xs :: [Int]+ , _ + (_ + _):_ :: [Int]+ , (_ + _) + _:_ :: [Int]+ , insert _ (_:_:_) :: [Int]+ , _ ++ (_:_:_) :: [Int]+ , _ ++ (_:(_ ++ _)) :: [Int]+ , _ ++ (_ ++ (_:_)) :: [Int]+ , _ ++ ((_:_) ++ _) :: [Int]+ , (_:_) ++ (_:_) :: [Int]+ , (_:_) ++ (_ ++ _) :: [Int]+ , (_:_:_) ++ _ :: [Int]+ , (_:(_ ++ _)) ++ _ :: [Int]+ , (_ ++ _) ++ (_:_) :: [Int]+ , (_ ++ (_:_)) ++ _ :: [Int]+ , ((_:_) ++ _) ++ _ :: [Int]+ , _ + _:(_ ++ _) :: [Int]+ , _ ++ (_ + _:_) :: [Int]+ , (_ + _:_) ++ _ :: [Int]+ , id (id (_ + (_ + x))) :: Int+ , id (id (_ + (x + _))) :: Int+ , id (id (x + (_ + _))) :: Int+ , id (id ((_ + _) + x)) :: Int+ , id (id ((_ + x) + _)) :: Int+ , id (id ((x + _) + _)) :: Int+ , id (_ + id (_ + x)) :: Int+ , id (_ + id (x + _)) :: Int+ , id (_ + (_ + id x)) :: Int+ , id (_ + (x + id _)) :: Int+ , id (_ + (id _ + x)) :: Int+ , id (_ + (id x + _)) :: Int+ , id (x + id (_ + _)) :: Int+ , id (x + (_ + id _)) :: Int+ , id (x + (id _ + _)) :: Int+ , id (id _ + (_ + x)) :: Int+ , id (id _ + (x + _)) :: Int+ , id (id x + (_ + _)) :: Int+ , id (id (_ + _) + x) :: Int+ , id (id (_ + x) + _) :: Int+ , id (id (x + _) + _) :: Int+ , id ((_ + _) + id x) :: Int+ , id ((_ + x) + id _) :: Int+ , id ((_ + id _) + x) :: Int+ , id ((_ + id x) + _) :: Int+ , id ((x + _) + id _) :: Int+ , id ((x + id _) + _) :: Int+ , id ((id _ + _) + x) :: Int+ , id ((id _ + x) + _) :: Int+ , id ((id x + _) + _) :: Int+ , head (_:head _:_) :: Int+ , head (head _:_:_) :: Int+ , head (head (_:_):_) :: Int+ , [_,_,x] :: [Int]+ , _:_:0:_ :: [Int]+ , _:_:0:xs :: [Int]+ , _:_:1:_ :: [Int]+ , [_,x,_] :: [Int]+ , _:0:_:_ :: [Int]+ , _:0:_:xs :: [Int]+ , _:1:_:_ :: [Int]+ , _:id (id _):_ :: [Int]+ , _:id (id _):xs :: [Int]+ , [x,_,_] :: [Int]+ , 0:_:_:_ :: [Int]+ , 0:_:_:xs :: [Int]+ , 1:_:_:_ :: [Int]+ , id _:id _:_ :: [Int]+ , id _:id _:xs :: [Int]+ , id (id _):_:_ :: [Int]+ , id (id _):_:xs :: [Int]+ , id (head (_:_:_)) :: Int+ , id (head (_:_:xs)) :: Int+ , id (head (_:_:ys)) :: Int+ , id (head (x:x:_)) :: Int+ , id (_ + (_ + ord _)) :: Int+ , id (_ + (_ + head _)) :: Int+ , id (_ + (ord _ + _)) :: Int+ , id (_ + (head _ + _)) :: Int+ , id (ord _ + (_ + _)) :: Int+ , id (head _ + (_ + _)) :: Int+ , id ((_ + _) + ord _) :: Int+ , id ((_ + _) + head _) :: Int+ , id ((_ + ord _) + _) :: Int+ , id ((_ + head _) + _) :: Int+ , id ((ord _ + _) + _) :: Int+ , id ((head _ + _) + _) :: Int+ , abs (head (_:_:_)) :: Int+ , negate (head (_:_:_)) :: Int+ , head (tail (_:_:_)) :: Int+ , head (_:tail (_:_)) :: Int+ , head (_:_:tail _) :: Int+ , head (_:id _:_) :: Int+ , head (_:id _:xs) :: Int+ , head (_:abs _:_) :: Int+ , head (_:negate _:_) :: Int+ , head (id _:_:_) :: Int+ , head (id _:_:xs) :: Int+ , head (abs _:_:_) :: Int+ , head (negate _:_:_) :: Int+ , tail (_:id _:_) :: [Int]+ , tail (id _:_:_) :: [Int]+ , _:tail (id _:_) :: [Int]+ , _:_:(_ ++ []) :: [Int]+ , _:_:([] ++ _) :: [Int]+ , _:0:(_ ++ _) :: [Int]+ , _:id _:tail _ :: [Int]+ , _:id (abs _):_ :: [Int]+ , _:id (negate _):_ :: [Int]+ , _:id (head _):_ :: [Int]+ , _:abs (id _):_ :: [Int]+ , _:negate (id _):_ :: [Int]+ , _:_ + 0:_ :: [Int]+ , _:0 + _:_ :: [Int]+ , _:(_ ++ [_]) :: [Int]+ , _:(_ ++ (0:_)) :: [Int]+ , _:([] ++ (_:_)) :: [Int]+ , _:((_:_) ++ []) :: [Int]+ , _:([_] ++ _) :: [Int]+ , _:((0:_) ++ _) :: [Int]+ , 0:_:(_ ++ _) :: [Int]+ , 0:_ + _:_ :: [Int]+ , 0:(_ ++ (_:_)) :: [Int]+ , 0:((_:_) ++ _) :: [Int]+ , id _:tail (_:_) :: [Int]+ , id _:_:tail _ :: [Int]+ , id _:abs _:_ :: [Int]+ , id _:negate _:_ :: [Int]+ , id _:head _:_ :: [Int]+ , id (id _):(_ ++ _) :: [Int]+ , id (id (_ + _)):_ :: [Int]+ , id (abs _):_:_ :: [Int]+ , id (negate _):_:_ :: [Int]+ , id (head _):_:_ :: [Int]+ , id (head (_:_)):_ :: [Int]+ , id (_ + id _):_ :: [Int]+ , id (id _ + _):_ :: [Int]+ , abs _:id _:_ :: [Int]+ , abs (id _):_:_ :: [Int]+ , negate _:id _:_ :: [Int]+ , negate (id _):_:_ :: [Int]+ , head _:id _:_ :: [Int]+ , head (id _:_):_ :: [Int]+ , _ + _:0:_ :: [Int]+ , _ + 0:_:_ :: [Int]+ , _ + id (id _):_ :: [Int]+ , 0 + _:_:_ :: [Int]+ , id _ + id _:_ :: [Int]+ , id (id _) + _:_ :: [Int]+ , _ ++ [_,_] :: [Int]+ , _ ++ (_:0:_) :: [Int]+ , _ ++ (0:_:_) :: [Int]+ , _ ++ (id (id _):_) :: [Int]+ , [] ++ (_:_:_) :: [Int]+ , (_:_) ++ [_] :: [Int]+ , (_:_) ++ (0:_) :: [Int]+ , [_] ++ (_:_) :: [Int]+ , (_:_:_) ++ [] :: [Int]+ , [_,_] ++ _ :: [Int]+ , (_:0:_) ++ _ :: [Int]+ , (0:_) ++ (_:_) :: [Int]+ , (0:_:_) ++ _ :: [Int]+ , (id (id _):_) ++ _ :: [Int]+ , id (head (_:insert _ _)) :: Int+ , id (head (_:(_ ++ _))) :: Int+ , id (head (x:(_ ++ _))) :: Int+ , id (head (_ * _:_)) :: Int+ , id (head (_ + _:_)) :: Int+ , id (head (_ + _:xs)) :: Int+ , id (head (_ ++ (_:_))) :: Int+ , id (head (_ ++ (x:_))) :: Int+ , id (head ((_:_) ++ _)) :: Int+ , id (head ((x:_) ++ _)) :: Int+ , id (_ * head (_:_)) :: Int+ , id (head (_:_) * _) :: Int+ , id (_ + head (_:_)) :: Int+ , id (_ + head (_:xs)) :: Int+ , id (_ + head (_ ++ _)) :: Int+ , id (head (_:_) + _) :: Int+ , id (head (_:xs) + _) :: Int+ , id (head (_ ++ _) + _) :: Int+ , head (id _:(_ ++ _)) :: Int+ , head (id (_ + _):_) :: Int+ , head (_ + id _:_) :: Int+ , head (id _ + _:_) :: Int+ , head (_ ++ (id _:_)) :: Int+ , head ((id _:_) ++ _) :: Int+ , _ + id (head (_:_)) :: Int+ , _ + head (id _:_) :: Int+ , id _ + head (_:_) :: Int+ , id (head (_:_)) + _ :: Int+ , head (_:_) + id _ :: Int+ , head (id _:_) + _ :: Int+ , id (id (id (id (_ + x)))) :: Int+ , id (id (id (id (x + _)))) :: Int+ , id (id (id (_ + id x))) :: Int+ , id (id (id (x + id _))) :: Int+ , id (id (id (id _ + x))) :: Int+ , id (id (id (id x + _))) :: Int+ , id (id (_ + id (id x))) :: Int+ , id (id (x + id (id _))) :: Int+ , id (id (id _ + id x)) :: Int+ , id (id (id x + id _)) :: Int+ , id (id (id (id _) + x)) :: Int+ , id (id (id (id x) + _)) :: Int+ , id (_ + id (id (id x))) :: Int+ , id (x + id (id (id _))) :: Int+ , id (id _ + id (id x)) :: Int+ , id (id x + id (id _)) :: Int+ , id (id (id _) + id x) :: Int+ , id (id (id x) + id _) :: Int+ , id (id (id (id _)) + x) :: Int+ , id (id (id (id x)) + _) :: Int+ , _:0:0:_ :: [Int]+ , 0:_:0:_ :: [Int]+ , 0:0:_:_ :: [Int]+ , id (id (id (id _))):_ :: [Int]+ , id (id (id (head (_:_)))) :: Int+ , id (id (id (head (_:xs)))) :: Int+ , id (id (id (head (x:_)))) :: Int+ , id (id (id (_ + ord _))) :: Int+ , id (id (id (_ + head _))) :: Int+ , id (id (id (ord _ + _))) :: Int+ , id (id (id (head _ + _))) :: Int+ , id (id (head (id _:_))) :: Int+ , id (id (head (id _:xs))) :: Int+ , id (id (head (id x:_))) :: Int+ , id (id (_ + id (ord _))) :: Int+ , id (id (_ + id (head _))) :: Int+ , id (id (ord _ + id _)) :: Int+ , id (id (id _ + ord _)) :: Int+ , id (id (id _ + head _)) :: Int+ , id (id (id (ord _) + _)) :: Int+ , id (id (id (head _) + _)) :: Int+ , id (id (head _ + id _)) :: Int+ , id (head (id (id _):_)) :: Int+ , id (head (id (id _):xs)) :: Int+ , id (head (id (id x):_)) :: Int+ , id (_ + id (id (ord _))) :: Int+ , id (_ + id (id (head _))) :: Int+ , id (ord _ + id (id _)) :: Int+ , id (id _ + id (ord _)) :: Int+ , id (id _ + id (head _)) :: Int+ , id (id (ord _) + id _) :: Int+ , id (id (id _) + ord _) :: Int+ , id (id (id _) + head _) :: Int+ , id (id (id (ord _)) + _) :: Int+ , id (id (id (head _)) + _) :: Int+ , id (id (head _) + id _) :: Int+ , id (head _ + id (id _)) :: Int+ , head (id (id (id _)):_) :: Int+ , _:id (id 0):_ :: [Int]+ , 0:id (id _):_ :: [Int]+ , id _:id 0:_ :: [Int]+ , id 0:id _:_ :: [Int]+ , id (id _):0:_ :: [Int]+ , id (id 0):_:_ :: [Int]+ , id (id (abs (head (_:_)))) :: Int+ , id (id (negate (head (_:_)))) :: Int+ , id (id (head (tail (_:_)))) :: Int+ , id (id (head (_:tail _))) :: Int+ , id (id (head (ord _:_))) :: Int+ , id (id (head (abs _:_))) :: Int+ , id (id (head (negate _:_))) :: Int+ , id (abs (id (head (_:_)))) :: Int+ , id (abs (head (id _:_))) :: Int+ , id (negate (id (head (_:_)))) :: Int+ , id (negate (head (id _:_))) :: Int+ , id (head (tail (id _:_))) :: Int+ , id (head [_,x]) :: Int+ , id (head (_:0:_)) :: Int+ , id (head (_:0:xs)) :: Int+ , id (head (_:1:_)) :: Int+ , id (head [x,_]) :: Int+ , id (head (x:0:_)) :: Int+ , id (head (0:_:_)) :: Int+ , id (head (0:_:xs)) :: Int+ , id (head (0:x:_)) :: Int+ , id (head (1:_:_)) :: Int+ , id (head (id _:tail _)) :: Int+ , id (head (id (ord _):_)) :: Int+ , id (head (id (abs _):_)) :: Int+ , id (head (id (negate _):_)) :: Int+ , id (head (abs (id _):_)) :: Int+ , id (head (negate (id _):_)) :: Int+ , head (_:id 0:_) :: Int+ , head (0:id _:_) :: Int+ , head (id _:0:_) :: Int+ , head (id 0:_:_) :: Int+ , id (head (_:(_ ++ []))) :: Int+ , id (head (_:([] ++ _))) :: Int+ , id (head (_ + 0:_)) :: Int+ , id (head (0 + _:_)) :: Int+ , id (head (_ ++ [_])) :: Int+ , id (head ([] ++ (_:_))) :: Int+ , id (head ((_:_) ++ [])) :: Int+ , id (head ([_] ++ _)) :: Int+ , id (_ + head (0:_)) :: Int+ , id (0 + head (_:_)) :: Int+ , id (head (_:_) + 0) :: Int+ , id (head (0:_) + _) :: Int+ , _ + (_ + (_ + _)) :: Int+ , _ + ((_ + _) + _) :: Int+ , (_ + _) + (_ + _) :: Int+ , (_ + (_ + _)) + _ :: Int+ , ((_ + _) + _) + _ :: Int+ , id (id (_ + (_ + _))) :: Int+ , id (id ((_ + _) + _)) :: Int+ , id (_ + id (_ + _)) :: Int+ , id (_ + (_ + id _)) :: Int+ , id (_ + (id _ + _)) :: Int+ , id (id _ + (_ + _)) :: Int+ , id (id (_ + _) + _) :: Int+ , id ((_ + _) + id _) :: Int+ , id ((_ + id _) + _) :: Int+ , id ((id _ + _) + _) :: Int+ , _ + id (id (_ + _)) :: Int+ , _ + id (_ + id _) :: Int+ , _ + id (id _ + _) :: Int+ , _ + (_ + id (id _)) :: Int+ , _ + (id _ + id _) :: Int+ , _ + (id (id _) + _) :: Int+ , id _ + id (_ + _) :: Int+ , id _ + (_ + id _) :: Int+ , id _ + (id _ + _) :: Int+ , id (id _) + (_ + _) :: Int+ , id (id (_ + _)) + _ :: Int+ , id (_ + _) + id _ :: Int+ , id (_ + id _) + _ :: Int+ , id (id _ + _) + _ :: Int+ , (_ + _) + id (id _) :: Int+ , (_ + id _) + id _ :: Int+ , (_ + id (id _)) + _ :: Int+ , (id _ + _) + id _ :: Int+ , (id _ + id _) + _ :: Int+ , (id (id _) + _) + _ :: Int+ , [_,_,_] :: [Int]+ , _:_:_:[0] :: [Int]+ , id (id (_ * (_ + _))) :: Int+ , id (id ((_ + _) * _)) :: Int+ , id (id (_ + _ * _)) :: Int+ , id (id (_ * _ + _)) :: Int+ , id (abs (_ + (_ + _))) :: Int+ , id (abs ((_ + _) + _)) :: Int+ , id (negate (_ + (_ + _))) :: Int+ , id (negate ((_ + _) + _)) :: Int+ , id (head (_ ++ (_ ++ _))) :: Int+ , id (_ * id (_ + _)) :: Int+ , id (_ * (_ + id _)) :: Int+ , id (_ * (id _ + _)) :: Int+ , id (id _ * (_ + _)) :: Int+ , id (id (_ + _) * _) :: Int+ , id ((_ + _) * id _) :: Int+ , id ((_ + id _) * _) :: Int+ , id ((id _ + _) * _) :: Int+ , id (_ + id (_ * _)) :: Int+ , id (_ + abs (_ + _)) :: Int+ , id (_ + negate (_ + _)) :: Int+ , id (_ + _ * id _) :: Int+ , id (_ + id _ * _) :: Int+ , id (_ + (_ + abs _)) :: Int+ , id (_ + (_ + negate _)) :: Int+ , id (_ + (abs _ + _)) :: Int+ , id (_ + (negate _ + _)) :: Int+ , id (id _ + _ * _) :: Int+ , id (id (_ * _) + _) :: Int+ , id (abs _ + (_ + _)) :: Int+ , id (abs (_ + _) + _) :: Int+ , id (negate _ + (_ + _)) :: Int+ , id (negate (_ + _) + _) :: Int+ , id (_ * _ + id _) :: Int+ , id (_ * id _ + _) :: Int+ , id (id _ * _ + _) :: Int+ , id ((_ + _) + abs _) :: Int+ , id ((_ + _) + negate _) :: Int+ , id ((_ + abs _) + _) :: Int+ , id ((_ + negate _) + _) :: Int+ , id ((abs _ + _) + _) :: Int+ , id ((negate _ + _) + _) :: Int+ , [_,_ + _] :: [Int]+ , [_ + _,_] :: [Int]+ , id (id (id (id (_ * _)))) :: Int+ , id (id (id (id (_ + _)))) :: Int+ , id (id (id (_ * id _))) :: Int+ , id (id (id (id _ * _))) :: Int+ , id (id (id (_ + id _))) :: Int+ , id (id (id (id _ + _))) :: Int+ , id (id (_ * id (id _))) :: Int+ , id (id (id _ * id _)) :: Int+ , id (id (id (id _) * _)) :: Int+ , id (id (_ + id (id _))) :: Int+ , id (id (id _ + id _)) :: Int+ , id (id (id (id _) + _)) :: Int+ , id (_ * id (id (id _))) :: Int+ , id (id _ * id (id _)) :: Int+ , id (id (id _) * id _) :: Int+ , id (id (id (id _)) * _) :: Int+ , id (_ + id (id (id _))) :: Int+ , id (id _ + id (id _)) :: Int+ , id (id (id _) + id _) :: Int+ , id (id (id (id _)) + _) :: Int+ , _ + id (id (id (id _))) :: Int+ , id _ + id (id (id _)) :: Int+ , id (id _) + id (id _) :: Int+ , id (id (id _)) + id _ :: Int+ , id (id (id (id _))) + _ :: Int+ , id (id (id (abs (_ + _)))) :: Int+ , id (id (id (negate (_ + _)))) :: Int+ , id (id (id (head (_ ++ _)))) :: Int+ , id (id (id (_ + abs _))) :: Int+ , id (id (id (_ + negate _))) :: Int+ , id (id (id (abs _ + _))) :: Int+ , id (id (id (negate _ + _))) :: Int+ , id (id (abs (id (_ + _)))) :: Int+ , id (id (abs (_ + id _))) :: Int+ , id (id (abs (id _ + _))) :: Int+ , id (id (negate (id (_ + _)))) :: Int+ , id (id (negate (_ + id _))) :: Int+ , id (id (negate (id _ + _))) :: Int+ , id (id (head (head _:_))) :: Int+ , id (id (_ + id (abs _))) :: Int+ , id (id (_ + id (negate _))) :: Int+ , id (id (_ + abs (id _))) :: Int+ , id (id (_ + negate (id _))) :: Int+ , id (id (_ + (_ + 0))) :: Int+ , id (id (_ + (0 + _))) :: Int+ , id (id (0 + (_ + _))) :: Int+ , id (id (id _ + abs _)) :: Int+ , id (id (id _ + negate _)) :: Int+ , id (id (id (abs _) + _)) :: Int+ , id (id (id (negate _) + _)) :: Int+ , id (id (abs _ + id _)) :: Int+ , id (id (abs (id _) + _)) :: Int+ , id (id (negate _ + id _)) :: Int+ , id (id (negate (id _) + _)) :: Int+ , id (id ((_ + _) + 0)) :: Int+ , id (id ((_ + 0) + _)) :: Int+ , id (id ((0 + _) + _)) :: Int+ , id (abs (id (id (_ + _)))) :: Int+ , id (abs (id (_ + id _))) :: Int+ , id (abs (id (id _ + _))) :: Int+ , id (abs (_ + id (id _))) :: Int+ , id (abs (id _ + id _)) :: Int+ , id (abs (id (id _) + _)) :: Int+ , id (negate (id (id (_ + _)))) :: Int+ , id (negate (id (_ + id _))) :: Int+ , id (negate (id (id _ + _))) :: Int+ , id (negate (_ + id (id _))) :: Int+ , id (negate (id _ + id _)) :: Int+ , id (negate (id (id _) + _)) :: Int+ , id (head (id (head _):_)) :: Int+ , id (_ + id (id (abs _))) :: Int+ , id (_ + id (id (negate _))) :: Int+ , id (_ + id (abs (id _))) :: Int+ , id (_ + id (negate (id _))) :: Int+ , id (_ + id (_ + 0)) :: Int+ , id (_ + id (0 + _)) :: Int+ , id (_ + abs (id (id _))) :: Int+ , id (_ + negate (id (id _))) :: Int+ , id (_ + (_ + id 0)) :: Int+ , id (_ + (0 + id _)) :: Int+ , id (_ + (id _ + 0)) :: Int+ , id (_ + (id 0 + _)) :: Int+ , id (0 + id (_ + _)) :: Int+ , id (0 + (_ + id _)) :: Int+ , id (0 + (id _ + _)) :: Int+ , id (id _ + id (abs _)) :: Int+ , id (id _ + id (negate _)) :: Int+ , id (id _ + abs (id _)) :: Int+ , id (id _ + negate (id _)) :: Int+ , id (id _ + (_ + 0)) :: Int+ , id (id _ + (0 + _)) :: Int+ , id (id 0 + (_ + _)) :: Int+ , id (id (id _) + abs _) :: Int+ , id (id (id _) + negate _) :: Int+ , id (id (id (abs _)) + _) :: Int+ , id (id (id (negate _)) + _) :: Int+ , id (id (abs _) + id _) :: Int+ , id (id (abs (id _)) + _) :: Int+ , id (id (negate _) + id _) :: Int+ , id (id (negate (id _)) + _) :: Int+ , id (id (_ + _) + 0) :: Int+ , id (id (_ + 0) + _) :: Int+ , id (id (0 + _) + _) :: Int+ , id (abs _ + id (id _)) :: Int+ , id (abs (id _) + id _) :: Int+ , id (abs (id (id _)) + _) :: Int+ , id (negate _ + id (id _)) :: Int+ , id (negate (id _) + id _) :: Int+ , id (negate (id (id _)) + _) :: Int+ , id ((_ + _) + id 0) :: Int+ , id ((_ + 0) + id _) :: Int+ , id ((_ + id _) + 0) :: Int+ , id ((_ + id 0) + _) :: Int+ , id ((0 + _) + id _) :: Int+ , id ((0 + id _) + _) :: Int+ , id ((id _ + _) + 0) :: Int+ , id ((id _ + 0) + _) :: Int+ , id ((id 0 + _) + _) :: Int+ , [_,_,0] :: [Int]+ , [_,0,_] :: [Int]+ , [_,id (id _)] :: [Int]+ , [0,_,_] :: [Int]+ , [id _,id _] :: [Int]+ , [id (id _),_] :: [Int]+ , id (head [_,_]) :: Int+ , id (head (_:_:[0])) :: Int+ , head [_,id _] :: Int+ , head [id _,_] :: Int+ , id (head (0:(_ ++ _))) :: Int+ , id (head [_ + _]) :: Int+ , id (head (_ ++ (0:_))) :: Int+ , id (head ((0:_) ++ _)) :: Int+ , id (_ + head [_]) :: Int+ , id (head [_] + _) :: Int+ , id (id (id (id (id (id _))))) :: Int+ , id (id (id (id (id (id x))))) :: Int+ , id (id (id (id (id (ord _))))) :: Int+ , id (id (id (id (id (abs _))))) :: Int+ , id (id (id (id (id (negate _))))) :: Int+ , id (id (id (id (id (head _))))) :: Int+ , id (id (id (id (abs (id _))))) :: Int+ , id (id (id (id (negate (id _))))) :: Int+ , id (id (id (abs (id (id _))))) :: Int+ , id (id (id (negate (id (id _))))) :: Int+ , id (id (abs (id (id (id _))))) :: Int+ , id (id (negate (id (id (id _))))) :: Int+ , id (abs (id (id (id (id _))))) :: Int+ , id (negate (id (id (id (id _))))) :: Int+ , id (id (id (id (_ + 0)))) :: Int+ , id (id (id (id (0 + _)))) :: Int+ , id (id (id (_ + id 0))) :: Int+ , id (id (id (0 + id _))) :: Int+ , id (id (id (id _ + 0))) :: Int+ , id (id (id (id 0 + _))) :: Int+ , id (id (_ + id (id 0))) :: Int+ , id (id (0 + id (id _))) :: Int+ , id (id (id _ + id 0)) :: Int+ , id (id (id 0 + id _)) :: Int+ , id (id (id (id _) + 0)) :: Int+ , id (id (id (id 0) + _)) :: Int+ , id (_ + id (id (id 0))) :: Int+ , id (0 + id (id (id _))) :: Int+ , id (id _ + id (id 0)) :: Int+ , id (id 0 + id (id _)) :: Int+ , id (id (id _) + id 0) :: Int+ , id (id (id 0) + id _) :: Int+ , id (id (id (id _)) + 0) :: Int+ , id (id (id (id 0)) + _) :: Int+ , id (id (id (head [_]))) :: Int+ , id (id (id (head (0:_)))) :: Int+ , id (id (head [id _])) :: Int+ , id (id (head (id 0:_))) :: Int+ , id (head (0:0:_)) :: Int+ , id (head [id (id _)]) :: Int+ , id (head (id (id 0):_)) :: Int+ , id (head [_,0]) :: Int+ , id (head [0,_]) :: Int+ , id (id (id (id (id (id 0))))) :: Int+ , head (_:_:x:_) :: Int+ , head (_:x:_:_) :: Int+ , head (x:_:_:_) :: Int+ , _:_:ord _:_ :: [Int]+ , _:_:id x:_ :: [Int]+ , _:x:id _:_ :: [Int]+ , _:ord _:_:_ :: [Int]+ , _:id _:x:_ :: [Int]+ , _:id x:_:_ :: [Int]+ , x:_:id _:_ :: [Int]+ , x:id _:_:_ :: [Int]+ , ord _:_:_:_ :: [Int]+ , id _:_:x:_ :: [Int]+ , id _:x:_:_ :: [Int]+ , id x:_:_:_ :: [Int]+ , id (id (head (_:x:_))) :: Int+ , id (id (head (x:_:_))) :: Int+ , id (head (_:id x:_)) :: Int+ , id (head (x:id _:_)) :: Int+ , id (head (id _:x:_)) :: Int+ , id (head (id x:_:_)) :: Int+ , id (head (_:ord _:_)) :: Int+ , id (head (ord _:_:_)) :: Int+ , head (_:_:_:_) :: Int+ , head (_:_:_:xs) :: Int+ , tail (_:_:_:_) :: [Int]+ , _:tail (_:_:_) :: [Int]+ , _:_:tail (_:_) :: [Int]+ , _:_:_:tail _ :: [Int]+ , _:_:id _:_ :: [Int]+ , _:_:id _:xs :: [Int]+ , _:_:abs _:_ :: [Int]+ , _:_:negate _:_ :: [Int]+ , _:_:head _:_ :: [Int]+ , _:id _:_:_ :: [Int]+ , _:id _:_:xs :: [Int]+ , _:abs _:_:_ :: [Int]+ , _:negate _:_:_ :: [Int]+ , _:head _:_:_ :: [Int]+ , _:head (_:_):_ :: [Int]+ , id _:_:_:_ :: [Int]+ , id _:_:_:xs :: [Int]+ , abs _:_:_:_ :: [Int]+ , negate _:_:_:_ :: [Int]+ , head _:_:_:_ :: [Int]+ , head (_:_):_:_ :: [Int]+ , head (_:_:_):_ :: [Int]+ , head (_:_:(_ ++ _)) :: Int+ , head (_:_ + _:_) :: Int+ , head (_:(_ ++ (_:_))) :: Int+ , head (_:((_:_) ++ _)) :: Int+ , head (_ + _:_:_) :: Int+ , head (_ ++ (_:_:_)) :: Int+ , head ((_:_) ++ (_:_)) :: Int+ , head ((_:_:_) ++ _) :: Int+ , _ + head (_:_:_) :: Int+ , head (_:_:_) + _ :: Int+ , _:id _:(_ ++ _) :: [Int]+ , _:id (_ + _):_ :: [Int]+ , _:_ + id _:_ :: [Int]+ , _:id _ + _:_ :: [Int]+ , _:(_ ++ (id _:_)) :: [Int]+ , _:((id _:_) ++ _) :: [Int]+ , id _:_:(_ ++ _) :: [Int]+ , id _:_ + _:_ :: [Int]+ , id _:(_ ++ (_:_)) :: [Int]+ , id _:((_:_) ++ _) :: [Int]+ , id (_ + _):_:_ :: [Int]+ , _ + _:id _:_ :: [Int]+ , _ + id _:_:_ :: [Int]+ , id _ + _:_:_ :: [Int]+ , _ ++ (_:id _:_) :: [Int]+ , _ ++ (id _:_:_) :: [Int]+ , (_:_) ++ (id _:_) :: [Int]+ , (_:id _:_) ++ _ :: [Int]+ , (id _:_) ++ (_:_) :: [Int]+ , (id _:_:_) ++ _ :: [Int]+ , _:id (id (id _)):_ :: [Int]+ , id _:id (id _):_ :: [Int]+ , id (id _):id _:_ :: [Int]+ , id (id (id _)):_:_ :: [Int]+ , id (id (head (_:_:_))) :: Int+ , id (id (head (_:_:xs))) :: Int+ , id (head (_:id _:_)) :: Int+ , id (head (_:id _:xs)) :: Int+ , id (head (_:head _:_)) :: Int+ , id (head (id _:_:_)) :: Int+ , id (head (id _:_:xs)) :: Int+ , id (head (head _:_:_)) :: Int+ , id (head (head (_:_):_)) :: Int+ , head (_:_:0:_) :: Int+ , head (_:0:_:_) :: Int+ , head (_:id (id _):_) :: Int+ , head (0:_:_:_) :: Int+ , head (id _:id _:_) :: Int+ , head (id (id _):_:_) :: Int+ , _:_:id 0:_ :: [Int]+ , _:0:id _:_ :: [Int]+ , _:id _:0:_ :: [Int]+ , _:id 0:_:_ :: [Int]+ , 0:_:id _:_ :: [Int]+ , 0:id _:_:_ :: [Int]+ , id _:_:0:_ :: [Int]+ , id _:0:_:_ :: [Int]+ , id 0:_:_:_ :: [Int]+ , id (id (head (_:(_ ++ _)))) :: Int+ , id (id (head (_ + _:_))) :: Int+ , id (id (head (_ ++ (_:_)))) :: Int+ , id (id (head ((_:_) ++ _))) :: Int+ , id (id (_ + head (_:_))) :: Int+ , id (id (head (_:_) + _)) :: Int+ , id (abs (head (_:_:_))) :: Int+ , id (negate (head (_:_:_))) :: Int+ , id (head (tail (_:_:_))) :: Int+ , id (head (_:tail (_:_))) :: Int+ , id (head (_:_:tail _)) :: Int+ , id (head (_:abs _:_)) :: Int+ , id (head (_:negate _:_)) :: Int+ , id (head (id _:(_ ++ _))) :: Int+ , id (head (id (_ + _):_)) :: Int+ , id (head (abs _:_:_)) :: Int+ , id (head (negate _:_:_)) :: Int+ , id (head (_ + id _:_)) :: Int+ , id (head (id _ + _:_)) :: Int+ , id (head (_ ++ (id _:_))) :: Int+ , id (head ((id _:_) ++ _)) :: Int+ , id (_ + id (head (_:_))) :: Int+ , id (_ + head (id _:_)) :: Int+ , id (id _ + head (_:_)) :: Int+ , id (id (head (_:_)) + _) :: Int+ , id (head (_:_) + id _) :: Int+ , id (head (id _:_) + _) :: Int+ , id (id (id (id (head (_:_))))) :: Int+ , id (id (id (head (id _:_)))) :: Int+ , id (id (head (id (id _):_))) :: Int+ , id (head (id (id (id _)):_)) :: Int+ , id (id (head (_:0:_))) :: Int+ , id (id (head (0:_:_))) :: Int+ , id (head (_:id 0:_)) :: Int+ , id (head (0:id _:_)) :: Int+ , id (head (id _:0:_)) :: Int+ , id (head (id 0:_:_)) :: Int+ , id (_ + (_ + (_ + _))) :: Int+ , id (_ + ((_ + _) + _)) :: Int+ , id ((_ + _) + (_ + _)) :: Int+ , id ((_ + (_ + _)) + _) :: Int+ , id (((_ + _) + _) + _) :: Int+ , id (id (id (_ + (_ + _)))) :: Int+ , id (id (id ((_ + _) + _))) :: Int+ , id (id (_ + id (_ + _))) :: Int+ , id (id (_ + (_ + id _))) :: Int+ , id (id (_ + (id _ + _))) :: Int+ , id (id (id _ + (_ + _))) :: Int+ , id (id (id (_ + _) + _)) :: Int+ , id (id ((_ + _) + id _)) :: Int+ , id (id ((_ + id _) + _)) :: Int+ , id (id ((id _ + _) + _)) :: Int+ , id (_ + id (id (_ + _))) :: Int+ , id (_ + id (_ + id _)) :: Int+ , id (_ + id (id _ + _)) :: Int+ , id (_ + (_ + id (id _))) :: Int+ , id (_ + (id _ + id _)) :: Int+ , id (_ + (id (id _) + _)) :: Int+ , id (id _ + id (_ + _)) :: Int+ , id (id _ + (_ + id _)) :: Int+ , id (id _ + (id _ + _)) :: Int+ , id (id (id _) + (_ + _)) :: Int+ , id (id (id (_ + _)) + _) :: Int+ , id (id (_ + _) + id _) :: Int+ , id (id (_ + id _) + _) :: Int+ , id (id (id _ + _) + _) :: Int+ , id ((_ + _) + id (id _)) :: Int+ , id ((_ + id _) + id _) :: Int+ , id ((_ + id (id _)) + _) :: Int+ , id ((id _ + _) + id _) :: Int+ , id ((id _ + id _) + _) :: Int+ , id ((id (id _) + _) + _) :: Int+ , head [_,_,_] :: Int+ , [_,_,id _] :: [Int]+ , [_,id _,_] :: [Int]+ , [id _,_,_] :: [Int]+ , id (id (id (id (id (_ + _))))) :: Int+ , id (id (id (id (_ + id _)))) :: Int+ , id (id (id (id (id _ + _)))) :: Int+ , id (id (id (_ + id (id _)))) :: Int+ , id (id (id (id _ + id _))) :: Int+ , id (id (id (id (id _) + _))) :: Int+ , id (id (_ + id (id (id _)))) :: Int+ , id (id (id _ + id (id _))) :: Int+ , id (id (id (id _) + id _)) :: Int+ , id (id (id (id (id _)) + _)) :: Int+ , id (_ + id (id (id (id _)))) :: Int+ , id (id _ + id (id (id _))) :: Int+ , id (id (id _) + id (id _)) :: Int+ , id (id (id (id _)) + id _) :: Int+ , id (id (id (id (id _))) + _) :: Int+ , id (id (head [_,_])) :: Int+ , id (head [_,id _]) :: Int+ , id (head [id _,_]) :: Int+ , id (id (id (id (id (id (id _)))))) :: Int+ , _:_:_:x:_ :: [Int]+ , _:_:x:_:_ :: [Int]+ , _:x:_:_:_ :: [Int]+ , x:_:_:_:_ :: [Int]+ , id (head (_:_:x:_)) :: Int+ , id (head (_:x:_:_)) :: Int+ , id (head (x:_:_:_)) :: Int+ , _:_:_:_:_ :: [Int]+ , _:_:_:_:xs :: [Int]+ , _:_:_:(_ ++ _) :: [Int]+ , _:_:_ + _:_ :: [Int]+ , _:_:(_ ++ (_:_)) :: [Int]+ , _:_:((_:_) ++ _) :: [Int]+ , _:_ + _:_:_ :: [Int]+ , _:(_ ++ (_:_:_)) :: [Int]+ , _:((_:_) ++ (_:_)) :: [Int]+ , _:((_:_:_) ++ _) :: [Int]+ , _ + _:_:_:_ :: [Int]+ , _ ++ (_:_:_:_) :: [Int]+ , (_:_) ++ (_:_:_) :: [Int]+ , (_:_:_) ++ (_:_) :: [Int]+ , (_:_:_:_) ++ _ :: [Int]+ , _:_:_:0:_ :: [Int]+ , _:_:0:_:_ :: [Int]+ , _:_:id (id _):_ :: [Int]+ , _:0:_:_:_ :: [Int]+ , _:id _:id _:_ :: [Int]+ , _:id (id _):_:_ :: [Int]+ , 0:_:_:_:_ :: [Int]+ , id _:_:id _:_ :: [Int]+ , id _:id _:_:_ :: [Int]+ , id (id _):_:_:_ :: [Int]+ , id (head (_:_:_:_)) :: Int+ , id (head (_:_:_:xs)) :: Int+ , head (_:_:id _:_) :: Int+ , head (_:id _:_:_) :: Int+ , head (id _:_:_:_) :: Int+ , id (head (_:_:(_ ++ _))) :: Int+ , id (head (_:_ + _:_)) :: Int+ , id (head (_:(_ ++ (_:_)))) :: Int+ , id (head (_:((_:_) ++ _))) :: Int+ , id (head (_ + _:_:_)) :: Int+ , id (head (_ ++ (_:_:_))) :: Int+ , id (head ((_:_) ++ (_:_))) :: Int+ , id (head ((_:_:_) ++ _)) :: Int+ , id (_ + head (_:_:_)) :: Int+ , id (head (_:_:_) + _) :: Int+ , id (id (id (head (_:_:_)))) :: Int+ , id (id (head (_:id _:_))) :: Int+ , id (id (head (id _:_:_))) :: Int+ , id (head (_:id (id _):_)) :: Int+ , id (head (id _:id _:_)) :: Int+ , id (head (id (id _):_:_)) :: Int+ , id (head (_:_:0:_)) :: Int+ , id (head (_:0:_:_)) :: Int+ , id (head (0:_:_:_)) :: Int+ , [_,_,_,_] :: [Int]+ , id (head [_,_,_]) :: Int+ , head (_:_:_:_:_) :: Int+ , _:_:_:id _:_ :: [Int]+ , _:_:id _:_:_ :: [Int]+ , _:id _:_:_:_ :: [Int]+ , id _:_:_:_:_ :: [Int]+ , id (id (head (_:_:_:_))) :: Int+ , id (head (_:_:id _:_)) :: Int+ , id (head (_:id _:_:_)) :: Int+ , id (head (id _:_:_:_)) :: Int+ , _:_:_:_:_:_ :: [Int]+ , id (head (_:_:_:_:_)) :: Int+ ]++sortBy compareLexicographically $ take 5040 $ list :: [ Expr ] =+ [ _ :: Bool+ , p :: Bool+ , q :: Bool+ , r :: Bool+ , p' :: Bool+ , q' :: Bool+ , _ :: Char+ , c :: Char+ , d :: Char+ , e :: Char+ , c' :: Char+ , d' :: Char+ , _ :: Int+ , x :: Int+ , y :: Int+ , z :: Int+ , x' :: Int+ , y' :: Int+ , z' :: Int+ , x'' :: Int+ , _ :: [Int]+ , xs :: [Int]+ , ys :: [Int]+ , zs :: [Int]+ , xs' :: [Int]+ , ys' :: [Int]+ , f :: Int -> Int+ , g :: Int -> Int+ , h :: Int -> Int+ , False :: Bool+ , True :: Bool+ , ' ' :: Char+ , 'A' :: Char+ , 'a' :: Char+ , 'b' :: Char+ , 'c' :: Char+ , 0 :: Int+ , 1 :: Int+ , 2 :: Int+ , 3 :: Int+ , -1 :: Int+ , -2 :: Int+ , -3 :: Int+ , [] :: [Int]+ , [0] :: [Int]+ , [1] :: [Int]+ , [2] :: [Int]+ , [-1] :: [Int]+ , [0,0] :: [Int]+ , [0,1] :: [Int]+ , [1,0] :: [Int]+ , [1,1] :: [Int]+ , [-1,0] :: [Int]+ , [0,-1] :: [Int]+ , [0,0,0] :: [Int]+ , [0,0,1] :: [Int]+ , [0,1,0] :: [Int]+ , [1,0,0] :: [Int]+ , [0,0,0,0] :: [Int]+ , not :: Bool -> Bool+ , id :: Int -> Int+ , abs :: Int -> Int+ , negate :: Int -> Int+ , (&&) :: Bool -> Bool -> Bool+ , (||) :: Bool -> Bool -> Bool+ , (==>) :: Bool -> Bool -> Bool+ , (*) :: Int -> Int -> Int+ , (+) :: Int -> Int -> Int+ , f _ :: Int+ , f x :: Int+ , f y :: Int+ , f z :: Int+ , f 0 :: Int+ , f 1 :: Int+ , f (-1) :: Int+ , f (f _) :: Int+ , f (ord _) :: Int+ , f (ord c) :: Int+ , f (ord 'a') :: Int+ , f (id _) :: Int+ , f (id x) :: Int+ , f (id y) :: Int+ , f (id 0) :: Int+ , f (id 1) :: Int+ , f (id (ord _)) :: Int+ , f (id (id _)) :: Int+ , f (id (id x)) :: Int+ , f (id (id 0)) :: Int+ , f (id (id (id _))) :: Int+ , f (id (abs _)) :: Int+ , f (id (negate _)) :: Int+ , f (id (head _)) :: Int+ , f (id (_ + _)) :: Int+ , f (abs _) :: Int+ , f (abs x) :: Int+ , f (abs 0) :: Int+ , f (abs (id _)) :: Int+ , f (negate _) :: Int+ , f (negate x) :: Int+ , f (negate 0) :: Int+ , f (negate (id _)) :: Int+ , f (head _) :: Int+ , f (head xs) :: Int+ , f (head []) :: Int+ , f (head (_:_)) :: Int+ , f (_ * _) :: Int+ , f (_ + _) :: Int+ , f (_ + x) :: Int+ , f (_ + 0) :: Int+ , f (_ + id _) :: Int+ , f (x + _) :: Int+ , f (0 + _) :: Int+ , f (id _ + _) :: Int+ , g _ :: Int+ , g x :: Int+ , g y :: Int+ , g 0 :: Int+ , g 1 :: Int+ , g (ord _) :: Int+ , g (id _) :: Int+ , g (id x) :: Int+ , g (id 0) :: Int+ , g (id (id _)) :: Int+ , g (abs _) :: Int+ , g (negate _) :: Int+ , g (head _) :: Int+ , g (_ + _) :: Int+ , h _ :: Int+ , h x :: Int+ , h 0 :: Int+ , h (id _) :: Int+ , f' _ :: Int+ , not _ :: Bool+ , not p :: Bool+ , not q :: Bool+ , not r :: Bool+ , not p' :: Bool+ , not False :: Bool+ , not True :: Bool+ , not (not _) :: Bool+ , not (not p) :: Bool+ , not (not q) :: Bool+ , not (not r) :: Bool+ , not (not False) :: Bool+ , not (not True) :: Bool+ , not (not (not _)) :: Bool+ , not (not (not p)) :: Bool+ , not (not (not q)) :: Bool+ , not (not (not False)) :: Bool+ , not (not (not True)) :: Bool+ , not (not (not (not _))) :: Bool+ , not (not (not (not p))) :: Bool+ , not (not (not (not False))) :: Bool+ , not (not (not (not True))) :: Bool+ , not (not (not (not (not _)))) :: Bool+ , not (not (not (_ || _))) :: Bool+ , not (not (odd _)) :: Bool+ , not (not (even _)) :: Bool+ , not (not (_ && _)) :: Bool+ , not (not (_ == _)) :: Bool+ , not (not (_ || _)) :: Bool+ , not (not (_ || p)) :: Bool+ , not (not (_ || False)) :: Bool+ , not (not (_ || True)) :: Bool+ , not (not (_ || not _)) :: Bool+ , not (not (p || _)) :: Bool+ , not (not (False || _)) :: Bool+ , not (not (True || _)) :: Bool+ , not (not (not _ || _)) :: Bool+ , not (not (_ == _)) :: Bool+ , not (not (elem _ _)) :: Bool+ , not (odd _) :: Bool+ , not (odd x) :: Bool+ , not (odd 0) :: Bool+ , not (odd (id _)) :: Bool+ , not (even _) :: Bool+ , not (even x) :: Bool+ , not (even 0) :: Bool+ , not (even (id _)) :: Bool+ , not (_ && _) :: Bool+ , not (_ && p) :: Bool+ , not (_ && False) :: Bool+ , not (_ && True) :: Bool+ , not (_ && not _) :: Bool+ , not (p && _) :: Bool+ , not (False && _) :: Bool+ , not (True && _) :: Bool+ , not (not _ && _) :: Bool+ , not (_ <= _) :: Bool+ , not (_ == _) :: Bool+ , not (_ == p) :: Bool+ , not (_ == False) :: Bool+ , not (_ == True) :: Bool+ , not (_ == not _) :: Bool+ , not (p == _) :: Bool+ , not (False == _) :: Bool+ , not (True == _) :: Bool+ , not (not _ == _) :: Bool+ , not (_ || _) :: Bool+ , not (_ || p) :: Bool+ , not (_ || q) :: Bool+ , not (_ || False) :: Bool+ , not (_ || True) :: Bool+ , not (_ || not _) :: Bool+ , not (_ || not p) :: Bool+ , not (_ || not False) :: Bool+ , not (_ || not True) :: Bool+ , not (_ || not (not _)) :: Bool+ , not (_ || (_ || _)) :: Bool+ , not (p || _) :: Bool+ , not (p || p) :: Bool+ , not (p || False) :: Bool+ , not (p || True) :: Bool+ , not (p || not _) :: Bool+ , not (q || _) :: Bool+ , not (False || _) :: Bool+ , not (False || p) :: Bool+ , not (False || False) :: Bool+ , not (False || True) :: Bool+ , not (False || not _) :: Bool+ , not (True || _) :: Bool+ , not (True || p) :: Bool+ , not (True || False) :: Bool+ , not (True || True) :: Bool+ , not (True || not _) :: Bool+ , not (not _ || _) :: Bool+ , not (not _ || p) :: Bool+ , not (not _ || False) :: Bool+ , not (not _ || True) :: Bool+ , not (not _ || not _) :: Bool+ , not (not p || _) :: Bool+ , not (not False || _) :: Bool+ , not (not True || _) :: Bool+ , not (not (not _) || _) :: Bool+ , not ((_ || _) || _) :: Bool+ , not (_ ==> _) :: Bool+ , not (_ <= _) :: Bool+ , not (_ == _) :: Bool+ , not (_ == x) :: Bool+ , not (_ == 0) :: Bool+ , not (_ == id _) :: Bool+ , not (x == _) :: Bool+ , not (0 == _) :: Bool+ , not (id _ == _) :: Bool+ , not (elem _ _) :: Bool+ , not (elem _ xs) :: Bool+ , not (elem _ []) :: Bool+ , not (elem _ (_:_)) :: Bool+ , not (elem x _) :: Bool+ , not (elem 0 _) :: Bool+ , not (elem (id _) _) :: Bool+ , ord _ :: Int+ , ord c :: Int+ , ord d :: Int+ , ord e :: Int+ , ord c' :: Int+ , ord ' ' :: Int+ , ord 'A' :: Int+ , ord 'a' :: Int+ , ord 'b' :: Int+ , odd _ :: Bool+ , odd x :: Bool+ , odd y :: Bool+ , odd 0 :: Bool+ , odd 1 :: Bool+ , odd (ord _) :: Bool+ , odd (id _) :: Bool+ , odd (id x) :: Bool+ , odd (id 0) :: Bool+ , odd (id (id _)) :: Bool+ , odd (abs _) :: Bool+ , odd (negate _) :: Bool+ , odd (head _) :: Bool+ , odd (_ + _) :: Bool+ , even _ :: Bool+ , even x :: Bool+ , even y :: Bool+ , even 0 :: Bool+ , even 1 :: Bool+ , even (ord _) :: Bool+ , even (id _) :: Bool+ , even (id x) :: Bool+ , even (id 0) :: Bool+ , even (id (id _)) :: Bool+ , even (abs _) :: Bool+ , even (negate _) :: Bool+ , even (head _) :: Bool+ , even (_ + _) :: Bool+ , id _ :: Int+ , id x :: Int+ , id y :: Int+ , id z :: Int+ , id x' :: Int+ , id y' :: Int+ , id z' :: Int+ , id 0 :: Int+ , id 1 :: Int+ , id 2 :: Int+ , id 3 :: Int+ , id (-1) :: Int+ , id (-2) :: Int+ , id (f _) :: Int+ , id (f x) :: Int+ , id (f y) :: Int+ , id (f z) :: Int+ , id (f 0) :: Int+ , id (f 1) :: Int+ , id (f (-1)) :: Int+ , id (f (f _)) :: Int+ , id (f (ord _)) :: Int+ , id (f (ord c)) :: Int+ , id (f (ord 'a')) :: Int+ , id (f (id _)) :: Int+ , id (f (id x)) :: Int+ , id (f (id y)) :: Int+ , id (f (id 0)) :: Int+ , id (f (id 1)) :: Int+ , id (f (id (ord _))) :: Int+ , id (f (id (id _))) :: Int+ , id (f (id (id x))) :: Int+ , id (f (id (id 0))) :: Int+ , id (f (id (id (id _)))) :: Int+ , id (f (id (abs _))) :: Int+ , id (f (id (negate _))) :: Int+ , id (f (id (head _))) :: Int+ , id (f (id (_ + _))) :: Int+ , id (f (abs _)) :: Int+ , id (f (abs x)) :: Int+ , id (f (abs 0)) :: Int+ , id (f (abs (id _))) :: Int+ , id (f (negate _)) :: Int+ , id (f (negate x)) :: Int+ , id (f (negate 0)) :: Int+ , id (f (negate (id _))) :: Int+ , id (f (head _)) :: Int+ , id (f (head xs)) :: Int+ , id (f (head [])) :: Int+ , id (f (head (_:_))) :: Int+ , id (f (_ * _)) :: Int+ , id (f (_ + _)) :: Int+ , id (f (_ + x)) :: Int+ , id (f (_ + 0)) :: Int+ , id (f (_ + id _)) :: Int+ , id (f (x + _)) :: Int+ , id (f (0 + _)) :: Int+ , id (f (id _ + _)) :: Int+ , id (g _) :: Int+ , id (g x) :: Int+ , id (g y) :: Int+ , id (g 0) :: Int+ , id (g 1) :: Int+ , id (g (ord _)) :: Int+ , id (g (id _)) :: Int+ , id (g (id x)) :: Int+ , id (g (id 0)) :: Int+ , id (g (id (id _))) :: Int+ , id (g (abs _)) :: Int+ , id (g (negate _)) :: Int+ , id (g (head _)) :: Int+ , id (g (_ + _)) :: Int+ , id (h _) :: Int+ , id (h x) :: Int+ , id (h 0) :: Int+ , id (h (id _)) :: Int+ , id (f' _) :: Int+ , id (ord _) :: Int+ , id (ord c) :: Int+ , id (ord d) :: Int+ , id (ord e) :: Int+ , id (ord ' ') :: Int+ , id (ord 'a') :: Int+ , id (ord 'b') :: Int+ , id (id _) :: Int+ , id (id x) :: Int+ , id (id y) :: Int+ , id (id z) :: Int+ , id (id x') :: Int+ , id (id y') :: Int+ , id (id 0) :: Int+ , id (id 1) :: Int+ , id (id 2) :: Int+ , id (id (-1)) :: Int+ , id (id (-2)) :: Int+ , id (id (f _)) :: Int+ , id (id (f x)) :: Int+ , id (id (f y)) :: Int+ , id (id (f 0)) :: Int+ , id (id (f 1)) :: Int+ , id (id (f (ord _))) :: Int+ , id (id (f (id _))) :: Int+ , id (id (f (id x))) :: Int+ , id (id (f (id 0))) :: Int+ , id (id (f (id (id _)))) :: Int+ , id (id (f (abs _))) :: Int+ , id (id (f (negate _))) :: Int+ , id (id (f (head _))) :: Int+ , id (id (f (_ + _))) :: Int+ , id (id (g _)) :: Int+ , id (id (g x)) :: Int+ , id (id (g 0)) :: Int+ , id (id (g (id _))) :: Int+ , id (id (h _)) :: Int+ , id (id (ord _)) :: Int+ , id (id (ord c)) :: Int+ , id (id (ord d)) :: Int+ , id (id (ord e)) :: Int+ , id (id (ord ' ')) :: Int+ , id (id (ord 'a')) :: Int+ , id (id (ord 'b')) :: Int+ , id (id (id _)) :: Int+ , id (id (id x)) :: Int+ , id (id (id y)) :: Int+ , id (id (id z)) :: Int+ , id (id (id x')) :: Int+ , id (id (id 0)) :: Int+ , id (id (id 1)) :: Int+ , id (id (id 2)) :: Int+ , id (id (id (-1))) :: Int+ , id (id (id (f _))) :: Int+ , id (id (id (f x))) :: Int+ , id (id (id (f 0))) :: Int+ , id (id (id (f (id _)))) :: Int+ , id (id (id (g _))) :: Int+ , id (id (id (ord _))) :: Int+ , id (id (id (ord c))) :: Int+ , id (id (id (ord d))) :: Int+ , id (id (id (ord ' '))) :: Int+ , id (id (id (ord 'a'))) :: Int+ , id (id (id (id _))) :: Int+ , id (id (id (id x))) :: Int+ , id (id (id (id y))) :: Int+ , id (id (id (id z))) :: Int+ , id (id (id (id 0))) :: Int+ , id (id (id (id 1))) :: Int+ , id (id (id (id (-1)))) :: Int+ , id (id (id (id (f _)))) :: Int+ , id (id (id (id (ord _)))) :: Int+ , id (id (id (id (ord c)))) :: Int+ , id (id (id (id (ord 'a')))) :: Int+ , id (id (id (id (id _)))) :: Int+ , id (id (id (id (id x)))) :: Int+ , id (id (id (id (id y)))) :: Int+ , id (id (id (id (id 0)))) :: Int+ , id (id (id (id (id 1)))) :: Int+ , id (id (id (id (id (ord _))))) :: Int+ , id (id (id (id (id (id _))))) :: Int+ , id (id (id (id (id (id x))))) :: Int+ , id (id (id (id (id (id 0))))) :: Int+ , id (id (id (id (id (id (id _)))))) :: Int+ , id (id (id (id (id (abs _))))) :: Int+ , id (id (id (id (id (negate _))))) :: Int+ , id (id (id (id (id (head _))))) :: Int+ , id (id (id (id (id (_ + _))))) :: Int+ , id (id (id (id (abs _)))) :: Int+ , id (id (id (id (abs x)))) :: Int+ , id (id (id (id (abs 0)))) :: Int+ , id (id (id (id (abs (id _))))) :: Int+ , id (id (id (id (negate _)))) :: Int+ , id (id (id (id (negate x)))) :: Int+ , id (id (id (id (negate 0)))) :: Int+ , id (id (id (id (negate (id _))))) :: Int+ , id (id (id (id (head _)))) :: Int+ , id (id (id (id (head xs)))) :: Int+ , id (id (id (id (head [])))) :: Int+ , id (id (id (id (head (_:_))))) :: Int+ , id (id (id (id (_ * _)))) :: Int+ , id (id (id (id (_ + _)))) :: Int+ , id (id (id (id (_ + x)))) :: Int+ , id (id (id (id (_ + 0)))) :: Int+ , id (id (id (id (_ + id _)))) :: Int+ , id (id (id (id (x + _)))) :: Int+ , id (id (id (id (0 + _)))) :: Int+ , id (id (id (id (id _ + _)))) :: Int+ , id (id (id (abs _))) :: Int+ , id (id (id (abs x))) :: Int+ , id (id (id (abs y))) :: Int+ , id (id (id (abs 0))) :: Int+ , id (id (id (abs 1))) :: Int+ , id (id (id (abs (ord _)))) :: Int+ , id (id (id (abs (id _)))) :: Int+ , id (id (id (abs (id x)))) :: Int+ , id (id (id (abs (id 0)))) :: Int+ , id (id (id (abs (id (id _))))) :: Int+ , id (id (id (abs (abs _)))) :: Int+ , id (id (id (abs (negate _)))) :: Int+ , id (id (id (abs (head _)))) :: Int+ , id (id (id (abs (_ + _)))) :: Int+ , id (id (id (negate _))) :: Int+ , id (id (id (negate x))) :: Int+ , id (id (id (negate y))) :: Int+ , id (id (id (negate 0))) :: Int+ , id (id (id (negate 1))) :: Int+ , id (id (id (negate (ord _)))) :: Int+ , id (id (id (negate (id _)))) :: Int+ , id (id (id (negate (id x)))) :: Int+ , id (id (id (negate (id 0)))) :: Int+ , id (id (id (negate (id (id _))))) :: Int+ , id (id (id (negate (abs _)))) :: Int+ , id (id (id (negate (negate _)))) :: Int+ , id (id (id (negate (head _)))) :: Int+ , id (id (id (negate (_ + _)))) :: Int+ , id (id (id (head _))) :: Int+ , id (id (id (head xs))) :: Int+ , id (id (id (head ys))) :: Int+ , id (id (id (head []))) :: Int+ , id (id (id (head [0]))) :: Int+ , id (id (id (head (tail _)))) :: Int+ , id (id (id (head (_:_)))) :: Int+ , id (id (id (head (_:xs)))) :: Int+ , id (id (id (head [_]))) :: Int+ , id (id (id (head (_:_:_)))) :: Int+ , id (id (id (head (x:_)))) :: Int+ , id (id (id (head (0:_)))) :: Int+ , id (id (id (head (id _:_)))) :: Int+ , id (id (id (head (_ ++ _)))) :: Int+ , id (id (id (_ * _))) :: Int+ , id (id (id (_ * x))) :: Int+ , id (id (id (_ * 0))) :: Int+ , id (id (id (_ * id _))) :: Int+ , id (id (id (x * _))) :: Int+ , id (id (id (0 * _))) :: Int+ , id (id (id (id _ * _))) :: Int+ , id (id (id (_ + _))) :: Int+ , id (id (id (_ + x))) :: Int+ , id (id (id (_ + y))) :: Int+ , id (id (id (_ + 0))) :: Int+ , id (id (id (_ + 1))) :: Int+ , id (id (id (_ + ord _))) :: Int+ , id (id (id (_ + id _))) :: Int+ , id (id (id (_ + id x))) :: Int+ , id (id (id (_ + id 0))) :: Int+ , id (id (id (_ + id (id _)))) :: Int+ , id (id (id (_ + abs _))) :: Int+ , id (id (id (_ + negate _))) :: Int+ , id (id (id (_ + head _))) :: Int+ , id (id (id (_ + (_ + _)))) :: Int+ , id (id (id (x + _))) :: Int+ , id (id (id (x + x))) :: Int+ , id (id (id (x + 0))) :: Int+ , id (id (id (x + id _))) :: Int+ , id (id (id (y + _))) :: Int+ , id (id (id (0 + _))) :: Int+ , id (id (id (0 + x))) :: Int+ , id (id (id (0 + 0))) :: Int+ , id (id (id (0 + id _))) :: Int+ , id (id (id (1 + _))) :: Int+ , id (id (id (ord _ + _))) :: Int+ , id (id (id (id _ + _))) :: Int+ , id (id (id (id _ + x))) :: Int+ , id (id (id (id _ + 0))) :: Int+ , id (id (id (id _ + id _))) :: Int+ , id (id (id (id x + _))) :: Int+ , id (id (id (id 0 + _))) :: Int+ , id (id (id (id (id _) + _))) :: Int+ , id (id (id (abs _ + _))) :: Int+ , id (id (id (negate _ + _))) :: Int+ , id (id (id (head _ + _))) :: Int+ , id (id (id ((_ + _) + _))) :: Int+ , id (id (abs _)) :: Int+ , id (id (abs x)) :: Int+ , id (id (abs y)) :: Int+ , id (id (abs z)) :: Int+ , id (id (abs 0)) :: Int+ , id (id (abs 1)) :: Int+ , id (id (abs (-1))) :: Int+ , id (id (abs (f _))) :: Int+ , id (id (abs (ord _))) :: Int+ , id (id (abs (ord c))) :: Int+ , id (id (abs (ord 'a'))) :: Int+ , id (id (abs (id _))) :: Int+ , id (id (abs (id x))) :: Int+ , id (id (abs (id y))) :: Int+ , id (id (abs (id 0))) :: Int+ , id (id (abs (id 1))) :: Int+ , id (id (abs (id (ord _)))) :: Int+ , id (id (abs (id (id _)))) :: Int+ , id (id (abs (id (id x)))) :: Int+ , id (id (abs (id (id 0)))) :: Int+ , id (id (abs (id (id (id _))))) :: Int+ , id (id (abs (id (abs _)))) :: Int+ , id (id (abs (id (negate _)))) :: Int+ , id (id (abs (id (head _)))) :: Int+ , id (id (abs (id (_ + _)))) :: Int+ , id (id (abs (abs _))) :: Int+ , id (id (abs (abs x))) :: Int+ , id (id (abs (abs 0))) :: Int+ , id (id (abs (abs (id _)))) :: Int+ , id (id (abs (negate _))) :: Int+ , id (id (abs (negate x))) :: Int+ , id (id (abs (negate 0))) :: Int+ , id (id (abs (negate (id _)))) :: Int+ , id (id (abs (head _))) :: Int+ , id (id (abs (head xs))) :: Int+ , id (id (abs (head []))) :: Int+ , id (id (abs (head (_:_)))) :: Int+ , id (id (abs (_ * _))) :: Int+ , id (id (abs (_ + _))) :: Int+ , id (id (abs (_ + x))) :: Int+ , id (id (abs (_ + 0))) :: Int+ , id (id (abs (_ + id _))) :: Int+ , id (id (abs (x + _))) :: Int+ , id (id (abs (0 + _))) :: Int+ , id (id (abs (id _ + _))) :: Int+ , id (id (negate _)) :: Int+ , id (id (negate x)) :: Int+ , id (id (negate y)) :: Int+ , id (id (negate z)) :: Int+ , id (id (negate 0)) :: Int+ , id (id (negate 1)) :: Int+ , id (id (negate (-1))) :: Int+ , id (id (negate (f _))) :: Int+ , id (id (negate (ord _))) :: Int+ , id (id (negate (ord c))) :: Int+ , id (id (negate (ord 'a'))) :: Int+ , id (id (negate (id _))) :: Int+ , id (id (negate (id x))) :: Int+ , id (id (negate (id y))) :: Int+ , id (id (negate (id 0))) :: Int+ , id (id (negate (id 1))) :: Int+ , id (id (negate (id (ord _)))) :: Int+ , id (id (negate (id (id _)))) :: Int+ , id (id (negate (id (id x)))) :: Int+ , id (id (negate (id (id 0)))) :: Int+ , id (id (negate (id (id (id _))))) :: Int+ , id (id (negate (id (abs _)))) :: Int+ , id (id (negate (id (negate _)))) :: Int+ , id (id (negate (id (head _)))) :: Int+ , id (id (negate (id (_ + _)))) :: Int+ , id (id (negate (abs _))) :: Int+ , id (id (negate (abs x))) :: Int+ , id (id (negate (abs 0))) :: Int+ , id (id (negate (abs (id _)))) :: Int+ , id (id (negate (negate _))) :: Int+ , id (id (negate (negate x))) :: Int+ , id (id (negate (negate 0))) :: Int+ , id (id (negate (negate (id _)))) :: Int+ , id (id (negate (head _))) :: Int+ , id (id (negate (head xs))) :: Int+ , id (id (negate (head []))) :: Int+ , id (id (negate (head (_:_)))) :: Int+ , id (id (negate (_ * _))) :: Int+ , id (id (negate (_ + _))) :: Int+ , id (id (negate (_ + x))) :: Int+ , id (id (negate (_ + 0))) :: Int+ , id (id (negate (_ + id _))) :: Int+ , id (id (negate (x + _))) :: Int+ , id (id (negate (0 + _))) :: Int+ , id (id (negate (id _ + _))) :: Int+ , id (id (head _)) :: Int+ , id (id (head xs)) :: Int+ , id (id (head ys)) :: Int+ , id (id (head zs)) :: Int+ , id (id (head [])) :: Int+ , id (id (head [0])) :: Int+ , id (id (head [1])) :: Int+ , id (id (head [0,0])) :: Int+ , id (id (head (sort _))) :: Int+ , id (id (head (tail _))) :: Int+ , id (id (head (tail xs))) :: Int+ , id (id (head (tail []))) :: Int+ , id (id (head (tail (_:_)))) :: Int+ , id (id (head (_:_))) :: Int+ , id (id (head (_:xs))) :: Int+ , id (id (head (_:ys))) :: Int+ , id (id (head [_])) :: Int+ , id (id (head (_:[0]))) :: Int+ , id (id (head (_:tail _))) :: Int+ , id (id (head (_:_:_))) :: Int+ , id (id (head (_:_:xs))) :: Int+ , id (id (head [_,_])) :: Int+ , id (id (head (_:_:_:_))) :: Int+ , id (id (head (_:x:_))) :: Int+ , id (id (head (_:0:_))) :: Int+ , id (id (head (_:id _:_))) :: Int+ , id (id (head (_:(_ ++ _)))) :: Int+ , id (id (head (x:_))) :: Int+ , id (id (head (x:xs))) :: Int+ , id (id (head [x])) :: Int+ , id (id (head (x:_:_))) :: Int+ , id (id (head (y:_))) :: Int+ , id (id (head (0:_))) :: Int+ , id (id (head (0:xs))) :: Int+ , id (id (head [0])) :: Int+ , id (id (head (0:_:_))) :: Int+ , id (id (head (1:_))) :: Int+ , id (id (head (ord _:_))) :: Int+ , id (id (head (id _:_))) :: Int+ , id (id (head (id _:xs))) :: Int+ , id (id (head [id _])) :: Int+ , id (id (head (id _:_:_))) :: Int+ , id (id (head (id x:_))) :: Int+ , id (id (head (id 0:_))) :: Int+ , id (id (head (id (id _):_))) :: Int+ , id (id (head (abs _:_))) :: Int+ , id (id (head (negate _:_))) :: Int+ , id (id (head (head _:_))) :: Int+ , id (id (head (_ + _:_))) :: Int+ , id (id (head (insert _ _))) :: Int+ , id (id (head (_ ++ _))) :: Int+ , id (id (head (_ ++ xs))) :: Int+ , id (id (head (_ ++ []))) :: Int+ , id (id (head (_ ++ (_:_)))) :: Int+ , id (id (head (xs ++ _))) :: Int+ , id (id (head ([] ++ _))) :: Int+ , id (id (head ((_:_) ++ _))) :: Int+ , id (id (_ * _)) :: Int+ , id (id (_ * x)) :: Int+ , id (id (_ * y)) :: Int+ , id (id (_ * 0)) :: Int+ , id (id (_ * 1)) :: Int+ , id (id (_ * ord _)) :: Int+ , id (id (_ * id _)) :: Int+ , id (id (_ * id x)) :: Int+ , id (id (_ * id 0)) :: Int+ , id (id (_ * id (id _))) :: Int+ , id (id (_ * abs _)) :: Int+ , id (id (_ * negate _)) :: Int+ , id (id (_ * head _)) :: Int+ , id (id (_ * (_ + _))) :: Int+ , id (id (x * _)) :: Int+ , id (id (x * x)) :: Int+ , id (id (x * 0)) :: Int+ , id (id (x * id _)) :: Int+ , id (id (y * _)) :: Int+ , id (id (0 * _)) :: Int+ , id (id (0 * x)) :: Int+ , id (id (0 * 0)) :: Int+ , id (id (0 * id _)) :: Int+ , id (id (1 * _)) :: Int+ , id (id (ord _ * _)) :: Int+ , id (id (id _ * _)) :: Int+ , id (id (id _ * x)) :: Int+ , id (id (id _ * 0)) :: Int+ , id (id (id _ * id _)) :: Int+ , id (id (id x * _)) :: Int+ , id (id (id 0 * _)) :: Int+ , id (id (id (id _) * _)) :: Int+ , id (id (abs _ * _)) :: Int+ , id (id (negate _ * _)) :: Int+ , id (id (head _ * _)) :: Int+ , id (id ((_ + _) * _)) :: Int+ , id (id (_ + _)) :: Int+ , id (id (_ + x)) :: Int+ , id (id (_ + y)) :: Int+ , id (id (_ + z)) :: Int+ , id (id (_ + 0)) :: Int+ , id (id (_ + 1)) :: Int+ , id (id (_ + (-1))) :: Int+ , id (id (_ + f _)) :: Int+ , id (id (_ + ord _)) :: Int+ , id (id (_ + ord c)) :: Int+ , id (id (_ + ord 'a')) :: Int+ , id (id (_ + id _)) :: Int+ , id (id (_ + id x)) :: Int+ , id (id (_ + id y)) :: Int+ , id (id (_ + id 0)) :: Int+ , id (id (_ + id 1)) :: Int+ , id (id (_ + id (ord _))) :: Int+ , id (id (_ + id (id _))) :: Int+ , id (id (_ + id (id x))) :: Int+ , id (id (_ + id (id 0))) :: Int+ , id (id (_ + id (id (id _)))) :: Int+ , id (id (_ + id (abs _))) :: Int+ , id (id (_ + id (negate _))) :: Int+ , id (id (_ + id (head _))) :: Int+ , id (id (_ + id (_ + _))) :: Int+ , id (id (_ + abs _)) :: Int+ , id (id (_ + abs x)) :: Int+ , id (id (_ + abs 0)) :: Int+ , id (id (_ + abs (id _))) :: Int+ , id (id (_ + negate _)) :: Int+ , id (id (_ + negate x)) :: Int+ , id (id (_ + negate 0)) :: Int+ , id (id (_ + negate (id _))) :: Int+ , id (id (_ + head _)) :: Int+ , id (id (_ + head xs)) :: Int+ , id (id (_ + head [])) :: Int+ , id (id (_ + head (_:_))) :: Int+ , id (id (_ + _ * _)) :: Int+ , id (id (_ + (_ + _))) :: Int+ , id (id (_ + (_ + x))) :: Int+ , id (id (_ + (_ + 0))) :: Int+ , id (id (_ + (_ + id _))) :: Int+ , id (id (_ + (x + _))) :: Int+ , id (id (_ + (0 + _))) :: Int+ , id (id (_ + (id _ + _))) :: Int+ , id (id (x + _)) :: Int+ , id (id (x + x)) :: Int+ , id (id (x + y)) :: Int+ , id (id (x + 0)) :: Int+ , id (id (x + 1)) :: Int+ , id (id (x + ord _)) :: Int+ , id (id (x + id _)) :: Int+ , id (id (x + id x)) :: Int+ , id (id (x + id 0)) :: Int+ , id (id (x + id (id _))) :: Int+ , id (id (x + abs _)) :: Int+ , id (id (x + negate _)) :: Int+ , id (id (x + head _)) :: Int+ , id (id (x + (_ + _))) :: Int+ , id (id (y + _)) :: Int+ , id (id (y + x)) :: Int+ , id (id (y + 0)) :: Int+ , id (id (y + id _)) :: Int+ , id (id (z + _)) :: Int+ , id (id (0 + _)) :: Int+ , id (id (0 + x)) :: Int+ , id (id (0 + y)) :: Int+ , id (id (0 + 0)) :: Int+ , id (id (0 + 1)) :: Int+ , id (id (0 + ord _)) :: Int+ , id (id (0 + id _)) :: Int+ , id (id (0 + id x)) :: Int+ , id (id (0 + id 0)) :: Int+ , id (id (0 + id (id _))) :: Int+ , id (id (0 + abs _)) :: Int+ , id (id (0 + negate _)) :: Int+ , id (id (0 + head _)) :: Int+ , id (id (0 + (_ + _))) :: Int+ , id (id (1 + _)) :: Int+ , id (id (1 + x)) :: Int+ , id (id (1 + 0)) :: Int+ , id (id (1 + id _)) :: Int+ , id (id ((-1) + _)) :: Int+ , id (id (f _ + _)) :: Int+ , id (id (ord _ + _)) :: Int+ , id (id (ord _ + x)) :: Int+ , id (id (ord _ + 0)) :: Int+ , id (id (ord _ + id _)) :: Int+ , id (id (ord c + _)) :: Int+ , id (id (ord 'a' + _)) :: Int+ , id (id (id _ + _)) :: Int+ , id (id (id _ + x)) :: Int+ , id (id (id _ + y)) :: Int+ , id (id (id _ + 0)) :: Int+ , id (id (id _ + 1)) :: Int+ , id (id (id _ + ord _)) :: Int+ , id (id (id _ + id _)) :: Int+ , id (id (id _ + id x)) :: Int+ , id (id (id _ + id 0)) :: Int+ , id (id (id _ + id (id _))) :: Int+ , id (id (id _ + abs _)) :: Int+ , id (id (id _ + negate _)) :: Int+ , id (id (id _ + head _)) :: Int+ , id (id (id _ + (_ + _))) :: Int+ , id (id (id x + _)) :: Int+ , id (id (id x + x)) :: Int+ , id (id (id x + 0)) :: Int+ , id (id (id x + id _)) :: Int+ , id (id (id y + _)) :: Int+ , id (id (id 0 + _)) :: Int+ , id (id (id 0 + x)) :: Int+ , id (id (id 0 + 0)) :: Int+ , id (id (id 0 + id _)) :: Int+ , id (id (id 1 + _)) :: Int+ , id (id (id (ord _) + _)) :: Int+ , id (id (id (id _) + _)) :: Int+ , id (id (id (id _) + x)) :: Int+ , id (id (id (id _) + 0)) :: Int+ , id (id (id (id _) + id _)) :: Int+ , id (id (id (id x) + _)) :: Int+ , id (id (id (id 0) + _)) :: Int+ , id (id (id (id (id _)) + _)) :: Int+ , id (id (id (abs _) + _)) :: Int+ , id (id (id (negate _) + _)) :: Int+ , id (id (id (head _) + _)) :: Int+ , id (id (id (_ + _) + _)) :: Int+ , id (id (abs _ + _)) :: Int+ , id (id (abs _ + x)) :: Int+ , id (id (abs _ + 0)) :: Int+ , id (id (abs _ + id _)) :: Int+ , id (id (abs x + _)) :: Int+ , id (id (abs 0 + _)) :: Int+ , id (id (abs (id _) + _)) :: Int+ , id (id (negate _ + _)) :: Int+ , id (id (negate _ + x)) :: Int+ , id (id (negate _ + 0)) :: Int+ , id (id (negate _ + id _)) :: Int+ , id (id (negate x + _)) :: Int+ , id (id (negate 0 + _)) :: Int+ , id (id (negate (id _) + _)) :: Int+ , id (id (head _ + _)) :: Int+ , id (id (head _ + x)) :: Int+ , id (id (head _ + 0)) :: Int+ , id (id (head _ + id _)) :: Int+ , id (id (head xs + _)) :: Int+ , id (id (head [] + _)) :: Int+ , id (id (head (_:_) + _)) :: Int+ , id (id (_ * _ + _)) :: Int+ , id (id ((_ + _) + _)) :: Int+ , id (id ((_ + _) + x)) :: Int+ , id (id ((_ + _) + 0)) :: Int+ , id (id ((_ + _) + id _)) :: Int+ , id (id ((_ + x) + _)) :: Int+ , id (id ((_ + 0) + _)) :: Int+ , id (id ((_ + id _) + _)) :: Int+ , id (id ((x + _) + _)) :: Int+ , id (id ((0 + _) + _)) :: Int+ , id (id ((id _ + _) + _)) :: Int+ , id (abs _) :: Int+ , id (abs x) :: Int+ , id (abs y) :: Int+ , id (abs z) :: Int+ , id (abs x') :: Int+ , id (abs 0) :: Int+ , id (abs 1) :: Int+ , id (abs 2) :: Int+ , id (abs (-1)) :: Int+ , id (abs (f _)) :: Int+ , id (abs (f x)) :: Int+ , id (abs (f 0)) :: Int+ , id (abs (f (id _))) :: Int+ , id (abs (g _)) :: Int+ , id (abs (ord _)) :: Int+ , id (abs (ord c)) :: Int+ , id (abs (ord d)) :: Int+ , id (abs (ord ' ')) :: Int+ , id (abs (ord 'a')) :: Int+ , id (abs (id _)) :: Int+ , id (abs (id x)) :: Int+ , id (abs (id y)) :: Int+ , id (abs (id z)) :: Int+ , id (abs (id 0)) :: Int+ , id (abs (id 1)) :: Int+ , id (abs (id (-1))) :: Int+ , id (abs (id (f _))) :: Int+ , id (abs (id (ord _))) :: Int+ , id (abs (id (ord c))) :: Int+ , id (abs (id (ord 'a'))) :: Int+ , id (abs (id (id _))) :: Int+ , id (abs (id (id x))) :: Int+ , id (abs (id (id y))) :: Int+ , id (abs (id (id 0))) :: Int+ , id (abs (id (id 1))) :: Int+ , id (abs (id (id (ord _)))) :: Int+ , id (abs (id (id (id _)))) :: Int+ , id (abs (id (id (id x)))) :: Int+ , id (abs (id (id (id 0)))) :: Int+ , id (abs (id (id (id (id _))))) :: Int+ , id (abs (id (id (abs _)))) :: Int+ , id (abs (id (id (negate _)))) :: Int+ , id (abs (id (id (head _)))) :: Int+ , id (abs (id (id (_ + _)))) :: Int+ , id (abs (id (abs _))) :: Int+ , id (abs (id (abs x))) :: Int+ , id (abs (id (abs 0))) :: Int+ , id (abs (id (abs (id _)))) :: Int+ , id (abs (id (negate _))) :: Int+ , id (abs (id (negate x))) :: Int+ , id (abs (id (negate 0))) :: Int+ , id (abs (id (negate (id _)))) :: Int+ , id (abs (id (head _))) :: Int+ , id (abs (id (head xs))) :: Int+ , id (abs (id (head []))) :: Int+ , id (abs (id (head (_:_)))) :: Int+ , id (abs (id (_ * _))) :: Int+ , id (abs (id (_ + _))) :: Int+ , id (abs (id (_ + x))) :: Int+ , id (abs (id (_ + 0))) :: Int+ , id (abs (id (_ + id _))) :: Int+ , id (abs (id (x + _))) :: Int+ , id (abs (id (0 + _))) :: Int+ , id (abs (id (id _ + _))) :: Int+ , id (abs (abs _)) :: Int+ , id (abs (abs x)) :: Int+ , id (abs (abs y)) :: Int+ , id (abs (abs 0)) :: Int+ , id (abs (abs 1)) :: Int+ , id (abs (abs (ord _))) :: Int+ , id (abs (abs (id _))) :: Int+ , id (abs (abs (id x))) :: Int+ , id (abs (abs (id 0))) :: Int+ , id (abs (abs (id (id _)))) :: Int+ , id (abs (abs (abs _))) :: Int+ , id (abs (abs (negate _))) :: Int+ , id (abs (abs (head _))) :: Int+ , id (abs (abs (_ + _))) :: Int+ , id (abs (negate _)) :: Int+ , id (abs (negate x)) :: Int+ , id (abs (negate y)) :: Int+ , id (abs (negate 0)) :: Int+ , id (abs (negate 1)) :: Int+ , id (abs (negate (ord _))) :: Int+ , id (abs (negate (id _))) :: Int+ , id (abs (negate (id x))) :: Int+ , id (abs (negate (id 0))) :: Int+ , id (abs (negate (id (id _)))) :: Int+ , id (abs (negate (abs _))) :: Int+ , id (abs (negate (negate _))) :: Int+ , id (abs (negate (head _))) :: Int+ , id (abs (negate (_ + _))) :: Int+ , id (abs (head _)) :: Int+ , id (abs (head xs)) :: Int+ , id (abs (head ys)) :: Int+ , id (abs (head [])) :: Int+ , id (abs (head [0])) :: Int+ , id (abs (head (tail _))) :: Int+ , id (abs (head (_:_))) :: Int+ , id (abs (head (_:xs))) :: Int+ , id (abs (head [_])) :: Int+ , id (abs (head (_:_:_))) :: Int+ , id (abs (head (x:_))) :: Int+ , id (abs (head (0:_))) :: Int+ , id (abs (head (id _:_))) :: Int+ , id (abs (head (_ ++ _))) :: Int+ , id (abs (_ * _)) :: Int+ , id (abs (_ * x)) :: Int+ , id (abs (_ * 0)) :: Int+ , id (abs (_ * id _)) :: Int+ , id (abs (x * _)) :: Int+ , id (abs (0 * _)) :: Int+ , id (abs (id _ * _)) :: Int+ , id (abs (_ + _)) :: Int+ , id (abs (_ + x)) :: Int+ , id (abs (_ + y)) :: Int+ , id (abs (_ + 0)) :: Int+ , id (abs (_ + 1)) :: Int+ , id (abs (_ + ord _)) :: Int+ , id (abs (_ + id _)) :: Int+ , id (abs (_ + id x)) :: Int+ , id (abs (_ + id 0)) :: Int+ , id (abs (_ + id (id _))) :: Int+ , id (abs (_ + abs _)) :: Int+ , id (abs (_ + negate _)) :: Int+ , id (abs (_ + head _)) :: Int+ , id (abs (_ + (_ + _))) :: Int+ , id (abs (x + _)) :: Int+ , id (abs (x + x)) :: Int+ , id (abs (x + 0)) :: Int+ , id (abs (x + id _)) :: Int+ , id (abs (y + _)) :: Int+ , id (abs (0 + _)) :: Int+ , id (abs (0 + x)) :: Int+ , id (abs (0 + 0)) :: Int+ , id (abs (0 + id _)) :: Int+ , id (abs (1 + _)) :: Int+ , id (abs (ord _ + _)) :: Int+ , id (abs (id _ + _)) :: Int+ , id (abs (id _ + x)) :: Int+ , id (abs (id _ + 0)) :: Int+ , id (abs (id _ + id _)) :: Int+ , id (abs (id x + _)) :: Int+ , id (abs (id 0 + _)) :: Int+ , id (abs (id (id _) + _)) :: Int+ , id (abs (abs _ + _)) :: Int+ , id (abs (negate _ + _)) :: Int+ , id (abs (head _ + _)) :: Int+ , id (abs ((_ + _) + _)) :: Int+ , id (negate _) :: Int+ , id (negate x) :: Int+ , id (negate y) :: Int+ , id (negate z) :: Int+ , id (negate x') :: Int+ , id (negate 0) :: Int+ , id (negate 1) :: Int+ , id (negate 2) :: Int+ , id (negate (-1)) :: Int+ , id (negate (f _)) :: Int+ , id (negate (f x)) :: Int+ , id (negate (f 0)) :: Int+ , id (negate (f (id _))) :: Int+ , id (negate (g _)) :: Int+ , id (negate (ord _)) :: Int+ , id (negate (ord c)) :: Int+ , id (negate (ord d)) :: Int+ , id (negate (ord ' ')) :: Int+ , id (negate (ord 'a')) :: Int+ , id (negate (id _)) :: Int+ , id (negate (id x)) :: Int+ , id (negate (id y)) :: Int+ , id (negate (id z)) :: Int+ , id (negate (id 0)) :: Int+ , id (negate (id 1)) :: Int+ , id (negate (id (-1))) :: Int+ , id (negate (id (f _))) :: Int+ , id (negate (id (ord _))) :: Int+ , id (negate (id (ord c))) :: Int+ , id (negate (id (ord 'a'))) :: Int+ , id (negate (id (id _))) :: Int+ , id (negate (id (id x))) :: Int+ , id (negate (id (id y))) :: Int+ , id (negate (id (id 0))) :: Int+ , id (negate (id (id 1))) :: Int+ , id (negate (id (id (ord _)))) :: Int+ , id (negate (id (id (id _)))) :: Int+ , id (negate (id (id (id x)))) :: Int+ , id (negate (id (id (id 0)))) :: Int+ , id (negate (id (id (id (id _))))) :: Int+ , id (negate (id (id (abs _)))) :: Int+ , id (negate (id (id (negate _)))) :: Int+ , id (negate (id (id (head _)))) :: Int+ , id (negate (id (id (_ + _)))) :: Int+ , id (negate (id (abs _))) :: Int+ , id (negate (id (abs x))) :: Int+ , id (negate (id (abs 0))) :: Int+ , id (negate (id (abs (id _)))) :: Int+ , id (negate (id (negate _))) :: Int+ , id (negate (id (negate x))) :: Int+ , id (negate (id (negate 0))) :: Int+ , id (negate (id (negate (id _)))) :: Int+ , id (negate (id (head _))) :: Int+ , id (negate (id (head xs))) :: Int+ , id (negate (id (head []))) :: Int+ , id (negate (id (head (_:_)))) :: Int+ , id (negate (id (_ * _))) :: Int+ , id (negate (id (_ + _))) :: Int+ , id (negate (id (_ + x))) :: Int+ , id (negate (id (_ + 0))) :: Int+ , id (negate (id (_ + id _))) :: Int+ , id (negate (id (x + _))) :: Int+ , id (negate (id (0 + _))) :: Int+ , id (negate (id (id _ + _))) :: Int+ , id (negate (abs _)) :: Int+ , id (negate (abs x)) :: Int+ , id (negate (abs y)) :: Int+ , id (negate (abs 0)) :: Int+ , id (negate (abs 1)) :: Int+ , id (negate (abs (ord _))) :: Int+ , id (negate (abs (id _))) :: Int+ , id (negate (abs (id x))) :: Int+ , id (negate (abs (id 0))) :: Int+ , id (negate (abs (id (id _)))) :: Int+ , id (negate (abs (abs _))) :: Int+ , id (negate (abs (negate _))) :: Int+ , id (negate (abs (head _))) :: Int+ , id (negate (abs (_ + _))) :: Int+ , id (negate (negate _)) :: Int+ , id (negate (negate x)) :: Int+ , id (negate (negate y)) :: Int+ , id (negate (negate 0)) :: Int+ , id (negate (negate 1)) :: Int+ , id (negate (negate (ord _))) :: Int+ , id (negate (negate (id _))) :: Int+ , id (negate (negate (id x))) :: Int+ , id (negate (negate (id 0))) :: Int+ , id (negate (negate (id (id _)))) :: Int+ , id (negate (negate (abs _))) :: Int+ , id (negate (negate (negate _))) :: Int+ , id (negate (negate (head _))) :: Int+ , id (negate (negate (_ + _))) :: Int+ , id (negate (head _)) :: Int+ , id (negate (head xs)) :: Int+ , id (negate (head ys)) :: Int+ , id (negate (head [])) :: Int+ , id (negate (head [0])) :: Int+ , id (negate (head (tail _))) :: Int+ , id (negate (head (_:_))) :: Int+ , id (negate (head (_:xs))) :: Int+ , id (negate (head [_])) :: Int+ , id (negate (head (_:_:_))) :: Int+ , id (negate (head (x:_))) :: Int+ , id (negate (head (0:_))) :: Int+ , id (negate (head (id _:_))) :: Int+ , id (negate (head (_ ++ _))) :: Int+ , id (negate (_ * _)) :: Int+ , id (negate (_ * x)) :: Int+ , id (negate (_ * 0)) :: Int+ , id (negate (_ * id _)) :: Int+ , id (negate (x * _)) :: Int+ , id (negate (0 * _)) :: Int+ , id (negate (id _ * _)) :: Int+ , id (negate (_ + _)) :: Int+ , id (negate (_ + x)) :: Int+ , id (negate (_ + y)) :: Int+ , id (negate (_ + 0)) :: Int+ , id (negate (_ + 1)) :: Int+ , id (negate (_ + ord _)) :: Int+ , id (negate (_ + id _)) :: Int+ , id (negate (_ + id x)) :: Int+ , id (negate (_ + id 0)) :: Int+ , id (negate (_ + id (id _))) :: Int+ , id (negate (_ + abs _)) :: Int+ , id (negate (_ + negate _)) :: Int+ , id (negate (_ + head _)) :: Int+ , id (negate (_ + (_ + _))) :: Int+ , id (negate (x + _)) :: Int+ , id (negate (x + x)) :: Int+ , id (negate (x + 0)) :: Int+ , id (negate (x + id _)) :: Int+ , id (negate (y + _)) :: Int+ , id (negate (0 + _)) :: Int+ , id (negate (0 + x)) :: Int+ , id (negate (0 + 0)) :: Int+ , id (negate (0 + id _)) :: Int+ , id (negate (1 + _)) :: Int+ , id (negate (ord _ + _)) :: Int+ , id (negate (id _ + _)) :: Int+ , id (negate (id _ + x)) :: Int+ , id (negate (id _ + 0)) :: Int+ , id (negate (id _ + id _)) :: Int+ , id (negate (id x + _)) :: Int+ , id (negate (id 0 + _)) :: Int+ , id (negate (id (id _) + _)) :: Int+ , id (negate (abs _ + _)) :: Int+ , id (negate (negate _ + _)) :: Int+ , id (negate (head _ + _)) :: Int+ , id (negate ((_ + _) + _)) :: Int+ , id (head _) :: Int+ , id (head xs) :: Int+ , id (head ys) :: Int+ , id (head zs) :: Int+ , id (head xs') :: Int+ , id (head []) :: Int+ , id (head [0]) :: Int+ , id (head [1]) :: Int+ , id (head [-1]) :: Int+ , id (head [0,0]) :: Int+ , id (head [0,1]) :: Int+ , id (head [1,0]) :: Int+ , id (head [0,0,0]) :: Int+ , id (head (sort _)) :: Int+ , id (head (tail _)) :: Int+ , id (head (tail xs)) :: Int+ , id (head (tail ys)) :: Int+ , id (head (tail [])) :: Int+ , id (head (tail [0])) :: Int+ , id (head (tail (tail _))) :: Int+ , id (head (tail (_:_))) :: Int+ , id (head (tail (_:xs))) :: Int+ , id (head (tail [_])) :: Int+ , id (head (tail (_:_:_))) :: Int+ , id (head (tail (x:_))) :: Int+ , id (head (tail (0:_))) :: Int+ , id (head (tail (id _:_))) :: Int+ , id (head (tail (_ ++ _))) :: Int+ , id (head (_:_)) :: Int+ , id (head (_:xs)) :: Int+ , id (head (_:ys)) :: Int+ , id (head (_:zs)) :: Int+ , id (head [_]) :: Int+ , id (head (_:[0])) :: Int+ , id (head (_:[1])) :: Int+ , id (head (_:[0,0])) :: Int+ , id (head (_:sort _)) :: Int+ , id (head (_:tail _)) :: Int+ , id (head (_:tail xs)) :: Int+ , id (head (_:tail [])) :: Int+ , id (head (_:tail (_:_))) :: Int+ , id (head (_:_:_)) :: Int+ , id (head (_:_:xs)) :: Int+ , id (head (_:_:ys)) :: Int+ , id (head [_,_]) :: Int+ , id (head (_:_:[0])) :: Int+ , id (head (_:_:tail _)) :: Int+ , id (head (_:_:_:_)) :: Int+ , id (head (_:_:_:xs)) :: Int+ , id (head [_,_,_]) :: Int+ , id (head (_:_:_:_:_)) :: Int+ , id (head (_:_:x:_)) :: Int+ , id (head (_:_:0:_)) :: Int+ , id (head (_:_:id _:_)) :: Int+ , id (head (_:_:(_ ++ _))) :: Int+ , id (head (_:x:_)) :: Int+ , id (head (_:x:xs)) :: Int+ , id (head [_,x]) :: Int+ , id (head (_:x:_:_)) :: Int+ , id (head (_:y:_)) :: Int+ , id (head (_:0:_)) :: Int+ , id (head (_:0:xs)) :: Int+ , id (head [_,0]) :: Int+ , id (head (_:0:_:_)) :: Int+ , id (head (_:1:_)) :: Int+ , id (head (_:ord _:_)) :: Int+ , id (head (_:id _:_)) :: Int+ , id (head (_:id _:xs)) :: Int+ , id (head [_,id _]) :: Int+ , id (head (_:id _:_:_)) :: Int+ , id (head (_:id x:_)) :: Int+ , id (head (_:id 0:_)) :: Int+ , id (head (_:id (id _):_)) :: Int+ , id (head (_:abs _:_)) :: Int+ , id (head (_:negate _:_)) :: Int+ , id (head (_:head _:_)) :: Int+ , id (head (_:_ + _:_)) :: Int+ , id (head (_:insert _ _)) :: Int+ , id (head (_:(_ ++ _))) :: Int+ , id (head (_:(_ ++ xs))) :: Int+ , id (head (_:(_ ++ []))) :: Int+ , id (head (_:(_ ++ (_:_)))) :: Int+ , id (head (_:(xs ++ _))) :: Int+ , id (head (_:([] ++ _))) :: Int+ , id (head (_:((_:_) ++ _))) :: Int+ , id (head (x:_)) :: Int+ , id (head (x:xs)) :: Int+ , id (head (x:ys)) :: Int+ , id (head [x]) :: Int+ , id (head (x:[0])) :: Int+ , id (head (x:tail _)) :: Int+ , id (head (x:_:_)) :: Int+ , id (head (x:_:xs)) :: Int+ , id (head [x,_]) :: Int+ , id (head (x:_:_:_)) :: Int+ , id (head (x:x:_)) :: Int+ , id (head (x:0:_)) :: Int+ , id (head (x:id _:_)) :: Int+ , id (head (x:(_ ++ _))) :: Int+ , id (head (y:_)) :: Int+ , id (head (y:xs)) :: Int+ , id (head [y]) :: Int+ , id (head (y:_:_)) :: Int+ , id (head (z:_)) :: Int+ , id (head (0:_)) :: Int+ , id (head (0:xs)) :: Int+ , id (head (0:ys)) :: Int+ , id (head [0]) :: Int+ , id (head (0:[0])) :: Int+ , id (head (0:tail _)) :: Int+ , id (head (0:_:_)) :: Int+ , id (head (0:_:xs)) :: Int+ , id (head [0,_]) :: Int+ , id (head (0:_:_:_)) :: Int+ , id (head (0:x:_)) :: Int+ , id (head (0:0:_)) :: Int+ , id (head (0:id _:_)) :: Int+ , id (head (0:(_ ++ _))) :: Int+ , id (head (1:_)) :: Int+ , id (head (1:xs)) :: Int+ , id (head [1]) :: Int+ , id (head (1:_:_)) :: Int+ , id (head ((-1):_)) :: Int+ , id (head (f _:_)) :: Int+ , id (head (ord _:_)) :: Int+ , id (head (ord _:xs)) :: Int+ , id (head [ord _]) :: Int+ , id (head (ord _:_:_)) :: Int+ , id (head (ord c:_)) :: Int+ , id (head (ord 'a':_)) :: Int+ , id (head (id _:_)) :: Int+ , id (head (id _:xs)) :: Int+ , id (head (id _:ys)) :: Int+ , id (head [id _]) :: Int+ , id (head (id _:[0])) :: Int+ , id (head (id _:tail _)) :: Int+ , id (head (id _:_:_)) :: Int+ , id (head (id _:_:xs)) :: Int+ , id (head [id _,_]) :: Int+ , id (head (id _:_:_:_)) :: Int+ , id (head (id _:x:_)) :: Int+ , id (head (id _:0:_)) :: Int+ , id (head (id _:id _:_)) :: Int+ , id (head (id _:(_ ++ _))) :: Int+ , id (head (id x:_)) :: Int+ , id (head (id x:xs)) :: Int+ , id (head [id x]) :: Int+ , id (head (id x:_:_)) :: Int+ , id (head (id y:_)) :: Int+ , id (head (id 0:_)) :: Int+ , id (head (id 0:xs)) :: Int+ , id (head [id 0]) :: Int+ , id (head (id 0:_:_)) :: Int+ , id (head (id 1:_)) :: Int+ , id (head (id (ord _):_)) :: Int+ , id (head (id (id _):_)) :: Int+ , id (head (id (id _):xs)) :: Int+ , id (head [id (id _)]) :: Int+ , id (head (id (id _):_:_)) :: Int+ , id (head (id (id x):_)) :: Int+ , id (head (id (id 0):_)) :: Int+ , id (head (id (id (id _)):_)) :: Int+ , id (head (id (abs _):_)) :: Int+ , id (head (id (negate _):_)) :: Int+ , id (head (id (head _):_)) :: Int+ , id (head (id (_ + _):_)) :: Int+ , id (head (abs _:_)) :: Int+ , id (head (abs _:xs)) :: Int+ , id (head [abs _]) :: Int+ , id (head (abs _:_:_)) :: Int+ , id (head (abs x:_)) :: Int+ , id (head (abs 0:_)) :: Int+ , id (head (abs (id _):_)) :: Int+ , id (head (negate _:_)) :: Int+ , id (head (negate _:xs)) :: Int+ , id (head [negate _]) :: Int+ , id (head (negate _:_:_)) :: Int+ , id (head (negate x:_)) :: Int+ , id (head (negate 0:_)) :: Int+ , id (head (negate (id _):_)) :: Int+ , id (head (head _:_)) :: Int+ , id (head (head _:xs)) :: Int+ , id (head [head _]) :: Int+ , id (head (head _:_:_)) :: Int+ , id (head (head xs:_)) :: Int+ , id (head (head []:_)) :: Int+ , id (head (head (_:_):_)) :: Int+ , id (head (_ * _:_)) :: Int+ , id (head (_ + _:_)) :: Int+ , id (head (_ + _:xs)) :: Int+ , id (head [_ + _]) :: Int+ , id (head (_ + _:_:_)) :: Int+ , id (head (_ + x:_)) :: Int+ , id (head (_ + 0:_)) :: Int+ , id (head (_ + id _:_)) :: Int+ , id (head (x + _:_)) :: Int+ , id (head (0 + _:_)) :: Int+ , id (head (id _ + _:_)) :: Int+ , id (head (insert _ _)) :: Int+ , id (head (_ ++ _)) :: Int+ , id (head (_ ++ xs)) :: Int+ , id (head (_ ++ ys)) :: Int+ , id (head (_ ++ [])) :: Int+ , id (head (_ ++ [0])) :: Int+ , id (head (_ ++ tail _)) :: Int+ , id (head (_ ++ (_:_))) :: Int+ , id (head (_ ++ (_:xs))) :: Int+ , id (head (_ ++ [_])) :: Int+ , id (head (_ ++ (_:_:_))) :: Int+ , id (head (_ ++ (x:_))) :: Int+ , id (head (_ ++ (0:_))) :: Int+ , id (head (_ ++ (id _:_))) :: Int+ , id (head (_ ++ (_ ++ _))) :: Int+ , id (head (xs ++ _)) :: Int+ , id (head (xs ++ xs)) :: Int+ , id (head (xs ++ [])) :: Int+ , id (head (xs ++ (_:_))) :: Int+ , id (head (ys ++ _)) :: Int+ , id (head ([] ++ _)) :: Int+ , id (head ([] ++ xs)) :: Int+ , id (head ([] ++ [])) :: Int+ , id (head ([] ++ (_:_))) :: Int+ , id (head ([0] ++ _)) :: Int+ , id (head ((_:_) ++ _)) :: Int+ , id (head ((_:_) ++ xs)) :: Int+ , id (head ((_:_) ++ [])) :: Int+ , id (head ((_:_) ++ (_:_))) :: Int+ , id (head ((_:xs) ++ _)) :: Int+ , id (head ([_] ++ _)) :: Int+ , id (head ((_:_:_) ++ _)) :: Int+ , id (head ((x:_) ++ _)) :: Int+ , id (head ((0:_) ++ _)) :: Int+ , id (head ((id _:_) ++ _)) :: Int+ , id (_ * _) :: Int+ , id (_ * x) :: Int+ , id (_ * y) :: Int+ , id (_ * z) :: Int+ , id (_ * 0) :: Int+ , id (_ * 1) :: Int+ , id (_ * (-1)) :: Int+ , id (_ * f _) :: Int+ , id (_ * ord _) :: Int+ , id (_ * ord c) :: Int+ , id (_ * ord 'a') :: Int+ , id (_ * id _) :: Int+ , id (_ * id x) :: Int+ , id (_ * id y) :: Int+ , id (_ * id 0) :: Int+ , id (_ * id 1) :: Int+ , id (_ * id (ord _)) :: Int+ , id (_ * id (id _)) :: Int+ , id (_ * id (id x)) :: Int+ , id (_ * id (id 0)) :: Int+ , id (_ * id (id (id _))) :: Int+ , id (_ * id (abs _)) :: Int+ , id (_ * id (negate _)) :: Int+ , id (_ * id (head _)) :: Int+ , id (_ * id (_ + _)) :: Int+ , id (_ * abs _) :: Int+ , id (_ * abs x) :: Int+ , id (_ * abs 0) :: Int+ , id (_ * abs (id _)) :: Int+ , id (_ * negate _) :: Int+ , id (_ * negate x) :: Int+ , id (_ * negate 0) :: Int+ , id (_ * negate (id _)) :: Int+ , id (_ * head _) :: Int+ , id (_ * head xs) :: Int+ , id (_ * head []) :: Int+ , id (_ * head (_:_)) :: Int+ , id (_ * (_ * _)) :: Int+ , id (_ * (_ + _)) :: Int+ , id (_ * (_ + x)) :: Int+ , id (_ * (_ + 0)) :: Int+ , id (_ * (_ + id _)) :: Int+ , id (_ * (x + _)) :: Int+ , id (_ * (0 + _)) :: Int+ , id (_ * (id _ + _)) :: Int+ , id (x * _) :: Int+ , id (x * x) :: Int+ , id (x * y) :: Int+ , id (x * 0) :: Int+ , id (x * 1) :: Int+ , id (x * ord _) :: Int+ , id (x * id _) :: Int+ , id (x * id x) :: Int+ , id (x * id 0) :: Int+ , id (x * id (id _)) :: Int+ , id (x * abs _) :: Int+ , id (x * negate _) :: Int+ , id (x * head _) :: Int+ , id (x * (_ + _)) :: Int+ , id (y * _) :: Int+ , id (y * x) :: Int+ , id (y * 0) :: Int+ , id (y * id _) :: Int+ , id (z * _) :: Int+ , id (0 * _) :: Int+ , id (0 * x) :: Int+ , id (0 * y) :: Int+ , id (0 * 0) :: Int+ , id (0 * 1) :: Int+ , id (0 * ord _) :: Int+ , id (0 * id _) :: Int+ , id (0 * id x) :: Int+ , id (0 * id 0) :: Int+ , id (0 * id (id _)) :: Int+ , id (0 * abs _) :: Int+ , id (0 * negate _) :: Int+ , id (0 * head _) :: Int+ , id (0 * (_ + _)) :: Int+ , id (1 * _) :: Int+ , id (1 * x) :: Int+ , id (1 * 0) :: Int+ , id (1 * id _) :: Int+ , id ((-1) * _) :: Int+ , id (f _ * _) :: Int+ , id (ord _ * _) :: Int+ , id (ord _ * x) :: Int+ , id (ord _ * 0) :: Int+ , id (ord _ * id _) :: Int+ , id (ord c * _) :: Int+ , id (ord 'a' * _) :: Int+ , id (id _ * _) :: Int+ , id (id _ * x) :: Int+ , id (id _ * y) :: Int+ , id (id _ * 0) :: Int+ , id (id _ * 1) :: Int+ , id (id _ * ord _) :: Int+ , id (id _ * id _) :: Int+ , id (id _ * id x) :: Int+ , id (id _ * id 0) :: Int+ , id (id _ * id (id _)) :: Int+ , id (id _ * abs _) :: Int+ , id (id _ * negate _) :: Int+ , id (id _ * head _) :: Int+ , id (id _ * (_ + _)) :: Int+ , id (id x * _) :: Int+ , id (id x * x) :: Int+ , id (id x * 0) :: Int+ , id (id x * id _) :: Int+ , id (id y * _) :: Int+ , id (id 0 * _) :: Int+ , id (id 0 * x) :: Int+ , id (id 0 * 0) :: Int+ , id (id 0 * id _) :: Int+ , id (id 1 * _) :: Int+ , id (id (ord _) * _) :: Int+ , id (id (id _) * _) :: Int+ , id (id (id _) * x) :: Int+ , id (id (id _) * 0) :: Int+ , id (id (id _) * id _) :: Int+ , id (id (id x) * _) :: Int+ , id (id (id 0) * _) :: Int+ , id (id (id (id _)) * _) :: Int+ , id (id (abs _) * _) :: Int+ , id (id (negate _) * _) :: Int+ , id (id (head _) * _) :: Int+ , id (id (_ + _) * _) :: Int+ , id (abs _ * _) :: Int+ , id (abs _ * x) :: Int+ , id (abs _ * 0) :: Int+ , id (abs _ * id _) :: Int+ , id (abs x * _) :: Int+ , id (abs 0 * _) :: Int+ , id (abs (id _) * _) :: Int+ , id (negate _ * _) :: Int+ , id (negate _ * x) :: Int+ , id (negate _ * 0) :: Int+ , id (negate _ * id _) :: Int+ , id (negate x * _) :: Int+ , id (negate 0 * _) :: Int+ , id (negate (id _) * _) :: Int+ , id (head _ * _) :: Int+ , id (head _ * x) :: Int+ , id (head _ * 0) :: Int+ , id (head _ * id _) :: Int+ , id (head xs * _) :: Int+ , id (head [] * _) :: Int+ , id (head (_:_) * _) :: Int+ , id ((_ * _) * _) :: Int+ , id ((_ + _) * _) :: Int+ , id ((_ + _) * x) :: Int+ , id ((_ + _) * 0) :: Int+ , id ((_ + _) * id _) :: Int+ , id ((_ + x) * _) :: Int+ , id ((_ + 0) * _) :: Int+ , id ((_ + id _) * _) :: Int+ , id ((x + _) * _) :: Int+ , id ((0 + _) * _) :: Int+ , id ((id _ + _) * _) :: Int+ , id (_ + _) :: Int+ , id (_ + x) :: Int+ , id (_ + y) :: Int+ , id (_ + z) :: Int+ , id (_ + x') :: Int+ , id (_ + 0) :: Int+ , id (_ + 1) :: Int+ , id (_ + 2) :: Int+ , id (_ + (-1)) :: Int+ , id (_ + f _) :: Int+ , id (_ + f x) :: Int+ , id (_ + f 0) :: Int+ , id (_ + f (id _)) :: Int+ , id (_ + g _) :: Int+ , id (_ + ord _) :: Int+ , id (_ + ord c) :: Int+ , id (_ + ord d) :: Int+ , id (_ + ord ' ') :: Int+ , id (_ + ord 'a') :: Int+ , id (_ + id _) :: Int+ , id (_ + id x) :: Int+ , id (_ + id y) :: Int+ , id (_ + id z) :: Int+ , id (_ + id 0) :: Int+ , id (_ + id 1) :: Int+ , id (_ + id (-1)) :: Int+ , id (_ + id (f _)) :: Int+ , id (_ + id (ord _)) :: Int+ , id (_ + id (ord c)) :: Int+ , id (_ + id (ord 'a')) :: Int+ , id (_ + id (id _)) :: Int+ , id (_ + id (id x)) :: Int+ , id (_ + id (id y)) :: Int+ , id (_ + id (id 0)) :: Int+ , id (_ + id (id 1)) :: Int+ , id (_ + id (id (ord _))) :: Int+ , id (_ + id (id (id _))) :: Int+ , id (_ + id (id (id x))) :: Int+ , id (_ + id (id (id 0))) :: Int+ , id (_ + id (id (id (id _)))) :: Int+ , id (_ + id (id (abs _))) :: Int+ , id (_ + id (id (negate _))) :: Int+ , id (_ + id (id (head _))) :: Int+ , id (_ + id (id (_ + _))) :: Int+ , id (_ + id (abs _)) :: Int+ , id (_ + id (abs x)) :: Int+ , id (_ + id (abs 0)) :: Int+ , id (_ + id (abs (id _))) :: Int+ , id (_ + id (negate _)) :: Int+ , id (_ + id (negate x)) :: Int+ , id (_ + id (negate 0)) :: Int+ , id (_ + id (negate (id _))) :: Int+ , id (_ + id (head _)) :: Int+ , id (_ + id (head xs)) :: Int+ , id (_ + id (head [])) :: Int+ , id (_ + id (head (_:_))) :: Int+ , id (_ + id (_ * _)) :: Int+ , id (_ + id (_ + _)) :: Int+ , id (_ + id (_ + x)) :: Int+ , id (_ + id (_ + 0)) :: Int+ , id (_ + id (_ + id _)) :: Int+ , id (_ + id (x + _)) :: Int+ , id (_ + id (0 + _)) :: Int+ , id (_ + id (id _ + _)) :: Int+ , id (_ + abs _) :: Int+ , id (_ + abs x) :: Int+ , id (_ + abs y) :: Int+ , id (_ + abs 0) :: Int+ , id (_ + abs 1) :: Int+ , id (_ + abs (ord _)) :: Int+ , id (_ + abs (id _)) :: Int+ , id (_ + abs (id x)) :: Int+ , id (_ + abs (id 0)) :: Int+ , id (_ + abs (id (id _))) :: Int+ , id (_ + abs (abs _)) :: Int+ , id (_ + abs (negate _)) :: Int+ , id (_ + abs (head _)) :: Int+ , id (_ + abs (_ + _)) :: Int+ , id (_ + negate _) :: Int+ , id (_ + negate x) :: Int+ , id (_ + negate y) :: Int+ , id (_ + negate 0) :: Int+ , id (_ + negate 1) :: Int+ , id (_ + negate (ord _)) :: Int+ , id (_ + negate (id _)) :: Int+ , id (_ + negate (id x)) :: Int+ , id (_ + negate (id 0)) :: Int+ , id (_ + negate (id (id _))) :: Int+ , id (_ + negate (abs _)) :: Int+ , id (_ + negate (negate _)) :: Int+ , id (_ + negate (head _)) :: Int+ , id (_ + negate (_ + _)) :: Int+ , id (_ + head _) :: Int+ , id (_ + head xs) :: Int+ , id (_ + head ys) :: Int+ , id (_ + head []) :: Int+ , id (_ + head [0]) :: Int+ , id (_ + head (tail _)) :: Int+ , id (_ + head (_:_)) :: Int+ , id (_ + head (_:xs)) :: Int+ , id (_ + head [_]) :: Int+ , id (_ + head (_:_:_)) :: Int+ , id (_ + head (x:_)) :: Int+ , id (_ + head (0:_)) :: Int+ , id (_ + head (id _:_)) :: Int+ , id (_ + head (_ ++ _)) :: Int+ , id (_ + _ * _) :: Int+ , id (_ + _ * x) :: Int+ , id (_ + _ * 0) :: Int+ , id (_ + _ * id _) :: Int+ , id (_ + x * _) :: Int+ , id (_ + 0 * _) :: Int+ , id (_ + id _ * _) :: Int+ , id (_ + (_ + _)) :: Int+ , id (_ + (_ + x)) :: Int+ , id (_ + (_ + y)) :: Int+ , id (_ + (_ + 0)) :: Int+ , id (_ + (_ + 1)) :: Int+ , id (_ + (_ + ord _)) :: Int+ , id (_ + (_ + id _)) :: Int+ , id (_ + (_ + id x)) :: Int+ , id (_ + (_ + id 0)) :: Int+ , id (_ + (_ + id (id _))) :: Int+ , id (_ + (_ + abs _)) :: Int+ , id (_ + (_ + negate _)) :: Int+ , id (_ + (_ + head _)) :: Int+ , id (_ + (_ + (_ + _))) :: Int+ , id (_ + (x + _)) :: Int+ , id (_ + (x + x)) :: Int+ , id (_ + (x + 0)) :: Int+ , id (_ + (x + id _)) :: Int+ , id (_ + (y + _)) :: Int+ , id (_ + (0 + _)) :: Int+ , id (_ + (0 + x)) :: Int+ , id (_ + (0 + 0)) :: Int+ , id (_ + (0 + id _)) :: Int+ , id (_ + (1 + _)) :: Int+ , id (_ + (ord _ + _)) :: Int+ , id (_ + (id _ + _)) :: Int+ , id (_ + (id _ + x)) :: Int+ , id (_ + (id _ + 0)) :: Int+ , id (_ + (id _ + id _)) :: Int+ , id (_ + (id x + _)) :: Int+ , id (_ + (id 0 + _)) :: Int+ , id (_ + (id (id _) + _)) :: Int+ , id (_ + (abs _ + _)) :: Int+ , id (_ + (negate _ + _)) :: Int+ , id (_ + (head _ + _)) :: Int+ , id (_ + ((_ + _) + _)) :: Int+ , id (x + _) :: Int+ , id (x + x) :: Int+ , id (x + y) :: Int+ , id (x + z) :: Int+ , id (x + 0) :: Int+ , id (x + 1) :: Int+ , id (x + (-1)) :: Int+ , id (x + f _) :: Int+ , id (x + ord _) :: Int+ , id (x + ord c) :: Int+ , id (x + ord 'a') :: Int+ , id (x + id _) :: Int+ , id (x + id x) :: Int+ , id (x + id y) :: Int+ , id (x + id 0) :: Int+ , id (x + id 1) :: Int+ , id (x + id (ord _)) :: Int+ , id (x + id (id _)) :: Int+ , id (x + id (id x)) :: Int+ , id (x + id (id 0)) :: Int+ , id (x + id (id (id _))) :: Int+ , id (x + id (abs _)) :: Int+ , id (x + id (negate _)) :: Int+ , id (x + id (head _)) :: Int+ , id (x + id (_ + _)) :: Int+ , id (x + abs _) :: Int+ , id (x + abs x) :: Int+ , id (x + abs 0) :: Int+ , id (x + abs (id _)) :: Int+ , id (x + negate _) :: Int+ , id (x + negate x) :: Int+ , id (x + negate 0) :: Int+ , id (x + negate (id _)) :: Int+ , id (x + head _) :: Int+ , id (x + head xs) :: Int+ , id (x + head []) :: Int+ , id (x + head (_:_)) :: Int+ , id (x + _ * _) :: Int+ , id (x + (_ + _)) :: Int+ , id (x + (_ + x)) :: Int+ , id (x + (_ + 0)) :: Int+ , id (x + (_ + id _)) :: Int+ , id (x + (x + _)) :: Int+ , id (x + (0 + _)) :: Int+ , id (x + (id _ + _)) :: Int+ , id (y + _) :: Int+ , id (y + x) :: Int+ , id (y + y) :: Int+ , id (y + 0) :: Int+ , id (y + 1) :: Int+ , id (y + ord _) :: Int+ , id (y + id _) :: Int+ , id (y + id x) :: Int+ , id (y + id 0) :: Int+ , id (y + id (id _)) :: Int+ , id (y + abs _) :: Int+ , id (y + negate _) :: Int+ , id (y + head _) :: Int+ , id (y + (_ + _)) :: Int+ , id (z + _) :: Int+ , id (z + x) :: Int+ , id (z + 0) :: Int+ , id (z + id _) :: Int+ , id (x' + _) :: Int+ , id (0 + _) :: Int+ , id (0 + x) :: Int+ , id (0 + y) :: Int+ , id (0 + z) :: Int+ , id (0 + 0) :: Int+ , id (0 + 1) :: Int+ , id (0 + (-1)) :: Int+ , id (0 + f _) :: Int+ , id (0 + ord _) :: Int+ , id (0 + ord c) :: Int+ , id (0 + ord 'a') :: Int+ , id (0 + id _) :: Int+ , id (0 + id x) :: Int+ , id (0 + id y) :: Int+ , id (0 + id 0) :: Int+ , id (0 + id 1) :: Int+ , id (0 + id (ord _)) :: Int+ , id (0 + id (id _)) :: Int+ , id (0 + id (id x)) :: Int+ , id (0 + id (id 0)) :: Int+ , id (0 + id (id (id _))) :: Int+ , id (0 + id (abs _)) :: Int+ , id (0 + id (negate _)) :: Int+ , id (0 + id (head _)) :: Int+ , id (0 + id (_ + _)) :: Int+ , id (0 + abs _) :: Int+ , id (0 + abs x) :: Int+ , id (0 + abs 0) :: Int+ , id (0 + abs (id _)) :: Int+ , id (0 + negate _) :: Int+ , id (0 + negate x) :: Int+ , id (0 + negate 0) :: Int+ , id (0 + negate (id _)) :: Int+ , id (0 + head _) :: Int+ , id (0 + head xs) :: Int+ , id (0 + head []) :: Int+ , id (0 + head (_:_)) :: Int+ , id (0 + _ * _) :: Int+ , id (0 + (_ + _)) :: Int+ , id (0 + (_ + x)) :: Int+ , id (0 + (_ + 0)) :: Int+ , id (0 + (_ + id _)) :: Int+ , id (0 + (x + _)) :: Int+ , id (0 + (0 + _)) :: Int+ , id (0 + (id _ + _)) :: Int+ , id (1 + _) :: Int+ , id (1 + x) :: Int+ , id (1 + y) :: Int+ , id (1 + 0) :: Int+ , id (1 + 1) :: Int+ , id (1 + ord _) :: Int+ , id (1 + id _) :: Int+ , id (1 + id x) :: Int+ , id (1 + id 0) :: Int+ , id (1 + id (id _)) :: Int+ , id (1 + abs _) :: Int+ , id (1 + negate _) :: Int+ , id (1 + head _) :: Int+ , id (1 + (_ + _)) :: Int+ , id (2 + _) :: Int+ , id ((-1) + _) :: Int+ , id ((-1) + x) :: Int+ , id ((-1) + 0) :: Int+ , id ((-1) + id _) :: Int+ , id (f _ + _) :: Int+ , id (f _ + x) :: Int+ , id (f _ + 0) :: Int+ , id (f _ + id _) :: Int+ , id (f x + _) :: Int+ , id (f 0 + _) :: Int+ , id (f (id _) + _) :: Int+ , id (g _ + _) :: Int+ , id (ord _ + _) :: Int+ , id (ord _ + x) :: Int+ , id (ord _ + y) :: Int+ , id (ord _ + 0) :: Int+ , id (ord _ + 1) :: Int+ , id (ord _ + ord _) :: Int+ , id (ord _ + id _) :: Int+ , id (ord _ + id x) :: Int+ , id (ord _ + id 0) :: Int+ , id (ord _ + id (id _)) :: Int+ , id (ord _ + abs _) :: Int+ , id (ord _ + negate _) :: Int+ , id (ord _ + head _) :: Int+ , id (ord _ + (_ + _)) :: Int+ , id (ord c + _) :: Int+ , id (ord c + x) :: Int+ , id (ord c + 0) :: Int+ , id (ord c + id _) :: Int+ , id (ord d + _) :: Int+ , id (ord ' ' + _) :: Int+ , id (ord 'a' + _) :: Int+ , id (ord 'a' + x) :: Int+ , id (ord 'a' + 0) :: Int+ , id (ord 'a' + id _) :: Int+ , id (id _ + _) :: Int+ , id (id _ + x) :: Int+ , id (id _ + y) :: Int+ , id (id _ + z) :: Int+ , id (id _ + 0) :: Int+ , id (id _ + 1) :: Int+ , id (id _ + (-1)) :: Int+ , id (id _ + f _) :: Int+ , id (id _ + ord _) :: Int+ , id (id _ + ord c) :: Int+ , id (id _ + ord 'a') :: Int+ , id (id _ + id _) :: Int+ , id (id _ + id x) :: Int+ , id (id _ + id y) :: Int+ , id (id _ + id 0) :: Int+ , id (id _ + id 1) :: Int+ , id (id _ + id (ord _)) :: Int+ , id (id _ + id (id _)) :: Int+ , id (id _ + id (id x)) :: Int+ , id (id _ + id (id 0)) :: Int+ , id (id _ + id (id (id _))) :: Int+ , id (id _ + id (abs _)) :: Int+ , id (id _ + id (negate _)) :: Int+ , id (id _ + id (head _)) :: Int+ , id (id _ + id (_ + _)) :: Int+ , id (id _ + abs _) :: Int+ , id (id _ + abs x) :: Int+ , id (id _ + abs 0) :: Int+ , id (id _ + abs (id _)) :: Int+ , id (id _ + negate _) :: Int+ , id (id _ + negate x) :: Int+ , id (id _ + negate 0) :: Int+ , id (id _ + negate (id _)) :: Int+ , id (id _ + head _) :: Int+ , id (id _ + head xs) :: Int+ , id (id _ + head []) :: Int+ , id (id _ + head (_:_)) :: Int+ , id (id _ + _ * _) :: Int+ , id (id _ + (_ + _)) :: Int+ , id (id _ + (_ + x)) :: Int+ , id (id _ + (_ + 0)) :: Int+ , id (id _ + (_ + id _)) :: Int+ , id (id _ + (x + _)) :: Int+ , id (id _ + (0 + _)) :: Int+ , id (id _ + (id _ + _)) :: Int+ , id (id x + _) :: Int+ , id (id x + x) :: Int+ , id (id x + y) :: Int+ , id (id x + 0) :: Int+ , id (id x + 1) :: Int+ , id (id x + ord _) :: Int+ , id (id x + id _) :: Int+ , id (id x + id x) :: Int+ , id (id x + id 0) :: Int+ , id (id x + id (id _)) :: Int+ , id (id x + abs _) :: Int+ , id (id x + negate _) :: Int+ , id (id x + head _) :: Int+ , id (id x + (_ + _)) :: Int+ , id (id y + _) :: Int+ , id (id y + x) :: Int+ , id (id y + 0) :: Int+ , id (id y + id _) :: Int+ , id (id z + _) :: Int+ , id (id 0 + _) :: Int+ , id (id 0 + x) :: Int+ , id (id 0 + y) :: Int+ , id (id 0 + 0) :: Int+ , id (id 0 + 1) :: Int+ , id (id 0 + ord _) :: Int+ , id (id 0 + id _) :: Int+ , id (id 0 + id x) :: Int+ , id (id 0 + id 0) :: Int+ , id (id 0 + id (id _)) :: Int+ , id (id 0 + abs _) :: Int+ , id (id 0 + negate _) :: Int+ , id (id 0 + head _) :: Int+ , id (id 0 + (_ + _)) :: Int+ , id (id 1 + _) :: Int+ , id (id 1 + x) :: Int+ , id (id 1 + 0) :: Int+ , id (id 1 + id _) :: Int+ , id (id (-1) + _) :: Int+ , id (id (f _) + _) :: Int+ , id (id (ord _) + _) :: Int+ , id (id (ord _) + x) :: Int+ , id (id (ord _) + 0) :: Int+ , id (id (ord _) + id _) :: Int+ , id (id (ord c) + _) :: Int+ , id (id (ord 'a') + _) :: Int+ , id (id (id _) + _) :: Int+ , id (id (id _) + x) :: Int+ , id (id (id _) + y) :: Int+ , id (id (id _) + 0) :: Int+ , id (id (id _) + 1) :: Int+ , id (id (id _) + ord _) :: Int+ , id (id (id _) + id _) :: Int+ , id (id (id _) + id x) :: Int+ , id (id (id _) + id 0) :: Int+ , id (id (id _) + id (id _)) :: Int+ , id (id (id _) + abs _) :: Int+ , id (id (id _) + negate _) :: Int+ , id (id (id _) + head _) :: Int+ , id (id (id _) + (_ + _)) :: Int+ , id (id (id x) + _) :: Int+ , id (id (id x) + x) :: Int+ , id (id (id x) + 0) :: Int+ , id (id (id x) + id _) :: Int+ , id (id (id y) + _) :: Int+ , id (id (id 0) + _) :: Int+ , id (id (id 0) + x) :: Int+ , id (id (id 0) + 0) :: Int+ , id (id (id 0) + id _) :: Int+ , id (id (id 1) + _) :: Int+ , id (id (id (ord _)) + _) :: Int+ , id (id (id (id _)) + _) :: Int+ , id (id (id (id _)) + x) :: Int+ , id (id (id (id _)) + 0) :: Int+ , id (id (id (id _)) + id _) :: Int+ , id (id (id (id x)) + _) :: Int+ , id (id (id (id 0)) + _) :: Int+ , id (id (id (id (id _))) + _) :: Int+ , id (id (id (abs _)) + _) :: Int+ , id (id (id (negate _)) + _) :: Int+ , id (id (id (head _)) + _) :: Int+ , id (id (id (_ + _)) + _) :: Int+ , id (id (abs _) + _) :: Int+ , id (id (abs _) + x) :: Int+ , id (id (abs _) + 0) :: Int+ , id (id (abs _) + id _) :: Int+ , id (id (abs x) + _) :: Int+ , id (id (abs 0) + _) :: Int+ , id (id (abs (id _)) + _) :: Int+ , id (id (negate _) + _) :: Int+ , id (id (negate _) + x) :: Int+ , id (id (negate _) + 0) :: Int+ , id (id (negate _) + id _) :: Int+ , id (id (negate x) + _) :: Int+ , id (id (negate 0) + _) :: Int+ , id (id (negate (id _)) + _) :: Int+ , id (id (head _) + _) :: Int+ , id (id (head _) + x) :: Int+ , id (id (head _) + 0) :: Int+ , id (id (head _) + id _) :: Int+ , id (id (head xs) + _) :: Int+ , id (id (head []) + _) :: Int+ , id (id (head (_:_)) + _) :: Int+ , id (id (_ * _) + _) :: Int+ , id (id (_ + _) + _) :: Int+ , id (id (_ + _) + x) :: Int+ , id (id (_ + _) + 0) :: Int+ , id (id (_ + _) + id _) :: Int+ , id (id (_ + x) + _) :: Int+ , id (id (_ + 0) + _) :: Int+ , id (id (_ + id _) + _) :: Int+ , id (id (x + _) + _) :: Int+ , id (id (0 + _) + _) :: Int+ , id (id (id _ + _) + _) :: Int+ , id (abs _ + _) :: Int+ , id (abs _ + x) :: Int+ , id (abs _ + y) :: Int+ , id (abs _ + 0) :: Int+ , id (abs _ + 1) :: Int+ , id (abs _ + ord _) :: Int+ , id (abs _ + id _) :: Int+ , id (abs _ + id x) :: Int+ , id (abs _ + id 0) :: Int+ , id (abs _ + id (id _)) :: Int+ , id (abs _ + abs _) :: Int+ , id (abs _ + negate _) :: Int+ , id (abs _ + head _) :: Int+ , id (abs _ + (_ + _)) :: Int+ , id (abs x + _) :: Int+ , id (abs x + x) :: Int+ , id (abs x + 0) :: Int+ , id (abs x + id _) :: Int+ , id (abs y + _) :: Int+ , id (abs 0 + _) :: Int+ , id (abs 0 + x) :: Int+ , id (abs 0 + 0) :: Int+ , id (abs 0 + id _) :: Int+ , id (abs 1 + _) :: Int+ , id (abs (ord _) + _) :: Int+ , id (abs (id _) + _) :: Int+ , id (abs (id _) + x) :: Int+ , id (abs (id _) + 0) :: Int+ , id (abs (id _) + id _) :: Int+ , id (abs (id x) + _) :: Int+ , id (abs (id 0) + _) :: Int+ , id (abs (id (id _)) + _) :: Int+ , id (abs (abs _) + _) :: Int+ , id (abs (negate _) + _) :: Int+ , id (abs (head _) + _) :: Int+ , id (abs (_ + _) + _) :: Int+ , id (negate _ + _) :: Int+ , id (negate _ + x) :: Int+ , id (negate _ + y) :: Int+ , id (negate _ + 0) :: Int+ , id (negate _ + 1) :: Int+ , id (negate _ + ord _) :: Int+ , id (negate _ + id _) :: Int+ , id (negate _ + id x) :: Int+ , id (negate _ + id 0) :: Int+ , id (negate _ + id (id _)) :: Int+ , id (negate _ + abs _) :: Int+ , id (negate _ + negate _) :: Int+ , id (negate _ + head _) :: Int+ , id (negate _ + (_ + _)) :: Int+ , id (negate x + _) :: Int+ , id (negate x + x) :: Int+ , id (negate x + 0) :: Int+ , id (negate x + id _) :: Int+ , id (negate y + _) :: Int+ , id (negate 0 + _) :: Int+ , id (negate 0 + x) :: Int+ , id (negate 0 + 0) :: Int+ , id (negate 0 + id _) :: Int+ , id (negate 1 + _) :: Int+ , id (negate (ord _) + _) :: Int+ , id (negate (id _) + _) :: Int+ , id (negate (id _) + x) :: Int+ , id (negate (id _) + 0) :: Int+ , id (negate (id _) + id _) :: Int+ , id (negate (id x) + _) :: Int+ , id (negate (id 0) + _) :: Int+ , id (negate (id (id _)) + _) :: Int+ , id (negate (abs _) + _) :: Int+ , id (negate (negate _) + _) :: Int+ , id (negate (head _) + _) :: Int+ , id (negate (_ + _) + _) :: Int+ , id (head _ + _) :: Int+ , id (head _ + x) :: Int+ , id (head _ + y) :: Int+ , id (head _ + 0) :: Int+ , id (head _ + 1) :: Int+ , id (head _ + ord _) :: Int+ , id (head _ + id _) :: Int+ , id (head _ + id x) :: Int+ , id (head _ + id 0) :: Int+ , id (head _ + id (id _)) :: Int+ , id (head _ + abs _) :: Int+ , id (head _ + negate _) :: Int+ , id (head _ + head _) :: Int+ , id (head _ + (_ + _)) :: Int+ , id (head xs + _) :: Int+ , id (head xs + x) :: Int+ , id (head xs + 0) :: Int+ , id (head xs + id _) :: Int+ , id (head ys + _) :: Int+ , id (head [] + _) :: Int+ , id (head [] + x) :: Int+ , id (head [] + 0) :: Int+ , id (head [] + id _) :: Int+ , id (head [0] + _) :: Int+ , id (head (tail _) + _) :: Int+ , id (head (_:_) + _) :: Int+ , id (head (_:_) + x) :: Int+ , id (head (_:_) + 0) :: Int+ , id (head (_:_) + id _) :: Int+ , id (head (_:xs) + _) :: Int+ , id (head [_] + _) :: Int+ , id (head (_:_:_) + _) :: Int+ , id (head (x:_) + _) :: Int+ , id (head (0:_) + _) :: Int+ , id (head (id _:_) + _) :: Int+ , id (head (_ ++ _) + _) :: Int+ , id (_ * _ + _) :: Int+ , id (_ * _ + x) :: Int+ , id (_ * _ + 0) :: Int+ , id (_ * _ + id _) :: Int+ , id (_ * x + _) :: Int+ , id (_ * 0 + _) :: Int+ , id (_ * id _ + _) :: Int+ , id (x * _ + _) :: Int+ , id (0 * _ + _) :: Int+ , id (id _ * _ + _) :: Int+ , id ((_ + _) + _) :: Int+ , id ((_ + _) + x) :: Int+ , id ((_ + _) + y) :: Int+ , id ((_ + _) + 0) :: Int+ , id ((_ + _) + 1) :: Int+ , id ((_ + _) + ord _) :: Int+ , id ((_ + _) + id _) :: Int+ , id ((_ + _) + id x) :: Int+ , id ((_ + _) + id 0) :: Int+ , id ((_ + _) + id (id _)) :: Int+ , id ((_ + _) + abs _) :: Int+ , id ((_ + _) + negate _) :: Int+ , id ((_ + _) + head _) :: Int+ , id ((_ + _) + (_ + _)) :: Int+ , id ((_ + x) + _) :: Int+ , id ((_ + x) + x) :: Int+ , id ((_ + x) + 0) :: Int+ , id ((_ + x) + id _) :: Int+ , id ((_ + y) + _) :: Int+ , id ((_ + 0) + _) :: Int+ , id ((_ + 0) + x) :: Int+ , id ((_ + 0) + 0) :: Int+ , id ((_ + 0) + id _) :: Int+ , id ((_ + 1) + _) :: Int+ , id ((_ + ord _) + _) :: Int+ , id ((_ + id _) + _) :: Int+ , id ((_ + id _) + x) :: Int+ , id ((_ + id _) + 0) :: Int+ , id ((_ + id _) + id _) :: Int+ , id ((_ + id x) + _) :: Int+ , id ((_ + id 0) + _) :: Int+ , id ((_ + id (id _)) + _) :: Int+ , id ((_ + abs _) + _) :: Int+ , id ((_ + negate _) + _) :: Int+ , id ((_ + head _) + _) :: Int+ , id ((_ + (_ + _)) + _) :: Int+ , id ((x + _) + _) :: Int+ , id ((x + _) + x) :: Int+ , id ((x + _) + 0) :: Int+ , id ((x + _) + id _) :: Int+ , id ((x + x) + _) :: Int+ , id ((x + 0) + _) :: Int+ , id ((x + id _) + _) :: Int+ , id ((y + _) + _) :: Int+ , id ((0 + _) + _) :: Int+ , id ((0 + _) + x) :: Int+ , id ((0 + _) + 0) :: Int+ , id ((0 + _) + id _) :: Int+ , id ((0 + x) + _) :: Int+ , id ((0 + 0) + _) :: Int+ , id ((0 + id _) + _) :: Int+ , id ((1 + _) + _) :: Int+ , id ((ord _ + _) + _) :: Int+ , id ((id _ + _) + _) :: Int+ , id ((id _ + _) + x) :: Int+ , id ((id _ + _) + 0) :: Int+ , id ((id _ + _) + id _) :: Int+ , id ((id _ + x) + _) :: Int+ , id ((id _ + 0) + _) :: Int+ , id ((id _ + id _) + _) :: Int+ , id ((id x + _) + _) :: Int+ , id ((id 0 + _) + _) :: Int+ , id ((id (id _) + _) + _) :: Int+ , id ((abs _ + _) + _) :: Int+ , id ((negate _ + _) + _) :: Int+ , id ((head _ + _) + _) :: Int+ , id (((_ + _) + _) + _) :: Int+ , abs _ :: Int+ , abs x :: Int+ , abs y :: Int+ , abs z :: Int+ , abs x' :: Int+ , abs 0 :: Int+ , abs 1 :: Int+ , abs 2 :: Int+ , abs (-1) :: Int+ , abs (f _) :: Int+ , abs (f x) :: Int+ , abs (f 0) :: Int+ , abs (f (id _)) :: Int+ , abs (g _) :: Int+ , abs (ord _) :: Int+ , abs (ord c) :: Int+ , abs (ord d) :: Int+ , abs (ord ' ') :: Int+ , abs (ord 'a') :: Int+ , abs (id _) :: Int+ , abs (id x) :: Int+ , abs (id y) :: Int+ , abs (id z) :: Int+ , abs (id 0) :: Int+ , abs (id 1) :: Int+ , abs (id (-1)) :: Int+ , abs (id (f _)) :: Int+ , abs (id (ord _)) :: Int+ , abs (id (ord c)) :: Int+ , abs (id (ord 'a')) :: Int+ , abs (id (id _)) :: Int+ , abs (id (id x)) :: Int+ , abs (id (id y)) :: Int+ , abs (id (id 0)) :: Int+ , abs (id (id 1)) :: Int+ , abs (id (id (ord _))) :: Int+ , abs (id (id (id _))) :: Int+ , abs (id (id (id x))) :: Int+ , abs (id (id (id 0))) :: Int+ , abs (id (id (id (id _)))) :: Int+ , abs (id (id (abs _))) :: Int+ , abs (id (id (negate _))) :: Int+ , abs (id (id (head _))) :: Int+ , abs (id (id (_ + _))) :: Int+ , abs (id (abs _)) :: Int+ , abs (id (abs x)) :: Int+ , abs (id (abs 0)) :: Int+ , abs (id (abs (id _))) :: Int+ , abs (id (negate _)) :: Int+ , abs (id (negate x)) :: Int+ , abs (id (negate 0)) :: Int+ , abs (id (negate (id _))) :: Int+ , abs (id (head _)) :: Int+ , abs (id (head xs)) :: Int+ , abs (id (head [])) :: Int+ , abs (id (head (_:_))) :: Int+ , abs (id (_ * _)) :: Int+ , abs (id (_ + _)) :: Int+ , abs (id (_ + x)) :: Int+ , abs (id (_ + 0)) :: Int+ , abs (id (_ + id _)) :: Int+ , abs (id (x + _)) :: Int+ , abs (id (0 + _)) :: Int+ , abs (id (id _ + _)) :: Int+ , abs (abs _) :: Int+ , abs (abs x) :: Int+ , abs (abs y) :: Int+ , abs (abs 0) :: Int+ , abs (abs 1) :: Int+ , abs (abs (ord _)) :: Int+ , abs (abs (id _)) :: Int+ , abs (abs (id x)) :: Int+ , abs (abs (id 0)) :: Int+ , abs (abs (id (id _))) :: Int+ , abs (abs (abs _)) :: Int+ , abs (abs (negate _)) :: Int+ , abs (abs (head _)) :: Int+ , abs (abs (_ + _)) :: Int+ , abs (negate _) :: Int+ , abs (negate x) :: Int+ , abs (negate y) :: Int+ , abs (negate 0) :: Int+ , abs (negate 1) :: Int+ , abs (negate (ord _)) :: Int+ , abs (negate (id _)) :: Int+ , abs (negate (id x)) :: Int+ , abs (negate (id 0)) :: Int+ , abs (negate (id (id _))) :: Int+ , abs (negate (abs _)) :: Int+ , abs (negate (negate _)) :: Int+ , abs (negate (head _)) :: Int+ , abs (negate (_ + _)) :: Int+ , abs (head _) :: Int+ , abs (head xs) :: Int+ , abs (head ys) :: Int+ , abs (head []) :: Int+ , abs (head [0]) :: Int+ , abs (head (tail _)) :: Int+ , abs (head (_:_)) :: Int+ , abs (head (_:xs)) :: Int+ , abs (head [_]) :: Int+ , abs (head (_:_:_)) :: Int+ , abs (head (x:_)) :: Int+ , abs (head (0:_)) :: Int+ , abs (head (id _:_)) :: Int+ , abs (head (_ ++ _)) :: Int+ , abs (_ * _) :: Int+ , abs (_ * x) :: Int+ , abs (_ * 0) :: Int+ , abs (_ * id _) :: Int+ , abs (x * _) :: Int+ , abs (0 * _) :: Int+ , abs (id _ * _) :: Int+ , abs (_ + _) :: Int+ , abs (_ + x) :: Int+ , abs (_ + y) :: Int+ , abs (_ + 0) :: Int+ , abs (_ + 1) :: Int+ , abs (_ + ord _) :: Int+ , abs (_ + id _) :: Int+ , abs (_ + id x) :: Int+ , abs (_ + id 0) :: Int+ , abs (_ + id (id _)) :: Int+ , abs (_ + abs _) :: Int+ , abs (_ + negate _) :: Int+ , abs (_ + head _) :: Int+ , abs (_ + (_ + _)) :: Int+ , abs (x + _) :: Int+ , abs (x + x) :: Int+ , abs (x + 0) :: Int+ , abs (x + id _) :: Int+ , abs (y + _) :: Int+ , abs (0 + _) :: Int+ , abs (0 + x) :: Int+ , abs (0 + 0) :: Int+ , abs (0 + id _) :: Int+ , abs (1 + _) :: Int+ , abs (ord _ + _) :: Int+ , abs (id _ + _) :: Int+ , abs (id _ + x) :: Int+ , abs (id _ + 0) :: Int+ , abs (id _ + id _) :: Int+ , abs (id x + _) :: Int+ , abs (id 0 + _) :: Int+ , abs (id (id _) + _) :: Int+ , abs (abs _ + _) :: Int+ , abs (negate _ + _) :: Int+ , abs (head _ + _) :: Int+ , abs ((_ + _) + _) :: Int+ , negate _ :: Int+ , negate x :: Int+ , negate y :: Int+ , negate z :: Int+ , negate x' :: Int+ , negate 0 :: Int+ , negate 1 :: Int+ , negate 2 :: Int+ , negate (-1) :: Int+ , negate (f _) :: Int+ , negate (f x) :: Int+ , negate (f 0) :: Int+ , negate (f (id _)) :: Int+ , negate (g _) :: Int+ , negate (ord _) :: Int+ , negate (ord c) :: Int+ , negate (ord d) :: Int+ , negate (ord ' ') :: Int+ , negate (ord 'a') :: Int+ , negate (id _) :: Int+ , negate (id x) :: Int+ , negate (id y) :: Int+ , negate (id z) :: Int+ , negate (id 0) :: Int+ , negate (id 1) :: Int+ , negate (id (-1)) :: Int+ , negate (id (f _)) :: Int+ , negate (id (ord _)) :: Int+ , negate (id (ord c)) :: Int+ , negate (id (ord 'a')) :: Int+ , negate (id (id _)) :: Int+ , negate (id (id x)) :: Int+ , negate (id (id y)) :: Int+ , negate (id (id 0)) :: Int+ , negate (id (id 1)) :: Int+ , negate (id (id (ord _))) :: Int+ , negate (id (id (id _))) :: Int+ , negate (id (id (id x))) :: Int+ , negate (id (id (id 0))) :: Int+ , negate (id (id (id (id _)))) :: Int+ , negate (id (id (abs _))) :: Int+ , negate (id (id (negate _))) :: Int+ , negate (id (id (head _))) :: Int+ , negate (id (id (_ + _))) :: Int+ , negate (id (abs _)) :: Int+ , negate (id (abs x)) :: Int+ , negate (id (abs 0)) :: Int+ , negate (id (abs (id _))) :: Int+ , negate (id (negate _)) :: Int+ , negate (id (negate x)) :: Int+ , negate (id (negate 0)) :: Int+ , negate (id (negate (id _))) :: Int+ , negate (id (head _)) :: Int+ , negate (id (head xs)) :: Int+ , negate (id (head [])) :: Int+ , negate (id (head (_:_))) :: Int+ , negate (id (_ * _)) :: Int+ , negate (id (_ + _)) :: Int+ , negate (id (_ + x)) :: Int+ , negate (id (_ + 0)) :: Int+ , negate (id (_ + id _)) :: Int+ , negate (id (x + _)) :: Int+ , negate (id (0 + _)) :: Int+ , negate (id (id _ + _)) :: Int+ , negate (abs _) :: Int+ , negate (abs x) :: Int+ , negate (abs y) :: Int+ , negate (abs 0) :: Int+ , negate (abs 1) :: Int+ , negate (abs (ord _)) :: Int+ , negate (abs (id _)) :: Int+ , negate (abs (id x)) :: Int+ , negate (abs (id 0)) :: Int+ , negate (abs (id (id _))) :: Int+ , negate (abs (abs _)) :: Int+ , negate (abs (negate _)) :: Int+ , negate (abs (head _)) :: Int+ , negate (abs (_ + _)) :: Int+ , negate (negate _) :: Int+ , negate (negate x) :: Int+ , negate (negate y) :: Int+ , negate (negate 0) :: Int+ , negate (negate 1) :: Int+ , negate (negate (ord _)) :: Int+ , negate (negate (id _)) :: Int+ , negate (negate (id x)) :: Int+ , negate (negate (id 0)) :: Int+ , negate (negate (id (id _))) :: Int+ , negate (negate (abs _)) :: Int+ , negate (negate (negate _)) :: Int+ , negate (negate (head _)) :: Int+ , negate (negate (_ + _)) :: Int+ , negate (head _) :: Int+ , negate (head xs) :: Int+ , negate (head ys) :: Int+ , negate (head []) :: Int+ , negate (head [0]) :: Int+ , negate (head (tail _)) :: Int+ , negate (head (_:_)) :: Int+ , negate (head (_:xs)) :: Int+ , negate (head [_]) :: Int+ , negate (head (_:_:_)) :: Int+ , negate (head (x:_)) :: Int+ , negate (head (0:_)) :: Int+ , negate (head (id _:_)) :: Int+ , negate (head (_ ++ _)) :: Int+ , negate (_ * _) :: Int+ , negate (_ * x) :: Int+ , negate (_ * 0) :: Int+ , negate (_ * id _) :: Int+ , negate (x * _) :: Int+ , negate (0 * _) :: Int+ , negate (id _ * _) :: Int+ , negate (_ + _) :: Int+ , negate (_ + x) :: Int+ , negate (_ + y) :: Int+ , negate (_ + 0) :: Int+ , negate (_ + 1) :: Int+ , negate (_ + ord _) :: Int+ , negate (_ + id _) :: Int+ , negate (_ + id x) :: Int+ , negate (_ + id 0) :: Int+ , negate (_ + id (id _)) :: Int+ , negate (_ + abs _) :: Int+ , negate (_ + negate _) :: Int+ , negate (_ + head _) :: Int+ , negate (_ + (_ + _)) :: Int+ , negate (x + _) :: Int+ , negate (x + x) :: Int+ , negate (x + 0) :: Int+ , negate (x + id _) :: Int+ , negate (y + _) :: Int+ , negate (0 + _) :: Int+ , negate (0 + x) :: Int+ , negate (0 + 0) :: Int+ , negate (0 + id _) :: Int+ , negate (1 + _) :: Int+ , negate (ord _ + _) :: Int+ , negate (id _ + _) :: Int+ , negate (id _ + x) :: Int+ , negate (id _ + 0) :: Int+ , negate (id _ + id _) :: Int+ , negate (id x + _) :: Int+ , negate (id 0 + _) :: Int+ , negate (id (id _) + _) :: Int+ , negate (abs _ + _) :: Int+ , negate (negate _ + _) :: Int+ , negate (head _ + _) :: Int+ , negate ((_ + _) + _) :: Int+ , head _ :: Int+ , head xs :: Int+ , head ys :: Int+ , head zs :: Int+ , head xs' :: Int+ , head [] :: Int+ , head [0] :: Int+ , head [1] :: Int+ , head [-1] :: Int+ , head [0,0] :: Int+ , head [0,1] :: Int+ , head [1,0] :: Int+ , head [0,0,0] :: Int+ , head (sort _) :: Int+ , head (sort xs) :: Int+ , head (sort []) :: Int+ , head (sort (_:_)) :: Int+ , head (tail _) :: Int+ , head (tail xs) :: Int+ , head (tail ys) :: Int+ , head (tail []) :: Int+ , head (tail [0]) :: Int+ , head (tail (tail _)) :: Int+ , head (tail (_:_)) :: Int+ , head (tail (_:xs)) :: Int+ , head (tail [_]) :: Int+ , head (tail (_:_:_)) :: Int+ , head (tail (x:_)) :: Int+ , head (tail (0:_)) :: Int+ , head (tail (id _:_)) :: Int+ , head (tail (_ ++ _)) :: Int+ , head (_:_) :: Int+ , head (_:xs) :: Int+ , head (_:ys) :: Int+ , head (_:zs) :: Int+ , head [_] :: Int+ , head (_:[0]) :: Int+ , head (_:[1]) :: Int+ , head (_:[0,0]) :: Int+ , head (_:sort _) :: Int+ , head (_:tail _) :: Int+ , head (_:tail xs) :: Int+ , head (_:tail []) :: Int+ , head (_:tail (_:_)) :: Int+ , head (_:_:_) :: Int+ , head (_:_:xs) :: Int+ , head (_:_:ys) :: Int+ , head [_,_] :: Int+ , head (_:_:[0]) :: Int+ , head (_:_:tail _) :: Int+ , head (_:_:_:_) :: Int+ , head (_:_:_:xs) :: Int+ , head [_,_,_] :: Int+ , head (_:_:_:_:_) :: Int+ , head (_:_:x:_) :: Int+ , head (_:_:0:_) :: Int+ , head (_:_:id _:_) :: Int+ , head (_:_:(_ ++ _)) :: Int+ , head (_:x:_) :: Int+ , head (_:x:xs) :: Int+ , head [_,x] :: Int+ , head (_:x:_:_) :: Int+ , head (_:y:_) :: Int+ , head (_:0:_) :: Int+ , head (_:0:xs) :: Int+ , head [_,0] :: Int+ , head (_:0:_:_) :: Int+ , head (_:1:_) :: Int+ , head (_:ord _:_) :: Int+ , head (_:id _:_) :: Int+ , head (_:id _:xs) :: Int+ , head [_,id _] :: Int+ , head (_:id _:_:_) :: Int+ , head (_:id x:_) :: Int+ , head (_:id 0:_) :: Int+ , head (_:id (id _):_) :: Int+ , head (_:abs _:_) :: Int+ , head (_:negate _:_) :: Int+ , head (_:head _:_) :: Int+ , head (_:_ + _:_) :: Int+ , head (_:insert _ _) :: Int+ , head (_:(_ ++ _)) :: Int+ , head (_:(_ ++ xs)) :: Int+ , head (_:(_ ++ [])) :: Int+ , head (_:(_ ++ (_:_))) :: Int+ , head (_:(xs ++ _)) :: Int+ , head (_:([] ++ _)) :: Int+ , head (_:((_:_) ++ _)) :: Int+ , head (x:_) :: Int+ , head (x:xs) :: Int+ , head (x:ys) :: Int+ , head [x] :: Int+ , head (x:[0]) :: Int+ , head (x:tail _) :: Int+ , head (x:_:_) :: Int+ , head (x:_:xs) :: Int+ , head [x,_] :: Int+ , head (x:_:_:_) :: Int+ , head (x:x:_) :: Int+ , head (x:0:_) :: Int+ , head (x:id _:_) :: Int+ , head (x:(_ ++ _)) :: Int+ , head (y:_) :: Int+ , head (y:xs) :: Int+ , head [y] :: Int+ , head (y:_:_) :: Int+ , head (z:_) :: Int+ , head (0:_) :: Int+ , head (0:xs) :: Int+ , head (0:ys) :: Int+ , head [0] :: Int+ , head (0:[0]) :: Int+ , head (0:tail _) :: Int+ , head (0:_:_) :: Int+ , head (0:_:xs) :: Int+ , head [0,_] :: Int+ , head (0:_:_:_) :: Int+ , head (0:x:_) :: Int+ , head (0:0:_) :: Int+ , head (0:id _:_) :: Int+ , head (0:(_ ++ _)) :: Int+ , head (1:_) :: Int+ , head (1:xs) :: Int+ , head [1] :: Int+ , head (1:_:_) :: Int+ , head ((-1):_) :: Int+ , head (f _:_) :: Int+ , head (ord _:_) :: Int+ , head (ord _:xs) :: Int+ , head [ord _] :: Int+ , head (ord _:_:_) :: Int+ , head (ord c:_) :: Int+ , head (ord 'a':_) :: Int+ , head (id _:_) :: Int+ , head (id _:xs) :: Int+ , head (id _:ys) :: Int+ , head [id _] :: Int+ , head (id _:[0]) :: Int+ , head (id _:tail _) :: Int+ , head (id _:_:_) :: Int+ , head (id _:_:xs) :: Int+ , head [id _,_] :: Int+ , head (id _:_:_:_) :: Int+ , head (id _:x:_) :: Int+ , head (id _:0:_) :: Int+ , head (id _:id _:_) :: Int+ , head (id _:(_ ++ _)) :: Int+ , head (id x:_) :: Int+ , head (id x:xs) :: Int+ , head [id x] :: Int+ , head (id x:_:_) :: Int+ , head (id y:_) :: Int+ , head (id 0:_) :: Int+ , head (id 0:xs) :: Int+ , head [id 0] :: Int+ , head (id 0:_:_) :: Int+ , head (id 1:_) :: Int+ , head (id (ord _):_) :: Int+ , head (id (id _):_) :: Int+ , head (id (id _):xs) :: Int+ , head [id (id _)] :: Int+ , head (id (id _):_:_) :: Int+ , head (id (id x):_) :: Int+ , head (id (id 0):_) :: Int+ , head (id (id (id _)):_) :: Int+ , head (id (abs _):_) :: Int+ , head (id (negate _):_) :: Int+ , head (id (head _):_) :: Int+ , head (id (_ + _):_) :: Int+ , head (abs _:_) :: Int+ , head (abs _:xs) :: Int+ , head [abs _] :: Int+ , head (abs _:_:_) :: Int+ , head (abs x:_) :: Int+ , head (abs 0:_) :: Int+ , head (abs (id _):_) :: Int+ , head (negate _:_) :: Int+ , head (negate _:xs) :: Int+ , head [negate _] :: Int+ , head (negate _:_:_) :: Int+ , head (negate x:_) :: Int+ , head (negate 0:_) :: Int+ , head (negate (id _):_) :: Int+ , head (head _:_) :: Int+ , head (head _:xs) :: Int+ , head [head _] :: Int+ , head (head _:_:_) :: Int+ , head (head xs:_) :: Int+ , head (head []:_) :: Int+ , head (head (_:_):_) :: Int+ , head (_ * _:_) :: Int+ , head (_ + _:_) :: Int+ , head (_ + _:xs) :: Int+ , head [_ + _] :: Int+ , head (_ + _:_:_) :: Int+ , head (_ + x:_) :: Int+ , head (_ + 0:_) :: Int+ , head (_ + id _:_) :: Int+ , head (x + _:_) :: Int+ , head (0 + _:_) :: Int+ , head (id _ + _:_) :: Int+ , head (insert _ _) :: Int+ , head (insert _ xs) :: Int+ , head (insert _ []) :: Int+ , head (insert _ (_:_)) :: Int+ , head (insert x _) :: Int+ , head (insert 0 _) :: Int+ , head (insert (id _) _) :: Int+ , head (_ ++ _) :: Int+ , head (_ ++ xs) :: Int+ , head (_ ++ ys) :: Int+ , head (_ ++ []) :: Int+ , head (_ ++ [0]) :: Int+ , head (_ ++ tail _) :: Int+ , head (_ ++ (_:_)) :: Int+ , head (_ ++ (_:xs)) :: Int+ , head (_ ++ [_]) :: Int+ , head (_ ++ (_:_:_)) :: Int+ , head (_ ++ (x:_)) :: Int+ , head (_ ++ (0:_)) :: Int+ , head (_ ++ (id _:_)) :: Int+ , head (_ ++ (_ ++ _)) :: Int+ , head (xs ++ _) :: Int+ , head (xs ++ xs) :: Int+ , head (xs ++ []) :: Int+ , head (xs ++ (_:_)) :: Int+ , head (ys ++ _) :: Int+ , head ([] ++ _) :: Int+ , head ([] ++ xs) :: Int+ , head ([] ++ []) :: Int+ , head ([] ++ (_:_)) :: Int+ , head ([0] ++ _) :: Int+ , head (tail _ ++ _) :: Int+ , head ((_:_) ++ _) :: Int+ , head ((_:_) ++ xs) :: Int+ , head ((_:_) ++ []) :: Int+ , head ((_:_) ++ (_:_)) :: Int+ , head ((_:xs) ++ _) :: Int+ , head ([_] ++ _) :: Int+ , head ((_:_:_) ++ _) :: Int+ , head ((x:_) ++ _) :: Int+ , head ((0:_) ++ _) :: Int+ , head ((id _:_) ++ _) :: Int+ , head ((_ ++ _) ++ _) :: Int+ , sort _ :: [Int]+ , sort xs :: [Int]+ , sort ys :: [Int]+ , sort [] :: [Int]+ , sort [0] :: [Int]+ , sort (tail _) :: [Int]+ , sort (_:_) :: [Int]+ , sort (_:xs) :: [Int]+ , sort [_] :: [Int]+ , sort (_:_:_) :: [Int]+ , sort (x:_) :: [Int]+ , sort (0:_) :: [Int]+ , sort (id _:_) :: [Int]+ , sort (_ ++ _) :: [Int]+ , tail _ :: [Int]+ , tail xs :: [Int]+ , tail ys :: [Int]+ , tail zs :: [Int]+ , tail [] :: [Int]+ , tail [0] :: [Int]+ , tail [1] :: [Int]+ , tail [0,0] :: [Int]+ , tail (sort _) :: [Int]+ , tail (tail _) :: [Int]+ , tail (tail xs) :: [Int]+ , tail (tail []) :: [Int]+ , tail (tail (_:_)) :: [Int]+ , tail (_:_) :: [Int]+ , tail (_:xs) :: [Int]+ , tail (_:ys) :: [Int]+ , tail [_] :: [Int]+ , tail (_:[0]) :: [Int]+ , tail (_:tail _) :: [Int]+ , tail (_:_:_) :: [Int]+ , tail (_:_:xs) :: [Int]+ , tail [_,_] :: [Int]+ , tail (_:_:_:_) :: [Int]+ , tail (_:x:_) :: [Int]+ , tail (_:0:_) :: [Int]+ , tail (_:id _:_) :: [Int]+ , tail (_:(_ ++ _)) :: [Int]+ , tail (x:_) :: [Int]+ , tail (x:xs) :: [Int]+ , tail [x] :: [Int]+ , tail (x:_:_) :: [Int]+ , tail (y:_) :: [Int]+ , tail (0:_) :: [Int]+ , tail (0:xs) :: [Int]+ , tail [0] :: [Int]+ , tail (0:_:_) :: [Int]+ , tail (1:_) :: [Int]+ , tail (ord _:_) :: [Int]+ , tail (id _:_) :: [Int]+ , tail (id _:xs) :: [Int]+ , tail [id _] :: [Int]+ , tail (id _:_:_) :: [Int]+ , tail (id x:_) :: [Int]+ , tail (id 0:_) :: [Int]+ , tail (id (id _):_) :: [Int]+ , tail (abs _:_) :: [Int]+ , tail (negate _:_) :: [Int]+ , tail (head _:_) :: [Int]+ , tail (_ + _:_) :: [Int]+ , tail (insert _ _) :: [Int]+ , tail (_ ++ _) :: [Int]+ , tail (_ ++ xs) :: [Int]+ , tail (_ ++ []) :: [Int]+ , tail (_ ++ (_:_)) :: [Int]+ , tail (xs ++ _) :: [Int]+ , tail ([] ++ _) :: [Int]+ , tail ((_:_) ++ _) :: [Int]+ , (_ &&) :: Bool -> Bool+ , (p &&) :: Bool -> Bool+ , (False &&) :: Bool -> Bool+ , (True &&) :: Bool -> Bool+ , (not _ &&) :: Bool -> Bool+ , (_ ||) :: Bool -> Bool+ , (p ||) :: Bool -> Bool+ , (q ||) :: Bool -> Bool+ , (False ||) :: Bool -> Bool+ , (True ||) :: Bool -> Bool+ , (not _ ||) :: Bool -> Bool+ , (not p ||) :: Bool -> Bool+ , (not False ||) :: Bool -> Bool+ , (not True ||) :: Bool -> Bool+ , (not (not _) ||) :: Bool -> Bool+ , ((_ || _) ||) :: Bool -> Bool+ , (_ ==>) :: Bool -> Bool+ , (_ *) :: Int -> Int+ , (x *) :: Int -> Int+ , (y *) :: Int -> Int+ , (0 *) :: Int -> Int+ , (1 *) :: Int -> Int+ , (ord _ *) :: Int -> Int+ , (id _ *) :: Int -> Int+ , (id x *) :: Int -> Int+ , (id 0 *) :: Int -> Int+ , (id (id _) *) :: Int -> Int+ , (abs _ *) :: Int -> Int+ , (negate _ *) :: Int -> Int+ , (head _ *) :: Int -> Int+ , ((_ + _) *) :: Int -> Int+ , (_ +) :: Int -> Int+ , (x +) :: Int -> Int+ , (y +) :: Int -> Int+ , (z +) :: Int -> Int+ , (0 +) :: Int -> Int+ , (1 +) :: Int -> Int+ , ((-1) +) :: Int -> Int+ , (f _ +) :: Int -> Int+ , (ord _ +) :: Int -> Int+ , (ord c +) :: Int -> Int+ , (ord 'a' +) :: Int -> Int+ , (id _ +) :: Int -> Int+ , (id x +) :: Int -> Int+ , (id y +) :: Int -> Int+ , (id 0 +) :: Int -> Int+ , (id 1 +) :: Int -> Int+ , (id (ord _) +) :: Int -> Int+ , (id (id _) +) :: Int -> Int+ , (id (id x) +) :: Int -> Int+ , (id (id 0) +) :: Int -> Int+ , (id (id (id _)) +) :: Int -> Int+ , (id (abs _) +) :: Int -> Int+ , (id (negate _) +) :: Int -> Int+ , (id (head _) +) :: Int -> Int+ , (id (_ + _) +) :: Int -> Int+ , (abs _ +) :: Int -> Int+ , (abs x +) :: Int -> Int+ , (abs 0 +) :: Int -> Int+ , (abs (id _) +) :: Int -> Int+ , (negate _ +) :: Int -> Int+ , (negate x +) :: Int -> Int+ , (negate 0 +) :: Int -> Int+ , (negate (id _) +) :: Int -> Int+ , (head _ +) :: Int -> Int+ , (head xs +) :: Int -> Int+ , (head [] +) :: Int -> Int+ , (head (_:_) +) :: Int -> Int+ , (_ * _ +) :: Int -> Int+ , ((_ + _) +) :: Int -> Int+ , ((_ + x) +) :: Int -> Int+ , ((_ + 0) +) :: Int -> Int+ , ((_ + id _) +) :: Int -> Int+ , ((x + _) +) :: Int -> Int+ , ((0 + _) +) :: Int -> Int+ , ((id _ + _) +) :: Int -> Int+ , _ < _ :: Bool+ , _ && _ :: Bool+ , _ && p :: Bool+ , _ && q :: Bool+ , _ && False :: Bool+ , _ && True :: Bool+ , _ && not _ :: Bool+ , _ && not p :: Bool+ , _ && not False :: Bool+ , _ && not True :: Bool+ , _ && not (not _) :: Bool+ , _ && (_ || _) :: Bool+ , p && _ :: Bool+ , p && p :: Bool+ , p && False :: Bool+ , p && True :: Bool+ , p && not _ :: Bool+ , q && _ :: Bool+ , False && _ :: Bool+ , False && p :: Bool+ , False && False :: Bool+ , False && True :: Bool+ , False && not _ :: Bool+ , True && _ :: Bool+ , True && p :: Bool+ , True && False :: Bool+ , True && True :: Bool+ , True && not _ :: Bool+ , not _ && _ :: Bool+ , not _ && p :: Bool+ , not _ && False :: Bool+ , not _ && True :: Bool+ , not _ && not _ :: Bool+ , not p && _ :: Bool+ , not False && _ :: Bool+ , not True && _ :: Bool+ , not (not _) && _ :: Bool+ , (_ || _) && _ :: Bool+ , _ <= _ :: Bool+ , _ <= p :: Bool+ , _ <= False :: Bool+ , _ <= True :: Bool+ , _ <= not _ :: Bool+ , p <= _ :: Bool+ , False <= _ :: Bool+ , True <= _ :: Bool+ , not _ <= _ :: Bool+ , _ == _ :: Bool+ , _ == p :: Bool+ , _ == q :: Bool+ , _ == False :: Bool+ , _ == True :: Bool+ , _ == not _ :: Bool+ , _ == not p :: Bool+ , _ == not False :: Bool+ , _ == not True :: Bool+ , _ == not (not _) :: Bool+ , _ == (_ || _) :: Bool+ , p == _ :: Bool+ , p == p :: Bool+ , p == False :: Bool+ , p == True :: Bool+ , p == not _ :: Bool+ , q == _ :: Bool+ , False == _ :: Bool+ , False == p :: Bool+ , False == False :: Bool+ , False == True :: Bool+ , False == not _ :: Bool+ , True == _ :: Bool+ , True == p :: Bool+ , True == False :: Bool+ , True == True :: Bool+ , True == not _ :: Bool+ , not _ == _ :: Bool+ , not _ == p :: Bool+ , not _ == False :: Bool+ , not _ == True :: Bool+ , not _ == not _ :: Bool+ , not p == _ :: Bool+ , not False == _ :: Bool+ , not True == _ :: Bool+ , not (not _) == _ :: Bool+ , (_ || _) == _ :: Bool+ , _ || _ :: Bool+ , _ || p :: Bool+ , _ || q :: Bool+ , _ || r :: Bool+ , _ || False :: Bool+ , _ || True :: Bool+ , _ || not _ :: Bool+ , _ || not p :: Bool+ , _ || not q :: Bool+ , _ || not False :: Bool+ , _ || not True :: Bool+ , _ || not (not _) :: Bool+ , _ || not (not p) :: Bool+ , _ || not (not False) :: Bool+ , _ || not (not True) :: Bool+ , _ || not (not (not _)) :: Bool+ , _ || not (_ || _) :: Bool+ , _ || odd _ :: Bool+ , _ || even _ :: Bool+ , _ || _ && _ :: Bool+ , _ || _ == _ :: Bool+ , _ || (_ || _) :: Bool+ , _ || (_ || p) :: Bool+ , _ || (_ || False) :: Bool+ , _ || (_ || True) :: Bool+ , _ || (_ || not _) :: Bool+ , _ || (p || _) :: Bool+ , _ || (False || _) :: Bool+ , _ || (True || _) :: Bool+ , _ || (not _ || _) :: Bool+ , _ || _ == _ :: Bool+ , _ || elem _ _ :: Bool+ , p || _ :: Bool+ , p || p :: Bool+ , p || q :: Bool+ , p || False :: Bool+ , p || True :: Bool+ , p || not _ :: Bool+ , p || not p :: Bool+ , p || not False :: Bool+ , p || not True :: Bool+ , p || not (not _) :: Bool+ , p || (_ || _) :: Bool+ , q || _ :: Bool+ , q || p :: Bool+ , q || False :: Bool+ , q || True :: Bool+ , q || not _ :: Bool+ , r || _ :: Bool+ , False || _ :: Bool+ , False || p :: Bool+ , False || q :: Bool+ , False || False :: Bool+ , False || True :: Bool+ , False || not _ :: Bool+ , False || not p :: Bool+ , False || not False :: Bool+ , False || not True :: Bool+ , False || not (not _) :: Bool+ , False || (_ || _) :: Bool+ , True || _ :: Bool+ , True || p :: Bool+ , True || q :: Bool+ , True || False :: Bool+ , True || True :: Bool+ , True || not _ :: Bool+ , True || not p :: Bool+ , True || not False :: Bool+ , True || not True :: Bool+ , True || not (not _) :: Bool+ , True || (_ || _) :: Bool+ , not _ || _ :: Bool+ , not _ || p :: Bool+ , not _ || q :: Bool+ , not _ || False :: Bool+ , not _ || True :: Bool+ , not _ || not _ :: Bool+ , not _ || not p :: Bool+ , not _ || not False :: Bool+ , not _ || not True :: Bool+ , not _ || not (not _) :: Bool+ , not _ || (_ || _) :: Bool+ , not p || _ :: Bool+ , not p || p :: Bool+ , not p || False :: Bool+ , not p || True :: Bool+ , not p || not _ :: Bool+ , not q || _ :: Bool+ , not False || _ :: Bool+ , not False || p :: Bool+ , not False || False :: Bool+ , not False || True :: Bool+ , not False || not _ :: Bool+ , not True || _ :: Bool+ , not True || p :: Bool+ , not True || False :: Bool+ , not True || True :: Bool+ , not True || not _ :: Bool+ , not (not _) || _ :: Bool+ , not (not _) || p :: Bool+ , not (not _) || False :: Bool+ , not (not _) || True :: Bool+ , not (not _) || not _ :: Bool+ , not (not p) || _ :: Bool+ , not (not False) || _ :: Bool+ , not (not True) || _ :: Bool+ , not (not (not _)) || _ :: Bool+ , not (_ || _) || _ :: Bool+ , odd _ || _ :: Bool+ , even _ || _ :: Bool+ , _ && _ || _ :: Bool+ , _ == _ || _ :: Bool+ , (_ || _) || _ :: Bool+ , (_ || _) || p :: Bool+ , (_ || _) || False :: Bool+ , (_ || _) || True :: Bool+ , (_ || _) || not _ :: Bool+ , (_ || p) || _ :: Bool+ , (_ || False) || _ :: Bool+ , (_ || True) || _ :: Bool+ , (_ || not _) || _ :: Bool+ , (p || _) || _ :: Bool+ , (False || _) || _ :: Bool+ , (True || _) || _ :: Bool+ , (not _ || _) || _ :: Bool+ , _ == _ || _ :: Bool+ , elem _ _ || _ :: Bool+ , _ ==> _ :: Bool+ , _ ==> p :: Bool+ , _ ==> False :: Bool+ , _ ==> True :: Bool+ , _ ==> not _ :: Bool+ , p ==> _ :: Bool+ , False ==> _ :: Bool+ , True ==> _ :: Bool+ , not _ ==> _ :: Bool+ , _ < _ :: Bool+ , _ <= _ :: Bool+ , _ <= x :: Bool+ , _ <= 0 :: Bool+ , _ <= id _ :: Bool+ , x <= _ :: Bool+ , 0 <= _ :: Bool+ , id _ <= _ :: Bool+ , _ == _ :: Bool+ , _ == x :: Bool+ , _ == y :: Bool+ , _ == 0 :: Bool+ , _ == 1 :: Bool+ , _ == ord _ :: Bool+ , _ == id _ :: Bool+ , _ == id x :: Bool+ , _ == id 0 :: Bool+ , _ == id (id _) :: Bool+ , _ == abs _ :: Bool+ , _ == negate _ :: Bool+ , _ == head _ :: Bool+ , _ == _ + _ :: Bool+ , x == _ :: Bool+ , x == x :: Bool+ , x == 0 :: Bool+ , x == id _ :: Bool+ , y == _ :: Bool+ , 0 == _ :: Bool+ , 0 == x :: Bool+ , 0 == 0 :: Bool+ , 0 == id _ :: Bool+ , 1 == _ :: Bool+ , ord _ == _ :: Bool+ , id _ == _ :: Bool+ , id _ == x :: Bool+ , id _ == 0 :: Bool+ , id _ == id _ :: Bool+ , id x == _ :: Bool+ , id 0 == _ :: Bool+ , id (id _) == _ :: Bool+ , abs _ == _ :: Bool+ , negate _ == _ :: Bool+ , head _ == _ :: Bool+ , _ + _ == _ :: Bool+ , _ * _ :: Int+ , _ * x :: Int+ , _ * y :: Int+ , _ * z :: Int+ , _ * 0 :: Int+ , _ * 1 :: Int+ , _ * (-1) :: Int+ , _ * f _ :: Int+ , _ * ord _ :: Int+ , _ * ord c :: Int+ , _ * ord 'a' :: Int+ , _ * id _ :: Int+ , _ * id x :: Int+ , _ * id y :: Int+ , _ * id 0 :: Int+ , _ * id 1 :: Int+ , _ * id (ord _) :: Int+ , _ * id (id _) :: Int+ , _ * id (id x) :: Int+ , _ * id (id 0) :: Int+ , _ * id (id (id _)) :: Int+ , _ * id (abs _) :: Int+ , _ * id (negate _) :: Int+ , _ * id (head _) :: Int+ , _ * id (_ + _) :: Int+ , _ * abs _ :: Int+ , _ * abs x :: Int+ , _ * abs 0 :: Int+ , _ * abs (id _) :: Int+ , _ * negate _ :: Int+ , _ * negate x :: Int+ , _ * negate 0 :: Int+ , _ * negate (id _) :: Int+ , _ * head _ :: Int+ , _ * head xs :: Int+ , _ * head [] :: Int+ , _ * head (_:_) :: Int+ , _ * (_ * _) :: Int+ , _ * (_ + _) :: Int+ , _ * (_ + x) :: Int+ , _ * (_ + 0) :: Int+ , _ * (_ + id _) :: Int+ , _ * (x + _) :: Int+ , _ * (0 + _) :: Int+ , _ * (id _ + _) :: Int+ , x * _ :: Int+ , x * x :: Int+ , x * y :: Int+ , x * 0 :: Int+ , x * 1 :: Int+ , x * ord _ :: Int+ , x * id _ :: Int+ , x * id x :: Int+ , x * id 0 :: Int+ , x * id (id _) :: Int+ , x * abs _ :: Int+ , x * negate _ :: Int+ , x * head _ :: Int+ , x * (_ + _) :: Int+ , y * _ :: Int+ , y * x :: Int+ , y * 0 :: Int+ , y * id _ :: Int+ , z * _ :: Int+ , 0 * _ :: Int+ , 0 * x :: Int+ , 0 * y :: Int+ , 0 * 0 :: Int+ , 0 * 1 :: Int+ , 0 * ord _ :: Int+ , 0 * id _ :: Int+ , 0 * id x :: Int+ , 0 * id 0 :: Int+ , 0 * id (id _) :: Int+ , 0 * abs _ :: Int+ , 0 * negate _ :: Int+ , 0 * head _ :: Int+ , 0 * (_ + _) :: Int+ , 1 * _ :: Int+ , 1 * x :: Int+ , 1 * 0 :: Int+ , 1 * id _ :: Int+ , (-1) * _ :: Int+ , f _ * _ :: Int+ , ord _ * _ :: Int+ , ord _ * x :: Int+ , ord _ * 0 :: Int+ , ord _ * id _ :: Int+ , ord c * _ :: Int+ , ord 'a' * _ :: Int+ , id _ * _ :: Int+ , id _ * x :: Int+ , id _ * y :: Int+ , id _ * 0 :: Int+ , id _ * 1 :: Int+ , id _ * ord _ :: Int+ , id _ * id _ :: Int+ , id _ * id x :: Int+ , id _ * id 0 :: Int+ , id _ * id (id _) :: Int+ , id _ * abs _ :: Int+ , id _ * negate _ :: Int+ , id _ * head _ :: Int+ , id _ * (_ + _) :: Int+ , id x * _ :: Int+ , id x * x :: Int+ , id x * 0 :: Int+ , id x * id _ :: Int+ , id y * _ :: Int+ , id 0 * _ :: Int+ , id 0 * x :: Int+ , id 0 * 0 :: Int+ , id 0 * id _ :: Int+ , id 1 * _ :: Int+ , id (ord _) * _ :: Int+ , id (id _) * _ :: Int+ , id (id _) * x :: Int+ , id (id _) * 0 :: Int+ , id (id _) * id _ :: Int+ , id (id x) * _ :: Int+ , id (id 0) * _ :: Int+ , id (id (id _)) * _ :: Int+ , id (abs _) * _ :: Int+ , id (negate _) * _ :: Int+ , id (head _) * _ :: Int+ , id (_ + _) * _ :: Int+ , abs _ * _ :: Int+ , abs _ * x :: Int+ , abs _ * 0 :: Int+ , abs _ * id _ :: Int+ , abs x * _ :: Int+ , abs 0 * _ :: Int+ , abs (id _) * _ :: Int+ , negate _ * _ :: Int+ , negate _ * x :: Int+ , negate _ * 0 :: Int+ , negate _ * id _ :: Int+ , negate x * _ :: Int+ , negate 0 * _ :: Int+ , negate (id _) * _ :: Int+ , head _ * _ :: Int+ , head _ * x :: Int+ , head _ * 0 :: Int+ , head _ * id _ :: Int+ , head xs * _ :: Int+ , head [] * _ :: Int+ , head (_:_) * _ :: Int+ , (_ * _) * _ :: Int+ , (_ + _) * _ :: Int+ , (_ + _) * x :: Int+ , (_ + _) * 0 :: Int+ , (_ + _) * id _ :: Int+ , (_ + x) * _ :: Int+ , (_ + 0) * _ :: Int+ , (_ + id _) * _ :: Int+ , (x + _) * _ :: Int+ , (0 + _) * _ :: Int+ , (id _ + _) * _ :: Int+ , _ + _ :: Int+ , _ + x :: Int+ , _ + y :: Int+ , _ + z :: Int+ , _ + x' :: Int+ , _ + 0 :: Int+ , _ + 1 :: Int+ , _ + 2 :: Int+ , _ + (-1) :: Int+ , _ + f _ :: Int+ , _ + f x :: Int+ , _ + f 0 :: Int+ , _ + f (id _) :: Int+ , _ + g _ :: Int+ , _ + ord _ :: Int+ , _ + ord c :: Int+ , _ + ord d :: Int+ , _ + ord ' ' :: Int+ , _ + ord 'a' :: Int+ , _ + id _ :: Int+ , _ + id x :: Int+ , _ + id y :: Int+ , _ + id z :: Int+ , _ + id 0 :: Int+ , _ + id 1 :: Int+ , _ + id (-1) :: Int+ , _ + id (f _) :: Int+ , _ + id (ord _) :: Int+ , _ + id (ord c) :: Int+ , _ + id (ord 'a') :: Int+ , _ + id (id _) :: Int+ , _ + id (id x) :: Int+ , _ + id (id y) :: Int+ , _ + id (id 0) :: Int+ , _ + id (id 1) :: Int+ , _ + id (id (ord _)) :: Int+ , _ + id (id (id _)) :: Int+ , _ + id (id (id x)) :: Int+ , _ + id (id (id 0)) :: Int+ , _ + id (id (id (id _))) :: Int+ , _ + id (id (abs _)) :: Int+ , _ + id (id (negate _)) :: Int+ , _ + id (id (head _)) :: Int+ , _ + id (id (_ + _)) :: Int+ , _ + id (abs _) :: Int+ , _ + id (abs x) :: Int+ , _ + id (abs 0) :: Int+ , _ + id (abs (id _)) :: Int+ , _ + id (negate _) :: Int+ , _ + id (negate x) :: Int+ , _ + id (negate 0) :: Int+ , _ + id (negate (id _)) :: Int+ , _ + id (head _) :: Int+ , _ + id (head xs) :: Int+ , _ + id (head []) :: Int+ , _ + id (head (_:_)) :: Int+ , _ + id (_ * _) :: Int+ , _ + id (_ + _) :: Int+ , _ + id (_ + x) :: Int+ , _ + id (_ + 0) :: Int+ , _ + id (_ + id _) :: Int+ , _ + id (x + _) :: Int+ , _ + id (0 + _) :: Int+ , _ + id (id _ + _) :: Int+ , _ + abs _ :: Int+ , _ + abs x :: Int+ , _ + abs y :: Int+ , _ + abs 0 :: Int+ , _ + abs 1 :: Int+ , _ + abs (ord _) :: Int+ , _ + abs (id _) :: Int+ , _ + abs (id x) :: Int+ , _ + abs (id 0) :: Int+ , _ + abs (id (id _)) :: Int+ , _ + abs (abs _) :: Int+ , _ + abs (negate _) :: Int+ , _ + abs (head _) :: Int+ , _ + abs (_ + _) :: Int+ , _ + negate _ :: Int+ , _ + negate x :: Int+ , _ + negate y :: Int+ , _ + negate 0 :: Int+ , _ + negate 1 :: Int+ , _ + negate (ord _) :: Int+ , _ + negate (id _) :: Int+ , _ + negate (id x) :: Int+ , _ + negate (id 0) :: Int+ , _ + negate (id (id _)) :: Int+ , _ + negate (abs _) :: Int+ , _ + negate (negate _) :: Int+ , _ + negate (head _) :: Int+ , _ + negate (_ + _) :: Int+ , _ + head _ :: Int+ , _ + head xs :: Int+ , _ + head ys :: Int+ , _ + head [] :: Int+ , _ + head [0] :: Int+ , _ + head (tail _) :: Int+ , _ + head (_:_) :: Int+ , _ + head (_:xs) :: Int+ , _ + head [_] :: Int+ , _ + head (_:_:_) :: Int+ , _ + head (x:_) :: Int+ , _ + head (0:_) :: Int+ , _ + head (id _:_) :: Int+ , _ + head (_ ++ _) :: Int+ , _ + _ * _ :: Int+ , _ + _ * x :: Int+ , _ + _ * 0 :: Int+ , _ + _ * id _ :: Int+ , _ + x * _ :: Int+ , _ + 0 * _ :: Int+ , _ + id _ * _ :: Int+ , _ + (_ + _) :: Int+ , _ + (_ + x) :: Int+ , _ + (_ + y) :: Int+ , _ + (_ + 0) :: Int+ , _ + (_ + 1) :: Int+ , _ + (_ + ord _) :: Int+ , _ + (_ + id _) :: Int+ , _ + (_ + id x) :: Int+ , _ + (_ + id 0) :: Int+ , _ + (_ + id (id _)) :: Int+ , _ + (_ + abs _) :: Int+ , _ + (_ + negate _) :: Int+ , _ + (_ + head _) :: Int+ , _ + (_ + (_ + _)) :: Int+ , _ + (x + _) :: Int+ , _ + (x + x) :: Int+ , _ + (x + 0) :: Int+ , _ + (x + id _) :: Int+ , _ + (y + _) :: Int+ , _ + (0 + _) :: Int+ , _ + (0 + x) :: Int+ , _ + (0 + 0) :: Int+ , _ + (0 + id _) :: Int+ , _ + (1 + _) :: Int+ , _ + (ord _ + _) :: Int+ , _ + (id _ + _) :: Int+ , _ + (id _ + x) :: Int+ , _ + (id _ + 0) :: Int+ , _ + (id _ + id _) :: Int+ , _ + (id x + _) :: Int+ , _ + (id 0 + _) :: Int+ , _ + (id (id _) + _) :: Int+ , _ + (abs _ + _) :: Int+ , _ + (negate _ + _) :: Int+ , _ + (head _ + _) :: Int+ , _ + ((_ + _) + _) :: Int+ , x + _ :: Int+ , x + x :: Int+ , x + y :: Int+ , x + z :: Int+ , x + 0 :: Int+ , x + 1 :: Int+ , x + (-1) :: Int+ , x + f _ :: Int+ , x + ord _ :: Int+ , x + ord c :: Int+ , x + ord 'a' :: Int+ , x + id _ :: Int+ , x + id x :: Int+ , x + id y :: Int+ , x + id 0 :: Int+ , x + id 1 :: Int+ , x + id (ord _) :: Int+ , x + id (id _) :: Int+ , x + id (id x) :: Int+ , x + id (id 0) :: Int+ , x + id (id (id _)) :: Int+ , x + id (abs _) :: Int+ , x + id (negate _) :: Int+ , x + id (head _) :: Int+ , x + id (_ + _) :: Int+ , x + abs _ :: Int+ , x + abs x :: Int+ , x + abs 0 :: Int+ , x + abs (id _) :: Int+ , x + negate _ :: Int+ , x + negate x :: Int+ , x + negate 0 :: Int+ , x + negate (id _) :: Int+ , x + head _ :: Int+ , x + head xs :: Int+ , x + head [] :: Int+ , x + head (_:_) :: Int+ , x + _ * _ :: Int+ , x + (_ + _) :: Int+ , x + (_ + x) :: Int+ , x + (_ + 0) :: Int+ , x + (_ + id _) :: Int+ , x + (x + _) :: Int+ , x + (0 + _) :: Int+ , x + (id _ + _) :: Int+ , y + _ :: Int+ , y + x :: Int+ , y + y :: Int+ , y + 0 :: Int+ , y + 1 :: Int+ , y + ord _ :: Int+ , y + id _ :: Int+ , y + id x :: Int+ , y + id 0 :: Int+ , y + id (id _) :: Int+ , y + abs _ :: Int+ , y + negate _ :: Int+ , y + head _ :: Int+ , y + (_ + _) :: Int+ , z + _ :: Int+ , z + x :: Int+ , z + 0 :: Int+ , z + id _ :: Int+ , x' + _ :: Int+ , 0 + _ :: Int+ , 0 + x :: Int+ , 0 + y :: Int+ , 0 + z :: Int+ , 0 + 0 :: Int+ , 0 + 1 :: Int+ , 0 + (-1) :: Int+ , 0 + f _ :: Int+ , 0 + ord _ :: Int+ , 0 + ord c :: Int+ , 0 + ord 'a' :: Int+ , 0 + id _ :: Int+ , 0 + id x :: Int+ , 0 + id y :: Int+ , 0 + id 0 :: Int+ , 0 + id 1 :: Int+ , 0 + id (ord _) :: Int+ , 0 + id (id _) :: Int+ , 0 + id (id x) :: Int+ , 0 + id (id 0) :: Int+ , 0 + id (id (id _)) :: Int+ , 0 + id (abs _) :: Int+ , 0 + id (negate _) :: Int+ , 0 + id (head _) :: Int+ , 0 + id (_ + _) :: Int+ , 0 + abs _ :: Int+ , 0 + abs x :: Int+ , 0 + abs 0 :: Int+ , 0 + abs (id _) :: Int+ , 0 + negate _ :: Int+ , 0 + negate x :: Int+ , 0 + negate 0 :: Int+ , 0 + negate (id _) :: Int+ , 0 + head _ :: Int+ , 0 + head xs :: Int+ , 0 + head [] :: Int+ , 0 + head (_:_) :: Int+ , 0 + _ * _ :: Int+ , 0 + (_ + _) :: Int+ , 0 + (_ + x) :: Int+ , 0 + (_ + 0) :: Int+ , 0 + (_ + id _) :: Int+ , 0 + (x + _) :: Int+ , 0 + (0 + _) :: Int+ , 0 + (id _ + _) :: Int+ , 1 + _ :: Int+ , 1 + x :: Int+ , 1 + y :: Int+ , 1 + 0 :: Int+ , 1 + 1 :: Int+ , 1 + ord _ :: Int+ , 1 + id _ :: Int+ , 1 + id x :: Int+ , 1 + id 0 :: Int+ , 1 + id (id _) :: Int+ , 1 + abs _ :: Int+ , 1 + negate _ :: Int+ , 1 + head _ :: Int+ , 1 + (_ + _) :: Int+ , 2 + _ :: Int+ , (-1) + _ :: Int+ , (-1) + x :: Int+ , (-1) + 0 :: Int+ , (-1) + id _ :: Int+ , f _ + _ :: Int+ , f _ + x :: Int+ , f _ + 0 :: Int+ , f _ + id _ :: Int+ , f x + _ :: Int+ , f 0 + _ :: Int+ , f (id _) + _ :: Int+ , g _ + _ :: Int+ , ord _ + _ :: Int+ , ord _ + x :: Int+ , ord _ + y :: Int+ , ord _ + 0 :: Int+ , ord _ + 1 :: Int+ , ord _ + ord _ :: Int+ , ord _ + id _ :: Int+ , ord _ + id x :: Int+ , ord _ + id 0 :: Int+ , ord _ + id (id _) :: Int+ , ord _ + abs _ :: Int+ , ord _ + negate _ :: Int+ , ord _ + head _ :: Int+ , ord _ + (_ + _) :: Int+ , ord c + _ :: Int+ , ord c + x :: Int+ , ord c + 0 :: Int+ , ord c + id _ :: Int+ , ord d + _ :: Int+ , ord ' ' + _ :: Int+ , ord 'a' + _ :: Int+ , ord 'a' + x :: Int+ , ord 'a' + 0 :: Int+ , ord 'a' + id _ :: Int+ , id _ + _ :: Int+ , id _ + x :: Int+ , id _ + y :: Int+ , id _ + z :: Int+ , id _ + 0 :: Int+ , id _ + 1 :: Int+ , id _ + (-1) :: Int+ , id _ + f _ :: Int+ , id _ + ord _ :: Int+ , id _ + ord c :: Int+ , id _ + ord 'a' :: Int+ , id _ + id _ :: Int+ , id _ + id x :: Int+ , id _ + id y :: Int+ , id _ + id 0 :: Int+ , id _ + id 1 :: Int+ , id _ + id (ord _) :: Int+ , id _ + id (id _) :: Int+ , id _ + id (id x) :: Int+ , id _ + id (id 0) :: Int+ , id _ + id (id (id _)) :: Int+ , id _ + id (abs _) :: Int+ , id _ + id (negate _) :: Int+ , id _ + id (head _) :: Int+ , id _ + id (_ + _) :: Int+ , id _ + abs _ :: Int+ , id _ + abs x :: Int+ , id _ + abs 0 :: Int+ , id _ + abs (id _) :: Int+ , id _ + negate _ :: Int+ , id _ + negate x :: Int+ , id _ + negate 0 :: Int+ , id _ + negate (id _) :: Int+ , id _ + head _ :: Int+ , id _ + head xs :: Int+ , id _ + head [] :: Int+ , id _ + head (_:_) :: Int+ , id _ + _ * _ :: Int+ , id _ + (_ + _) :: Int+ , id _ + (_ + x) :: Int+ , id _ + (_ + 0) :: Int+ , id _ + (_ + id _) :: Int+ , id _ + (x + _) :: Int+ , id _ + (0 + _) :: Int+ , id _ + (id _ + _) :: Int+ , id x + _ :: Int+ , id x + x :: Int+ , id x + y :: Int+ , id x + 0 :: Int+ , id x + 1 :: Int+ , id x + ord _ :: Int+ , id x + id _ :: Int+ , id x + id x :: Int+ , id x + id 0 :: Int+ , id x + id (id _) :: Int+ , id x + abs _ :: Int+ , id x + negate _ :: Int+ , id x + head _ :: Int+ , id x + (_ + _) :: Int+ , id y + _ :: Int+ , id y + x :: Int+ , id y + 0 :: Int+ , id y + id _ :: Int+ , id z + _ :: Int+ , id 0 + _ :: Int+ , id 0 + x :: Int+ , id 0 + y :: Int+ , id 0 + 0 :: Int+ , id 0 + 1 :: Int+ , id 0 + ord _ :: Int+ , id 0 + id _ :: Int+ , id 0 + id x :: Int+ , id 0 + id 0 :: Int+ , id 0 + id (id _) :: Int+ , id 0 + abs _ :: Int+ , id 0 + negate _ :: Int+ , id 0 + head _ :: Int+ , id 0 + (_ + _) :: Int+ , id 1 + _ :: Int+ , id 1 + x :: Int+ , id 1 + 0 :: Int+ , id 1 + id _ :: Int+ , id (-1) + _ :: Int+ , id (f _) + _ :: Int+ , id (ord _) + _ :: Int+ , id (ord _) + x :: Int+ , id (ord _) + 0 :: Int+ , id (ord _) + id _ :: Int+ , id (ord c) + _ :: Int+ , id (ord 'a') + _ :: Int+ , id (id _) + _ :: Int+ , id (id _) + x :: Int+ , id (id _) + y :: Int+ , id (id _) + 0 :: Int+ , id (id _) + 1 :: Int+ , id (id _) + ord _ :: Int+ , id (id _) + id _ :: Int+ , id (id _) + id x :: Int+ , id (id _) + id 0 :: Int+ , id (id _) + id (id _) :: Int+ , id (id _) + abs _ :: Int+ , id (id _) + negate _ :: Int+ , id (id _) + head _ :: Int+ , id (id _) + (_ + _) :: Int+ , id (id x) + _ :: Int+ , id (id x) + x :: Int+ , id (id x) + 0 :: Int+ , id (id x) + id _ :: Int+ , id (id y) + _ :: Int+ , id (id 0) + _ :: Int+ , id (id 0) + x :: Int+ , id (id 0) + 0 :: Int+ , id (id 0) + id _ :: Int+ , id (id 1) + _ :: Int+ , id (id (ord _)) + _ :: Int+ , id (id (id _)) + _ :: Int+ , id (id (id _)) + x :: Int+ , id (id (id _)) + 0 :: Int+ , id (id (id _)) + id _ :: Int+ , id (id (id x)) + _ :: Int+ , id (id (id 0)) + _ :: Int+ , id (id (id (id _))) + _ :: Int+ , id (id (abs _)) + _ :: Int+ , id (id (negate _)) + _ :: Int+ , id (id (head _)) + _ :: Int+ , id (id (_ + _)) + _ :: Int+ , id (abs _) + _ :: Int+ , id (abs _) + x :: Int+ , id (abs _) + 0 :: Int+ , id (abs _) + id _ :: Int+ , id (abs x) + _ :: Int+ , id (abs 0) + _ :: Int+ , id (abs (id _)) + _ :: Int+ , id (negate _) + _ :: Int+ , id (negate _) + x :: Int+ , id (negate _) + 0 :: Int+ , id (negate _) + id _ :: Int+ , id (negate x) + _ :: Int+ , id (negate 0) + _ :: Int+ , id (negate (id _)) + _ :: Int+ , id (head _) + _ :: Int+ , id (head _) + x :: Int+ , id (head _) + 0 :: Int+ , id (head _) + id _ :: Int+ , id (head xs) + _ :: Int+ , id (head []) + _ :: Int+ , id (head (_:_)) + _ :: Int+ , id (_ * _) + _ :: Int+ , id (_ + _) + _ :: Int+ , id (_ + _) + x :: Int+ , id (_ + _) + 0 :: Int+ , id (_ + _) + id _ :: Int+ , id (_ + x) + _ :: Int+ , id (_ + 0) + _ :: Int+ , id (_ + id _) + _ :: Int+ , id (x + _) + _ :: Int+ , id (0 + _) + _ :: Int+ , id (id _ + _) + _ :: Int+ , abs _ + _ :: Int+ , abs _ + x :: Int+ , abs _ + y :: Int+ , abs _ + 0 :: Int+ , abs _ + 1 :: Int+ , abs _ + ord _ :: Int+ , abs _ + id _ :: Int+ , abs _ + id x :: Int+ , abs _ + id 0 :: Int+ , abs _ + id (id _) :: Int+ , abs _ + abs _ :: Int+ , abs _ + negate _ :: Int+ , abs _ + head _ :: Int+ , abs _ + (_ + _) :: Int+ , abs x + _ :: Int+ , abs x + x :: Int+ , abs x + 0 :: Int+ , abs x + id _ :: Int+ , abs y + _ :: Int+ , abs 0 + _ :: Int+ , abs 0 + x :: Int+ , abs 0 + 0 :: Int+ , abs 0 + id _ :: Int+ , abs 1 + _ :: Int+ , abs (ord _) + _ :: Int+ , abs (id _) + _ :: Int+ , abs (id _) + x :: Int+ , abs (id _) + 0 :: Int+ , abs (id _) + id _ :: Int+ , abs (id x) + _ :: Int+ , abs (id 0) + _ :: Int+ , abs (id (id _)) + _ :: Int+ , abs (abs _) + _ :: Int+ , abs (negate _) + _ :: Int+ , abs (head _) + _ :: Int+ , abs (_ + _) + _ :: Int+ , negate _ + _ :: Int+ , negate _ + x :: Int+ , negate _ + y :: Int+ , negate _ + 0 :: Int+ , negate _ + 1 :: Int+ , negate _ + ord _ :: Int+ , negate _ + id _ :: Int+ , negate _ + id x :: Int+ , negate _ + id 0 :: Int+ , negate _ + id (id _) :: Int+ , negate _ + abs _ :: Int+ , negate _ + negate _ :: Int+ , negate _ + head _ :: Int+ , negate _ + (_ + _) :: Int+ , negate x + _ :: Int+ , negate x + x :: Int+ , negate x + 0 :: Int+ , negate x + id _ :: Int+ , negate y + _ :: Int+ , negate 0 + _ :: Int+ , negate 0 + x :: Int+ , negate 0 + 0 :: Int+ , negate 0 + id _ :: Int+ , negate 1 + _ :: Int+ , negate (ord _) + _ :: Int+ , negate (id _) + _ :: Int+ , negate (id _) + x :: Int+ , negate (id _) + 0 :: Int+ , negate (id _) + id _ :: Int+ , negate (id x) + _ :: Int+ , negate (id 0) + _ :: Int+ , negate (id (id _)) + _ :: Int+ , negate (abs _) + _ :: Int+ , negate (negate _) + _ :: Int+ , negate (head _) + _ :: Int+ , negate (_ + _) + _ :: Int+ , head _ + _ :: Int+ , head _ + x :: Int+ , head _ + y :: Int+ , head _ + 0 :: Int+ , head _ + 1 :: Int+ , head _ + ord _ :: Int+ , head _ + id _ :: Int+ , head _ + id x :: Int+ , head _ + id 0 :: Int+ , head _ + id (id _) :: Int+ , head _ + abs _ :: Int+ , head _ + negate _ :: Int+ , head _ + head _ :: Int+ , head _ + (_ + _) :: Int+ , head xs + _ :: Int+ , head xs + x :: Int+ , head xs + 0 :: Int+ , head xs + id _ :: Int+ , head ys + _ :: Int+ , head [] + _ :: Int+ , head [] + x :: Int+ , head [] + 0 :: Int+ , head [] + id _ :: Int+ , head [0] + _ :: Int+ , head (tail _) + _ :: Int+ , head (_:_) + _ :: Int+ , head (_:_) + x :: Int+ , head (_:_) + 0 :: Int+ , head (_:_) + id _ :: Int+ , head (_:xs) + _ :: Int+ , head [_] + _ :: Int+ , head (_:_:_) + _ :: Int+ , head (x:_) + _ :: Int+ , head (0:_) + _ :: Int+ , head (id _:_) + _ :: Int+ , head (_ ++ _) + _ :: Int+ , _ * _ + _ :: Int+ , _ * _ + x :: Int+ , _ * _ + 0 :: Int+ , _ * _ + id _ :: Int+ , _ * x + _ :: Int+ , _ * 0 + _ :: Int+ , _ * id _ + _ :: Int+ , x * _ + _ :: Int+ , 0 * _ + _ :: Int+ , id _ * _ + _ :: Int+ , (_ + _) + _ :: Int+ , (_ + _) + x :: Int+ , (_ + _) + y :: Int+ , (_ + _) + 0 :: Int+ , (_ + _) + 1 :: Int+ , (_ + _) + ord _ :: Int+ , (_ + _) + id _ :: Int+ , (_ + _) + id x :: Int+ , (_ + _) + id 0 :: Int+ , (_ + _) + id (id _) :: Int+ , (_ + _) + abs _ :: Int+ , (_ + _) + negate _ :: Int+ , (_ + _) + head _ :: Int+ , (_ + _) + (_ + _) :: Int+ , (_ + x) + _ :: Int+ , (_ + x) + x :: Int+ , (_ + x) + 0 :: Int+ , (_ + x) + id _ :: Int+ , (_ + y) + _ :: Int+ , (_ + 0) + _ :: Int+ , (_ + 0) + x :: Int+ , (_ + 0) + 0 :: Int+ , (_ + 0) + id _ :: Int+ , (_ + 1) + _ :: Int+ , (_ + ord _) + _ :: Int+ , (_ + id _) + _ :: Int+ , (_ + id _) + x :: Int+ , (_ + id _) + 0 :: Int+ , (_ + id _) + id _ :: Int+ , (_ + id x) + _ :: Int+ , (_ + id 0) + _ :: Int+ , (_ + id (id _)) + _ :: Int+ , (_ + abs _) + _ :: Int+ , (_ + negate _) + _ :: Int+ , (_ + head _) + _ :: Int+ , (_ + (_ + _)) + _ :: Int+ , (x + _) + _ :: Int+ , (x + _) + x :: Int+ , (x + _) + 0 :: Int+ , (x + _) + id _ :: Int+ , (x + x) + _ :: Int+ , (x + 0) + _ :: Int+ , (x + id _) + _ :: Int+ , (y + _) + _ :: Int+ , (0 + _) + _ :: Int+ , (0 + _) + x :: Int+ , (0 + _) + 0 :: Int+ , (0 + _) + id _ :: Int+ , (0 + x) + _ :: Int+ , (0 + 0) + _ :: Int+ , (0 + id _) + _ :: Int+ , (1 + _) + _ :: Int+ , (ord _ + _) + _ :: Int+ , (id _ + _) + _ :: Int+ , (id _ + _) + x :: Int+ , (id _ + _) + 0 :: Int+ , (id _ + _) + id _ :: Int+ , (id _ + x) + _ :: Int+ , (id _ + 0) + _ :: Int+ , (id _ + id _) + _ :: Int+ , (id x + _) + _ :: Int+ , (id 0 + _) + _ :: Int+ , (id (id _) + _) + _ :: Int+ , (abs _ + _) + _ :: Int+ , (negate _ + _) + _ :: Int+ , (head _ + _) + _ :: Int+ , ((_ + _) + _) + _ :: Int+ , elem _ _ :: Bool+ , elem _ xs :: Bool+ , elem _ ys :: Bool+ , elem _ [] :: Bool+ , elem _ [0] :: Bool+ , elem _ (tail _) :: Bool+ , elem _ (_:_) :: Bool+ , elem _ (_:xs) :: Bool+ , elem _ [_] :: Bool+ , elem _ (_:_:_) :: Bool+ , elem _ (x:_) :: Bool+ , elem _ (0:_) :: Bool+ , elem _ (id _:_) :: Bool+ , elem _ (_ ++ _) :: Bool+ , elem x _ :: Bool+ , elem x xs :: Bool+ , elem x [] :: Bool+ , elem x (_:_) :: Bool+ , elem y _ :: Bool+ , elem 0 _ :: Bool+ , elem 0 xs :: Bool+ , elem 0 [] :: Bool+ , elem 0 (_:_) :: Bool+ , elem 1 _ :: Bool+ , elem (ord _) _ :: Bool+ , elem (id _) _ :: Bool+ , elem (id _) xs :: Bool+ , elem (id _) [] :: Bool+ , elem (id _) (_:_) :: Bool+ , elem (id x) _ :: Bool+ , elem (id 0) _ :: Bool+ , elem (id (id _)) _ :: Bool+ , elem (abs _) _ :: Bool+ , elem (negate _) _ :: Bool+ , elem (head _) _ :: Bool+ , elem (_ + _) _ :: Bool+ , _:_ :: [Int]+ , _:xs :: [Int]+ , _:ys :: [Int]+ , _:zs :: [Int]+ , _:xs' :: [Int]+ , [_] :: [Int]+ , _:[0] :: [Int]+ , _:[1] :: [Int]+ , _:[-1] :: [Int]+ , _:[0,0] :: [Int]+ , _:[0,1] :: [Int]+ , _:[1,0] :: [Int]+ , _:[0,0,0] :: [Int]+ , _:sort _ :: [Int]+ , _:sort xs :: [Int]+ , _:sort [] :: [Int]+ , _:sort (_:_) :: [Int]+ , _:tail _ :: [Int]+ , _:tail xs :: [Int]+ , _:tail ys :: [Int]+ , _:tail [] :: [Int]+ , _:tail [0] :: [Int]+ , _:tail (tail _) :: [Int]+ , _:tail (_:_) :: [Int]+ , _:tail (_:xs) :: [Int]+ , _:tail [_] :: [Int]+ , _:tail (_:_:_) :: [Int]+ , _:tail (x:_) :: [Int]+ , _:tail (0:_) :: [Int]+ , _:tail (id _:_) :: [Int]+ , _:tail (_ ++ _) :: [Int]+ , _:_:_ :: [Int]+ , _:_:xs :: [Int]+ , _:_:ys :: [Int]+ , _:_:zs :: [Int]+ , [_,_] :: [Int]+ , _:_:[0] :: [Int]+ , _:_:[1] :: [Int]+ , _:_:[0,0] :: [Int]+ , _:_:sort _ :: [Int]+ , _:_:tail _ :: [Int]+ , _:_:tail xs :: [Int]+ , _:_:tail [] :: [Int]+ , _:_:tail (_:_) :: [Int]+ , _:_:_:_ :: [Int]+ , _:_:_:xs :: [Int]+ , _:_:_:ys :: [Int]+ , [_,_,_] :: [Int]+ , _:_:_:[0] :: [Int]+ , _:_:_:tail _ :: [Int]+ , _:_:_:_:_ :: [Int]+ , _:_:_:_:xs :: [Int]+ , [_,_,_,_] :: [Int]+ , _:_:_:_:_:_ :: [Int]+ , _:_:_:x:_ :: [Int]+ , _:_:_:0:_ :: [Int]+ , _:_:_:id _:_ :: [Int]+ , _:_:_:(_ ++ _) :: [Int]+ , _:_:x:_ :: [Int]+ , _:_:x:xs :: [Int]+ , [_,_,x] :: [Int]+ , _:_:x:_:_ :: [Int]+ , _:_:y:_ :: [Int]+ , _:_:0:_ :: [Int]+ , _:_:0:xs :: [Int]+ , [_,_,0] :: [Int]+ , _:_:0:_:_ :: [Int]+ , _:_:1:_ :: [Int]+ , _:_:ord _:_ :: [Int]+ , _:_:id _:_ :: [Int]+ , _:_:id _:xs :: [Int]+ , [_,_,id _] :: [Int]+ , _:_:id _:_:_ :: [Int]+ , _:_:id x:_ :: [Int]+ , _:_:id 0:_ :: [Int]+ , _:_:id (id _):_ :: [Int]+ , _:_:abs _:_ :: [Int]+ , _:_:negate _:_ :: [Int]+ , _:_:head _:_ :: [Int]+ , _:_:_ + _:_ :: [Int]+ , _:_:insert _ _ :: [Int]+ , _:_:(_ ++ _) :: [Int]+ , _:_:(_ ++ xs) :: [Int]+ , _:_:(_ ++ []) :: [Int]+ , _:_:(_ ++ (_:_)) :: [Int]+ , _:_:(xs ++ _) :: [Int]+ , _:_:([] ++ _) :: [Int]+ , _:_:((_:_) ++ _) :: [Int]+ , _:x:_ :: [Int]+ , _:x:xs :: [Int]+ , _:x:ys :: [Int]+ , [_,x] :: [Int]+ , _:x:[0] :: [Int]+ , _:x:tail _ :: [Int]+ , _:x:_:_ :: [Int]+ , _:x:_:xs :: [Int]+ , [_,x,_] :: [Int]+ , _:x:_:_:_ :: [Int]+ , _:x:x:_ :: [Int]+ , _:x:0:_ :: [Int]+ , _:x:id _:_ :: [Int]+ , _:x:(_ ++ _) :: [Int]+ , _:y:_ :: [Int]+ , _:y:xs :: [Int]+ , [_,y] :: [Int]+ , _:y:_:_ :: [Int]+ , _:z:_ :: [Int]+ , _:0:_ :: [Int]+ , _:0:xs :: [Int]+ , _:0:ys :: [Int]+ , [_,0] :: [Int]+ , _:0:[0] :: [Int]+ , _:0:tail _ :: [Int]+ , _:0:_:_ :: [Int]+ , _:0:_:xs :: [Int]+ , [_,0,_] :: [Int]+ , _:0:_:_:_ :: [Int]+ , _:0:x:_ :: [Int]+ , _:0:0:_ :: [Int]+ , _:0:id _:_ :: [Int]+ , _:0:(_ ++ _) :: [Int]+ , _:1:_ :: [Int]+ , _:1:xs :: [Int]+ , [_,1] :: [Int]+ , _:1:_:_ :: [Int]+ , _:(-1):_ :: [Int]+ , _:f _:_ :: [Int]+ , _:ord _:_ :: [Int]+ , _:ord _:xs :: [Int]+ , [_,ord _] :: [Int]+ , _:ord _:_:_ :: [Int]+ , _:ord c:_ :: [Int]+ , _:ord 'a':_ :: [Int]+ , _:id _:_ :: [Int]+ , _:id _:xs :: [Int]+ , _:id _:ys :: [Int]+ , [_,id _] :: [Int]+ , _:id _:[0] :: [Int]+ , _:id _:tail _ :: [Int]+ , _:id _:_:_ :: [Int]+ , _:id _:_:xs :: [Int]+ , [_,id _,_] :: [Int]+ , _:id _:_:_:_ :: [Int]+ , _:id _:x:_ :: [Int]+ , _:id _:0:_ :: [Int]+ , _:id _:id _:_ :: [Int]+ , _:id _:(_ ++ _) :: [Int]+ , _:id x:_ :: [Int]+ , _:id x:xs :: [Int]+ , [_,id x] :: [Int]+ , _:id x:_:_ :: [Int]+ , _:id y:_ :: [Int]+ , _:id 0:_ :: [Int]+ , _:id 0:xs :: [Int]+ , [_,id 0] :: [Int]+ , _:id 0:_:_ :: [Int]+ , _:id 1:_ :: [Int]+ , _:id (ord _):_ :: [Int]+ , _:id (id _):_ :: [Int]+ , _:id (id _):xs :: [Int]+ , [_,id (id _)] :: [Int]+ , _:id (id _):_:_ :: [Int]+ , _:id (id x):_ :: [Int]+ , _:id (id 0):_ :: [Int]+ , _:id (id (id _)):_ :: [Int]+ , _:id (abs _):_ :: [Int]+ , _:id (negate _):_ :: [Int]+ , _:id (head _):_ :: [Int]+ , _:id (_ + _):_ :: [Int]+ , _:abs _:_ :: [Int]+ , _:abs _:xs :: [Int]+ , [_,abs _] :: [Int]+ , _:abs _:_:_ :: [Int]+ , _:abs x:_ :: [Int]+ , _:abs 0:_ :: [Int]+ , _:abs (id _):_ :: [Int]+ , _:negate _:_ :: [Int]+ , _:negate _:xs :: [Int]+ , [_,negate _] :: [Int]+ , _:negate _:_:_ :: [Int]+ , _:negate x:_ :: [Int]+ , _:negate 0:_ :: [Int]+ , _:negate (id _):_ :: [Int]+ , _:head _:_ :: [Int]+ , _:head _:xs :: [Int]+ , [_,head _] :: [Int]+ , _:head _:_:_ :: [Int]+ , _:head xs:_ :: [Int]+ , _:head []:_ :: [Int]+ , _:head (_:_):_ :: [Int]+ , _:_ * _:_ :: [Int]+ , _:_ + _:_ :: [Int]+ , _:_ + _:xs :: [Int]+ , [_,_ + _] :: [Int]+ , _:_ + _:_:_ :: [Int]+ , _:_ + x:_ :: [Int]+ , _:_ + 0:_ :: [Int]+ , _:_ + id _:_ :: [Int]+ , _:x + _:_ :: [Int]+ , _:0 + _:_ :: [Int]+ , _:id _ + _:_ :: [Int]+ , _:insert _ _ :: [Int]+ , _:insert _ xs :: [Int]+ , _:insert _ [] :: [Int]+ , _:insert _ (_:_) :: [Int]+ , _:insert x _ :: [Int]+ , _:insert 0 _ :: [Int]+ , _:insert (id _) _ :: [Int]+ , _:(_ ++ _) :: [Int]+ , _:(_ ++ xs) :: [Int]+ , _:(_ ++ ys) :: [Int]+ , _:(_ ++ []) :: [Int]+ , _:(_ ++ [0]) :: [Int]+ , _:(_ ++ tail _) :: [Int]+ , _:(_ ++ (_:_)) :: [Int]+ , _:(_ ++ (_:xs)) :: [Int]+ , _:(_ ++ [_]) :: [Int]+ , _:(_ ++ (_:_:_)) :: [Int]+ , _:(_ ++ (x:_)) :: [Int]+ , _:(_ ++ (0:_)) :: [Int]+ , _:(_ ++ (id _:_)) :: [Int]+ , _:(_ ++ (_ ++ _)) :: [Int]+ , _:(xs ++ _) :: [Int]+ , _:(xs ++ xs) :: [Int]+ , _:(xs ++ []) :: [Int]+ , _:(xs ++ (_:_)) :: [Int]+ , _:(ys ++ _) :: [Int]+ , _:([] ++ _) :: [Int]+ , _:([] ++ xs) :: [Int]+ , _:([] ++ []) :: [Int]+ , _:([] ++ (_:_)) :: [Int]+ , _:([0] ++ _) :: [Int]+ , _:(tail _ ++ _) :: [Int]+ , _:((_:_) ++ _) :: [Int]+ , _:((_:_) ++ xs) :: [Int]+ , _:((_:_) ++ []) :: [Int]+ , _:((_:_) ++ (_:_)) :: [Int]+ , _:((_:xs) ++ _) :: [Int]+ , _:([_] ++ _) :: [Int]+ , _:((_:_:_) ++ _) :: [Int]+ , _:((x:_) ++ _) :: [Int]+ , _:((0:_) ++ _) :: [Int]+ , _:((id _:_) ++ _) :: [Int]+ , _:((_ ++ _) ++ _) :: [Int]+ , x:_ :: [Int]+ , x:xs :: [Int]+ , x:ys :: [Int]+ , x:zs :: [Int]+ , [x] :: [Int]+ , x:[0] :: [Int]+ , x:[1] :: [Int]+ , x:[0,0] :: [Int]+ , x:sort _ :: [Int]+ , x:tail _ :: [Int]+ , x:tail xs :: [Int]+ , x:tail [] :: [Int]+ , x:tail (_:_) :: [Int]+ , x:_:_ :: [Int]+ , x:_:xs :: [Int]+ , x:_:ys :: [Int]+ , [x,_] :: [Int]+ , x:_:[0] :: [Int]+ , x:_:tail _ :: [Int]+ , x:_:_:_ :: [Int]+ , x:_:_:xs :: [Int]+ , [x,_,_] :: [Int]+ , x:_:_:_:_ :: [Int]+ , x:_:x:_ :: [Int]+ , x:_:0:_ :: [Int]+ , x:_:id _:_ :: [Int]+ , x:_:(_ ++ _) :: [Int]+ , x:x:_ :: [Int]+ , x:x:xs :: [Int]+ , [x,x] :: [Int]+ , x:x:_:_ :: [Int]+ , x:y:_ :: [Int]+ , x:0:_ :: [Int]+ , x:0:xs :: [Int]+ , [x,0] :: [Int]+ , x:0:_:_ :: [Int]+ , x:1:_ :: [Int]+ , x:ord _:_ :: [Int]+ , x:id _:_ :: [Int]+ , x:id _:xs :: [Int]+ , [x,id _] :: [Int]+ , x:id _:_:_ :: [Int]+ , x:id x:_ :: [Int]+ , x:id 0:_ :: [Int]+ , x:id (id _):_ :: [Int]+ , x:abs _:_ :: [Int]+ , x:negate _:_ :: [Int]+ , x:head _:_ :: [Int]+ , x:_ + _:_ :: [Int]+ , x:insert _ _ :: [Int]+ , x:(_ ++ _) :: [Int]+ , x:(_ ++ xs) :: [Int]+ , x:(_ ++ []) :: [Int]+ , x:(_ ++ (_:_)) :: [Int]+ , x:(xs ++ _) :: [Int]+ , x:([] ++ _) :: [Int]+ , x:((_:_) ++ _) :: [Int]+ , y:_ :: [Int]+ , y:xs :: [Int]+ , y:ys :: [Int]+ , [y] :: [Int]+ , y:[0] :: [Int]+ , y:tail _ :: [Int]+ , y:_:_ :: [Int]+ , y:_:xs :: [Int]+ , [y,_] :: [Int]+ , y:_:_:_ :: [Int]+ , y:x:_ :: [Int]+ , y:0:_ :: [Int]+ , y:id _:_ :: [Int]+ , y:(_ ++ _) :: [Int]+ , z:_ :: [Int]+ , z:xs :: [Int]+ , [z] :: [Int]+ , z:_:_ :: [Int]+ , x':_ :: [Int]+ , 0:_ :: [Int]+ , 0:xs :: [Int]+ , 0:ys :: [Int]+ , 0:zs :: [Int]+ , [0] :: [Int]+ , 0:[0] :: [Int]+ , 0:[1] :: [Int]+ , 0:[0,0] :: [Int]+ , 0:sort _ :: [Int]+ , 0:tail _ :: [Int]+ , 0:tail xs :: [Int]+ , 0:tail [] :: [Int]+ , 0:tail (_:_) :: [Int]+ , 0:_:_ :: [Int]+ , 0:_:xs :: [Int]+ , 0:_:ys :: [Int]+ , [0,_] :: [Int]+ , 0:_:[0] :: [Int]+ , 0:_:tail _ :: [Int]+ , 0:_:_:_ :: [Int]+ , 0:_:_:xs :: [Int]+ , [0,_,_] :: [Int]+ , 0:_:_:_:_ :: [Int]+ , 0:_:x:_ :: [Int]+ , 0:_:0:_ :: [Int]+ , 0:_:id _:_ :: [Int]+ , 0:_:(_ ++ _) :: [Int]+ , 0:x:_ :: [Int]+ , 0:x:xs :: [Int]+ , [0,x] :: [Int]+ , 0:x:_:_ :: [Int]+ , 0:y:_ :: [Int]+ , 0:0:_ :: [Int]+ , 0:0:xs :: [Int]+ , [0,0] :: [Int]+ , 0:0:_:_ :: [Int]+ , 0:1:_ :: [Int]+ , 0:ord _:_ :: [Int]+ , 0:id _:_ :: [Int]+ , 0:id _:xs :: [Int]+ , [0,id _] :: [Int]+ , 0:id _:_:_ :: [Int]+ , 0:id x:_ :: [Int]+ , 0:id 0:_ :: [Int]+ , 0:id (id _):_ :: [Int]+ , 0:abs _:_ :: [Int]+ , 0:negate _:_ :: [Int]+ , 0:head _:_ :: [Int]+ , 0:_ + _:_ :: [Int]+ , 0:insert _ _ :: [Int]+ , 0:(_ ++ _) :: [Int]+ , 0:(_ ++ xs) :: [Int]+ , 0:(_ ++ []) :: [Int]+ , 0:(_ ++ (_:_)) :: [Int]+ , 0:(xs ++ _) :: [Int]+ , 0:([] ++ _) :: [Int]+ , 0:((_:_) ++ _) :: [Int]+ , 1:_ :: [Int]+ , 1:xs :: [Int]+ , 1:ys :: [Int]+ , [1] :: [Int]+ , 1:[0] :: [Int]+ , 1:tail _ :: [Int]+ , 1:_:_ :: [Int]+ , 1:_:xs :: [Int]+ , [1,_] :: [Int]+ , 1:_:_:_ :: [Int]+ , 1:x:_ :: [Int]+ , 1:0:_ :: [Int]+ , 1:id _:_ :: [Int]+ , 1:(_ ++ _) :: [Int]+ , 2:_ :: [Int]+ , (-1):_ :: [Int]+ , (-1):xs :: [Int]+ , [-1] :: [Int]+ , (-1):_:_ :: [Int]+ , f _:_ :: [Int]+ , f _:xs :: [Int]+ , [f _] :: [Int]+ , f _:_:_ :: [Int]+ , f x:_ :: [Int]+ , f 0:_ :: [Int]+ , f (id _):_ :: [Int]+ , g _:_ :: [Int]+ , ord _:_ :: [Int]+ , ord _:xs :: [Int]+ , ord _:ys :: [Int]+ , [ord _] :: [Int]+ , ord _:[0] :: [Int]+ , ord _:tail _ :: [Int]+ , ord _:_:_ :: [Int]+ , ord _:_:xs :: [Int]+ , [ord _,_] :: [Int]+ , ord _:_:_:_ :: [Int]+ , ord _:x:_ :: [Int]+ , ord _:0:_ :: [Int]+ , ord _:id _:_ :: [Int]+ , ord _:(_ ++ _) :: [Int]+ , ord c:_ :: [Int]+ , ord c:xs :: [Int]+ , [ord c] :: [Int]+ , ord c:_:_ :: [Int]+ , ord d:_ :: [Int]+ , ord ' ':_ :: [Int]+ , ord 'a':_ :: [Int]+ , ord 'a':xs :: [Int]+ , [ord 'a'] :: [Int]+ , ord 'a':_:_ :: [Int]+ , id _:_ :: [Int]+ , id _:xs :: [Int]+ , id _:ys :: [Int]+ , id _:zs :: [Int]+ , [id _] :: [Int]+ , id _:[0] :: [Int]+ , id _:[1] :: [Int]+ , id _:[0,0] :: [Int]+ , id _:sort _ :: [Int]+ , id _:tail _ :: [Int]+ , id _:tail xs :: [Int]+ , id _:tail [] :: [Int]+ , id _:tail (_:_) :: [Int]+ , id _:_:_ :: [Int]+ , id _:_:xs :: [Int]+ , id _:_:ys :: [Int]+ , [id _,_] :: [Int]+ , id _:_:[0] :: [Int]+ , id _:_:tail _ :: [Int]+ , id _:_:_:_ :: [Int]+ , id _:_:_:xs :: [Int]+ , [id _,_,_] :: [Int]+ , id _:_:_:_:_ :: [Int]+ , id _:_:x:_ :: [Int]+ , id _:_:0:_ :: [Int]+ , id _:_:id _:_ :: [Int]+ , id _:_:(_ ++ _) :: [Int]+ , id _:x:_ :: [Int]+ , id _:x:xs :: [Int]+ , [id _,x] :: [Int]+ , id _:x:_:_ :: [Int]+ , id _:y:_ :: [Int]+ , id _:0:_ :: [Int]+ , id _:0:xs :: [Int]+ , [id _,0] :: [Int]+ , id _:0:_:_ :: [Int]+ , id _:1:_ :: [Int]+ , id _:ord _:_ :: [Int]+ , id _:id _:_ :: [Int]+ , id _:id _:xs :: [Int]+ , [id _,id _] :: [Int]+ , id _:id _:_:_ :: [Int]+ , id _:id x:_ :: [Int]+ , id _:id 0:_ :: [Int]+ , id _:id (id _):_ :: [Int]+ , id _:abs _:_ :: [Int]+ , id _:negate _:_ :: [Int]+ , id _:head _:_ :: [Int]+ , id _:_ + _:_ :: [Int]+ , id _:insert _ _ :: [Int]+ , id _:(_ ++ _) :: [Int]+ , id _:(_ ++ xs) :: [Int]+ , id _:(_ ++ []) :: [Int]+ , id _:(_ ++ (_:_)) :: [Int]+ , id _:(xs ++ _) :: [Int]+ , id _:([] ++ _) :: [Int]+ , id _:((_:_) ++ _) :: [Int]+ , id x:_ :: [Int]+ , id x:xs :: [Int]+ , id x:ys :: [Int]+ , [id x] :: [Int]+ , id x:[0] :: [Int]+ , id x:tail _ :: [Int]+ , id x:_:_ :: [Int]+ , id x:_:xs :: [Int]+ , [id x,_] :: [Int]+ , id x:_:_:_ :: [Int]+ , id x:x:_ :: [Int]+ , id x:0:_ :: [Int]+ , id x:id _:_ :: [Int]+ , id x:(_ ++ _) :: [Int]+ , id y:_ :: [Int]+ , id y:xs :: [Int]+ , [id y] :: [Int]+ , id y:_:_ :: [Int]+ , id z:_ :: [Int]+ , id 0:_ :: [Int]+ , id 0:xs :: [Int]+ , id 0:ys :: [Int]+ , [id 0] :: [Int]+ , id 0:[0] :: [Int]+ , id 0:tail _ :: [Int]+ , id 0:_:_ :: [Int]+ , id 0:_:xs :: [Int]+ , [id 0,_] :: [Int]+ , id 0:_:_:_ :: [Int]+ , id 0:x:_ :: [Int]+ , id 0:0:_ :: [Int]+ , id 0:id _:_ :: [Int]+ , id 0:(_ ++ _) :: [Int]+ , id 1:_ :: [Int]+ , id 1:xs :: [Int]+ , [id 1] :: [Int]+ , id 1:_:_ :: [Int]+ , id (-1):_ :: [Int]+ , id (f _):_ :: [Int]+ , id (ord _):_ :: [Int]+ , id (ord _):xs :: [Int]+ , [id (ord _)] :: [Int]+ , id (ord _):_:_ :: [Int]+ , id (ord c):_ :: [Int]+ , id (ord 'a'):_ :: [Int]+ , id (id _):_ :: [Int]+ , id (id _):xs :: [Int]+ , id (id _):ys :: [Int]+ , [id (id _)] :: [Int]+ , id (id _):[0] :: [Int]+ , id (id _):tail _ :: [Int]+ , id (id _):_:_ :: [Int]+ , id (id _):_:xs :: [Int]+ , [id (id _),_] :: [Int]+ , id (id _):_:_:_ :: [Int]+ , id (id _):x:_ :: [Int]+ , id (id _):0:_ :: [Int]+ , id (id _):id _:_ :: [Int]+ , id (id _):(_ ++ _) :: [Int]+ , id (id x):_ :: [Int]+ , id (id x):xs :: [Int]+ , [id (id x)] :: [Int]+ , id (id x):_:_ :: [Int]+ , id (id y):_ :: [Int]+ , id (id 0):_ :: [Int]+ , id (id 0):xs :: [Int]+ , [id (id 0)] :: [Int]+ , id (id 0):_:_ :: [Int]+ , id (id 1):_ :: [Int]+ , id (id (ord _)):_ :: [Int]+ , id (id (id _)):_ :: [Int]+ , id (id (id _)):xs :: [Int]+ , [id (id (id _))] :: [Int]+ , id (id (id _)):_:_ :: [Int]+ , id (id (id x)):_ :: [Int]+ , id (id (id 0)):_ :: [Int]+ , id (id (id (id _))):_ :: [Int]+ , id (id (abs _)):_ :: [Int]+ , id (id (negate _)):_ :: [Int]+ , id (id (head _)):_ :: [Int]+ , id (id (_ + _)):_ :: [Int]+ , id (abs _):_ :: [Int]+ , id (abs _):xs :: [Int]+ , [id (abs _)] :: [Int]+ , id (abs _):_:_ :: [Int]+ , id (abs x):_ :: [Int]+ , id (abs 0):_ :: [Int]+ , id (abs (id _)):_ :: [Int]+ , id (negate _):_ :: [Int]+ , id (negate _):xs :: [Int]+ , [id (negate _)] :: [Int]+ , id (negate _):_:_ :: [Int]+ , id (negate x):_ :: [Int]+ , id (negate 0):_ :: [Int]+ , id (negate (id _)):_ :: [Int]+ , id (head _):_ :: [Int]+ , id (head _):xs :: [Int]+ , [id (head _)] :: [Int]+ , id (head _):_:_ :: [Int]+ , id (head xs):_ :: [Int]+ , id (head []):_ :: [Int]+ , id (head (_:_)):_ :: [Int]+ , id (_ * _):_ :: [Int]+ , id (_ + _):_ :: [Int]+ , id (_ + _):xs :: [Int]+ , [id (_ + _)] :: [Int]+ , id (_ + _):_:_ :: [Int]+ , id (_ + x):_ :: [Int]+ , id (_ + 0):_ :: [Int]+ , id (_ + id _):_ :: [Int]+ , id (x + _):_ :: [Int]+ , id (0 + _):_ :: [Int]+ , id (id _ + _):_ :: [Int]+ , abs _:_ :: [Int]+ , abs _:xs :: [Int]+ , abs _:ys :: [Int]+ , [abs _] :: [Int]+ , abs _:[0] :: [Int]+ , abs _:tail _ :: [Int]+ , abs _:_:_ :: [Int]+ , abs _:_:xs :: [Int]+ , [abs _,_] :: [Int]+ , abs _:_:_:_ :: [Int]+ , abs _:x:_ :: [Int]+ , abs _:0:_ :: [Int]+ , abs _:id _:_ :: [Int]+ , abs _:(_ ++ _) :: [Int]+ , abs x:_ :: [Int]+ , abs x:xs :: [Int]+ , [abs x] :: [Int]+ , abs x:_:_ :: [Int]+ , abs y:_ :: [Int]+ , abs 0:_ :: [Int]+ , abs 0:xs :: [Int]+ , [abs 0] :: [Int]+ , abs 0:_:_ :: [Int]+ , abs 1:_ :: [Int]+ , abs (ord _):_ :: [Int]+ , abs (id _):_ :: [Int]+ , abs (id _):xs :: [Int]+ , [abs (id _)] :: [Int]+ , abs (id _):_:_ :: [Int]+ , abs (id x):_ :: [Int]+ , abs (id 0):_ :: [Int]+ , abs (id (id _)):_ :: [Int]+ , abs (abs _):_ :: [Int]+ , abs (negate _):_ :: [Int]+ , abs (head _):_ :: [Int]+ , abs (_ + _):_ :: [Int]+ , negate _:_ :: [Int]+ , negate _:xs :: [Int]+ , negate _:ys :: [Int]+ , [negate _] :: [Int]+ , negate _:[0] :: [Int]+ , negate _:tail _ :: [Int]+ , negate _:_:_ :: [Int]+ , negate _:_:xs :: [Int]+ , [negate _,_] :: [Int]+ , negate _:_:_:_ :: [Int]+ , negate _:x:_ :: [Int]+ , negate _:0:_ :: [Int]+ , negate _:id _:_ :: [Int]+ , negate _:(_ ++ _) :: [Int]+ , negate x:_ :: [Int]+ , negate x:xs :: [Int]+ , [negate x] :: [Int]+ , negate x:_:_ :: [Int]+ , negate y:_ :: [Int]+ , negate 0:_ :: [Int]+ , negate 0:xs :: [Int]+ , [negate 0] :: [Int]+ , negate 0:_:_ :: [Int]+ , negate 1:_ :: [Int]+ , negate (ord _):_ :: [Int]+ , negate (id _):_ :: [Int]+ , negate (id _):xs :: [Int]+ , [negate (id _)] :: [Int]+ , negate (id _):_:_ :: [Int]+ , negate (id x):_ :: [Int]+ , negate (id 0):_ :: [Int]+ , negate (id (id _)):_ :: [Int]+ , negate (abs _):_ :: [Int]+ , negate (negate _):_ :: [Int]+ , negate (head _):_ :: [Int]+ , negate (_ + _):_ :: [Int]+ , head _:_ :: [Int]+ , head _:xs :: [Int]+ , head _:ys :: [Int]+ , [head _] :: [Int]+ , head _:[0] :: [Int]+ , head _:tail _ :: [Int]+ , head _:_:_ :: [Int]+ , head _:_:xs :: [Int]+ , [head _,_] :: [Int]+ , head _:_:_:_ :: [Int]+ , head _:x:_ :: [Int]+ , head _:0:_ :: [Int]+ , head _:id _:_ :: [Int]+ , head _:(_ ++ _) :: [Int]+ , head xs:_ :: [Int]+ , head xs:xs :: [Int]+ , [head xs] :: [Int]+ , head xs:_:_ :: [Int]+ , head ys:_ :: [Int]+ , head []:_ :: [Int]+ , head []:xs :: [Int]+ , [head []] :: [Int]+ , head []:_:_ :: [Int]+ , head [0]:_ :: [Int]+ , head (tail _):_ :: [Int]+ , head (_:_):_ :: [Int]+ , head (_:_):xs :: [Int]+ , [head (_:_)] :: [Int]+ , head (_:_):_:_ :: [Int]+ , head (_:xs):_ :: [Int]+ , head [_]:_ :: [Int]+ , head (_:_:_):_ :: [Int]+ , head (x:_):_ :: [Int]+ , head (0:_):_ :: [Int]+ , head (id _:_):_ :: [Int]+ , head (_ ++ _):_ :: [Int]+ , _ * _:_ :: [Int]+ , _ * _:xs :: [Int]+ , [_ * _] :: [Int]+ , _ * _:_:_ :: [Int]+ , _ * x:_ :: [Int]+ , _ * 0:_ :: [Int]+ , _ * id _:_ :: [Int]+ , x * _:_ :: [Int]+ , 0 * _:_ :: [Int]+ , id _ * _:_ :: [Int]+ , _ + _:_ :: [Int]+ , _ + _:xs :: [Int]+ , _ + _:ys :: [Int]+ , [_ + _] :: [Int]+ , _ + _:[0] :: [Int]+ , _ + _:tail _ :: [Int]+ , _ + _:_:_ :: [Int]+ , _ + _:_:xs :: [Int]+ , [_ + _,_] :: [Int]+ , _ + _:_:_:_ :: [Int]+ , _ + _:x:_ :: [Int]+ , _ + _:0:_ :: [Int]+ , _ + _:id _:_ :: [Int]+ , _ + _:(_ ++ _) :: [Int]+ , _ + x:_ :: [Int]+ , _ + x:xs :: [Int]+ , [_ + x] :: [Int]+ , _ + x:_:_ :: [Int]+ , _ + y:_ :: [Int]+ , _ + 0:_ :: [Int]+ , _ + 0:xs :: [Int]+ , [_ + 0] :: [Int]+ , _ + 0:_:_ :: [Int]+ , _ + 1:_ :: [Int]+ , _ + ord _:_ :: [Int]+ , _ + id _:_ :: [Int]+ , _ + id _:xs :: [Int]+ , [_ + id _] :: [Int]+ , _ + id _:_:_ :: [Int]+ , _ + id x:_ :: [Int]+ , _ + id 0:_ :: [Int]+ , _ + id (id _):_ :: [Int]+ , _ + abs _:_ :: [Int]+ , _ + negate _:_ :: [Int]+ , _ + head _:_ :: [Int]+ , _ + (_ + _):_ :: [Int]+ , x + _:_ :: [Int]+ , x + _:xs :: [Int]+ , [x + _] :: [Int]+ , x + _:_:_ :: [Int]+ , x + x:_ :: [Int]+ , x + 0:_ :: [Int]+ , x + id _:_ :: [Int]+ , y + _:_ :: [Int]+ , 0 + _:_ :: [Int]+ , 0 + _:xs :: [Int]+ , [0 + _] :: [Int]+ , 0 + _:_:_ :: [Int]+ , 0 + x:_ :: [Int]+ , 0 + 0:_ :: [Int]+ , 0 + id _:_ :: [Int]+ , 1 + _:_ :: [Int]+ , ord _ + _:_ :: [Int]+ , id _ + _:_ :: [Int]+ , id _ + _:xs :: [Int]+ , [id _ + _] :: [Int]+ , id _ + _:_:_ :: [Int]+ , id _ + x:_ :: [Int]+ , id _ + 0:_ :: [Int]+ , id _ + id _:_ :: [Int]+ , id x + _:_ :: [Int]+ , id 0 + _:_ :: [Int]+ , id (id _) + _:_ :: [Int]+ , abs _ + _:_ :: [Int]+ , negate _ + _:_ :: [Int]+ , head _ + _:_ :: [Int]+ , (_ + _) + _:_ :: [Int]+ , insert _ _ :: [Int]+ , insert _ xs :: [Int]+ , insert _ ys :: [Int]+ , insert _ [] :: [Int]+ , insert _ [0] :: [Int]+ , insert _ (tail _) :: [Int]+ , insert _ (_:_) :: [Int]+ , insert _ (_:xs) :: [Int]+ , insert _ [_] :: [Int]+ , insert _ (_:_:_) :: [Int]+ , insert _ (x:_) :: [Int]+ , insert _ (0:_) :: [Int]+ , insert _ (id _:_) :: [Int]+ , insert _ (_ ++ _) :: [Int]+ , insert x _ :: [Int]+ , insert x xs :: [Int]+ , insert x [] :: [Int]+ , insert x (_:_) :: [Int]+ , insert y _ :: [Int]+ , insert 0 _ :: [Int]+ , insert 0 xs :: [Int]+ , insert 0 [] :: [Int]+ , insert 0 (_:_) :: [Int]+ , insert 1 _ :: [Int]+ , insert (ord _) _ :: [Int]+ , insert (id _) _ :: [Int]+ , insert (id _) xs :: [Int]+ , insert (id _) [] :: [Int]+ , insert (id _) (_:_) :: [Int]+ , insert (id x) _ :: [Int]+ , insert (id 0) _ :: [Int]+ , insert (id (id _)) _ :: [Int]+ , insert (abs _) _ :: [Int]+ , insert (negate _) _ :: [Int]+ , insert (head _) _ :: [Int]+ , insert (_ + _) _ :: [Int]+ , _ ++ _ :: [Int]+ , _ ++ xs :: [Int]+ , _ ++ ys :: [Int]+ , _ ++ zs :: [Int]+ , _ ++ [] :: [Int]+ , _ ++ [0] :: [Int]+ , _ ++ [1] :: [Int]+ , _ ++ [0,0] :: [Int]+ , _ ++ sort _ :: [Int]+ , _ ++ tail _ :: [Int]+ , _ ++ tail xs :: [Int]+ , _ ++ tail [] :: [Int]+ , _ ++ tail (_:_) :: [Int]+ , _ ++ (_:_) :: [Int]+ , _ ++ (_:xs) :: [Int]+ , _ ++ (_:ys) :: [Int]+ , _ ++ [_] :: [Int]+ , _ ++ (_:[0]) :: [Int]+ , _ ++ (_:tail _) :: [Int]+ , _ ++ (_:_:_) :: [Int]+ , _ ++ (_:_:xs) :: [Int]+ , _ ++ [_,_] :: [Int]+ , _ ++ (_:_:_:_) :: [Int]+ , _ ++ (_:x:_) :: [Int]+ , _ ++ (_:0:_) :: [Int]+ , _ ++ (_:id _:_) :: [Int]+ , _ ++ (_:(_ ++ _)) :: [Int]+ , _ ++ (x:_) :: [Int]+ , _ ++ (x:xs) :: [Int]+ , _ ++ [x] :: [Int]+ , _ ++ (x:_:_) :: [Int]+ , _ ++ (y:_) :: [Int]+ , _ ++ (0:_) :: [Int]+ , _ ++ (0:xs) :: [Int]+ , _ ++ [0] :: [Int]+ , _ ++ (0:_:_) :: [Int]+ , _ ++ (1:_) :: [Int]+ , _ ++ (ord _:_) :: [Int]+ , _ ++ (id _:_) :: [Int]+ , _ ++ (id _:xs) :: [Int]+ , _ ++ [id _] :: [Int]+ , _ ++ (id _:_:_) :: [Int]+ , _ ++ (id x:_) :: [Int]+ , _ ++ (id 0:_) :: [Int]+ , _ ++ (id (id _):_) :: [Int]+ , _ ++ (abs _:_) :: [Int]+ , _ ++ (negate _:_) :: [Int]+ , _ ++ (head _:_) :: [Int]+ , _ ++ (_ + _:_) :: [Int]+ , _ ++ insert _ _ :: [Int]+ , _ ++ (_ ++ _) :: [Int]+ , _ ++ (_ ++ xs) :: [Int]+ , _ ++ (_ ++ []) :: [Int]+ , _ ++ (_ ++ (_:_)) :: [Int]+ , _ ++ (xs ++ _) :: [Int]+ , _ ++ ([] ++ _) :: [Int]+ , _ ++ ((_:_) ++ _) :: [Int]+ , xs ++ _ :: [Int]+ , xs ++ xs :: [Int]+ , xs ++ ys :: [Int]+ , xs ++ [] :: [Int]+ , xs ++ [0] :: [Int]+ , xs ++ tail _ :: [Int]+ , xs ++ (_:_) :: [Int]+ , xs ++ (_:xs) :: [Int]+ , xs ++ [_] :: [Int]+ , xs ++ (_:_:_) :: [Int]+ , xs ++ (x:_) :: [Int]+ , xs ++ (0:_) :: [Int]+ , xs ++ (id _:_) :: [Int]+ , xs ++ (_ ++ _) :: [Int]+ , ys ++ _ :: [Int]+ , ys ++ xs :: [Int]+ , ys ++ [] :: [Int]+ , ys ++ (_:_) :: [Int]+ , zs ++ _ :: [Int]+ , [] ++ _ :: [Int]+ , [] ++ xs :: [Int]+ , [] ++ ys :: [Int]+ , [] ++ [] :: [Int]+ , [] ++ [0] :: [Int]+ , [] ++ tail _ :: [Int]+ , [] ++ (_:_) :: [Int]+ , [] ++ (_:xs) :: [Int]+ , [] ++ [_] :: [Int]+ , [] ++ (_:_:_) :: [Int]+ , [] ++ (x:_) :: [Int]+ , [] ++ (0:_) :: [Int]+ , [] ++ (id _:_) :: [Int]+ , [] ++ (_ ++ _) :: [Int]+ , [0] ++ _ :: [Int]+ , [0] ++ xs :: [Int]+ , [0] ++ [] :: [Int]+ , [0] ++ (_:_) :: [Int]+ , [1] ++ _ :: [Int]+ , [0,0] ++ _ :: [Int]+ , sort _ ++ _ :: [Int]+ , tail _ ++ _ :: [Int]+ , tail _ ++ xs :: [Int]+ , tail _ ++ [] :: [Int]+ , tail _ ++ (_:_) :: [Int]+ , tail xs ++ _ :: [Int]+ , tail [] ++ _ :: [Int]+ , tail (_:_) ++ _ :: [Int]+ , (_:_) ++ _ :: [Int]+ , (_:_) ++ xs :: [Int]+ , (_:_) ++ ys :: [Int]+ , (_:_) ++ [] :: [Int]+ , (_:_) ++ [0] :: [Int]+ , (_:_) ++ tail _ :: [Int]+ , (_:_) ++ (_:_) :: [Int]+ , (_:_) ++ (_:xs) :: [Int]+ , (_:_) ++ [_] :: [Int]+ , (_:_) ++ (_:_:_) :: [Int]+ , (_:_) ++ (x:_) :: [Int]+ , (_:_) ++ (0:_) :: [Int]+ , (_:_) ++ (id _:_) :: [Int]+ , (_:_) ++ (_ ++ _) :: [Int]+ , (_:xs) ++ _ :: [Int]+ , (_:xs) ++ xs :: [Int]+ , (_:xs) ++ [] :: [Int]+ , (_:xs) ++ (_:_) :: [Int]+ , (_:ys) ++ _ :: [Int]+ , [_] ++ _ :: [Int]+ , [_] ++ xs :: [Int]+ , [_] ++ [] :: [Int]+ , [_] ++ (_:_) :: [Int]+ , (_:[0]) ++ _ :: [Int]+ , (_:tail _) ++ _ :: [Int]+ , (_:_:_) ++ _ :: [Int]+ , (_:_:_) ++ xs :: [Int]+ , (_:_:_) ++ [] :: [Int]+ , (_:_:_) ++ (_:_) :: [Int]+ , (_:_:xs) ++ _ :: [Int]+ , [_,_] ++ _ :: [Int]+ , (_:_:_:_) ++ _ :: [Int]+ , (_:x:_) ++ _ :: [Int]+ , (_:0:_) ++ _ :: [Int]+ , (_:id _:_) ++ _ :: [Int]+ , (_:(_ ++ _)) ++ _ :: [Int]+ , (x:_) ++ _ :: [Int]+ , (x:_) ++ xs :: [Int]+ , (x:_) ++ [] :: [Int]+ , (x:_) ++ (_:_) :: [Int]+ , (x:xs) ++ _ :: [Int]+ , [x] ++ _ :: [Int]+ , (x:_:_) ++ _ :: [Int]+ , (y:_) ++ _ :: [Int]+ , (0:_) ++ _ :: [Int]+ , (0:_) ++ xs :: [Int]+ , (0:_) ++ [] :: [Int]+ , (0:_) ++ (_:_) :: [Int]+ , (0:xs) ++ _ :: [Int]+ , [0] ++ _ :: [Int]+ , (0:_:_) ++ _ :: [Int]+ , (1:_) ++ _ :: [Int]+ , (ord _:_) ++ _ :: [Int]+ , (id _:_) ++ _ :: [Int]+ , (id _:_) ++ xs :: [Int]+ , (id _:_) ++ [] :: [Int]+ , (id _:_) ++ (_:_) :: [Int]+ , (id _:xs) ++ _ :: [Int]+ , [id _] ++ _ :: [Int]+ , (id _:_:_) ++ _ :: [Int]+ , (id x:_) ++ _ :: [Int]+ , (id 0:_) ++ _ :: [Int]+ , (id (id _):_) ++ _ :: [Int]+ , (abs _:_) ++ _ :: [Int]+ , (negate _:_) ++ _ :: [Int]+ , (head _:_) ++ _ :: [Int]+ , (_ + _:_) ++ _ :: [Int]+ , insert _ _ ++ _ :: [Int]+ , (_ ++ _) ++ _ :: [Int]+ , (_ ++ _) ++ xs :: [Int]+ , (_ ++ _) ++ [] :: [Int]+ , (_ ++ _) ++ (_:_) :: [Int]+ , (_ ++ xs) ++ _ :: [Int]+ , (_ ++ []) ++ _ :: [Int]+ , (_ ++ (_:_)) ++ _ :: [Int]+ , (xs ++ _) ++ _ :: [Int]+ , ([] ++ _) ++ _ :: [Int]+ , ((_:_) ++ _) ++ _ :: [Int]+ ]++sortBy compareQuickly $ take 5040 $ list :: [ Expr ] =+ [ False :: Bool+ , True :: Bool+ , _ :: Bool+ , p :: Bool+ , p' :: Bool+ , q :: Bool+ , q' :: Bool+ , r :: Bool+ , ' ' :: Char+ , 'A' :: Char+ , 'a' :: Char+ , 'b' :: Char+ , 'c' :: Char+ , _ :: Char+ , c :: Char+ , c' :: Char+ , d :: Char+ , d' :: Char+ , e :: Char+ , -1 :: Int+ , -2 :: Int+ , -3 :: Int+ , 0 :: Int+ , 1 :: Int+ , 2 :: Int+ , 3 :: Int+ , _ :: Int+ , x :: Int+ , x' :: Int+ , x'' :: Int+ , y :: Int+ , y' :: Int+ , z :: Int+ , z' :: Int+ , [-1,0] :: [Int]+ , [-1] :: [Int]+ , [0,-1] :: [Int]+ , [0,0,0,0] :: [Int]+ , [0,0,0] :: [Int]+ , [0,0,1] :: [Int]+ , [0,0] :: [Int]+ , [0,1,0] :: [Int]+ , [0,1] :: [Int]+ , [0] :: [Int]+ , [1,0,0] :: [Int]+ , [1,0] :: [Int]+ , [1,1] :: [Int]+ , [1] :: [Int]+ , [2] :: [Int]+ , [] :: [Int]+ , _ :: [Int]+ , xs :: [Int]+ , xs' :: [Int]+ , ys :: [Int]+ , ys' :: [Int]+ , zs :: [Int]+ , not :: Bool -> Bool+ , f :: Int -> Int+ , g :: Int -> Int+ , h :: Int -> Int+ , abs :: Int -> Int+ , id :: Int -> Int+ , negate :: Int -> Int+ , (&&) :: Bool -> Bool -> Bool+ , (==>) :: Bool -> Bool -> Bool+ , (||) :: Bool -> Bool -> Bool+ , (*) :: Int -> Int -> Int+ , (+) :: Int -> Int -> Int+ , not False :: Bool+ , not True :: Bool+ , not _ :: Bool+ , not p :: Bool+ , not p' :: Bool+ , not q :: Bool+ , not r :: Bool+ , not (not False) :: Bool+ , not (not True) :: Bool+ , not (not _) :: Bool+ , not (not p) :: Bool+ , not (not q) :: Bool+ , not (not r) :: Bool+ , not (not (not False)) :: Bool+ , not (not (not True)) :: Bool+ , not (not (not _)) :: Bool+ , not (not (not p)) :: Bool+ , not (not (not q)) :: Bool+ , not (not (not (not False))) :: Bool+ , not (not (not (not True))) :: Bool+ , not (not (not (not _))) :: Bool+ , not (not (not (not p))) :: Bool+ , not (not (not (not (not _)))) :: Bool+ , not (not (not (_ || _))) :: Bool+ , not (not (even _)) :: Bool+ , not (not (odd _)) :: Bool+ , not (not (_ && _)) :: Bool+ , not (not (_ == _)) :: Bool+ , not (not (False || _)) :: Bool+ , not (not (True || _)) :: Bool+ , not (not (_ || False)) :: Bool+ , not (not (_ || True)) :: Bool+ , not (not (_ || _)) :: Bool+ , not (not (_ || p)) :: Bool+ , not (not (_ || not _)) :: Bool+ , not (not (p || _)) :: Bool+ , not (not (not _ || _)) :: Bool+ , not (not (_ == _)) :: Bool+ , not (not (elem _ _)) :: Bool+ , not (even 0) :: Bool+ , not (even _) :: Bool+ , not (even x) :: Bool+ , not (even (id _)) :: Bool+ , not (odd 0) :: Bool+ , not (odd _) :: Bool+ , not (odd x) :: Bool+ , not (odd (id _)) :: Bool+ , not (False && _) :: Bool+ , not (True && _) :: Bool+ , not (_ && False) :: Bool+ , not (_ && True) :: Bool+ , not (_ && _) :: Bool+ , not (_ && p) :: Bool+ , not (_ && not _) :: Bool+ , not (p && _) :: Bool+ , not (not _ && _) :: Bool+ , not (_ <= _) :: Bool+ , not (False == _) :: Bool+ , not (True == _) :: Bool+ , not (_ == False) :: Bool+ , not (_ == True) :: Bool+ , not (_ == _) :: Bool+ , not (_ == p) :: Bool+ , not (_ == not _) :: Bool+ , not (p == _) :: Bool+ , not (not _ == _) :: Bool+ , not (_ ==> _) :: Bool+ , not (False || False) :: Bool+ , not (False || True) :: Bool+ , not (False || _) :: Bool+ , not (False || p) :: Bool+ , not (False || not _) :: Bool+ , not (True || False) :: Bool+ , not (True || True) :: Bool+ , not (True || _) :: Bool+ , not (True || p) :: Bool+ , not (True || not _) :: Bool+ , not (_ || False) :: Bool+ , not (_ || True) :: Bool+ , not (_ || _) :: Bool+ , not (_ || p) :: Bool+ , not (_ || q) :: Bool+ , not (_ || not False) :: Bool+ , not (_ || not True) :: Bool+ , not (_ || not _) :: Bool+ , not (_ || not p) :: Bool+ , not (_ || not (not _)) :: Bool+ , not (_ || (_ || _)) :: Bool+ , not (p || False) :: Bool+ , not (p || True) :: Bool+ , not (p || _) :: Bool+ , not (p || p) :: Bool+ , not (p || not _) :: Bool+ , not (q || _) :: Bool+ , not (not False || _) :: Bool+ , not (not True || _) :: Bool+ , not (not _ || False) :: Bool+ , not (not _ || True) :: Bool+ , not (not _ || _) :: Bool+ , not (not _ || p) :: Bool+ , not (not _ || not _) :: Bool+ , not (not p || _) :: Bool+ , not (not (not _) || _) :: Bool+ , not ((_ || _) || _) :: Bool+ , not (_ <= _) :: Bool+ , not (0 == _) :: Bool+ , not (_ == 0) :: Bool+ , not (_ == _) :: Bool+ , not (_ == x) :: Bool+ , not (_ == id _) :: Bool+ , not (x == _) :: Bool+ , not (id _ == _) :: Bool+ , not (elem 0 _) :: Bool+ , not (elem _ []) :: Bool+ , not (elem _ _) :: Bool+ , not (elem _ xs) :: Bool+ , not (elem _ (_:_)) :: Bool+ , not (elem x _) :: Bool+ , not (elem (id _) _) :: Bool+ , ord ' ' :: Int+ , ord 'A' :: Int+ , ord 'a' :: Int+ , ord 'b' :: Int+ , ord _ :: Int+ , ord c :: Int+ , ord c' :: Int+ , ord d :: Int+ , ord e :: Int+ , even 0 :: Bool+ , even 1 :: Bool+ , even _ :: Bool+ , even x :: Bool+ , even y :: Bool+ , even (ord _) :: Bool+ , even (abs _) :: Bool+ , even (id 0) :: Bool+ , even (id _) :: Bool+ , even (id x) :: Bool+ , even (id (id _)) :: Bool+ , even (negate _) :: Bool+ , even (head _) :: Bool+ , even (_ + _) :: Bool+ , odd 0 :: Bool+ , odd 1 :: Bool+ , odd _ :: Bool+ , odd x :: Bool+ , odd y :: Bool+ , odd (ord _) :: Bool+ , odd (abs _) :: Bool+ , odd (id 0) :: Bool+ , odd (id _) :: Bool+ , odd (id x) :: Bool+ , odd (id (id _)) :: Bool+ , odd (negate _) :: Bool+ , odd (head _) :: Bool+ , odd (_ + _) :: Bool+ , f (-1) :: Int+ , f 0 :: Int+ , f 1 :: Int+ , f _ :: Int+ , f x :: Int+ , f y :: Int+ , f z :: Int+ , f (ord 'a') :: Int+ , f (ord _) :: Int+ , f (ord c) :: Int+ , f (f _) :: Int+ , f (abs 0) :: Int+ , f (abs _) :: Int+ , f (abs x) :: Int+ , f (abs (id _)) :: Int+ , f (id 0) :: Int+ , f (id 1) :: Int+ , f (id _) :: Int+ , f (id x) :: Int+ , f (id y) :: Int+ , f (id (ord _)) :: Int+ , f (id (abs _)) :: Int+ , f (id (id 0)) :: Int+ , f (id (id _)) :: Int+ , f (id (id x)) :: Int+ , f (id (id (id _))) :: Int+ , f (id (negate _)) :: Int+ , f (id (head _)) :: Int+ , f (id (_ + _)) :: Int+ , f (negate 0) :: Int+ , f (negate _) :: Int+ , f (negate x) :: Int+ , f (negate (id _)) :: Int+ , f (head []) :: Int+ , f (head _) :: Int+ , f (head xs) :: Int+ , f (head (_:_)) :: Int+ , f (_ * _) :: Int+ , f (0 + _) :: Int+ , f (_ + 0) :: Int+ , f (_ + _) :: Int+ , f (_ + x) :: Int+ , f (_ + id _) :: Int+ , f (x + _) :: Int+ , f (id _ + _) :: Int+ , f' _ :: Int+ , g 0 :: Int+ , g 1 :: Int+ , g _ :: Int+ , g x :: Int+ , g y :: Int+ , g (ord _) :: Int+ , g (abs _) :: Int+ , g (id 0) :: Int+ , g (id _) :: Int+ , g (id x) :: Int+ , g (id (id _)) :: Int+ , g (negate _) :: Int+ , g (head _) :: Int+ , g (_ + _) :: Int+ , h 0 :: Int+ , h _ :: Int+ , h x :: Int+ , h (id _) :: Int+ , abs (-1) :: Int+ , abs 0 :: Int+ , abs 1 :: Int+ , abs 2 :: Int+ , abs _ :: Int+ , abs x :: Int+ , abs x' :: Int+ , abs y :: Int+ , abs z :: Int+ , abs (ord ' ') :: Int+ , abs (ord 'a') :: Int+ , abs (ord _) :: Int+ , abs (ord c) :: Int+ , abs (ord d) :: Int+ , abs (f 0) :: Int+ , abs (f _) :: Int+ , abs (f x) :: Int+ , abs (f (id _)) :: Int+ , abs (g _) :: Int+ , abs (abs 0) :: Int+ , abs (abs 1) :: Int+ , abs (abs _) :: Int+ , abs (abs x) :: Int+ , abs (abs y) :: Int+ , abs (abs (ord _)) :: Int+ , abs (abs (abs _)) :: Int+ , abs (abs (id 0)) :: Int+ , abs (abs (id _)) :: Int+ , abs (abs (id x)) :: Int+ , abs (abs (id (id _))) :: Int+ , abs (abs (negate _)) :: Int+ , abs (abs (head _)) :: Int+ , abs (abs (_ + _)) :: Int+ , abs (id (-1)) :: Int+ , abs (id 0) :: Int+ , abs (id 1) :: Int+ , abs (id _) :: Int+ , abs (id x) :: Int+ , abs (id y) :: Int+ , abs (id z) :: Int+ , abs (id (ord 'a')) :: Int+ , abs (id (ord _)) :: Int+ , abs (id (ord c)) :: Int+ , abs (id (f _)) :: Int+ , abs (id (abs 0)) :: Int+ , abs (id (abs _)) :: Int+ , abs (id (abs x)) :: Int+ , abs (id (abs (id _))) :: Int+ , abs (id (id 0)) :: Int+ , abs (id (id 1)) :: Int+ , abs (id (id _)) :: Int+ , abs (id (id x)) :: Int+ , abs (id (id y)) :: Int+ , abs (id (id (ord _))) :: Int+ , abs (id (id (abs _))) :: Int+ , abs (id (id (id 0))) :: Int+ , abs (id (id (id _))) :: Int+ , abs (id (id (id x))) :: Int+ , abs (id (id (id (id _)))) :: Int+ , abs (id (id (negate _))) :: Int+ , abs (id (id (head _))) :: Int+ , abs (id (id (_ + _))) :: Int+ , abs (id (negate 0)) :: Int+ , abs (id (negate _)) :: Int+ , abs (id (negate x)) :: Int+ , abs (id (negate (id _))) :: Int+ , abs (id (head [])) :: Int+ , abs (id (head _)) :: Int+ , abs (id (head xs)) :: Int+ , abs (id (head (_:_))) :: Int+ , abs (id (_ * _)) :: Int+ , abs (id (0 + _)) :: Int+ , abs (id (_ + 0)) :: Int+ , abs (id (_ + _)) :: Int+ , abs (id (_ + x)) :: Int+ , abs (id (_ + id _)) :: Int+ , abs (id (x + _)) :: Int+ , abs (id (id _ + _)) :: Int+ , abs (negate 0) :: Int+ , abs (negate 1) :: Int+ , abs (negate _) :: Int+ , abs (negate x) :: Int+ , abs (negate y) :: Int+ , abs (negate (ord _)) :: Int+ , abs (negate (abs _)) :: Int+ , abs (negate (id 0)) :: Int+ , abs (negate (id _)) :: Int+ , abs (negate (id x)) :: Int+ , abs (negate (id (id _))) :: Int+ , abs (negate (negate _)) :: Int+ , abs (negate (head _)) :: Int+ , abs (negate (_ + _)) :: Int+ , abs (head [0]) :: Int+ , abs (head []) :: Int+ , abs (head _) :: Int+ , abs (head xs) :: Int+ , abs (head ys) :: Int+ , abs (head (tail _)) :: Int+ , abs (head (0:_)) :: Int+ , abs (head [_]) :: Int+ , abs (head (_:_)) :: Int+ , abs (head (_:xs)) :: Int+ , abs (head (_:_:_)) :: Int+ , abs (head (x:_)) :: Int+ , abs (head (id _:_)) :: Int+ , abs (head (_ ++ _)) :: Int+ , abs (0 * _) :: Int+ , abs (_ * 0) :: Int+ , abs (_ * _) :: Int+ , abs (_ * x) :: Int+ , abs (_ * id _) :: Int+ , abs (x * _) :: Int+ , abs (id _ * _) :: Int+ , abs (0 + 0) :: Int+ , abs (0 + _) :: Int+ , abs (0 + x) :: Int+ , abs (0 + id _) :: Int+ , abs (1 + _) :: Int+ , abs (_ + 0) :: Int+ , abs (_ + 1) :: Int+ , abs (_ + _) :: Int+ , abs (_ + x) :: Int+ , abs (_ + y) :: Int+ , abs (_ + ord _) :: Int+ , abs (_ + abs _) :: Int+ , abs (_ + id 0) :: Int+ , abs (_ + id _) :: Int+ , abs (_ + id x) :: Int+ , abs (_ + id (id _)) :: Int+ , abs (_ + negate _) :: Int+ , abs (_ + head _) :: Int+ , abs (_ + (_ + _)) :: Int+ , abs (x + 0) :: Int+ , abs (x + _) :: Int+ , abs (x + x) :: Int+ , abs (x + id _) :: Int+ , abs (y + _) :: Int+ , abs (ord _ + _) :: Int+ , abs (abs _ + _) :: Int+ , abs (id 0 + _) :: Int+ , abs (id _ + 0) :: Int+ , abs (id _ + _) :: Int+ , abs (id _ + x) :: Int+ , abs (id _ + id _) :: Int+ , abs (id x + _) :: Int+ , abs (id (id _) + _) :: Int+ , abs (negate _ + _) :: Int+ , abs (head _ + _) :: Int+ , abs ((_ + _) + _) :: Int+ , id (-1) :: Int+ , id (-2) :: Int+ , id 0 :: Int+ , id 1 :: Int+ , id 2 :: Int+ , id 3 :: Int+ , id _ :: Int+ , id x :: Int+ , id x' :: Int+ , id y :: Int+ , id y' :: Int+ , id z :: Int+ , id z' :: Int+ , id (ord ' ') :: Int+ , id (ord 'a') :: Int+ , id (ord 'b') :: Int+ , id (ord _) :: Int+ , id (ord c) :: Int+ , id (ord d) :: Int+ , id (ord e) :: Int+ , id (f (-1)) :: Int+ , id (f 0) :: Int+ , id (f 1) :: Int+ , id (f _) :: Int+ , id (f x) :: Int+ , id (f y) :: Int+ , id (f z) :: Int+ , id (f (ord 'a')) :: Int+ , id (f (ord _)) :: Int+ , id (f (ord c)) :: Int+ , id (f (f _)) :: Int+ , id (f (abs 0)) :: Int+ , id (f (abs _)) :: Int+ , id (f (abs x)) :: Int+ , id (f (abs (id _))) :: Int+ , id (f (id 0)) :: Int+ , id (f (id 1)) :: Int+ , id (f (id _)) :: Int+ , id (f (id x)) :: Int+ , id (f (id y)) :: Int+ , id (f (id (ord _))) :: Int+ , id (f (id (abs _))) :: Int+ , id (f (id (id 0))) :: Int+ , id (f (id (id _))) :: Int+ , id (f (id (id x))) :: Int+ , id (f (id (id (id _)))) :: Int+ , id (f (id (negate _))) :: Int+ , id (f (id (head _))) :: Int+ , id (f (id (_ + _))) :: Int+ , id (f (negate 0)) :: Int+ , id (f (negate _)) :: Int+ , id (f (negate x)) :: Int+ , id (f (negate (id _))) :: Int+ , id (f (head [])) :: Int+ , id (f (head _)) :: Int+ , id (f (head xs)) :: Int+ , id (f (head (_:_))) :: Int+ , id (f (_ * _)) :: Int+ , id (f (0 + _)) :: Int+ , id (f (_ + 0)) :: Int+ , id (f (_ + _)) :: Int+ , id (f (_ + x)) :: Int+ , id (f (_ + id _)) :: Int+ , id (f (x + _)) :: Int+ , id (f (id _ + _)) :: Int+ , id (f' _) :: Int+ , id (g 0) :: Int+ , id (g 1) :: Int+ , id (g _) :: Int+ , id (g x) :: Int+ , id (g y) :: Int+ , id (g (ord _)) :: Int+ , id (g (abs _)) :: Int+ , id (g (id 0)) :: Int+ , id (g (id _)) :: Int+ , id (g (id x)) :: Int+ , id (g (id (id _))) :: Int+ , id (g (negate _)) :: Int+ , id (g (head _)) :: Int+ , id (g (_ + _)) :: Int+ , id (h 0) :: Int+ , id (h _) :: Int+ , id (h x) :: Int+ , id (h (id _)) :: Int+ , id (abs (-1)) :: Int+ , id (abs 0) :: Int+ , id (abs 1) :: Int+ , id (abs 2) :: Int+ , id (abs _) :: Int+ , id (abs x) :: Int+ , id (abs x') :: Int+ , id (abs y) :: Int+ , id (abs z) :: Int+ , id (abs (ord ' ')) :: Int+ , id (abs (ord 'a')) :: Int+ , id (abs (ord _)) :: Int+ , id (abs (ord c)) :: Int+ , id (abs (ord d)) :: Int+ , id (abs (f 0)) :: Int+ , id (abs (f _)) :: Int+ , id (abs (f x)) :: Int+ , id (abs (f (id _))) :: Int+ , id (abs (g _)) :: Int+ , id (abs (abs 0)) :: Int+ , id (abs (abs 1)) :: Int+ , id (abs (abs _)) :: Int+ , id (abs (abs x)) :: Int+ , id (abs (abs y)) :: Int+ , id (abs (abs (ord _))) :: Int+ , id (abs (abs (abs _))) :: Int+ , id (abs (abs (id 0))) :: Int+ , id (abs (abs (id _))) :: Int+ , id (abs (abs (id x))) :: Int+ , id (abs (abs (id (id _)))) :: Int+ , id (abs (abs (negate _))) :: Int+ , id (abs (abs (head _))) :: Int+ , id (abs (abs (_ + _))) :: Int+ , id (abs (id (-1))) :: Int+ , id (abs (id 0)) :: Int+ , id (abs (id 1)) :: Int+ , id (abs (id _)) :: Int+ , id (abs (id x)) :: Int+ , id (abs (id y)) :: Int+ , id (abs (id z)) :: Int+ , id (abs (id (ord 'a'))) :: Int+ , id (abs (id (ord _))) :: Int+ , id (abs (id (ord c))) :: Int+ , id (abs (id (f _))) :: Int+ , id (abs (id (abs 0))) :: Int+ , id (abs (id (abs _))) :: Int+ , id (abs (id (abs x))) :: Int+ , id (abs (id (abs (id _)))) :: Int+ , id (abs (id (id 0))) :: Int+ , id (abs (id (id 1))) :: Int+ , id (abs (id (id _))) :: Int+ , id (abs (id (id x))) :: Int+ , id (abs (id (id y))) :: Int+ , id (abs (id (id (ord _)))) :: Int+ , id (abs (id (id (abs _)))) :: Int+ , id (abs (id (id (id 0)))) :: Int+ , id (abs (id (id (id _)))) :: Int+ , id (abs (id (id (id x)))) :: Int+ , id (abs (id (id (id (id _))))) :: Int+ , id (abs (id (id (negate _)))) :: Int+ , id (abs (id (id (head _)))) :: Int+ , id (abs (id (id (_ + _)))) :: Int+ , id (abs (id (negate 0))) :: Int+ , id (abs (id (negate _))) :: Int+ , id (abs (id (negate x))) :: Int+ , id (abs (id (negate (id _)))) :: Int+ , id (abs (id (head []))) :: Int+ , id (abs (id (head _))) :: Int+ , id (abs (id (head xs))) :: Int+ , id (abs (id (head (_:_)))) :: Int+ , id (abs (id (_ * _))) :: Int+ , id (abs (id (0 + _))) :: Int+ , id (abs (id (_ + 0))) :: Int+ , id (abs (id (_ + _))) :: Int+ , id (abs (id (_ + x))) :: Int+ , id (abs (id (_ + id _))) :: Int+ , id (abs (id (x + _))) :: Int+ , id (abs (id (id _ + _))) :: Int+ , id (abs (negate 0)) :: Int+ , id (abs (negate 1)) :: Int+ , id (abs (negate _)) :: Int+ , id (abs (negate x)) :: Int+ , id (abs (negate y)) :: Int+ , id (abs (negate (ord _))) :: Int+ , id (abs (negate (abs _))) :: Int+ , id (abs (negate (id 0))) :: Int+ , id (abs (negate (id _))) :: Int+ , id (abs (negate (id x))) :: Int+ , id (abs (negate (id (id _)))) :: Int+ , id (abs (negate (negate _))) :: Int+ , id (abs (negate (head _))) :: Int+ , id (abs (negate (_ + _))) :: Int+ , id (abs (head [0])) :: Int+ , id (abs (head [])) :: Int+ , id (abs (head _)) :: Int+ , id (abs (head xs)) :: Int+ , id (abs (head ys)) :: Int+ , id (abs (head (tail _))) :: Int+ , id (abs (head (0:_))) :: Int+ , id (abs (head [_])) :: Int+ , id (abs (head (_:_))) :: Int+ , id (abs (head (_:xs))) :: Int+ , id (abs (head (_:_:_))) :: Int+ , id (abs (head (x:_))) :: Int+ , id (abs (head (id _:_))) :: Int+ , id (abs (head (_ ++ _))) :: Int+ , id (abs (0 * _)) :: Int+ , id (abs (_ * 0)) :: Int+ , id (abs (_ * _)) :: Int+ , id (abs (_ * x)) :: Int+ , id (abs (_ * id _)) :: Int+ , id (abs (x * _)) :: Int+ , id (abs (id _ * _)) :: Int+ , id (abs (0 + 0)) :: Int+ , id (abs (0 + _)) :: Int+ , id (abs (0 + x)) :: Int+ , id (abs (0 + id _)) :: Int+ , id (abs (1 + _)) :: Int+ , id (abs (_ + 0)) :: Int+ , id (abs (_ + 1)) :: Int+ , id (abs (_ + _)) :: Int+ , id (abs (_ + x)) :: Int+ , id (abs (_ + y)) :: Int+ , id (abs (_ + ord _)) :: Int+ , id (abs (_ + abs _)) :: Int+ , id (abs (_ + id 0)) :: Int+ , id (abs (_ + id _)) :: Int+ , id (abs (_ + id x)) :: Int+ , id (abs (_ + id (id _))) :: Int+ , id (abs (_ + negate _)) :: Int+ , id (abs (_ + head _)) :: Int+ , id (abs (_ + (_ + _))) :: Int+ , id (abs (x + 0)) :: Int+ , id (abs (x + _)) :: Int+ , id (abs (x + x)) :: Int+ , id (abs (x + id _)) :: Int+ , id (abs (y + _)) :: Int+ , id (abs (ord _ + _)) :: Int+ , id (abs (abs _ + _)) :: Int+ , id (abs (id 0 + _)) :: Int+ , id (abs (id _ + 0)) :: Int+ , id (abs (id _ + _)) :: Int+ , id (abs (id _ + x)) :: Int+ , id (abs (id _ + id _)) :: Int+ , id (abs (id x + _)) :: Int+ , id (abs (id (id _) + _)) :: Int+ , id (abs (negate _ + _)) :: Int+ , id (abs (head _ + _)) :: Int+ , id (abs ((_ + _) + _)) :: Int+ , id (id (-1)) :: Int+ , id (id (-2)) :: Int+ , id (id 0) :: Int+ , id (id 1) :: Int+ , id (id 2) :: Int+ , id (id _) :: Int+ , id (id x) :: Int+ , id (id x') :: Int+ , id (id y) :: Int+ , id (id y') :: Int+ , id (id z) :: Int+ , id (id (ord ' ')) :: Int+ , id (id (ord 'a')) :: Int+ , id (id (ord 'b')) :: Int+ , id (id (ord _)) :: Int+ , id (id (ord c)) :: Int+ , id (id (ord d)) :: Int+ , id (id (ord e)) :: Int+ , id (id (f 0)) :: Int+ , id (id (f 1)) :: Int+ , id (id (f _)) :: Int+ , id (id (f x)) :: Int+ , id (id (f y)) :: Int+ , id (id (f (ord _))) :: Int+ , id (id (f (abs _))) :: Int+ , id (id (f (id 0))) :: Int+ , id (id (f (id _))) :: Int+ , id (id (f (id x))) :: Int+ , id (id (f (id (id _)))) :: Int+ , id (id (f (negate _))) :: Int+ , id (id (f (head _))) :: Int+ , id (id (f (_ + _))) :: Int+ , id (id (g 0)) :: Int+ , id (id (g _)) :: Int+ , id (id (g x)) :: Int+ , id (id (g (id _))) :: Int+ , id (id (h _)) :: Int+ , id (id (abs (-1))) :: Int+ , id (id (abs 0)) :: Int+ , id (id (abs 1)) :: Int+ , id (id (abs _)) :: Int+ , id (id (abs x)) :: Int+ , id (id (abs y)) :: Int+ , id (id (abs z)) :: Int+ , id (id (abs (ord 'a'))) :: Int+ , id (id (abs (ord _))) :: Int+ , id (id (abs (ord c))) :: Int+ , id (id (abs (f _))) :: Int+ , id (id (abs (abs 0))) :: Int+ , id (id (abs (abs _))) :: Int+ , id (id (abs (abs x))) :: Int+ , id (id (abs (abs (id _)))) :: Int+ , id (id (abs (id 0))) :: Int+ , id (id (abs (id 1))) :: Int+ , id (id (abs (id _))) :: Int+ , id (id (abs (id x))) :: Int+ , id (id (abs (id y))) :: Int+ , id (id (abs (id (ord _)))) :: Int+ , id (id (abs (id (abs _)))) :: Int+ , id (id (abs (id (id 0)))) :: Int+ , id (id (abs (id (id _)))) :: Int+ , id (id (abs (id (id x)))) :: Int+ , id (id (abs (id (id (id _))))) :: Int+ , id (id (abs (id (negate _)))) :: Int+ , id (id (abs (id (head _)))) :: Int+ , id (id (abs (id (_ + _)))) :: Int+ , id (id (abs (negate 0))) :: Int+ , id (id (abs (negate _))) :: Int+ , id (id (abs (negate x))) :: Int+ , id (id (abs (negate (id _)))) :: Int+ , id (id (abs (head []))) :: Int+ , id (id (abs (head _))) :: Int+ , id (id (abs (head xs))) :: Int+ , id (id (abs (head (_:_)))) :: Int+ , id (id (abs (_ * _))) :: Int+ , id (id (abs (0 + _))) :: Int+ , id (id (abs (_ + 0))) :: Int+ , id (id (abs (_ + _))) :: Int+ , id (id (abs (_ + x))) :: Int+ , id (id (abs (_ + id _))) :: Int+ , id (id (abs (x + _))) :: Int+ , id (id (abs (id _ + _))) :: Int+ , id (id (id (-1))) :: Int+ , id (id (id 0)) :: Int+ , id (id (id 1)) :: Int+ , id (id (id 2)) :: Int+ , id (id (id _)) :: Int+ , id (id (id x)) :: Int+ , id (id (id x')) :: Int+ , id (id (id y)) :: Int+ , id (id (id z)) :: Int+ , id (id (id (ord ' '))) :: Int+ , id (id (id (ord 'a'))) :: Int+ , id (id (id (ord _))) :: Int+ , id (id (id (ord c))) :: Int+ , id (id (id (ord d))) :: Int+ , id (id (id (f 0))) :: Int+ , id (id (id (f _))) :: Int+ , id (id (id (f x))) :: Int+ , id (id (id (f (id _)))) :: Int+ , id (id (id (g _))) :: Int+ , id (id (id (abs 0))) :: Int+ , id (id (id (abs 1))) :: Int+ , id (id (id (abs _))) :: Int+ , id (id (id (abs x))) :: Int+ , id (id (id (abs y))) :: Int+ , id (id (id (abs (ord _)))) :: Int+ , id (id (id (abs (abs _)))) :: Int+ , id (id (id (abs (id 0)))) :: Int+ , id (id (id (abs (id _)))) :: Int+ , id (id (id (abs (id x)))) :: Int+ , id (id (id (abs (id (id _))))) :: Int+ , id (id (id (abs (negate _)))) :: Int+ , id (id (id (abs (head _)))) :: Int+ , id (id (id (abs (_ + _)))) :: Int+ , id (id (id (id (-1)))) :: Int+ , id (id (id (id 0))) :: Int+ , id (id (id (id 1))) :: Int+ , id (id (id (id _))) :: Int+ , id (id (id (id x))) :: Int+ , id (id (id (id y))) :: Int+ , id (id (id (id z))) :: Int+ , id (id (id (id (ord 'a')))) :: Int+ , id (id (id (id (ord _)))) :: Int+ , id (id (id (id (ord c)))) :: Int+ , id (id (id (id (f _)))) :: Int+ , id (id (id (id (abs 0)))) :: Int+ , id (id (id (id (abs _)))) :: Int+ , id (id (id (id (abs x)))) :: Int+ , id (id (id (id (abs (id _))))) :: Int+ , id (id (id (id (id 0)))) :: Int+ , id (id (id (id (id 1)))) :: Int+ , id (id (id (id (id _)))) :: Int+ , id (id (id (id (id x)))) :: Int+ , id (id (id (id (id y)))) :: Int+ , id (id (id (id (id (ord _))))) :: Int+ , id (id (id (id (id (abs _))))) :: Int+ , id (id (id (id (id (id 0))))) :: Int+ , id (id (id (id (id (id _))))) :: Int+ , id (id (id (id (id (id x))))) :: Int+ , id (id (id (id (id (id (id _)))))) :: Int+ , id (id (id (id (id (negate _))))) :: Int+ , id (id (id (id (id (head _))))) :: Int+ , id (id (id (id (id (_ + _))))) :: Int+ , id (id (id (id (negate 0)))) :: Int+ , id (id (id (id (negate _)))) :: Int+ , id (id (id (id (negate x)))) :: Int+ , id (id (id (id (negate (id _))))) :: Int+ , id (id (id (id (head [])))) :: Int+ , id (id (id (id (head _)))) :: Int+ , id (id (id (id (head xs)))) :: Int+ , id (id (id (id (head (_:_))))) :: Int+ , id (id (id (id (_ * _)))) :: Int+ , id (id (id (id (0 + _)))) :: Int+ , id (id (id (id (_ + 0)))) :: Int+ , id (id (id (id (_ + _)))) :: Int+ , id (id (id (id (_ + x)))) :: Int+ , id (id (id (id (_ + id _)))) :: Int+ , id (id (id (id (x + _)))) :: Int+ , id (id (id (id (id _ + _)))) :: Int+ , id (id (id (negate 0))) :: Int+ , id (id (id (negate 1))) :: Int+ , id (id (id (negate _))) :: Int+ , id (id (id (negate x))) :: Int+ , id (id (id (negate y))) :: Int+ , id (id (id (negate (ord _)))) :: Int+ , id (id (id (negate (abs _)))) :: Int+ , id (id (id (negate (id 0)))) :: Int+ , id (id (id (negate (id _)))) :: Int+ , id (id (id (negate (id x)))) :: Int+ , id (id (id (negate (id (id _))))) :: Int+ , id (id (id (negate (negate _)))) :: Int+ , id (id (id (negate (head _)))) :: Int+ , id (id (id (negate (_ + _)))) :: Int+ , id (id (id (head [0]))) :: Int+ , id (id (id (head []))) :: Int+ , id (id (id (head _))) :: Int+ , id (id (id (head xs))) :: Int+ , id (id (id (head ys))) :: Int+ , id (id (id (head (tail _)))) :: Int+ , id (id (id (head (0:_)))) :: Int+ , id (id (id (head [_]))) :: Int+ , id (id (id (head (_:_)))) :: Int+ , id (id (id (head (_:xs)))) :: Int+ , id (id (id (head (_:_:_)))) :: Int+ , id (id (id (head (x:_)))) :: Int+ , id (id (id (head (id _:_)))) :: Int+ , id (id (id (head (_ ++ _)))) :: Int+ , id (id (id (0 * _))) :: Int+ , id (id (id (_ * 0))) :: Int+ , id (id (id (_ * _))) :: Int+ , id (id (id (_ * x))) :: Int+ , id (id (id (_ * id _))) :: Int+ , id (id (id (x * _))) :: Int+ , id (id (id (id _ * _))) :: Int+ , id (id (id (0 + 0))) :: Int+ , id (id (id (0 + _))) :: Int+ , id (id (id (0 + x))) :: Int+ , id (id (id (0 + id _))) :: Int+ , id (id (id (1 + _))) :: Int+ , id (id (id (_ + 0))) :: Int+ , id (id (id (_ + 1))) :: Int+ , id (id (id (_ + _))) :: Int+ , id (id (id (_ + x))) :: Int+ , id (id (id (_ + y))) :: Int+ , id (id (id (_ + ord _))) :: Int+ , id (id (id (_ + abs _))) :: Int+ , id (id (id (_ + id 0))) :: Int+ , id (id (id (_ + id _))) :: Int+ , id (id (id (_ + id x))) :: Int+ , id (id (id (_ + id (id _)))) :: Int+ , id (id (id (_ + negate _))) :: Int+ , id (id (id (_ + head _))) :: Int+ , id (id (id (_ + (_ + _)))) :: Int+ , id (id (id (x + 0))) :: Int+ , id (id (id (x + _))) :: Int+ , id (id (id (x + x))) :: Int+ , id (id (id (x + id _))) :: Int+ , id (id (id (y + _))) :: Int+ , id (id (id (ord _ + _))) :: Int+ , id (id (id (abs _ + _))) :: Int+ , id (id (id (id 0 + _))) :: Int+ , id (id (id (id _ + 0))) :: Int+ , id (id (id (id _ + _))) :: Int+ , id (id (id (id _ + x))) :: Int+ , id (id (id (id _ + id _))) :: Int+ , id (id (id (id x + _))) :: Int+ , id (id (id (id (id _) + _))) :: Int+ , id (id (id (negate _ + _))) :: Int+ , id (id (id (head _ + _))) :: Int+ , id (id (id ((_ + _) + _))) :: Int+ , id (id (negate (-1))) :: Int+ , id (id (negate 0)) :: Int+ , id (id (negate 1)) :: Int+ , id (id (negate _)) :: Int+ , id (id (negate x)) :: Int+ , id (id (negate y)) :: Int+ , id (id (negate z)) :: Int+ , id (id (negate (ord 'a'))) :: Int+ , id (id (negate (ord _))) :: Int+ , id (id (negate (ord c))) :: Int+ , id (id (negate (f _))) :: Int+ , id (id (negate (abs 0))) :: Int+ , id (id (negate (abs _))) :: Int+ , id (id (negate (abs x))) :: Int+ , id (id (negate (abs (id _)))) :: Int+ , id (id (negate (id 0))) :: Int+ , id (id (negate (id 1))) :: Int+ , id (id (negate (id _))) :: Int+ , id (id (negate (id x))) :: Int+ , id (id (negate (id y))) :: Int+ , id (id (negate (id (ord _)))) :: Int+ , id (id (negate (id (abs _)))) :: Int+ , id (id (negate (id (id 0)))) :: Int+ , id (id (negate (id (id _)))) :: Int+ , id (id (negate (id (id x)))) :: Int+ , id (id (negate (id (id (id _))))) :: Int+ , id (id (negate (id (negate _)))) :: Int+ , id (id (negate (id (head _)))) :: Int+ , id (id (negate (id (_ + _)))) :: Int+ , id (id (negate (negate 0))) :: Int+ , id (id (negate (negate _))) :: Int+ , id (id (negate (negate x))) :: Int+ , id (id (negate (negate (id _)))) :: Int+ , id (id (negate (head []))) :: Int+ , id (id (negate (head _))) :: Int+ , id (id (negate (head xs))) :: Int+ , id (id (negate (head (_:_)))) :: Int+ , id (id (negate (_ * _))) :: Int+ , id (id (negate (0 + _))) :: Int+ , id (id (negate (_ + 0))) :: Int+ , id (id (negate (_ + _))) :: Int+ , id (id (negate (_ + x))) :: Int+ , id (id (negate (_ + id _))) :: Int+ , id (id (negate (x + _))) :: Int+ , id (id (negate (id _ + _))) :: Int+ , id (id (head [0,0])) :: Int+ , id (id (head [0])) :: Int+ , id (id (head [1])) :: Int+ , id (id (head [])) :: Int+ , id (id (head _)) :: Int+ , id (id (head xs)) :: Int+ , id (id (head ys)) :: Int+ , id (id (head zs)) :: Int+ , id (id (head (sort _))) :: Int+ , id (id (head (tail []))) :: Int+ , id (id (head (tail _))) :: Int+ , id (id (head (tail xs))) :: Int+ , id (id (head (tail (_:_)))) :: Int+ , id (id (head [0])) :: Int+ , id (id (head (0:_))) :: Int+ , id (id (head (0:xs))) :: Int+ , id (id (head (0:_:_))) :: Int+ , id (id (head (1:_))) :: Int+ , id (id (head (_:[0]))) :: Int+ , id (id (head [_])) :: Int+ , id (id (head (_:_))) :: Int+ , id (id (head (_:xs))) :: Int+ , id (id (head (_:ys))) :: Int+ , id (id (head (_:tail _))) :: Int+ , id (id (head (_:0:_))) :: Int+ , id (id (head [_,_])) :: Int+ , id (id (head (_:_:_))) :: Int+ , id (id (head (_:_:xs))) :: Int+ , id (id (head (_:_:_:_))) :: Int+ , id (id (head (_:x:_))) :: Int+ , id (id (head (_:id _:_))) :: Int+ , id (id (head (_:(_ ++ _)))) :: Int+ , id (id (head [x])) :: Int+ , id (id (head (x:_))) :: Int+ , id (id (head (x:xs))) :: Int+ , id (id (head (x:_:_))) :: Int+ , id (id (head (y:_))) :: Int+ , id (id (head (ord _:_))) :: Int+ , id (id (head (abs _:_))) :: Int+ , id (id (head (id 0:_))) :: Int+ , id (id (head [id _])) :: Int+ , id (id (head (id _:_))) :: Int+ , id (id (head (id _:xs))) :: Int+ , id (id (head (id _:_:_))) :: Int+ , id (id (head (id x:_))) :: Int+ , id (id (head (id (id _):_))) :: Int+ , id (id (head (negate _:_))) :: Int+ , id (id (head (head _:_))) :: Int+ , id (id (head (_ + _:_))) :: Int+ , id (id (head (insert _ _))) :: Int+ , id (id (head ([] ++ _))) :: Int+ , id (id (head (_ ++ []))) :: Int+ , id (id (head (_ ++ _))) :: Int+ , id (id (head (_ ++ xs))) :: Int+ , id (id (head (_ ++ (_:_)))) :: Int+ , id (id (head (xs ++ _))) :: Int+ , id (id (head ((_:_) ++ _))) :: Int+ , id (id (0 * 0)) :: Int+ , id (id (0 * _)) :: Int+ , id (id (0 * x)) :: Int+ , id (id (0 * id _)) :: Int+ , id (id (1 * _)) :: Int+ , id (id (_ * 0)) :: Int+ , id (id (_ * 1)) :: Int+ , id (id (_ * _)) :: Int+ , id (id (_ * x)) :: Int+ , id (id (_ * y)) :: Int+ , id (id (_ * ord _)) :: Int+ , id (id (_ * abs _)) :: Int+ , id (id (_ * id 0)) :: Int+ , id (id (_ * id _)) :: Int+ , id (id (_ * id x)) :: Int+ , id (id (_ * id (id _))) :: Int+ , id (id (_ * negate _)) :: Int+ , id (id (_ * head _)) :: Int+ , id (id (_ * (_ + _))) :: Int+ , id (id (x * 0)) :: Int+ , id (id (x * _)) :: Int+ , id (id (x * x)) :: Int+ , id (id (x * id _)) :: Int+ , id (id (y * _)) :: Int+ , id (id (ord _ * _)) :: Int+ , id (id (abs _ * _)) :: Int+ , id (id (id 0 * _)) :: Int+ , id (id (id _ * 0)) :: Int+ , id (id (id _ * _)) :: Int+ , id (id (id _ * x)) :: Int+ , id (id (id _ * id _)) :: Int+ , id (id (id x * _)) :: Int+ , id (id (id (id _) * _)) :: Int+ , id (id (negate _ * _)) :: Int+ , id (id (head _ * _)) :: Int+ , id (id ((_ + _) * _)) :: Int+ , id (id ((-1) + _)) :: Int+ , id (id (0 + 0)) :: Int+ , id (id (0 + 1)) :: Int+ , id (id (0 + _)) :: Int+ , id (id (0 + x)) :: Int+ , id (id (0 + y)) :: Int+ , id (id (0 + ord _)) :: Int+ , id (id (0 + abs _)) :: Int+ , id (id (0 + id 0)) :: Int+ , id (id (0 + id _)) :: Int+ , id (id (0 + id x)) :: Int+ , id (id (0 + id (id _))) :: Int+ , id (id (0 + negate _)) :: Int+ , id (id (0 + head _)) :: Int+ , id (id (0 + (_ + _))) :: Int+ , id (id (1 + 0)) :: Int+ , id (id (1 + _)) :: Int+ , id (id (1 + x)) :: Int+ , id (id (1 + id _)) :: Int+ , id (id (_ + (-1))) :: Int+ , id (id (_ + 0)) :: Int+ , id (id (_ + 1)) :: Int+ , id (id (_ + _)) :: Int+ , id (id (_ + x)) :: Int+ , id (id (_ + y)) :: Int+ , id (id (_ + z)) :: Int+ , id (id (_ + ord 'a')) :: Int+ , id (id (_ + ord _)) :: Int+ , id (id (_ + ord c)) :: Int+ , id (id (_ + f _)) :: Int+ , id (id (_ + abs 0)) :: Int+ , id (id (_ + abs _)) :: Int+ , id (id (_ + abs x)) :: Int+ , id (id (_ + abs (id _))) :: Int+ , id (id (_ + id 0)) :: Int+ , id (id (_ + id 1)) :: Int+ , id (id (_ + id _)) :: Int+ , id (id (_ + id x)) :: Int+ , id (id (_ + id y)) :: Int+ , id (id (_ + id (ord _))) :: Int+ , id (id (_ + id (abs _))) :: Int+ , id (id (_ + id (id 0))) :: Int+ , id (id (_ + id (id _))) :: Int+ , id (id (_ + id (id x))) :: Int+ , id (id (_ + id (id (id _)))) :: Int+ , id (id (_ + id (negate _))) :: Int+ , id (id (_ + id (head _))) :: Int+ , id (id (_ + id (_ + _))) :: Int+ , id (id (_ + negate 0)) :: Int+ , id (id (_ + negate _)) :: Int+ , id (id (_ + negate x)) :: Int+ , id (id (_ + negate (id _))) :: Int+ , id (id (_ + head [])) :: Int+ , id (id (_ + head _)) :: Int+ , id (id (_ + head xs)) :: Int+ , id (id (_ + head (_:_))) :: Int+ , id (id (_ + _ * _)) :: Int+ , id (id (_ + (0 + _))) :: Int+ , id (id (_ + (_ + 0))) :: Int+ , id (id (_ + (_ + _))) :: Int+ , id (id (_ + (_ + x))) :: Int+ , id (id (_ + (_ + id _))) :: Int+ , id (id (_ + (x + _))) :: Int+ , id (id (_ + (id _ + _))) :: Int+ , id (id (x + 0)) :: Int+ , id (id (x + 1)) :: Int+ , id (id (x + _)) :: Int+ , id (id (x + x)) :: Int+ , id (id (x + y)) :: Int+ , id (id (x + ord _)) :: Int+ , id (id (x + abs _)) :: Int+ , id (id (x + id 0)) :: Int+ , id (id (x + id _)) :: Int+ , id (id (x + id x)) :: Int+ , id (id (x + id (id _))) :: Int+ , id (id (x + negate _)) :: Int+ , id (id (x + head _)) :: Int+ , id (id (x + (_ + _))) :: Int+ , id (id (y + 0)) :: Int+ , id (id (y + _)) :: Int+ , id (id (y + x)) :: Int+ , id (id (y + id _)) :: Int+ , id (id (z + _)) :: Int+ , id (id (ord 'a' + _)) :: Int+ , id (id (ord _ + 0)) :: Int+ , id (id (ord _ + _)) :: Int+ , id (id (ord _ + x)) :: Int+ , id (id (ord _ + id _)) :: Int+ , id (id (ord c + _)) :: Int+ , id (id (f _ + _)) :: Int+ , id (id (abs 0 + _)) :: Int+ , id (id (abs _ + 0)) :: Int+ , id (id (abs _ + _)) :: Int+ , id (id (abs _ + x)) :: Int+ , id (id (abs _ + id _)) :: Int+ , id (id (abs x + _)) :: Int+ , id (id (abs (id _) + _)) :: Int+ , id (id (id 0 + 0)) :: Int+ , id (id (id 0 + _)) :: Int+ , id (id (id 0 + x)) :: Int+ , id (id (id 0 + id _)) :: Int+ , id (id (id 1 + _)) :: Int+ , id (id (id _ + 0)) :: Int+ , id (id (id _ + 1)) :: Int+ , id (id (id _ + _)) :: Int+ , id (id (id _ + x)) :: Int+ , id (id (id _ + y)) :: Int+ , id (id (id _ + ord _)) :: Int+ , id (id (id _ + abs _)) :: Int+ , id (id (id _ + id 0)) :: Int+ , id (id (id _ + id _)) :: Int+ , id (id (id _ + id x)) :: Int+ , id (id (id _ + id (id _))) :: Int+ , id (id (id _ + negate _)) :: Int+ , id (id (id _ + head _)) :: Int+ , id (id (id _ + (_ + _))) :: Int+ , id (id (id x + 0)) :: Int+ , id (id (id x + _)) :: Int+ , id (id (id x + x)) :: Int+ , id (id (id x + id _)) :: Int+ , id (id (id y + _)) :: Int+ , id (id (id (ord _) + _)) :: Int+ , id (id (id (abs _) + _)) :: Int+ , id (id (id (id 0) + _)) :: Int+ , id (id (id (id _) + 0)) :: Int+ , id (id (id (id _) + _)) :: Int+ , id (id (id (id _) + x)) :: Int+ , id (id (id (id _) + id _)) :: Int+ , id (id (id (id x) + _)) :: Int+ , id (id (id (id (id _)) + _)) :: Int+ , id (id (id (negate _) + _)) :: Int+ , id (id (id (head _) + _)) :: Int+ , id (id (id (_ + _) + _)) :: Int+ , id (id (negate 0 + _)) :: Int+ , id (id (negate _ + 0)) :: Int+ , id (id (negate _ + _)) :: Int+ , id (id (negate _ + x)) :: Int+ , id (id (negate _ + id _)) :: Int+ , id (id (negate x + _)) :: Int+ , id (id (negate (id _) + _)) :: Int+ , id (id (head [] + _)) :: Int+ , id (id (head _ + 0)) :: Int+ , id (id (head _ + _)) :: Int+ , id (id (head _ + x)) :: Int+ , id (id (head _ + id _)) :: Int+ , id (id (head xs + _)) :: Int+ , id (id (head (_:_) + _)) :: Int+ , id (id (_ * _ + _)) :: Int+ , id (id ((0 + _) + _)) :: Int+ , id (id ((_ + 0) + _)) :: Int+ , id (id ((_ + _) + 0)) :: Int+ , id (id ((_ + _) + _)) :: Int+ , id (id ((_ + _) + x)) :: Int+ , id (id ((_ + _) + id _)) :: Int+ , id (id ((_ + x) + _)) :: Int+ , id (id ((_ + id _) + _)) :: Int+ , id (id ((x + _) + _)) :: Int+ , id (id ((id _ + _) + _)) :: Int+ , id (negate (-1)) :: Int+ , id (negate 0) :: Int+ , id (negate 1) :: Int+ , id (negate 2) :: Int+ , id (negate _) :: Int+ , id (negate x) :: Int+ , id (negate x') :: Int+ , id (negate y) :: Int+ , id (negate z) :: Int+ , id (negate (ord ' ')) :: Int+ , id (negate (ord 'a')) :: Int+ , id (negate (ord _)) :: Int+ , id (negate (ord c)) :: Int+ , id (negate (ord d)) :: Int+ , id (negate (f 0)) :: Int+ , id (negate (f _)) :: Int+ , id (negate (f x)) :: Int+ , id (negate (f (id _))) :: Int+ , id (negate (g _)) :: Int+ , id (negate (abs 0)) :: Int+ , id (negate (abs 1)) :: Int+ , id (negate (abs _)) :: Int+ , id (negate (abs x)) :: Int+ , id (negate (abs y)) :: Int+ , id (negate (abs (ord _))) :: Int+ , id (negate (abs (abs _))) :: Int+ , id (negate (abs (id 0))) :: Int+ , id (negate (abs (id _))) :: Int+ , id (negate (abs (id x))) :: Int+ , id (negate (abs (id (id _)))) :: Int+ , id (negate (abs (negate _))) :: Int+ , id (negate (abs (head _))) :: Int+ , id (negate (abs (_ + _))) :: Int+ , id (negate (id (-1))) :: Int+ , id (negate (id 0)) :: Int+ , id (negate (id 1)) :: Int+ , id (negate (id _)) :: Int+ , id (negate (id x)) :: Int+ , id (negate (id y)) :: Int+ , id (negate (id z)) :: Int+ , id (negate (id (ord 'a'))) :: Int+ , id (negate (id (ord _))) :: Int+ , id (negate (id (ord c))) :: Int+ , id (negate (id (f _))) :: Int+ , id (negate (id (abs 0))) :: Int+ , id (negate (id (abs _))) :: Int+ , id (negate (id (abs x))) :: Int+ , id (negate (id (abs (id _)))) :: Int+ , id (negate (id (id 0))) :: Int+ , id (negate (id (id 1))) :: Int+ , id (negate (id (id _))) :: Int+ , id (negate (id (id x))) :: Int+ , id (negate (id (id y))) :: Int+ , id (negate (id (id (ord _)))) :: Int+ , id (negate (id (id (abs _)))) :: Int+ , id (negate (id (id (id 0)))) :: Int+ , id (negate (id (id (id _)))) :: Int+ , id (negate (id (id (id x)))) :: Int+ , id (negate (id (id (id (id _))))) :: Int+ , id (negate (id (id (negate _)))) :: Int+ , id (negate (id (id (head _)))) :: Int+ , id (negate (id (id (_ + _)))) :: Int+ , id (negate (id (negate 0))) :: Int+ , id (negate (id (negate _))) :: Int+ , id (negate (id (negate x))) :: Int+ , id (negate (id (negate (id _)))) :: Int+ , id (negate (id (head []))) :: Int+ , id (negate (id (head _))) :: Int+ , id (negate (id (head xs))) :: Int+ , id (negate (id (head (_:_)))) :: Int+ , id (negate (id (_ * _))) :: Int+ , id (negate (id (0 + _))) :: Int+ , id (negate (id (_ + 0))) :: Int+ , id (negate (id (_ + _))) :: Int+ , id (negate (id (_ + x))) :: Int+ , id (negate (id (_ + id _))) :: Int+ , id (negate (id (x + _))) :: Int+ , id (negate (id (id _ + _))) :: Int+ , id (negate (negate 0)) :: Int+ , id (negate (negate 1)) :: Int+ , id (negate (negate _)) :: Int+ , id (negate (negate x)) :: Int+ , id (negate (negate y)) :: Int+ , id (negate (negate (ord _))) :: Int+ , id (negate (negate (abs _))) :: Int+ , id (negate (negate (id 0))) :: Int+ , id (negate (negate (id _))) :: Int+ , id (negate (negate (id x))) :: Int+ , id (negate (negate (id (id _)))) :: Int+ , id (negate (negate (negate _))) :: Int+ , id (negate (negate (head _))) :: Int+ , id (negate (negate (_ + _))) :: Int+ , id (negate (head [0])) :: Int+ , id (negate (head [])) :: Int+ , id (negate (head _)) :: Int+ , id (negate (head xs)) :: Int+ , id (negate (head ys)) :: Int+ , id (negate (head (tail _))) :: Int+ , id (negate (head (0:_))) :: Int+ , id (negate (head [_])) :: Int+ , id (negate (head (_:_))) :: Int+ , id (negate (head (_:xs))) :: Int+ , id (negate (head (_:_:_))) :: Int+ , id (negate (head (x:_))) :: Int+ , id (negate (head (id _:_))) :: Int+ , id (negate (head (_ ++ _))) :: Int+ , id (negate (0 * _)) :: Int+ , id (negate (_ * 0)) :: Int+ , id (negate (_ * _)) :: Int+ , id (negate (_ * x)) :: Int+ , id (negate (_ * id _)) :: Int+ , id (negate (x * _)) :: Int+ , id (negate (id _ * _)) :: Int+ , id (negate (0 + 0)) :: Int+ , id (negate (0 + _)) :: Int+ , id (negate (0 + x)) :: Int+ , id (negate (0 + id _)) :: Int+ , id (negate (1 + _)) :: Int+ , id (negate (_ + 0)) :: Int+ , id (negate (_ + 1)) :: Int+ , id (negate (_ + _)) :: Int+ , id (negate (_ + x)) :: Int+ , id (negate (_ + y)) :: Int+ , id (negate (_ + ord _)) :: Int+ , id (negate (_ + abs _)) :: Int+ , id (negate (_ + id 0)) :: Int+ , id (negate (_ + id _)) :: Int+ , id (negate (_ + id x)) :: Int+ , id (negate (_ + id (id _))) :: Int+ , id (negate (_ + negate _)) :: Int+ , id (negate (_ + head _)) :: Int+ , id (negate (_ + (_ + _))) :: Int+ , id (negate (x + 0)) :: Int+ , id (negate (x + _)) :: Int+ , id (negate (x + x)) :: Int+ , id (negate (x + id _)) :: Int+ , id (negate (y + _)) :: Int+ , id (negate (ord _ + _)) :: Int+ , id (negate (abs _ + _)) :: Int+ , id (negate (id 0 + _)) :: Int+ , id (negate (id _ + 0)) :: Int+ , id (negate (id _ + _)) :: Int+ , id (negate (id _ + x)) :: Int+ , id (negate (id _ + id _)) :: Int+ , id (negate (id x + _)) :: Int+ , id (negate (id (id _) + _)) :: Int+ , id (negate (negate _ + _)) :: Int+ , id (negate (head _ + _)) :: Int+ , id (negate ((_ + _) + _)) :: Int+ , id (head [-1]) :: Int+ , id (head [0,0,0]) :: Int+ , id (head [0,0]) :: Int+ , id (head [0,1]) :: Int+ , id (head [0]) :: Int+ , id (head [1,0]) :: Int+ , id (head [1]) :: Int+ , id (head []) :: Int+ , id (head _) :: Int+ , id (head xs) :: Int+ , id (head xs') :: Int+ , id (head ys) :: Int+ , id (head zs) :: Int+ , id (head (sort _)) :: Int+ , id (head (tail [0])) :: Int+ , id (head (tail [])) :: Int+ , id (head (tail _)) :: Int+ , id (head (tail xs)) :: Int+ , id (head (tail ys)) :: Int+ , id (head (tail (tail _))) :: Int+ , id (head (tail (0:_))) :: Int+ , id (head (tail [_])) :: Int+ , id (head (tail (_:_))) :: Int+ , id (head (tail (_:xs))) :: Int+ , id (head (tail (_:_:_))) :: Int+ , id (head (tail (x:_))) :: Int+ , id (head (tail (id _:_))) :: Int+ , id (head (tail (_ ++ _))) :: Int+ , id (head ((-1):_)) :: Int+ , id (head (0:[0])) :: Int+ , id (head [0]) :: Int+ , id (head (0:_)) :: Int+ , id (head (0:xs)) :: Int+ , id (head (0:ys)) :: Int+ , id (head (0:tail _)) :: Int+ , id (head (0:0:_)) :: Int+ , id (head [0,_]) :: Int+ , id (head (0:_:_)) :: Int+ , id (head (0:_:xs)) :: Int+ , id (head (0:_:_:_)) :: Int+ , id (head (0:x:_)) :: Int+ , id (head (0:id _:_)) :: Int+ , id (head (0:(_ ++ _))) :: Int+ , id (head [1]) :: Int+ , id (head (1:_)) :: Int+ , id (head (1:xs)) :: Int+ , id (head (1:_:_)) :: Int+ , id (head (_:[0,0])) :: Int+ , id (head (_:[0])) :: Int+ , id (head (_:[1])) :: Int+ , id (head [_]) :: Int+ , id (head (_:_)) :: Int+ , id (head (_:xs)) :: Int+ , id (head (_:ys)) :: Int+ , id (head (_:zs)) :: Int+ , id (head (_:sort _)) :: Int+ , id (head (_:tail [])) :: Int+ , id (head (_:tail _)) :: Int+ , id (head (_:tail xs)) :: Int+ , id (head (_:tail (_:_))) :: Int+ , id (head [_,0]) :: Int+ , id (head (_:0:_)) :: Int+ , id (head (_:0:xs)) :: Int+ , id (head (_:0:_:_)) :: Int+ , id (head (_:1:_)) :: Int+ , id (head (_:_:[0])) :: Int+ , id (head [_,_]) :: Int+ , id (head (_:_:_)) :: Int+ , id (head (_:_:xs)) :: Int+ , id (head (_:_:ys)) :: Int+ , id (head (_:_:tail _)) :: Int+ , id (head (_:_:0:_)) :: Int+ , id (head [_,_,_]) :: Int+ , id (head (_:_:_:_)) :: Int+ , id (head (_:_:_:xs)) :: Int+ , id (head (_:_:_:_:_)) :: Int+ , id (head (_:_:x:_)) :: Int+ , id (head (_:_:id _:_)) :: Int+ , id (head (_:_:(_ ++ _))) :: Int+ , id (head [_,x]) :: Int+ , id (head (_:x:_)) :: Int+ , id (head (_:x:xs)) :: Int+ , id (head (_:x:_:_)) :: Int+ , id (head (_:y:_)) :: Int+ , id (head (_:ord _:_)) :: Int+ , id (head (_:abs _:_)) :: Int+ , id (head (_:id 0:_)) :: Int+ , id (head [_,id _]) :: Int+ , id (head (_:id _:_)) :: Int+ , id (head (_:id _:xs)) :: Int+ , id (head (_:id _:_:_)) :: Int+ , id (head (_:id x:_)) :: Int+ , id (head (_:id (id _):_)) :: Int+ , id (head (_:negate _:_)) :: Int+ , id (head (_:head _:_)) :: Int+ , id (head (_:_ + _:_)) :: Int+ , id (head (_:insert _ _)) :: Int+ , id (head (_:([] ++ _))) :: Int+ , id (head (_:(_ ++ []))) :: Int+ , id (head (_:(_ ++ _))) :: Int+ , id (head (_:(_ ++ xs))) :: Int+ , id (head (_:(_ ++ (_:_)))) :: Int+ , id (head (_:(xs ++ _))) :: Int+ , id (head (_:((_:_) ++ _))) :: Int+ , id (head (x:[0])) :: Int+ , id (head [x]) :: Int+ , id (head (x:_)) :: Int+ , id (head (x:xs)) :: Int+ , id (head (x:ys)) :: Int+ , id (head (x:tail _)) :: Int+ , id (head (x:0:_)) :: Int+ , id (head [x,_]) :: Int+ , id (head (x:_:_)) :: Int+ , id (head (x:_:xs)) :: Int+ , id (head (x:_:_:_)) :: Int+ , id (head (x:x:_)) :: Int+ , id (head (x:id _:_)) :: Int+ , id (head (x:(_ ++ _))) :: Int+ , id (head [y]) :: Int+ , id (head (y:_)) :: Int+ , id (head (y:xs)) :: Int+ , id (head (y:_:_)) :: Int+ , id (head (z:_)) :: Int+ , id (head (ord 'a':_)) :: Int+ , id (head [ord _]) :: Int+ , id (head (ord _:_)) :: Int+ , id (head (ord _:xs)) :: Int+ , id (head (ord _:_:_)) :: Int+ , id (head (ord c:_)) :: Int+ , id (head (f _:_)) :: Int+ , id (head (abs 0:_)) :: Int+ , id (head [abs _]) :: Int+ , id (head (abs _:_)) :: Int+ , id (head (abs _:xs)) :: Int+ , id (head (abs _:_:_)) :: Int+ , id (head (abs x:_)) :: Int+ , id (head (abs (id _):_)) :: Int+ , id (head [id 0]) :: Int+ , id (head (id 0:_)) :: Int+ , id (head (id 0:xs)) :: Int+ , id (head (id 0:_:_)) :: Int+ , id (head (id 1:_)) :: Int+ , id (head (id _:[0])) :: Int+ , id (head [id _]) :: Int+ , id (head (id _:_)) :: Int+ , id (head (id _:xs)) :: Int+ , id (head (id _:ys)) :: Int+ , id (head (id _:tail _)) :: Int+ , id (head (id _:0:_)) :: Int+ , id (head [id _,_]) :: Int+ , id (head (id _:_:_)) :: Int+ , id (head (id _:_:xs)) :: Int+ , id (head (id _:_:_:_)) :: Int+ , id (head (id _:x:_)) :: Int+ , id (head (id _:id _:_)) :: Int+ , id (head (id _:(_ ++ _))) :: Int+ , id (head [id x]) :: Int+ , id (head (id x:_)) :: Int+ , id (head (id x:xs)) :: Int+ , id (head (id x:_:_)) :: Int+ , id (head (id y:_)) :: Int+ , id (head (id (ord _):_)) :: Int+ , id (head (id (abs _):_)) :: Int+ , id (head (id (id 0):_)) :: Int+ , id (head [id (id _)]) :: Int+ , id (head (id (id _):_)) :: Int+ , id (head (id (id _):xs)) :: Int+ , id (head (id (id _):_:_)) :: Int+ , id (head (id (id x):_)) :: Int+ , id (head (id (id (id _)):_)) :: Int+ , id (head (id (negate _):_)) :: Int+ , id (head (id (head _):_)) :: Int+ , id (head (id (_ + _):_)) :: Int+ , id (head (negate 0:_)) :: Int+ , id (head [negate _]) :: Int+ , id (head (negate _:_)) :: Int+ , id (head (negate _:xs)) :: Int+ , id (head (negate _:_:_)) :: Int+ , id (head (negate x:_)) :: Int+ , id (head (negate (id _):_)) :: Int+ , id (head (head []:_)) :: Int+ , id (head [head _]) :: Int+ , id (head (head _:_)) :: Int+ , id (head (head _:xs)) :: Int+ , id (head (head _:_:_)) :: Int+ , id (head (head xs:_)) :: Int+ , id (head (head (_:_):_)) :: Int+ , id (head (_ * _:_)) :: Int+ , id (head (0 + _:_)) :: Int+ , id (head (_ + 0:_)) :: Int+ , id (head [_ + _]) :: Int+ , id (head (_ + _:_)) :: Int+ , id (head (_ + _:xs)) :: Int+ , id (head (_ + _:_:_)) :: Int+ , id (head (_ + x:_)) :: Int+ , id (head (_ + id _:_)) :: Int+ , id (head (x + _:_)) :: Int+ , id (head (id _ + _:_)) :: Int+ , id (head (insert _ _)) :: Int+ , id (head ([0] ++ _)) :: Int+ , id (head ([] ++ [])) :: Int+ , id (head ([] ++ _)) :: Int+ , id (head ([] ++ xs)) :: Int+ , id (head ([] ++ (_:_))) :: Int+ , id (head (_ ++ [0])) :: Int+ , id (head (_ ++ [])) :: Int+ , id (head (_ ++ _)) :: Int+ , id (head (_ ++ xs)) :: Int+ , id (head (_ ++ ys)) :: Int+ , id (head (_ ++ tail _)) :: Int+ , id (head (_ ++ (0:_))) :: Int+ , id (head (_ ++ [_])) :: Int+ , id (head (_ ++ (_:_))) :: Int+ , id (head (_ ++ (_:xs))) :: Int+ , id (head (_ ++ (_:_:_))) :: Int+ , id (head (_ ++ (x:_))) :: Int+ , id (head (_ ++ (id _:_))) :: Int+ , id (head (_ ++ (_ ++ _))) :: Int+ , id (head (xs ++ [])) :: Int+ , id (head (xs ++ _)) :: Int+ , id (head (xs ++ xs)) :: Int+ , id (head (xs ++ (_:_))) :: Int+ , id (head (ys ++ _)) :: Int+ , id (head ((0:_) ++ _)) :: Int+ , id (head ([_] ++ _)) :: Int+ , id (head ((_:_) ++ [])) :: Int+ , id (head ((_:_) ++ _)) :: Int+ , id (head ((_:_) ++ xs)) :: Int+ , id (head ((_:_) ++ (_:_))) :: Int+ , id (head ((_:xs) ++ _)) :: Int+ , id (head ((_:_:_) ++ _)) :: Int+ , id (head ((x:_) ++ _)) :: Int+ , id (head ((id _:_) ++ _)) :: Int+ , id ((-1) * _) :: Int+ , id (0 * 0) :: Int+ , id (0 * 1) :: Int+ , id (0 * _) :: Int+ , id (0 * x) :: Int+ , id (0 * y) :: Int+ , id (0 * ord _) :: Int+ , id (0 * abs _) :: Int+ , id (0 * id 0) :: Int+ , id (0 * id _) :: Int+ , id (0 * id x) :: Int+ , id (0 * id (id _)) :: Int+ , id (0 * negate _) :: Int+ , id (0 * head _) :: Int+ , id (0 * (_ + _)) :: Int+ , id (1 * 0) :: Int+ , id (1 * _) :: Int+ , id (1 * x) :: Int+ , id (1 * id _) :: Int+ , id (_ * (-1)) :: Int+ , id (_ * 0) :: Int+ , id (_ * 1) :: Int+ , id (_ * _) :: Int+ , id (_ * x) :: Int+ , id (_ * y) :: Int+ , id (_ * z) :: Int+ , id (_ * ord 'a') :: Int+ , id (_ * ord _) :: Int+ , id (_ * ord c) :: Int+ , id (_ * f _) :: Int+ , id (_ * abs 0) :: Int+ , id (_ * abs _) :: Int+ , id (_ * abs x) :: Int+ , id (_ * abs (id _)) :: Int+ , id (_ * id 0) :: Int+ , id (_ * id 1) :: Int+ , id (_ * id _) :: Int+ , id (_ * id x) :: Int+ , id (_ * id y) :: Int+ , id (_ * id (ord _)) :: Int+ , id (_ * id (abs _)) :: Int+ , id (_ * id (id 0)) :: Int+ , id (_ * id (id _)) :: Int+ , id (_ * id (id x)) :: Int+ , id (_ * id (id (id _))) :: Int+ , id (_ * id (negate _)) :: Int+ , id (_ * id (head _)) :: Int+ , id (_ * id (_ + _)) :: Int+ , id (_ * negate 0) :: Int+ , id (_ * negate _) :: Int+ , id (_ * negate x) :: Int+ , id (_ * negate (id _)) :: Int+ , id (_ * head []) :: Int+ , id (_ * head _) :: Int+ , id (_ * head xs) :: Int+ , id (_ * head (_:_)) :: Int+ , id (_ * (_ * _)) :: Int+ , id (_ * (0 + _)) :: Int+ , id (_ * (_ + 0)) :: Int+ , id (_ * (_ + _)) :: Int+ , id (_ * (_ + x)) :: Int+ , id (_ * (_ + id _)) :: Int+ , id (_ * (x + _)) :: Int+ , id (_ * (id _ + _)) :: Int+ , id (x * 0) :: Int+ , id (x * 1) :: Int+ , id (x * _) :: Int+ , id (x * x) :: Int+ , id (x * y) :: Int+ , id (x * ord _) :: Int+ , id (x * abs _) :: Int+ , id (x * id 0) :: Int+ , id (x * id _) :: Int+ , id (x * id x) :: Int+ , id (x * id (id _)) :: Int+ , id (x * negate _) :: Int+ , id (x * head _) :: Int+ , id (x * (_ + _)) :: Int+ , id (y * 0) :: Int+ , id (y * _) :: Int+ , id (y * x) :: Int+ , id (y * id _) :: Int+ , id (z * _) :: Int+ , id (ord 'a' * _) :: Int+ , id (ord _ * 0) :: Int+ , id (ord _ * _) :: Int+ , id (ord _ * x) :: Int+ , id (ord _ * id _) :: Int+ , id (ord c * _) :: Int+ , id (f _ * _) :: Int+ , id (abs 0 * _) :: Int+ , id (abs _ * 0) :: Int+ , id (abs _ * _) :: Int+ , id (abs _ * x) :: Int+ , id (abs _ * id _) :: Int+ , id (abs x * _) :: Int+ , id (abs (id _) * _) :: Int+ , id (id 0 * 0) :: Int+ , id (id 0 * _) :: Int+ , id (id 0 * x) :: Int+ , id (id 0 * id _) :: Int+ , id (id 1 * _) :: Int+ , id (id _ * 0) :: Int+ , id (id _ * 1) :: Int+ , id (id _ * _) :: Int+ , id (id _ * x) :: Int+ , id (id _ * y) :: Int+ , id (id _ * ord _) :: Int+ , id (id _ * abs _) :: Int+ , id (id _ * id 0) :: Int+ , id (id _ * id _) :: Int+ , id (id _ * id x) :: Int+ , id (id _ * id (id _)) :: Int+ , id (id _ * negate _) :: Int+ , id (id _ * head _) :: Int+ , id (id _ * (_ + _)) :: Int+ , id (id x * 0) :: Int+ , id (id x * _) :: Int+ , id (id x * x) :: Int+ , id (id x * id _) :: Int+ , id (id y * _) :: Int+ , id (id (ord _) * _) :: Int+ , id (id (abs _) * _) :: Int+ , id (id (id 0) * _) :: Int+ , id (id (id _) * 0) :: Int+ , id (id (id _) * _) :: Int+ , id (id (id _) * x) :: Int+ , id (id (id _) * id _) :: Int+ , id (id (id x) * _) :: Int+ , id (id (id (id _)) * _) :: Int+ , id (id (negate _) * _) :: Int+ , id (id (head _) * _) :: Int+ , id (id (_ + _) * _) :: Int+ , id (negate 0 * _) :: Int+ , id (negate _ * 0) :: Int+ , id (negate _ * _) :: Int+ , id (negate _ * x) :: Int+ , id (negate _ * id _) :: Int+ , id (negate x * _) :: Int+ , id (negate (id _) * _) :: Int+ , id (head [] * _) :: Int+ , id (head _ * 0) :: Int+ , id (head _ * _) :: Int+ , id (head _ * x) :: Int+ , id (head _ * id _) :: Int+ , id (head xs * _) :: Int+ , id (head (_:_) * _) :: Int+ , id ((_ * _) * _) :: Int+ , id ((0 + _) * _) :: Int+ , id ((_ + 0) * _) :: Int+ , id ((_ + _) * 0) :: Int+ , id ((_ + _) * _) :: Int+ , id ((_ + _) * x) :: Int+ , id ((_ + _) * id _) :: Int+ , id ((_ + x) * _) :: Int+ , id ((_ + id _) * _) :: Int+ , id ((x + _) * _) :: Int+ , id ((id _ + _) * _) :: Int+ , id ((-1) + 0) :: Int+ , id ((-1) + _) :: Int+ , id ((-1) + x) :: Int+ , id ((-1) + id _) :: Int+ , id (0 + (-1)) :: Int+ , id (0 + 0) :: Int+ , id (0 + 1) :: Int+ , id (0 + _) :: Int+ , id (0 + x) :: Int+ , id (0 + y) :: Int+ , id (0 + z) :: Int+ , id (0 + ord 'a') :: Int+ , id (0 + ord _) :: Int+ , id (0 + ord c) :: Int+ , id (0 + f _) :: Int+ , id (0 + abs 0) :: Int+ , id (0 + abs _) :: Int+ , id (0 + abs x) :: Int+ , id (0 + abs (id _)) :: Int+ , id (0 + id 0) :: Int+ , id (0 + id 1) :: Int+ , id (0 + id _) :: Int+ , id (0 + id x) :: Int+ , id (0 + id y) :: Int+ , id (0 + id (ord _)) :: Int+ , id (0 + id (abs _)) :: Int+ , id (0 + id (id 0)) :: Int+ , id (0 + id (id _)) :: Int+ , id (0 + id (id x)) :: Int+ , id (0 + id (id (id _))) :: Int+ , id (0 + id (negate _)) :: Int+ , id (0 + id (head _)) :: Int+ , id (0 + id (_ + _)) :: Int+ , id (0 + negate 0) :: Int+ , id (0 + negate _) :: Int+ , id (0 + negate x) :: Int+ , id (0 + negate (id _)) :: Int+ , id (0 + head []) :: Int+ , id (0 + head _) :: Int+ , id (0 + head xs) :: Int+ , id (0 + head (_:_)) :: Int+ , id (0 + _ * _) :: Int+ , id (0 + (0 + _)) :: Int+ , id (0 + (_ + 0)) :: Int+ , id (0 + (_ + _)) :: Int+ , id (0 + (_ + x)) :: Int+ , id (0 + (_ + id _)) :: Int+ , id (0 + (x + _)) :: Int+ , id (0 + (id _ + _)) :: Int+ , id (1 + 0) :: Int+ , id (1 + 1) :: Int+ , id (1 + _) :: Int+ , id (1 + x) :: Int+ , id (1 + y) :: Int+ , id (1 + ord _) :: Int+ , id (1 + abs _) :: Int+ , id (1 + id 0) :: Int+ , id (1 + id _) :: Int+ , id (1 + id x) :: Int+ , id (1 + id (id _)) :: Int+ , id (1 + negate _) :: Int+ , id (1 + head _) :: Int+ , id (1 + (_ + _)) :: Int+ , id (2 + _) :: Int+ , id (_ + (-1)) :: Int+ , id (_ + 0) :: Int+ , id (_ + 1) :: Int+ , id (_ + 2) :: Int+ , id (_ + _) :: Int+ , id (_ + x) :: Int+ , id (_ + x') :: Int+ , id (_ + y) :: Int+ , id (_ + z) :: Int+ , id (_ + ord ' ') :: Int+ , id (_ + ord 'a') :: Int+ , id (_ + ord _) :: Int+ , id (_ + ord c) :: Int+ , id (_ + ord d) :: Int+ , id (_ + f 0) :: Int+ , id (_ + f _) :: Int+ , id (_ + f x) :: Int+ , id (_ + f (id _)) :: Int+ , id (_ + g _) :: Int+ , id (_ + abs 0) :: Int+ , id (_ + abs 1) :: Int+ , id (_ + abs _) :: Int+ , id (_ + abs x) :: Int+ , id (_ + abs y) :: Int+ , id (_ + abs (ord _)) :: Int+ , id (_ + abs (abs _)) :: Int+ , id (_ + abs (id 0)) :: Int+ , id (_ + abs (id _)) :: Int+ , id (_ + abs (id x)) :: Int+ , id (_ + abs (id (id _))) :: Int+ , id (_ + abs (negate _)) :: Int+ , id (_ + abs (head _)) :: Int+ , id (_ + abs (_ + _)) :: Int+ , id (_ + id (-1)) :: Int+ , id (_ + id 0) :: Int+ , id (_ + id 1) :: Int+ , id (_ + id _) :: Int+ , id (_ + id x) :: Int+ , id (_ + id y) :: Int+ , id (_ + id z) :: Int+ , id (_ + id (ord 'a')) :: Int+ , id (_ + id (ord _)) :: Int+ , id (_ + id (ord c)) :: Int+ , id (_ + id (f _)) :: Int+ , id (_ + id (abs 0)) :: Int+ , id (_ + id (abs _)) :: Int+ , id (_ + id (abs x)) :: Int+ , id (_ + id (abs (id _))) :: Int+ , id (_ + id (id 0)) :: Int+ , id (_ + id (id 1)) :: Int+ , id (_ + id (id _)) :: Int+ , id (_ + id (id x)) :: Int+ , id (_ + id (id y)) :: Int+ , id (_ + id (id (ord _))) :: Int+ , id (_ + id (id (abs _))) :: Int+ , id (_ + id (id (id 0))) :: Int+ , id (_ + id (id (id _))) :: Int+ , id (_ + id (id (id x))) :: Int+ , id (_ + id (id (id (id _)))) :: Int+ , id (_ + id (id (negate _))) :: Int+ , id (_ + id (id (head _))) :: Int+ , id (_ + id (id (_ + _))) :: Int+ , id (_ + id (negate 0)) :: Int+ , id (_ + id (negate _)) :: Int+ , id (_ + id (negate x)) :: Int+ , id (_ + id (negate (id _))) :: Int+ , id (_ + id (head [])) :: Int+ , id (_ + id (head _)) :: Int+ , id (_ + id (head xs)) :: Int+ , id (_ + id (head (_:_))) :: Int+ , id (_ + id (_ * _)) :: Int+ , id (_ + id (0 + _)) :: Int+ , id (_ + id (_ + 0)) :: Int+ , id (_ + id (_ + _)) :: Int+ , id (_ + id (_ + x)) :: Int+ , id (_ + id (_ + id _)) :: Int+ , id (_ + id (x + _)) :: Int+ , id (_ + id (id _ + _)) :: Int+ , id (_ + negate 0) :: Int+ , id (_ + negate 1) :: Int+ , id (_ + negate _) :: Int+ , id (_ + negate x) :: Int+ , id (_ + negate y) :: Int+ , id (_ + negate (ord _)) :: Int+ , id (_ + negate (abs _)) :: Int+ , id (_ + negate (id 0)) :: Int+ , id (_ + negate (id _)) :: Int+ , id (_ + negate (id x)) :: Int+ , id (_ + negate (id (id _))) :: Int+ , id (_ + negate (negate _)) :: Int+ , id (_ + negate (head _)) :: Int+ , id (_ + negate (_ + _)) :: Int+ , id (_ + head [0]) :: Int+ , id (_ + head []) :: Int+ , id (_ + head _) :: Int+ , id (_ + head xs) :: Int+ , id (_ + head ys) :: Int+ , id (_ + head (tail _)) :: Int+ , id (_ + head (0:_)) :: Int+ , id (_ + head [_]) :: Int+ , id (_ + head (_:_)) :: Int+ , id (_ + head (_:xs)) :: Int+ , id (_ + head (_:_:_)) :: Int+ , id (_ + head (x:_)) :: Int+ , id (_ + head (id _:_)) :: Int+ , id (_ + head (_ ++ _)) :: Int+ , id (_ + 0 * _) :: Int+ , id (_ + _ * 0) :: Int+ , id (_ + _ * _) :: Int+ , id (_ + _ * x) :: Int+ , id (_ + _ * id _) :: Int+ , id (_ + x * _) :: Int+ , id (_ + id _ * _) :: Int+ , id (_ + (0 + 0)) :: Int+ , id (_ + (0 + _)) :: Int+ , id (_ + (0 + x)) :: Int+ , id (_ + (0 + id _)) :: Int+ , id (_ + (1 + _)) :: Int+ , id (_ + (_ + 0)) :: Int+ , id (_ + (_ + 1)) :: Int+ , id (_ + (_ + _)) :: Int+ , id (_ + (_ + x)) :: Int+ , id (_ + (_ + y)) :: Int+ , id (_ + (_ + ord _)) :: Int+ , id (_ + (_ + abs _)) :: Int+ , id (_ + (_ + id 0)) :: Int+ , id (_ + (_ + id _)) :: Int+ , id (_ + (_ + id x)) :: Int+ , id (_ + (_ + id (id _))) :: Int+ , id (_ + (_ + negate _)) :: Int+ , id (_ + (_ + head _)) :: Int+ , id (_ + (_ + (_ + _))) :: Int+ , id (_ + (x + 0)) :: Int+ , id (_ + (x + _)) :: Int+ , id (_ + (x + x)) :: Int+ , id (_ + (x + id _)) :: Int+ , id (_ + (y + _)) :: Int+ , id (_ + (ord _ + _)) :: Int+ , id (_ + (abs _ + _)) :: Int+ , id (_ + (id 0 + _)) :: Int+ , id (_ + (id _ + 0)) :: Int+ , id (_ + (id _ + _)) :: Int+ , id (_ + (id _ + x)) :: Int+ , id (_ + (id _ + id _)) :: Int+ , id (_ + (id x + _)) :: Int+ , id (_ + (id (id _) + _)) :: Int+ , id (_ + (negate _ + _)) :: Int+ , id (_ + (head _ + _)) :: Int+ , id (_ + ((_ + _) + _)) :: Int+ , id (x + (-1)) :: Int+ , id (x + 0) :: Int+ , id (x + 1) :: Int+ , id (x + _) :: Int+ , id (x + x) :: Int+ , id (x + y) :: Int+ , id (x + z) :: Int+ , id (x + ord 'a') :: Int+ , id (x + ord _) :: Int+ , id (x + ord c) :: Int+ , id (x + f _) :: Int+ , id (x + abs 0) :: Int+ , id (x + abs _) :: Int+ , id (x + abs x) :: Int+ , id (x + abs (id _)) :: Int+ , id (x + id 0) :: Int+ , id (x + id 1) :: Int+ , id (x + id _) :: Int+ , id (x + id x) :: Int+ , id (x + id y) :: Int+ , id (x + id (ord _)) :: Int+ , id (x + id (abs _)) :: Int+ , id (x + id (id 0)) :: Int+ , id (x + id (id _)) :: Int+ , id (x + id (id x)) :: Int+ , id (x + id (id (id _))) :: Int+ , id (x + id (negate _)) :: Int+ , id (x + id (head _)) :: Int+ , id (x + id (_ + _)) :: Int+ , id (x + negate 0) :: Int+ , id (x + negate _) :: Int+ , id (x + negate x) :: Int+ , id (x + negate (id _)) :: Int+ , id (x + head []) :: Int+ , id (x + head _) :: Int+ , id (x + head xs) :: Int+ , id (x + head (_:_)) :: Int+ , id (x + _ * _) :: Int+ , id (x + (0 + _)) :: Int+ , id (x + (_ + 0)) :: Int+ , id (x + (_ + _)) :: Int+ , id (x + (_ + x)) :: Int+ , id (x + (_ + id _)) :: Int+ , id (x + (x + _)) :: Int+ , id (x + (id _ + _)) :: Int+ , id (x' + _) :: Int+ , id (y + 0) :: Int+ , id (y + 1) :: Int+ , id (y + _) :: Int+ , id (y + x) :: Int+ , id (y + y) :: Int+ , id (y + ord _) :: Int+ , id (y + abs _) :: Int+ , id (y + id 0) :: Int+ , id (y + id _) :: Int+ , id (y + id x) :: Int+ , id (y + id (id _)) :: Int+ , id (y + negate _) :: Int+ , id (y + head _) :: Int+ , id (y + (_ + _)) :: Int+ , id (z + 0) :: Int+ , id (z + _) :: Int+ , id (z + x) :: Int+ , id (z + id _) :: Int+ , id (ord ' ' + _) :: Int+ , id (ord 'a' + 0) :: Int+ , id (ord 'a' + _) :: Int+ , id (ord 'a' + x) :: Int+ , id (ord 'a' + id _) :: Int+ , id (ord _ + 0) :: Int+ , id (ord _ + 1) :: Int+ , id (ord _ + _) :: Int+ , id (ord _ + x) :: Int+ , id (ord _ + y) :: Int+ , id (ord _ + ord _) :: Int+ , id (ord _ + abs _) :: Int+ , id (ord _ + id 0) :: Int+ , id (ord _ + id _) :: Int+ , id (ord _ + id x) :: Int+ , id (ord _ + id (id _)) :: Int+ , id (ord _ + negate _) :: Int+ , id (ord _ + head _) :: Int+ , id (ord _ + (_ + _)) :: Int+ , id (ord c + 0) :: Int+ , id (ord c + _) :: Int+ , id (ord c + x) :: Int+ , id (ord c + id _) :: Int+ , id (ord d + _) :: Int+ , id (f 0 + _) :: Int+ , id (f _ + 0) :: Int+ , id (f _ + _) :: Int+ , id (f _ + x) :: Int+ , id (f _ + id _) :: Int+ , id (f x + _) :: Int+ , id (f (id _) + _) :: Int+ , id (g _ + _) :: Int+ , id (abs 0 + 0) :: Int+ , id (abs 0 + _) :: Int+ , id (abs 0 + x) :: Int+ , id (abs 0 + id _) :: Int+ , id (abs 1 + _) :: Int+ , id (abs _ + 0) :: Int+ , id (abs _ + 1) :: Int+ , id (abs _ + _) :: Int+ , id (abs _ + x) :: Int+ , id (abs _ + y) :: Int+ , id (abs _ + ord _) :: Int+ , id (abs _ + abs _) :: Int+ , id (abs _ + id 0) :: Int+ , id (abs _ + id _) :: Int+ , id (abs _ + id x) :: Int+ , id (abs _ + id (id _)) :: Int+ , id (abs _ + negate _) :: Int+ , id (abs _ + head _) :: Int+ , id (abs _ + (_ + _)) :: Int+ , id (abs x + 0) :: Int+ , id (abs x + _) :: Int+ , id (abs x + x) :: Int+ , id (abs x + id _) :: Int+ , id (abs y + _) :: Int+ , id (abs (ord _) + _) :: Int+ , id (abs (abs _) + _) :: Int+ , id (abs (id 0) + _) :: Int+ , id (abs (id _) + 0) :: Int+ , id (abs (id _) + _) :: Int+ , id (abs (id _) + x) :: Int+ , id (abs (id _) + id _) :: Int+ , id (abs (id x) + _) :: Int+ , id (abs (id (id _)) + _) :: Int+ , id (abs (negate _) + _) :: Int+ , id (abs (head _) + _) :: Int+ , id (abs (_ + _) + _) :: Int+ , id (id (-1) + _) :: Int+ , id (id 0 + 0) :: Int+ , id (id 0 + 1) :: Int+ , id (id 0 + _) :: Int+ , id (id 0 + x) :: Int+ , id (id 0 + y) :: Int+ , id (id 0 + ord _) :: Int+ , id (id 0 + abs _) :: Int+ , id (id 0 + id 0) :: Int+ , id (id 0 + id _) :: Int+ , id (id 0 + id x) :: Int+ , id (id 0 + id (id _)) :: Int+ , id (id 0 + negate _) :: Int+ , id (id 0 + head _) :: Int+ , id (id 0 + (_ + _)) :: Int+ , id (id 1 + 0) :: Int+ , id (id 1 + _) :: Int+ , id (id 1 + x) :: Int+ , id (id 1 + id _) :: Int+ , id (id _ + (-1)) :: Int+ , id (id _ + 0) :: Int+ , id (id _ + 1) :: Int+ , id (id _ + _) :: Int+ , id (id _ + x) :: Int+ , id (id _ + y) :: Int+ , id (id _ + z) :: Int+ , id (id _ + ord 'a') :: Int+ , id (id _ + ord _) :: Int+ , id (id _ + ord c) :: Int+ , id (id _ + f _) :: Int+ , id (id _ + abs 0) :: Int+ , id (id _ + abs _) :: Int+ , id (id _ + abs x) :: Int+ , id (id _ + abs (id _)) :: Int+ , id (id _ + id 0) :: Int+ , id (id _ + id 1) :: Int+ , id (id _ + id _) :: Int+ , id (id _ + id x) :: Int+ , id (id _ + id y) :: Int+ , id (id _ + id (ord _)) :: Int+ , id (id _ + id (abs _)) :: Int+ , id (id _ + id (id 0)) :: Int+ , id (id _ + id (id _)) :: Int+ , id (id _ + id (id x)) :: Int+ , id (id _ + id (id (id _))) :: Int+ , id (id _ + id (negate _)) :: Int+ , id (id _ + id (head _)) :: Int+ , id (id _ + id (_ + _)) :: Int+ , id (id _ + negate 0) :: Int+ , id (id _ + negate _) :: Int+ , id (id _ + negate x) :: Int+ , id (id _ + negate (id _)) :: Int+ , id (id _ + head []) :: Int+ , id (id _ + head _) :: Int+ , id (id _ + head xs) :: Int+ , id (id _ + head (_:_)) :: Int+ , id (id _ + _ * _) :: Int+ , id (id _ + (0 + _)) :: Int+ , id (id _ + (_ + 0)) :: Int+ , id (id _ + (_ + _)) :: Int+ , id (id _ + (_ + x)) :: Int+ , id (id _ + (_ + id _)) :: Int+ , id (id _ + (x + _)) :: Int+ , id (id _ + (id _ + _)) :: Int+ , id (id x + 0) :: Int+ , id (id x + 1) :: Int+ , id (id x + _) :: Int+ , id (id x + x) :: Int+ , id (id x + y) :: Int+ , id (id x + ord _) :: Int+ , id (id x + abs _) :: Int+ , id (id x + id 0) :: Int+ , id (id x + id _) :: Int+ , id (id x + id x) :: Int+ , id (id x + id (id _)) :: Int+ , id (id x + negate _) :: Int+ , id (id x + head _) :: Int+ , id (id x + (_ + _)) :: Int+ , id (id y + 0) :: Int+ , id (id y + _) :: Int+ , id (id y + x) :: Int+ , id (id y + id _) :: Int+ , id (id z + _) :: Int+ , id (id (ord 'a') + _) :: Int+ , id (id (ord _) + 0) :: Int+ , id (id (ord _) + _) :: Int+ , id (id (ord _) + x) :: Int+ , id (id (ord _) + id _) :: Int+ , id (id (ord c) + _) :: Int+ , id (id (f _) + _) :: Int+ , id (id (abs 0) + _) :: Int+ , id (id (abs _) + 0) :: Int+ , id (id (abs _) + _) :: Int+ , id (id (abs _) + x) :: Int+ , id (id (abs _) + id _) :: Int+ , id (id (abs x) + _) :: Int+ , id (id (abs (id _)) + _) :: Int+ , id (id (id 0) + 0) :: Int+ , id (id (id 0) + _) :: Int+ , id (id (id 0) + x) :: Int+ , id (id (id 0) + id _) :: Int+ , id (id (id 1) + _) :: Int+ , id (id (id _) + 0) :: Int+ , id (id (id _) + 1) :: Int+ , id (id (id _) + _) :: Int+ , id (id (id _) + x) :: Int+ , id (id (id _) + y) :: Int+ , id (id (id _) + ord _) :: Int+ , id (id (id _) + abs _) :: Int+ , id (id (id _) + id 0) :: Int+ , id (id (id _) + id _) :: Int+ , id (id (id _) + id x) :: Int+ , id (id (id _) + id (id _)) :: Int+ , id (id (id _) + negate _) :: Int+ , id (id (id _) + head _) :: Int+ , id (id (id _) + (_ + _)) :: Int+ , id (id (id x) + 0) :: Int+ , id (id (id x) + _) :: Int+ , id (id (id x) + x) :: Int+ , id (id (id x) + id _) :: Int+ , id (id (id y) + _) :: Int+ , id (id (id (ord _)) + _) :: Int+ , id (id (id (abs _)) + _) :: Int+ , id (id (id (id 0)) + _) :: Int+ , id (id (id (id _)) + 0) :: Int+ , id (id (id (id _)) + _) :: Int+ , id (id (id (id _)) + x) :: Int+ , id (id (id (id _)) + id _) :: Int+ , id (id (id (id x)) + _) :: Int+ , id (id (id (id (id _))) + _) :: Int+ , id (id (id (negate _)) + _) :: Int+ , id (id (id (head _)) + _) :: Int+ , id (id (id (_ + _)) + _) :: Int+ , id (id (negate 0) + _) :: Int+ , id (id (negate _) + 0) :: Int+ , id (id (negate _) + _) :: Int+ , id (id (negate _) + x) :: Int+ , id (id (negate _) + id _) :: Int+ , id (id (negate x) + _) :: Int+ , id (id (negate (id _)) + _) :: Int+ , id (id (head []) + _) :: Int+ , id (id (head _) + 0) :: Int+ , id (id (head _) + _) :: Int+ , id (id (head _) + x) :: Int+ , id (id (head _) + id _) :: Int+ , id (id (head xs) + _) :: Int+ , id (id (head (_:_)) + _) :: Int+ , id (id (_ * _) + _) :: Int+ , id (id (0 + _) + _) :: Int+ , id (id (_ + 0) + _) :: Int+ , id (id (_ + _) + 0) :: Int+ , id (id (_ + _) + _) :: Int+ , id (id (_ + _) + x) :: Int+ , id (id (_ + _) + id _) :: Int+ , id (id (_ + x) + _) :: Int+ , id (id (_ + id _) + _) :: Int+ , id (id (x + _) + _) :: Int+ , id (id (id _ + _) + _) :: Int+ , id (negate 0 + 0) :: Int+ , id (negate 0 + _) :: Int+ , id (negate 0 + x) :: Int+ , id (negate 0 + id _) :: Int+ , id (negate 1 + _) :: Int+ , id (negate _ + 0) :: Int+ , id (negate _ + 1) :: Int+ , id (negate _ + _) :: Int+ , id (negate _ + x) :: Int+ , id (negate _ + y) :: Int+ , id (negate _ + ord _) :: Int+ , id (negate _ + abs _) :: Int+ , id (negate _ + id 0) :: Int+ , id (negate _ + id _) :: Int+ , id (negate _ + id x) :: Int+ , id (negate _ + id (id _)) :: Int+ , id (negate _ + negate _) :: Int+ , id (negate _ + head _) :: Int+ , id (negate _ + (_ + _)) :: Int+ , id (negate x + 0) :: Int+ , id (negate x + _) :: Int+ , id (negate x + x) :: Int+ , id (negate x + id _) :: Int+ , id (negate y + _) :: Int+ , id (negate (ord _) + _) :: Int+ , id (negate (abs _) + _) :: Int+ , id (negate (id 0) + _) :: Int+ , id (negate (id _) + 0) :: Int+ , id (negate (id _) + _) :: Int+ , id (negate (id _) + x) :: Int+ , id (negate (id _) + id _) :: Int+ , id (negate (id x) + _) :: Int+ , id (negate (id (id _)) + _) :: Int+ , id (negate (negate _) + _) :: Int+ , id (negate (head _) + _) :: Int+ , id (negate (_ + _) + _) :: Int+ , id (head [0] + _) :: Int+ , id (head [] + 0) :: Int+ , id (head [] + _) :: Int+ , id (head [] + x) :: Int+ , id (head [] + id _) :: Int+ , id (head _ + 0) :: Int+ , id (head _ + 1) :: Int+ , id (head _ + _) :: Int+ , id (head _ + x) :: Int+ , id (head _ + y) :: Int+ , id (head _ + ord _) :: Int+ , id (head _ + abs _) :: Int+ , id (head _ + id 0) :: Int+ , id (head _ + id _) :: Int+ , id (head _ + id x) :: Int+ , id (head _ + id (id _)) :: Int+ , id (head _ + negate _) :: Int+ , id (head _ + head _) :: Int+ , id (head _ + (_ + _)) :: Int+ , id (head xs + 0) :: Int+ , id (head xs + _) :: Int+ , id (head xs + x) :: Int+ , id (head xs + id _) :: Int+ , id (head ys + _) :: Int+ , id (head (tail _) + _) :: Int+ , id (head (0:_) + _) :: Int+ , id (head [_] + _) :: Int+ , id (head (_:_) + 0) :: Int+ , id (head (_:_) + _) :: Int+ , id (head (_:_) + x) :: Int+ , id (head (_:_) + id _) :: Int+ , id (head (_:xs) + _) :: Int+ , id (head (_:_:_) + _) :: Int+ , id (head (x:_) + _) :: Int+ , id (head (id _:_) + _) :: Int+ , id (head (_ ++ _) + _) :: Int+ , id (0 * _ + _) :: Int+ , id (_ * 0 + _) :: Int+ , id (_ * _ + 0) :: Int+ , id (_ * _ + _) :: Int+ , id (_ * _ + x) :: Int+ , id (_ * _ + id _) :: Int+ , id (_ * x + _) :: Int+ , id (_ * id _ + _) :: Int+ , id (x * _ + _) :: Int+ , id (id _ * _ + _) :: Int+ , id ((0 + 0) + _) :: Int+ , id ((0 + _) + 0) :: Int+ , id ((0 + _) + _) :: Int+ , id ((0 + _) + x) :: Int+ , id ((0 + _) + id _) :: Int+ , id ((0 + x) + _) :: Int+ , id ((0 + id _) + _) :: Int+ , id ((1 + _) + _) :: Int+ , id ((_ + 0) + 0) :: Int+ , id ((_ + 0) + _) :: Int+ , id ((_ + 0) + x) :: Int+ , id ((_ + 0) + id _) :: Int+ , id ((_ + 1) + _) :: Int+ , id ((_ + _) + 0) :: Int+ , id ((_ + _) + 1) :: Int+ , id ((_ + _) + _) :: Int+ , id ((_ + _) + x) :: Int+ , id ((_ + _) + y) :: Int+ , id ((_ + _) + ord _) :: Int+ , id ((_ + _) + abs _) :: Int+ , id ((_ + _) + id 0) :: Int+ , id ((_ + _) + id _) :: Int+ , id ((_ + _) + id x) :: Int+ , id ((_ + _) + id (id _)) :: Int+ , id ((_ + _) + negate _) :: Int+ , id ((_ + _) + head _) :: Int+ , id ((_ + _) + (_ + _)) :: Int+ , id ((_ + x) + 0) :: Int+ , id ((_ + x) + _) :: Int+ , id ((_ + x) + x) :: Int+ , id ((_ + x) + id _) :: Int+ , id ((_ + y) + _) :: Int+ , id ((_ + ord _) + _) :: Int+ , id ((_ + abs _) + _) :: Int+ , id ((_ + id 0) + _) :: Int+ , id ((_ + id _) + 0) :: Int+ , id ((_ + id _) + _) :: Int+ , id ((_ + id _) + x) :: Int+ , id ((_ + id _) + id _) :: Int+ , id ((_ + id x) + _) :: Int+ , id ((_ + id (id _)) + _) :: Int+ , id ((_ + negate _) + _) :: Int+ , id ((_ + head _) + _) :: Int+ , id ((_ + (_ + _)) + _) :: Int+ , id ((x + 0) + _) :: Int+ , id ((x + _) + 0) :: Int+ , id ((x + _) + _) :: Int+ , id ((x + _) + x) :: Int+ , id ((x + _) + id _) :: Int+ , id ((x + x) + _) :: Int+ , id ((x + id _) + _) :: Int+ , id ((y + _) + _) :: Int+ , id ((ord _ + _) + _) :: Int+ , id ((abs _ + _) + _) :: Int+ , id ((id 0 + _) + _) :: Int+ , id ((id _ + 0) + _) :: Int+ , id ((id _ + _) + 0) :: Int+ , id ((id _ + _) + _) :: Int+ , id ((id _ + _) + x) :: Int+ , id ((id _ + _) + id _) :: Int+ , id ((id _ + x) + _) :: Int+ , id ((id _ + id _) + _) :: Int+ , id ((id x + _) + _) :: Int+ , id ((id (id _) + _) + _) :: Int+ , id ((negate _ + _) + _) :: Int+ , id ((head _ + _) + _) :: Int+ , id (((_ + _) + _) + _) :: Int+ , negate (-1) :: Int+ , negate 0 :: Int+ , negate 1 :: Int+ , negate 2 :: Int+ , negate _ :: Int+ , negate x :: Int+ , negate x' :: Int+ , negate y :: Int+ , negate z :: Int+ , negate (ord ' ') :: Int+ , negate (ord 'a') :: Int+ , negate (ord _) :: Int+ , negate (ord c) :: Int+ , negate (ord d) :: Int+ , negate (f 0) :: Int+ , negate (f _) :: Int+ , negate (f x) :: Int+ , negate (f (id _)) :: Int+ , negate (g _) :: Int+ , negate (abs 0) :: Int+ , negate (abs 1) :: Int+ , negate (abs _) :: Int+ , negate (abs x) :: Int+ , negate (abs y) :: Int+ , negate (abs (ord _)) :: Int+ , negate (abs (abs _)) :: Int+ , negate (abs (id 0)) :: Int+ , negate (abs (id _)) :: Int+ , negate (abs (id x)) :: Int+ , negate (abs (id (id _))) :: Int+ , negate (abs (negate _)) :: Int+ , negate (abs (head _)) :: Int+ , negate (abs (_ + _)) :: Int+ , negate (id (-1)) :: Int+ , negate (id 0) :: Int+ , negate (id 1) :: Int+ , negate (id _) :: Int+ , negate (id x) :: Int+ , negate (id y) :: Int+ , negate (id z) :: Int+ , negate (id (ord 'a')) :: Int+ , negate (id (ord _)) :: Int+ , negate (id (ord c)) :: Int+ , negate (id (f _)) :: Int+ , negate (id (abs 0)) :: Int+ , negate (id (abs _)) :: Int+ , negate (id (abs x)) :: Int+ , negate (id (abs (id _))) :: Int+ , negate (id (id 0)) :: Int+ , negate (id (id 1)) :: Int+ , negate (id (id _)) :: Int+ , negate (id (id x)) :: Int+ , negate (id (id y)) :: Int+ , negate (id (id (ord _))) :: Int+ , negate (id (id (abs _))) :: Int+ , negate (id (id (id 0))) :: Int+ , negate (id (id (id _))) :: Int+ , negate (id (id (id x))) :: Int+ , negate (id (id (id (id _)))) :: Int+ , negate (id (id (negate _))) :: Int+ , negate (id (id (head _))) :: Int+ , negate (id (id (_ + _))) :: Int+ , negate (id (negate 0)) :: Int+ , negate (id (negate _)) :: Int+ , negate (id (negate x)) :: Int+ , negate (id (negate (id _))) :: Int+ , negate (id (head [])) :: Int+ , negate (id (head _)) :: Int+ , negate (id (head xs)) :: Int+ , negate (id (head (_:_))) :: Int+ , negate (id (_ * _)) :: Int+ , negate (id (0 + _)) :: Int+ , negate (id (_ + 0)) :: Int+ , negate (id (_ + _)) :: Int+ , negate (id (_ + x)) :: Int+ , negate (id (_ + id _)) :: Int+ , negate (id (x + _)) :: Int+ , negate (id (id _ + _)) :: Int+ , negate (negate 0) :: Int+ , negate (negate 1) :: Int+ , negate (negate _) :: Int+ , negate (negate x) :: Int+ , negate (negate y) :: Int+ , negate (negate (ord _)) :: Int+ , negate (negate (abs _)) :: Int+ , negate (negate (id 0)) :: Int+ , negate (negate (id _)) :: Int+ , negate (negate (id x)) :: Int+ , negate (negate (id (id _))) :: Int+ , negate (negate (negate _)) :: Int+ , negate (negate (head _)) :: Int+ , negate (negate (_ + _)) :: Int+ , negate (head [0]) :: Int+ , negate (head []) :: Int+ , negate (head _) :: Int+ , negate (head xs) :: Int+ , negate (head ys) :: Int+ , negate (head (tail _)) :: Int+ , negate (head (0:_)) :: Int+ , negate (head [_]) :: Int+ , negate (head (_:_)) :: Int+ , negate (head (_:xs)) :: Int+ , negate (head (_:_:_)) :: Int+ , negate (head (x:_)) :: Int+ , negate (head (id _:_)) :: Int+ , negate (head (_ ++ _)) :: Int+ , negate (0 * _) :: Int+ , negate (_ * 0) :: Int+ , negate (_ * _) :: Int+ , negate (_ * x) :: Int+ , negate (_ * id _) :: Int+ , negate (x * _) :: Int+ , negate (id _ * _) :: Int+ , negate (0 + 0) :: Int+ , negate (0 + _) :: Int+ , negate (0 + x) :: Int+ , negate (0 + id _) :: Int+ , negate (1 + _) :: Int+ , negate (_ + 0) :: Int+ , negate (_ + 1) :: Int+ , negate (_ + _) :: Int+ , negate (_ + x) :: Int+ , negate (_ + y) :: Int+ , negate (_ + ord _) :: Int+ , negate (_ + abs _) :: Int+ , negate (_ + id 0) :: Int+ , negate (_ + id _) :: Int+ , negate (_ + id x) :: Int+ , negate (_ + id (id _)) :: Int+ , negate (_ + negate _) :: Int+ , negate (_ + head _) :: Int+ , negate (_ + (_ + _)) :: Int+ , negate (x + 0) :: Int+ , negate (x + _) :: Int+ , negate (x + x) :: Int+ , negate (x + id _) :: Int+ , negate (y + _) :: Int+ , negate (ord _ + _) :: Int+ , negate (abs _ + _) :: Int+ , negate (id 0 + _) :: Int+ , negate (id _ + 0) :: Int+ , negate (id _ + _) :: Int+ , negate (id _ + x) :: Int+ , negate (id _ + id _) :: Int+ , negate (id x + _) :: Int+ , negate (id (id _) + _) :: Int+ , negate (negate _ + _) :: Int+ , negate (head _ + _) :: Int+ , negate ((_ + _) + _) :: Int+ , head [-1] :: Int+ , head [0,0,0] :: Int+ , head [0,0] :: Int+ , head [0,1] :: Int+ , head [0] :: Int+ , head [1,0] :: Int+ , head [1] :: Int+ , head [] :: Int+ , head _ :: Int+ , head xs :: Int+ , head xs' :: Int+ , head ys :: Int+ , head zs :: Int+ , head (sort []) :: Int+ , head (sort _) :: Int+ , head (sort xs) :: Int+ , head (sort (_:_)) :: Int+ , head (tail [0]) :: Int+ , head (tail []) :: Int+ , head (tail _) :: Int+ , head (tail xs) :: Int+ , head (tail ys) :: Int+ , head (tail (tail _)) :: Int+ , head (tail (0:_)) :: Int+ , head (tail [_]) :: Int+ , head (tail (_:_)) :: Int+ , head (tail (_:xs)) :: Int+ , head (tail (_:_:_)) :: Int+ , head (tail (x:_)) :: Int+ , head (tail (id _:_)) :: Int+ , head (tail (_ ++ _)) :: Int+ , head ((-1):_) :: Int+ , head (0:[0]) :: Int+ , head [0] :: Int+ , head (0:_) :: Int+ , head (0:xs) :: Int+ , head (0:ys) :: Int+ , head (0:tail _) :: Int+ , head (0:0:_) :: Int+ , head [0,_] :: Int+ , head (0:_:_) :: Int+ , head (0:_:xs) :: Int+ , head (0:_:_:_) :: Int+ , head (0:x:_) :: Int+ , head (0:id _:_) :: Int+ , head (0:(_ ++ _)) :: Int+ , head [1] :: Int+ , head (1:_) :: Int+ , head (1:xs) :: Int+ , head (1:_:_) :: Int+ , head (_:[0,0]) :: Int+ , head (_:[0]) :: Int+ , head (_:[1]) :: Int+ , head [_] :: Int+ , head (_:_) :: Int+ , head (_:xs) :: Int+ , head (_:ys) :: Int+ , head (_:zs) :: Int+ , head (_:sort _) :: Int+ , head (_:tail []) :: Int+ , head (_:tail _) :: Int+ , head (_:tail xs) :: Int+ , head (_:tail (_:_)) :: Int+ , head [_,0] :: Int+ , head (_:0:_) :: Int+ , head (_:0:xs) :: Int+ , head (_:0:_:_) :: Int+ , head (_:1:_) :: Int+ , head (_:_:[0]) :: Int+ , head [_,_] :: Int+ , head (_:_:_) :: Int+ , head (_:_:xs) :: Int+ , head (_:_:ys) :: Int+ , head (_:_:tail _) :: Int+ , head (_:_:0:_) :: Int+ , head [_,_,_] :: Int+ , head (_:_:_:_) :: Int+ , head (_:_:_:xs) :: Int+ , head (_:_:_:_:_) :: Int+ , head (_:_:x:_) :: Int+ , head (_:_:id _:_) :: Int+ , head (_:_:(_ ++ _)) :: Int+ , head [_,x] :: Int+ , head (_:x:_) :: Int+ , head (_:x:xs) :: Int+ , head (_:x:_:_) :: Int+ , head (_:y:_) :: Int+ , head (_:ord _:_) :: Int+ , head (_:abs _:_) :: Int+ , head (_:id 0:_) :: Int+ , head [_,id _] :: Int+ , head (_:id _:_) :: Int+ , head (_:id _:xs) :: Int+ , head (_:id _:_:_) :: Int+ , head (_:id x:_) :: Int+ , head (_:id (id _):_) :: Int+ , head (_:negate _:_) :: Int+ , head (_:head _:_) :: Int+ , head (_:_ + _:_) :: Int+ , head (_:insert _ _) :: Int+ , head (_:([] ++ _)) :: Int+ , head (_:(_ ++ [])) :: Int+ , head (_:(_ ++ _)) :: Int+ , head (_:(_ ++ xs)) :: Int+ , head (_:(_ ++ (_:_))) :: Int+ , head (_:(xs ++ _)) :: Int+ , head (_:((_:_) ++ _)) :: Int+ , head (x:[0]) :: Int+ , head [x] :: Int+ , head (x:_) :: Int+ , head (x:xs) :: Int+ , head (x:ys) :: Int+ , head (x:tail _) :: Int+ , head (x:0:_) :: Int+ , head [x,_] :: Int+ , head (x:_:_) :: Int+ , head (x:_:xs) :: Int+ , head (x:_:_:_) :: Int+ , head (x:x:_) :: Int+ , head (x:id _:_) :: Int+ , head (x:(_ ++ _)) :: Int+ , head [y] :: Int+ , head (y:_) :: Int+ , head (y:xs) :: Int+ , head (y:_:_) :: Int+ , head (z:_) :: Int+ , head (ord 'a':_) :: Int+ , head [ord _] :: Int+ , head (ord _:_) :: Int+ , head (ord _:xs) :: Int+ , head (ord _:_:_) :: Int+ , head (ord c:_) :: Int+ , head (f _:_) :: Int+ , head (abs 0:_) :: Int+ , head [abs _] :: Int+ , head (abs _:_) :: Int+ , head (abs _:xs) :: Int+ , head (abs _:_:_) :: Int+ , head (abs x:_) :: Int+ , head (abs (id _):_) :: Int+ , head [id 0] :: Int+ , head (id 0:_) :: Int+ , head (id 0:xs) :: Int+ , head (id 0:_:_) :: Int+ , head (id 1:_) :: Int+ , head (id _:[0]) :: Int+ , head [id _] :: Int+ , head (id _:_) :: Int+ , head (id _:xs) :: Int+ , head (id _:ys) :: Int+ , head (id _:tail _) :: Int+ , head (id _:0:_) :: Int+ , head [id _,_] :: Int+ , head (id _:_:_) :: Int+ , head (id _:_:xs) :: Int+ , head (id _:_:_:_) :: Int+ , head (id _:x:_) :: Int+ , head (id _:id _:_) :: Int+ , head (id _:(_ ++ _)) :: Int+ , head [id x] :: Int+ , head (id x:_) :: Int+ , head (id x:xs) :: Int+ , head (id x:_:_) :: Int+ , head (id y:_) :: Int+ , head (id (ord _):_) :: Int+ , head (id (abs _):_) :: Int+ , head (id (id 0):_) :: Int+ , head [id (id _)] :: Int+ , head (id (id _):_) :: Int+ , head (id (id _):xs) :: Int+ , head (id (id _):_:_) :: Int+ , head (id (id x):_) :: Int+ , head (id (id (id _)):_) :: Int+ , head (id (negate _):_) :: Int+ , head (id (head _):_) :: Int+ , head (id (_ + _):_) :: Int+ , head (negate 0:_) :: Int+ , head [negate _] :: Int+ , head (negate _:_) :: Int+ , head (negate _:xs) :: Int+ , head (negate _:_:_) :: Int+ , head (negate x:_) :: Int+ , head (negate (id _):_) :: Int+ , head (head []:_) :: Int+ , head [head _] :: Int+ , head (head _:_) :: Int+ , head (head _:xs) :: Int+ , head (head _:_:_) :: Int+ , head (head xs:_) :: Int+ , head (head (_:_):_) :: Int+ , head (_ * _:_) :: Int+ , head (0 + _:_) :: Int+ , head (_ + 0:_) :: Int+ , head [_ + _] :: Int+ , head (_ + _:_) :: Int+ , head (_ + _:xs) :: Int+ , head (_ + _:_:_) :: Int+ , head (_ + x:_) :: Int+ , head (_ + id _:_) :: Int+ , head (x + _:_) :: Int+ , head (id _ + _:_) :: Int+ , head (insert 0 _) :: Int+ , head (insert _ []) :: Int+ , head (insert _ _) :: Int+ , head (insert _ xs) :: Int+ , head (insert _ (_:_)) :: Int+ , head (insert x _) :: Int+ , head (insert (id _) _) :: Int+ , head ([0] ++ _) :: Int+ , head ([] ++ []) :: Int+ , head ([] ++ _) :: Int+ , head ([] ++ xs) :: Int+ , head ([] ++ (_:_)) :: Int+ , head (_ ++ [0]) :: Int+ , head (_ ++ []) :: Int+ , head (_ ++ _) :: Int+ , head (_ ++ xs) :: Int+ , head (_ ++ ys) :: Int+ , head (_ ++ tail _) :: Int+ , head (_ ++ (0:_)) :: Int+ , head (_ ++ [_]) :: Int+ , head (_ ++ (_:_)) :: Int+ , head (_ ++ (_:xs)) :: Int+ , head (_ ++ (_:_:_)) :: Int+ , head (_ ++ (x:_)) :: Int+ , head (_ ++ (id _:_)) :: Int+ , head (_ ++ (_ ++ _)) :: Int+ , head (xs ++ []) :: Int+ , head (xs ++ _) :: Int+ , head (xs ++ xs) :: Int+ , head (xs ++ (_:_)) :: Int+ , head (ys ++ _) :: Int+ , head (tail _ ++ _) :: Int+ , head ((0:_) ++ _) :: Int+ , head ([_] ++ _) :: Int+ , head ((_:_) ++ []) :: Int+ , head ((_:_) ++ _) :: Int+ , head ((_:_) ++ xs) :: Int+ , head ((_:_) ++ (_:_)) :: Int+ , head ((_:xs) ++ _) :: Int+ , head ((_:_:_) ++ _) :: Int+ , head ((x:_) ++ _) :: Int+ , head ((id _:_) ++ _) :: Int+ , head ((_ ++ _) ++ _) :: Int+ , sort [0] :: [Int]+ , sort [] :: [Int]+ , sort _ :: [Int]+ , sort xs :: [Int]+ , sort ys :: [Int]+ , sort (tail _) :: [Int]+ , sort (0:_) :: [Int]+ , sort [_] :: [Int]+ , sort (_:_) :: [Int]+ , sort (_:xs) :: [Int]+ , sort (_:_:_) :: [Int]+ , sort (x:_) :: [Int]+ , sort (id _:_) :: [Int]+ , sort (_ ++ _) :: [Int]+ , tail [0,0] :: [Int]+ , tail [0] :: [Int]+ , tail [1] :: [Int]+ , tail [] :: [Int]+ , tail _ :: [Int]+ , tail xs :: [Int]+ , tail ys :: [Int]+ , tail zs :: [Int]+ , tail (sort _) :: [Int]+ , tail (tail []) :: [Int]+ , tail (tail _) :: [Int]+ , tail (tail xs) :: [Int]+ , tail (tail (_:_)) :: [Int]+ , tail [0] :: [Int]+ , tail (0:_) :: [Int]+ , tail (0:xs) :: [Int]+ , tail (0:_:_) :: [Int]+ , tail (1:_) :: [Int]+ , tail (_:[0]) :: [Int]+ , tail [_] :: [Int]+ , tail (_:_) :: [Int]+ , tail (_:xs) :: [Int]+ , tail (_:ys) :: [Int]+ , tail (_:tail _) :: [Int]+ , tail (_:0:_) :: [Int]+ , tail [_,_] :: [Int]+ , tail (_:_:_) :: [Int]+ , tail (_:_:xs) :: [Int]+ , tail (_:_:_:_) :: [Int]+ , tail (_:x:_) :: [Int]+ , tail (_:id _:_) :: [Int]+ , tail (_:(_ ++ _)) :: [Int]+ , tail [x] :: [Int]+ , tail (x:_) :: [Int]+ , tail (x:xs) :: [Int]+ , tail (x:_:_) :: [Int]+ , tail (y:_) :: [Int]+ , tail (ord _:_) :: [Int]+ , tail (abs _:_) :: [Int]+ , tail (id 0:_) :: [Int]+ , tail [id _] :: [Int]+ , tail (id _:_) :: [Int]+ , tail (id _:xs) :: [Int]+ , tail (id _:_:_) :: [Int]+ , tail (id x:_) :: [Int]+ , tail (id (id _):_) :: [Int]+ , tail (negate _:_) :: [Int]+ , tail (head _:_) :: [Int]+ , tail (_ + _:_) :: [Int]+ , tail (insert _ _) :: [Int]+ , tail ([] ++ _) :: [Int]+ , tail (_ ++ []) :: [Int]+ , tail (_ ++ _) :: [Int]+ , tail (_ ++ xs) :: [Int]+ , tail (_ ++ (_:_)) :: [Int]+ , tail (xs ++ _) :: [Int]+ , tail ((_:_) ++ _) :: [Int]+ , (False &&) :: Bool -> Bool+ , (True &&) :: Bool -> Bool+ , (_ &&) :: Bool -> Bool+ , (p &&) :: Bool -> Bool+ , (not _ &&) :: Bool -> Bool+ , (_ ==>) :: Bool -> Bool+ , (False ||) :: Bool -> Bool+ , (True ||) :: Bool -> Bool+ , (_ ||) :: Bool -> Bool+ , (p ||) :: Bool -> Bool+ , (q ||) :: Bool -> Bool+ , (not False ||) :: Bool -> Bool+ , (not True ||) :: Bool -> Bool+ , (not _ ||) :: Bool -> Bool+ , (not p ||) :: Bool -> Bool+ , (not (not _) ||) :: Bool -> Bool+ , ((_ || _) ||) :: Bool -> Bool+ , (0 *) :: Int -> Int+ , (1 *) :: Int -> Int+ , (_ *) :: Int -> Int+ , (x *) :: Int -> Int+ , (y *) :: Int -> Int+ , (ord _ *) :: Int -> Int+ , (abs _ *) :: Int -> Int+ , (id 0 *) :: Int -> Int+ , (id _ *) :: Int -> Int+ , (id x *) :: Int -> Int+ , (id (id _) *) :: Int -> Int+ , (negate _ *) :: Int -> Int+ , (head _ *) :: Int -> Int+ , ((_ + _) *) :: Int -> Int+ , ((-1) +) :: Int -> Int+ , (0 +) :: Int -> Int+ , (1 +) :: Int -> Int+ , (_ +) :: Int -> Int+ , (x +) :: Int -> Int+ , (y +) :: Int -> Int+ , (z +) :: Int -> Int+ , (ord 'a' +) :: Int -> Int+ , (ord _ +) :: Int -> Int+ , (ord c +) :: Int -> Int+ , (f _ +) :: Int -> Int+ , (abs 0 +) :: Int -> Int+ , (abs _ +) :: Int -> Int+ , (abs x +) :: Int -> Int+ , (abs (id _) +) :: Int -> Int+ , (id 0 +) :: Int -> Int+ , (id 1 +) :: Int -> Int+ , (id _ +) :: Int -> Int+ , (id x +) :: Int -> Int+ , (id y +) :: Int -> Int+ , (id (ord _) +) :: Int -> Int+ , (id (abs _) +) :: Int -> Int+ , (id (id 0) +) :: Int -> Int+ , (id (id _) +) :: Int -> Int+ , (id (id x) +) :: Int -> Int+ , (id (id (id _)) +) :: Int -> Int+ , (id (negate _) +) :: Int -> Int+ , (id (head _) +) :: Int -> Int+ , (id (_ + _) +) :: Int -> Int+ , (negate 0 +) :: Int -> Int+ , (negate _ +) :: Int -> Int+ , (negate x +) :: Int -> Int+ , (negate (id _) +) :: Int -> Int+ , (head [] +) :: Int -> Int+ , (head _ +) :: Int -> Int+ , (head xs +) :: Int -> Int+ , (head (_:_) +) :: Int -> Int+ , (_ * _ +) :: Int -> Int+ , ((0 + _) +) :: Int -> Int+ , ((_ + 0) +) :: Int -> Int+ , ((_ + _) +) :: Int -> Int+ , ((_ + x) +) :: Int -> Int+ , ((_ + id _) +) :: Int -> Int+ , ((x + _) +) :: Int -> Int+ , ((id _ + _) +) :: Int -> Int+ , False && False :: Bool+ , False && True :: Bool+ , False && _ :: Bool+ , False && p :: Bool+ , False && not _ :: Bool+ , True && False :: Bool+ , True && True :: Bool+ , True && _ :: Bool+ , True && p :: Bool+ , True && not _ :: Bool+ , _ && False :: Bool+ , _ && True :: Bool+ , _ && _ :: Bool+ , _ && p :: Bool+ , _ && q :: Bool+ , _ && not False :: Bool+ , _ && not True :: Bool+ , _ && not _ :: Bool+ , _ && not p :: Bool+ , _ && not (not _) :: Bool+ , _ && (_ || _) :: Bool+ , p && False :: Bool+ , p && True :: Bool+ , p && _ :: Bool+ , p && p :: Bool+ , p && not _ :: Bool+ , q && _ :: Bool+ , not False && _ :: Bool+ , not True && _ :: Bool+ , not _ && False :: Bool+ , not _ && True :: Bool+ , not _ && _ :: Bool+ , not _ && p :: Bool+ , not _ && not _ :: Bool+ , not p && _ :: Bool+ , not (not _) && _ :: Bool+ , (_ || _) && _ :: Bool+ , _ < _ :: Bool+ , False <= _ :: Bool+ , True <= _ :: Bool+ , _ <= False :: Bool+ , _ <= True :: Bool+ , _ <= _ :: Bool+ , _ <= p :: Bool+ , _ <= not _ :: Bool+ , p <= _ :: Bool+ , not _ <= _ :: Bool+ , False == False :: Bool+ , False == True :: Bool+ , False == _ :: Bool+ , False == p :: Bool+ , False == not _ :: Bool+ , True == False :: Bool+ , True == True :: Bool+ , True == _ :: Bool+ , True == p :: Bool+ , True == not _ :: Bool+ , _ == False :: Bool+ , _ == True :: Bool+ , _ == _ :: Bool+ , _ == p :: Bool+ , _ == q :: Bool+ , _ == not False :: Bool+ , _ == not True :: Bool+ , _ == not _ :: Bool+ , _ == not p :: Bool+ , _ == not (not _) :: Bool+ , _ == (_ || _) :: Bool+ , p == False :: Bool+ , p == True :: Bool+ , p == _ :: Bool+ , p == p :: Bool+ , p == not _ :: Bool+ , q == _ :: Bool+ , not False == _ :: Bool+ , not True == _ :: Bool+ , not _ == False :: Bool+ , not _ == True :: Bool+ , not _ == _ :: Bool+ , not _ == p :: Bool+ , not _ == not _ :: Bool+ , not p == _ :: Bool+ , not (not _) == _ :: Bool+ , (_ || _) == _ :: Bool+ , False ==> _ :: Bool+ , True ==> _ :: Bool+ , _ ==> False :: Bool+ , _ ==> True :: Bool+ , _ ==> _ :: Bool+ , _ ==> p :: Bool+ , _ ==> not _ :: Bool+ , p ==> _ :: Bool+ , not _ ==> _ :: Bool+ , False || False :: Bool+ , False || True :: Bool+ , False || _ :: Bool+ , False || p :: Bool+ , False || q :: Bool+ , False || not False :: Bool+ , False || not True :: Bool+ , False || not _ :: Bool+ , False || not p :: Bool+ , False || not (not _) :: Bool+ , False || (_ || _) :: Bool+ , True || False :: Bool+ , True || True :: Bool+ , True || _ :: Bool+ , True || p :: Bool+ , True || q :: Bool+ , True || not False :: Bool+ , True || not True :: Bool+ , True || not _ :: Bool+ , True || not p :: Bool+ , True || not (not _) :: Bool+ , True || (_ || _) :: Bool+ , _ || False :: Bool+ , _ || True :: Bool+ , _ || _ :: Bool+ , _ || p :: Bool+ , _ || q :: Bool+ , _ || r :: Bool+ , _ || not False :: Bool+ , _ || not True :: Bool+ , _ || not _ :: Bool+ , _ || not p :: Bool+ , _ || not q :: Bool+ , _ || not (not False) :: Bool+ , _ || not (not True) :: Bool+ , _ || not (not _) :: Bool+ , _ || not (not p) :: Bool+ , _ || not (not (not _)) :: Bool+ , _ || not (_ || _) :: Bool+ , _ || even _ :: Bool+ , _ || odd _ :: Bool+ , _ || _ && _ :: Bool+ , _ || _ == _ :: Bool+ , _ || (False || _) :: Bool+ , _ || (True || _) :: Bool+ , _ || (_ || False) :: Bool+ , _ || (_ || True) :: Bool+ , _ || (_ || _) :: Bool+ , _ || (_ || p) :: Bool+ , _ || (_ || not _) :: Bool+ , _ || (p || _) :: Bool+ , _ || (not _ || _) :: Bool+ , _ || _ == _ :: Bool+ , _ || elem _ _ :: Bool+ , p || False :: Bool+ , p || True :: Bool+ , p || _ :: Bool+ , p || p :: Bool+ , p || q :: Bool+ , p || not False :: Bool+ , p || not True :: Bool+ , p || not _ :: Bool+ , p || not p :: Bool+ , p || not (not _) :: Bool+ , p || (_ || _) :: Bool+ , q || False :: Bool+ , q || True :: Bool+ , q || _ :: Bool+ , q || p :: Bool+ , q || not _ :: Bool+ , r || _ :: Bool+ , not False || False :: Bool+ , not False || True :: Bool+ , not False || _ :: Bool+ , not False || p :: Bool+ , not False || not _ :: Bool+ , not True || False :: Bool+ , not True || True :: Bool+ , not True || _ :: Bool+ , not True || p :: Bool+ , not True || not _ :: Bool+ , not _ || False :: Bool+ , not _ || True :: Bool+ , not _ || _ :: Bool+ , not _ || p :: Bool+ , not _ || q :: Bool+ , not _ || not False :: Bool+ , not _ || not True :: Bool+ , not _ || not _ :: Bool+ , not _ || not p :: Bool+ , not _ || not (not _) :: Bool+ , not _ || (_ || _) :: Bool+ , not p || False :: Bool+ , not p || True :: Bool+ , not p || _ :: Bool+ , not p || p :: Bool+ , not p || not _ :: Bool+ , not q || _ :: Bool+ , not (not False) || _ :: Bool+ , not (not True) || _ :: Bool+ , not (not _) || False :: Bool+ , not (not _) || True :: Bool+ , not (not _) || _ :: Bool+ , not (not _) || p :: Bool+ , not (not _) || not _ :: Bool+ , not (not p) || _ :: Bool+ , not (not (not _)) || _ :: Bool+ , not (_ || _) || _ :: Bool+ , even _ || _ :: Bool+ , odd _ || _ :: Bool+ , _ && _ || _ :: Bool+ , _ == _ || _ :: Bool+ , (False || _) || _ :: Bool+ , (True || _) || _ :: Bool+ , (_ || False) || _ :: Bool+ , (_ || True) || _ :: Bool+ , (_ || _) || False :: Bool+ , (_ || _) || True :: Bool+ , (_ || _) || _ :: Bool+ , (_ || _) || p :: Bool+ , (_ || _) || not _ :: Bool+ , (_ || p) || _ :: Bool+ , (_ || not _) || _ :: Bool+ , (p || _) || _ :: Bool+ , (not _ || _) || _ :: Bool+ , _ == _ || _ :: Bool+ , elem _ _ || _ :: Bool+ , _ < _ :: Bool+ , 0 <= _ :: Bool+ , _ <= 0 :: Bool+ , _ <= _ :: Bool+ , _ <= x :: Bool+ , _ <= id _ :: Bool+ , x <= _ :: Bool+ , id _ <= _ :: Bool+ , 0 == 0 :: Bool+ , 0 == _ :: Bool+ , 0 == x :: Bool+ , 0 == id _ :: Bool+ , 1 == _ :: Bool+ , _ == 0 :: Bool+ , _ == 1 :: Bool+ , _ == _ :: Bool+ , _ == x :: Bool+ , _ == y :: Bool+ , _ == ord _ :: Bool+ , _ == abs _ :: Bool+ , _ == id 0 :: Bool+ , _ == id _ :: Bool+ , _ == id x :: Bool+ , _ == id (id _) :: Bool+ , _ == negate _ :: Bool+ , _ == head _ :: Bool+ , _ == _ + _ :: Bool+ , x == 0 :: Bool+ , x == _ :: Bool+ , x == x :: Bool+ , x == id _ :: Bool+ , y == _ :: Bool+ , ord _ == _ :: Bool+ , abs _ == _ :: Bool+ , id 0 == _ :: Bool+ , id _ == 0 :: Bool+ , id _ == _ :: Bool+ , id _ == x :: Bool+ , id _ == id _ :: Bool+ , id x == _ :: Bool+ , id (id _) == _ :: Bool+ , negate _ == _ :: Bool+ , head _ == _ :: Bool+ , _ + _ == _ :: Bool+ , (-1) * _ :: Int+ , 0 * 0 :: Int+ , 0 * 1 :: Int+ , 0 * _ :: Int+ , 0 * x :: Int+ , 0 * y :: Int+ , 0 * ord _ :: Int+ , 0 * abs _ :: Int+ , 0 * id 0 :: Int+ , 0 * id _ :: Int+ , 0 * id x :: Int+ , 0 * id (id _) :: Int+ , 0 * negate _ :: Int+ , 0 * head _ :: Int+ , 0 * (_ + _) :: Int+ , 1 * 0 :: Int+ , 1 * _ :: Int+ , 1 * x :: Int+ , 1 * id _ :: Int+ , _ * (-1) :: Int+ , _ * 0 :: Int+ , _ * 1 :: Int+ , _ * _ :: Int+ , _ * x :: Int+ , _ * y :: Int+ , _ * z :: Int+ , _ * ord 'a' :: Int+ , _ * ord _ :: Int+ , _ * ord c :: Int+ , _ * f _ :: Int+ , _ * abs 0 :: Int+ , _ * abs _ :: Int+ , _ * abs x :: Int+ , _ * abs (id _) :: Int+ , _ * id 0 :: Int+ , _ * id 1 :: Int+ , _ * id _ :: Int+ , _ * id x :: Int+ , _ * id y :: Int+ , _ * id (ord _) :: Int+ , _ * id (abs _) :: Int+ , _ * id (id 0) :: Int+ , _ * id (id _) :: Int+ , _ * id (id x) :: Int+ , _ * id (id (id _)) :: Int+ , _ * id (negate _) :: Int+ , _ * id (head _) :: Int+ , _ * id (_ + _) :: Int+ , _ * negate 0 :: Int+ , _ * negate _ :: Int+ , _ * negate x :: Int+ , _ * negate (id _) :: Int+ , _ * head [] :: Int+ , _ * head _ :: Int+ , _ * head xs :: Int+ , _ * head (_:_) :: Int+ , _ * (_ * _) :: Int+ , _ * (0 + _) :: Int+ , _ * (_ + 0) :: Int+ , _ * (_ + _) :: Int+ , _ * (_ + x) :: Int+ , _ * (_ + id _) :: Int+ , _ * (x + _) :: Int+ , _ * (id _ + _) :: Int+ , x * 0 :: Int+ , x * 1 :: Int+ , x * _ :: Int+ , x * x :: Int+ , x * y :: Int+ , x * ord _ :: Int+ , x * abs _ :: Int+ , x * id 0 :: Int+ , x * id _ :: Int+ , x * id x :: Int+ , x * id (id _) :: Int+ , x * negate _ :: Int+ , x * head _ :: Int+ , x * (_ + _) :: Int+ , y * 0 :: Int+ , y * _ :: Int+ , y * x :: Int+ , y * id _ :: Int+ , z * _ :: Int+ , ord 'a' * _ :: Int+ , ord _ * 0 :: Int+ , ord _ * _ :: Int+ , ord _ * x :: Int+ , ord _ * id _ :: Int+ , ord c * _ :: Int+ , f _ * _ :: Int+ , abs 0 * _ :: Int+ , abs _ * 0 :: Int+ , abs _ * _ :: Int+ , abs _ * x :: Int+ , abs _ * id _ :: Int+ , abs x * _ :: Int+ , abs (id _) * _ :: Int+ , id 0 * 0 :: Int+ , id 0 * _ :: Int+ , id 0 * x :: Int+ , id 0 * id _ :: Int+ , id 1 * _ :: Int+ , id _ * 0 :: Int+ , id _ * 1 :: Int+ , id _ * _ :: Int+ , id _ * x :: Int+ , id _ * y :: Int+ , id _ * ord _ :: Int+ , id _ * abs _ :: Int+ , id _ * id 0 :: Int+ , id _ * id _ :: Int+ , id _ * id x :: Int+ , id _ * id (id _) :: Int+ , id _ * negate _ :: Int+ , id _ * head _ :: Int+ , id _ * (_ + _) :: Int+ , id x * 0 :: Int+ , id x * _ :: Int+ , id x * x :: Int+ , id x * id _ :: Int+ , id y * _ :: Int+ , id (ord _) * _ :: Int+ , id (abs _) * _ :: Int+ , id (id 0) * _ :: Int+ , id (id _) * 0 :: Int+ , id (id _) * _ :: Int+ , id (id _) * x :: Int+ , id (id _) * id _ :: Int+ , id (id x) * _ :: Int+ , id (id (id _)) * _ :: Int+ , id (negate _) * _ :: Int+ , id (head _) * _ :: Int+ , id (_ + _) * _ :: Int+ , negate 0 * _ :: Int+ , negate _ * 0 :: Int+ , negate _ * _ :: Int+ , negate _ * x :: Int+ , negate _ * id _ :: Int+ , negate x * _ :: Int+ , negate (id _) * _ :: Int+ , head [] * _ :: Int+ , head _ * 0 :: Int+ , head _ * _ :: Int+ , head _ * x :: Int+ , head _ * id _ :: Int+ , head xs * _ :: Int+ , head (_:_) * _ :: Int+ , (_ * _) * _ :: Int+ , (0 + _) * _ :: Int+ , (_ + 0) * _ :: Int+ , (_ + _) * 0 :: Int+ , (_ + _) * _ :: Int+ , (_ + _) * x :: Int+ , (_ + _) * id _ :: Int+ , (_ + x) * _ :: Int+ , (_ + id _) * _ :: Int+ , (x + _) * _ :: Int+ , (id _ + _) * _ :: Int+ , (-1) + 0 :: Int+ , (-1) + _ :: Int+ , (-1) + x :: Int+ , (-1) + id _ :: Int+ , 0 + (-1) :: Int+ , 0 + 0 :: Int+ , 0 + 1 :: Int+ , 0 + _ :: Int+ , 0 + x :: Int+ , 0 + y :: Int+ , 0 + z :: Int+ , 0 + ord 'a' :: Int+ , 0 + ord _ :: Int+ , 0 + ord c :: Int+ , 0 + f _ :: Int+ , 0 + abs 0 :: Int+ , 0 + abs _ :: Int+ , 0 + abs x :: Int+ , 0 + abs (id _) :: Int+ , 0 + id 0 :: Int+ , 0 + id 1 :: Int+ , 0 + id _ :: Int+ , 0 + id x :: Int+ , 0 + id y :: Int+ , 0 + id (ord _) :: Int+ , 0 + id (abs _) :: Int+ , 0 + id (id 0) :: Int+ , 0 + id (id _) :: Int+ , 0 + id (id x) :: Int+ , 0 + id (id (id _)) :: Int+ , 0 + id (negate _) :: Int+ , 0 + id (head _) :: Int+ , 0 + id (_ + _) :: Int+ , 0 + negate 0 :: Int+ , 0 + negate _ :: Int+ , 0 + negate x :: Int+ , 0 + negate (id _) :: Int+ , 0 + head [] :: Int+ , 0 + head _ :: Int+ , 0 + head xs :: Int+ , 0 + head (_:_) :: Int+ , 0 + _ * _ :: Int+ , 0 + (0 + _) :: Int+ , 0 + (_ + 0) :: Int+ , 0 + (_ + _) :: Int+ , 0 + (_ + x) :: Int+ , 0 + (_ + id _) :: Int+ , 0 + (x + _) :: Int+ , 0 + (id _ + _) :: Int+ , 1 + 0 :: Int+ , 1 + 1 :: Int+ , 1 + _ :: Int+ , 1 + x :: Int+ , 1 + y :: Int+ , 1 + ord _ :: Int+ , 1 + abs _ :: Int+ , 1 + id 0 :: Int+ , 1 + id _ :: Int+ , 1 + id x :: Int+ , 1 + id (id _) :: Int+ , 1 + negate _ :: Int+ , 1 + head _ :: Int+ , 1 + (_ + _) :: Int+ , 2 + _ :: Int+ , _ + (-1) :: Int+ , _ + 0 :: Int+ , _ + 1 :: Int+ , _ + 2 :: Int+ , _ + _ :: Int+ , _ + x :: Int+ , _ + x' :: Int+ , _ + y :: Int+ , _ + z :: Int+ , _ + ord ' ' :: Int+ , _ + ord 'a' :: Int+ , _ + ord _ :: Int+ , _ + ord c :: Int+ , _ + ord d :: Int+ , _ + f 0 :: Int+ , _ + f _ :: Int+ , _ + f x :: Int+ , _ + f (id _) :: Int+ , _ + g _ :: Int+ , _ + abs 0 :: Int+ , _ + abs 1 :: Int+ , _ + abs _ :: Int+ , _ + abs x :: Int+ , _ + abs y :: Int+ , _ + abs (ord _) :: Int+ , _ + abs (abs _) :: Int+ , _ + abs (id 0) :: Int+ , _ + abs (id _) :: Int+ , _ + abs (id x) :: Int+ , _ + abs (id (id _)) :: Int+ , _ + abs (negate _) :: Int+ , _ + abs (head _) :: Int+ , _ + abs (_ + _) :: Int+ , _ + id (-1) :: Int+ , _ + id 0 :: Int+ , _ + id 1 :: Int+ , _ + id _ :: Int+ , _ + id x :: Int+ , _ + id y :: Int+ , _ + id z :: Int+ , _ + id (ord 'a') :: Int+ , _ + id (ord _) :: Int+ , _ + id (ord c) :: Int+ , _ + id (f _) :: Int+ , _ + id (abs 0) :: Int+ , _ + id (abs _) :: Int+ , _ + id (abs x) :: Int+ , _ + id (abs (id _)) :: Int+ , _ + id (id 0) :: Int+ , _ + id (id 1) :: Int+ , _ + id (id _) :: Int+ , _ + id (id x) :: Int+ , _ + id (id y) :: Int+ , _ + id (id (ord _)) :: Int+ , _ + id (id (abs _)) :: Int+ , _ + id (id (id 0)) :: Int+ , _ + id (id (id _)) :: Int+ , _ + id (id (id x)) :: Int+ , _ + id (id (id (id _))) :: Int+ , _ + id (id (negate _)) :: Int+ , _ + id (id (head _)) :: Int+ , _ + id (id (_ + _)) :: Int+ , _ + id (negate 0) :: Int+ , _ + id (negate _) :: Int+ , _ + id (negate x) :: Int+ , _ + id (negate (id _)) :: Int+ , _ + id (head []) :: Int+ , _ + id (head _) :: Int+ , _ + id (head xs) :: Int+ , _ + id (head (_:_)) :: Int+ , _ + id (_ * _) :: Int+ , _ + id (0 + _) :: Int+ , _ + id (_ + 0) :: Int+ , _ + id (_ + _) :: Int+ , _ + id (_ + x) :: Int+ , _ + id (_ + id _) :: Int+ , _ + id (x + _) :: Int+ , _ + id (id _ + _) :: Int+ , _ + negate 0 :: Int+ , _ + negate 1 :: Int+ , _ + negate _ :: Int+ , _ + negate x :: Int+ , _ + negate y :: Int+ , _ + negate (ord _) :: Int+ , _ + negate (abs _) :: Int+ , _ + negate (id 0) :: Int+ , _ + negate (id _) :: Int+ , _ + negate (id x) :: Int+ , _ + negate (id (id _)) :: Int+ , _ + negate (negate _) :: Int+ , _ + negate (head _) :: Int+ , _ + negate (_ + _) :: Int+ , _ + head [0] :: Int+ , _ + head [] :: Int+ , _ + head _ :: Int+ , _ + head xs :: Int+ , _ + head ys :: Int+ , _ + head (tail _) :: Int+ , _ + head (0:_) :: Int+ , _ + head [_] :: Int+ , _ + head (_:_) :: Int+ , _ + head (_:xs) :: Int+ , _ + head (_:_:_) :: Int+ , _ + head (x:_) :: Int+ , _ + head (id _:_) :: Int+ , _ + head (_ ++ _) :: Int+ , _ + 0 * _ :: Int+ , _ + _ * 0 :: Int+ , _ + _ * _ :: Int+ , _ + _ * x :: Int+ , _ + _ * id _ :: Int+ , _ + x * _ :: Int+ , _ + id _ * _ :: Int+ , _ + (0 + 0) :: Int+ , _ + (0 + _) :: Int+ , _ + (0 + x) :: Int+ , _ + (0 + id _) :: Int+ , _ + (1 + _) :: Int+ , _ + (_ + 0) :: Int+ , _ + (_ + 1) :: Int+ , _ + (_ + _) :: Int+ , _ + (_ + x) :: Int+ , _ + (_ + y) :: Int+ , _ + (_ + ord _) :: Int+ , _ + (_ + abs _) :: Int+ , _ + (_ + id 0) :: Int+ , _ + (_ + id _) :: Int+ , _ + (_ + id x) :: Int+ , _ + (_ + id (id _)) :: Int+ , _ + (_ + negate _) :: Int+ , _ + (_ + head _) :: Int+ , _ + (_ + (_ + _)) :: Int+ , _ + (x + 0) :: Int+ , _ + (x + _) :: Int+ , _ + (x + x) :: Int+ , _ + (x + id _) :: Int+ , _ + (y + _) :: Int+ , _ + (ord _ + _) :: Int+ , _ + (abs _ + _) :: Int+ , _ + (id 0 + _) :: Int+ , _ + (id _ + 0) :: Int+ , _ + (id _ + _) :: Int+ , _ + (id _ + x) :: Int+ , _ + (id _ + id _) :: Int+ , _ + (id x + _) :: Int+ , _ + (id (id _) + _) :: Int+ , _ + (negate _ + _) :: Int+ , _ + (head _ + _) :: Int+ , _ + ((_ + _) + _) :: Int+ , x + (-1) :: Int+ , x + 0 :: Int+ , x + 1 :: Int+ , x + _ :: Int+ , x + x :: Int+ , x + y :: Int+ , x + z :: Int+ , x + ord 'a' :: Int+ , x + ord _ :: Int+ , x + ord c :: Int+ , x + f _ :: Int+ , x + abs 0 :: Int+ , x + abs _ :: Int+ , x + abs x :: Int+ , x + abs (id _) :: Int+ , x + id 0 :: Int+ , x + id 1 :: Int+ , x + id _ :: Int+ , x + id x :: Int+ , x + id y :: Int+ , x + id (ord _) :: Int+ , x + id (abs _) :: Int+ , x + id (id 0) :: Int+ , x + id (id _) :: Int+ , x + id (id x) :: Int+ , x + id (id (id _)) :: Int+ , x + id (negate _) :: Int+ , x + id (head _) :: Int+ , x + id (_ + _) :: Int+ , x + negate 0 :: Int+ , x + negate _ :: Int+ , x + negate x :: Int+ , x + negate (id _) :: Int+ , x + head [] :: Int+ , x + head _ :: Int+ , x + head xs :: Int+ , x + head (_:_) :: Int+ , x + _ * _ :: Int+ , x + (0 + _) :: Int+ , x + (_ + 0) :: Int+ , x + (_ + _) :: Int+ , x + (_ + x) :: Int+ , x + (_ + id _) :: Int+ , x + (x + _) :: Int+ , x + (id _ + _) :: Int+ , x' + _ :: Int+ , y + 0 :: Int+ , y + 1 :: Int+ , y + _ :: Int+ , y + x :: Int+ , y + y :: Int+ , y + ord _ :: Int+ , y + abs _ :: Int+ , y + id 0 :: Int+ , y + id _ :: Int+ , y + id x :: Int+ , y + id (id _) :: Int+ , y + negate _ :: Int+ , y + head _ :: Int+ , y + (_ + _) :: Int+ , z + 0 :: Int+ , z + _ :: Int+ , z + x :: Int+ , z + id _ :: Int+ , ord ' ' + _ :: Int+ , ord 'a' + 0 :: Int+ , ord 'a' + _ :: Int+ , ord 'a' + x :: Int+ , ord 'a' + id _ :: Int+ , ord _ + 0 :: Int+ , ord _ + 1 :: Int+ , ord _ + _ :: Int+ , ord _ + x :: Int+ , ord _ + y :: Int+ , ord _ + ord _ :: Int+ , ord _ + abs _ :: Int+ , ord _ + id 0 :: Int+ , ord _ + id _ :: Int+ , ord _ + id x :: Int+ , ord _ + id (id _) :: Int+ , ord _ + negate _ :: Int+ , ord _ + head _ :: Int+ , ord _ + (_ + _) :: Int+ , ord c + 0 :: Int+ , ord c + _ :: Int+ , ord c + x :: Int+ , ord c + id _ :: Int+ , ord d + _ :: Int+ , f 0 + _ :: Int+ , f _ + 0 :: Int+ , f _ + _ :: Int+ , f _ + x :: Int+ , f _ + id _ :: Int+ , f x + _ :: Int+ , f (id _) + _ :: Int+ , g _ + _ :: Int+ , abs 0 + 0 :: Int+ , abs 0 + _ :: Int+ , abs 0 + x :: Int+ , abs 0 + id _ :: Int+ , abs 1 + _ :: Int+ , abs _ + 0 :: Int+ , abs _ + 1 :: Int+ , abs _ + _ :: Int+ , abs _ + x :: Int+ , abs _ + y :: Int+ , abs _ + ord _ :: Int+ , abs _ + abs _ :: Int+ , abs _ + id 0 :: Int+ , abs _ + id _ :: Int+ , abs _ + id x :: Int+ , abs _ + id (id _) :: Int+ , abs _ + negate _ :: Int+ , abs _ + head _ :: Int+ , abs _ + (_ + _) :: Int+ , abs x + 0 :: Int+ , abs x + _ :: Int+ , abs x + x :: Int+ , abs x + id _ :: Int+ , abs y + _ :: Int+ , abs (ord _) + _ :: Int+ , abs (abs _) + _ :: Int+ , abs (id 0) + _ :: Int+ , abs (id _) + 0 :: Int+ , abs (id _) + _ :: Int+ , abs (id _) + x :: Int+ , abs (id _) + id _ :: Int+ , abs (id x) + _ :: Int+ , abs (id (id _)) + _ :: Int+ , abs (negate _) + _ :: Int+ , abs (head _) + _ :: Int+ , abs (_ + _) + _ :: Int+ , id (-1) + _ :: Int+ , id 0 + 0 :: Int+ , id 0 + 1 :: Int+ , id 0 + _ :: Int+ , id 0 + x :: Int+ , id 0 + y :: Int+ , id 0 + ord _ :: Int+ , id 0 + abs _ :: Int+ , id 0 + id 0 :: Int+ , id 0 + id _ :: Int+ , id 0 + id x :: Int+ , id 0 + id (id _) :: Int+ , id 0 + negate _ :: Int+ , id 0 + head _ :: Int+ , id 0 + (_ + _) :: Int+ , id 1 + 0 :: Int+ , id 1 + _ :: Int+ , id 1 + x :: Int+ , id 1 + id _ :: Int+ , id _ + (-1) :: Int+ , id _ + 0 :: Int+ , id _ + 1 :: Int+ , id _ + _ :: Int+ , id _ + x :: Int+ , id _ + y :: Int+ , id _ + z :: Int+ , id _ + ord 'a' :: Int+ , id _ + ord _ :: Int+ , id _ + ord c :: Int+ , id _ + f _ :: Int+ , id _ + abs 0 :: Int+ , id _ + abs _ :: Int+ , id _ + abs x :: Int+ , id _ + abs (id _) :: Int+ , id _ + id 0 :: Int+ , id _ + id 1 :: Int+ , id _ + id _ :: Int+ , id _ + id x :: Int+ , id _ + id y :: Int+ , id _ + id (ord _) :: Int+ , id _ + id (abs _) :: Int+ , id _ + id (id 0) :: Int+ , id _ + id (id _) :: Int+ , id _ + id (id x) :: Int+ , id _ + id (id (id _)) :: Int+ , id _ + id (negate _) :: Int+ , id _ + id (head _) :: Int+ , id _ + id (_ + _) :: Int+ , id _ + negate 0 :: Int+ , id _ + negate _ :: Int+ , id _ + negate x :: Int+ , id _ + negate (id _) :: Int+ , id _ + head [] :: Int+ , id _ + head _ :: Int+ , id _ + head xs :: Int+ , id _ + head (_:_) :: Int+ , id _ + _ * _ :: Int+ , id _ + (0 + _) :: Int+ , id _ + (_ + 0) :: Int+ , id _ + (_ + _) :: Int+ , id _ + (_ + x) :: Int+ , id _ + (_ + id _) :: Int+ , id _ + (x + _) :: Int+ , id _ + (id _ + _) :: Int+ , id x + 0 :: Int+ , id x + 1 :: Int+ , id x + _ :: Int+ , id x + x :: Int+ , id x + y :: Int+ , id x + ord _ :: Int+ , id x + abs _ :: Int+ , id x + id 0 :: Int+ , id x + id _ :: Int+ , id x + id x :: Int+ , id x + id (id _) :: Int+ , id x + negate _ :: Int+ , id x + head _ :: Int+ , id x + (_ + _) :: Int+ , id y + 0 :: Int+ , id y + _ :: Int+ , id y + x :: Int+ , id y + id _ :: Int+ , id z + _ :: Int+ , id (ord 'a') + _ :: Int+ , id (ord _) + 0 :: Int+ , id (ord _) + _ :: Int+ , id (ord _) + x :: Int+ , id (ord _) + id _ :: Int+ , id (ord c) + _ :: Int+ , id (f _) + _ :: Int+ , id (abs 0) + _ :: Int+ , id (abs _) + 0 :: Int+ , id (abs _) + _ :: Int+ , id (abs _) + x :: Int+ , id (abs _) + id _ :: Int+ , id (abs x) + _ :: Int+ , id (abs (id _)) + _ :: Int+ , id (id 0) + 0 :: Int+ , id (id 0) + _ :: Int+ , id (id 0) + x :: Int+ , id (id 0) + id _ :: Int+ , id (id 1) + _ :: Int+ , id (id _) + 0 :: Int+ , id (id _) + 1 :: Int+ , id (id _) + _ :: Int+ , id (id _) + x :: Int+ , id (id _) + y :: Int+ , id (id _) + ord _ :: Int+ , id (id _) + abs _ :: Int+ , id (id _) + id 0 :: Int+ , id (id _) + id _ :: Int+ , id (id _) + id x :: Int+ , id (id _) + id (id _) :: Int+ , id (id _) + negate _ :: Int+ , id (id _) + head _ :: Int+ , id (id _) + (_ + _) :: Int+ , id (id x) + 0 :: Int+ , id (id x) + _ :: Int+ , id (id x) + x :: Int+ , id (id x) + id _ :: Int+ , id (id y) + _ :: Int+ , id (id (ord _)) + _ :: Int+ , id (id (abs _)) + _ :: Int+ , id (id (id 0)) + _ :: Int+ , id (id (id _)) + 0 :: Int+ , id (id (id _)) + _ :: Int+ , id (id (id _)) + x :: Int+ , id (id (id _)) + id _ :: Int+ , id (id (id x)) + _ :: Int+ , id (id (id (id _))) + _ :: Int+ , id (id (negate _)) + _ :: Int+ , id (id (head _)) + _ :: Int+ , id (id (_ + _)) + _ :: Int+ , id (negate 0) + _ :: Int+ , id (negate _) + 0 :: Int+ , id (negate _) + _ :: Int+ , id (negate _) + x :: Int+ , id (negate _) + id _ :: Int+ , id (negate x) + _ :: Int+ , id (negate (id _)) + _ :: Int+ , id (head []) + _ :: Int+ , id (head _) + 0 :: Int+ , id (head _) + _ :: Int+ , id (head _) + x :: Int+ , id (head _) + id _ :: Int+ , id (head xs) + _ :: Int+ , id (head (_:_)) + _ :: Int+ , id (_ * _) + _ :: Int+ , id (0 + _) + _ :: Int+ , id (_ + 0) + _ :: Int+ , id (_ + _) + 0 :: Int+ , id (_ + _) + _ :: Int+ , id (_ + _) + x :: Int+ , id (_ + _) + id _ :: Int+ , id (_ + x) + _ :: Int+ , id (_ + id _) + _ :: Int+ , id (x + _) + _ :: Int+ , id (id _ + _) + _ :: Int+ , negate 0 + 0 :: Int+ , negate 0 + _ :: Int+ , negate 0 + x :: Int+ , negate 0 + id _ :: Int+ , negate 1 + _ :: Int+ , negate _ + 0 :: Int+ , negate _ + 1 :: Int+ , negate _ + _ :: Int+ , negate _ + x :: Int+ , negate _ + y :: Int+ , negate _ + ord _ :: Int+ , negate _ + abs _ :: Int+ , negate _ + id 0 :: Int+ , negate _ + id _ :: Int+ , negate _ + id x :: Int+ , negate _ + id (id _) :: Int+ , negate _ + negate _ :: Int+ , negate _ + head _ :: Int+ , negate _ + (_ + _) :: Int+ , negate x + 0 :: Int+ , negate x + _ :: Int+ , negate x + x :: Int+ , negate x + id _ :: Int+ , negate y + _ :: Int+ , negate (ord _) + _ :: Int+ , negate (abs _) + _ :: Int+ , negate (id 0) + _ :: Int+ , negate (id _) + 0 :: Int+ , negate (id _) + _ :: Int+ , negate (id _) + x :: Int+ , negate (id _) + id _ :: Int+ , negate (id x) + _ :: Int+ , negate (id (id _)) + _ :: Int+ , negate (negate _) + _ :: Int+ , negate (head _) + _ :: Int+ , negate (_ + _) + _ :: Int+ , head [0] + _ :: Int+ , head [] + 0 :: Int+ , head [] + _ :: Int+ , head [] + x :: Int+ , head [] + id _ :: Int+ , head _ + 0 :: Int+ , head _ + 1 :: Int+ , head _ + _ :: Int+ , head _ + x :: Int+ , head _ + y :: Int+ , head _ + ord _ :: Int+ , head _ + abs _ :: Int+ , head _ + id 0 :: Int+ , head _ + id _ :: Int+ , head _ + id x :: Int+ , head _ + id (id _) :: Int+ , head _ + negate _ :: Int+ , head _ + head _ :: Int+ , head _ + (_ + _) :: Int+ , head xs + 0 :: Int+ , head xs + _ :: Int+ , head xs + x :: Int+ , head xs + id _ :: Int+ , head ys + _ :: Int+ , head (tail _) + _ :: Int+ , head (0:_) + _ :: Int+ , head [_] + _ :: Int+ , head (_:_) + 0 :: Int+ , head (_:_) + _ :: Int+ , head (_:_) + x :: Int+ , head (_:_) + id _ :: Int+ , head (_:xs) + _ :: Int+ , head (_:_:_) + _ :: Int+ , head (x:_) + _ :: Int+ , head (id _:_) + _ :: Int+ , head (_ ++ _) + _ :: Int+ , 0 * _ + _ :: Int+ , _ * 0 + _ :: Int+ , _ * _ + 0 :: Int+ , _ * _ + _ :: Int+ , _ * _ + x :: Int+ , _ * _ + id _ :: Int+ , _ * x + _ :: Int+ , _ * id _ + _ :: Int+ , x * _ + _ :: Int+ , id _ * _ + _ :: Int+ , (0 + 0) + _ :: Int+ , (0 + _) + 0 :: Int+ , (0 + _) + _ :: Int+ , (0 + _) + x :: Int+ , (0 + _) + id _ :: Int+ , (0 + x) + _ :: Int+ , (0 + id _) + _ :: Int+ , (1 + _) + _ :: Int+ , (_ + 0) + 0 :: Int+ , (_ + 0) + _ :: Int+ , (_ + 0) + x :: Int+ , (_ + 0) + id _ :: Int+ , (_ + 1) + _ :: Int+ , (_ + _) + 0 :: Int+ , (_ + _) + 1 :: Int+ , (_ + _) + _ :: Int+ , (_ + _) + x :: Int+ , (_ + _) + y :: Int+ , (_ + _) + ord _ :: Int+ , (_ + _) + abs _ :: Int+ , (_ + _) + id 0 :: Int+ , (_ + _) + id _ :: Int+ , (_ + _) + id x :: Int+ , (_ + _) + id (id _) :: Int+ , (_ + _) + negate _ :: Int+ , (_ + _) + head _ :: Int+ , (_ + _) + (_ + _) :: Int+ , (_ + x) + 0 :: Int+ , (_ + x) + _ :: Int+ , (_ + x) + x :: Int+ , (_ + x) + id _ :: Int+ , (_ + y) + _ :: Int+ , (_ + ord _) + _ :: Int+ , (_ + abs _) + _ :: Int+ , (_ + id 0) + _ :: Int+ , (_ + id _) + 0 :: Int+ , (_ + id _) + _ :: Int+ , (_ + id _) + x :: Int+ , (_ + id _) + id _ :: Int+ , (_ + id x) + _ :: Int+ , (_ + id (id _)) + _ :: Int+ , (_ + negate _) + _ :: Int+ , (_ + head _) + _ :: Int+ , (_ + (_ + _)) + _ :: Int+ , (x + 0) + _ :: Int+ , (x + _) + 0 :: Int+ , (x + _) + _ :: Int+ , (x + _) + x :: Int+ , (x + _) + id _ :: Int+ , (x + x) + _ :: Int+ , (x + id _) + _ :: Int+ , (y + _) + _ :: Int+ , (ord _ + _) + _ :: Int+ , (abs _ + _) + _ :: Int+ , (id 0 + _) + _ :: Int+ , (id _ + 0) + _ :: Int+ , (id _ + _) + 0 :: Int+ , (id _ + _) + _ :: Int+ , (id _ + _) + x :: Int+ , (id _ + _) + id _ :: Int+ , (id _ + x) + _ :: Int+ , (id _ + id _) + _ :: Int+ , (id x + _) + _ :: Int+ , (id (id _) + _) + _ :: Int+ , (negate _ + _) + _ :: Int+ , (head _ + _) + _ :: Int+ , ((_ + _) + _) + _ :: Int+ , elem 0 [] :: Bool+ , elem 0 _ :: Bool+ , elem 0 xs :: Bool+ , elem 0 (_:_) :: Bool+ , elem 1 _ :: Bool+ , elem _ [0] :: Bool+ , elem _ [] :: Bool+ , elem _ _ :: Bool+ , elem _ xs :: Bool+ , elem _ ys :: Bool+ , elem _ (tail _) :: Bool+ , elem _ (0:_) :: Bool+ , elem _ [_] :: Bool+ , elem _ (_:_) :: Bool+ , elem _ (_:xs) :: Bool+ , elem _ (_:_:_) :: Bool+ , elem _ (x:_) :: Bool+ , elem _ (id _:_) :: Bool+ , elem _ (_ ++ _) :: Bool+ , elem x [] :: Bool+ , elem x _ :: Bool+ , elem x xs :: Bool+ , elem x (_:_) :: Bool+ , elem y _ :: Bool+ , elem (ord _) _ :: Bool+ , elem (abs _) _ :: Bool+ , elem (id 0) _ :: Bool+ , elem (id _) [] :: Bool+ , elem (id _) _ :: Bool+ , elem (id _) xs :: Bool+ , elem (id _) (_:_) :: Bool+ , elem (id x) _ :: Bool+ , elem (id (id _)) _ :: Bool+ , elem (negate _) _ :: Bool+ , elem (head _) _ :: Bool+ , elem (_ + _) _ :: Bool+ , [-1] :: [Int]+ , (-1):_ :: [Int]+ , (-1):xs :: [Int]+ , (-1):_:_ :: [Int]+ , 0:[0,0] :: [Int]+ , 0:[0] :: [Int]+ , 0:[1] :: [Int]+ , [0] :: [Int]+ , 0:_ :: [Int]+ , 0:xs :: [Int]+ , 0:ys :: [Int]+ , 0:zs :: [Int]+ , 0:sort _ :: [Int]+ , 0:tail [] :: [Int]+ , 0:tail _ :: [Int]+ , 0:tail xs :: [Int]+ , 0:tail (_:_) :: [Int]+ , [0,0] :: [Int]+ , 0:0:_ :: [Int]+ , 0:0:xs :: [Int]+ , 0:0:_:_ :: [Int]+ , 0:1:_ :: [Int]+ , 0:_:[0] :: [Int]+ , [0,_] :: [Int]+ , 0:_:_ :: [Int]+ , 0:_:xs :: [Int]+ , 0:_:ys :: [Int]+ , 0:_:tail _ :: [Int]+ , 0:_:0:_ :: [Int]+ , [0,_,_] :: [Int]+ , 0:_:_:_ :: [Int]+ , 0:_:_:xs :: [Int]+ , 0:_:_:_:_ :: [Int]+ , 0:_:x:_ :: [Int]+ , 0:_:id _:_ :: [Int]+ , 0:_:(_ ++ _) :: [Int]+ , [0,x] :: [Int]+ , 0:x:_ :: [Int]+ , 0:x:xs :: [Int]+ , 0:x:_:_ :: [Int]+ , 0:y:_ :: [Int]+ , 0:ord _:_ :: [Int]+ , 0:abs _:_ :: [Int]+ , 0:id 0:_ :: [Int]+ , [0,id _] :: [Int]+ , 0:id _:_ :: [Int]+ , 0:id _:xs :: [Int]+ , 0:id _:_:_ :: [Int]+ , 0:id x:_ :: [Int]+ , 0:id (id _):_ :: [Int]+ , 0:negate _:_ :: [Int]+ , 0:head _:_ :: [Int]+ , 0:_ + _:_ :: [Int]+ , 0:insert _ _ :: [Int]+ , 0:([] ++ _) :: [Int]+ , 0:(_ ++ []) :: [Int]+ , 0:(_ ++ _) :: [Int]+ , 0:(_ ++ xs) :: [Int]+ , 0:(_ ++ (_:_)) :: [Int]+ , 0:(xs ++ _) :: [Int]+ , 0:((_:_) ++ _) :: [Int]+ , 1:[0] :: [Int]+ , [1] :: [Int]+ , 1:_ :: [Int]+ , 1:xs :: [Int]+ , 1:ys :: [Int]+ , 1:tail _ :: [Int]+ , 1:0:_ :: [Int]+ , [1,_] :: [Int]+ , 1:_:_ :: [Int]+ , 1:_:xs :: [Int]+ , 1:_:_:_ :: [Int]+ , 1:x:_ :: [Int]+ , 1:id _:_ :: [Int]+ , 1:(_ ++ _) :: [Int]+ , 2:_ :: [Int]+ , _:[-1] :: [Int]+ , _:[0,0,0] :: [Int]+ , _:[0,0] :: [Int]+ , _:[0,1] :: [Int]+ , _:[0] :: [Int]+ , _:[1,0] :: [Int]+ , _:[1] :: [Int]+ , [_] :: [Int]+ , _:_ :: [Int]+ , _:xs :: [Int]+ , _:xs' :: [Int]+ , _:ys :: [Int]+ , _:zs :: [Int]+ , _:sort [] :: [Int]+ , _:sort _ :: [Int]+ , _:sort xs :: [Int]+ , _:sort (_:_) :: [Int]+ , _:tail [0] :: [Int]+ , _:tail [] :: [Int]+ , _:tail _ :: [Int]+ , _:tail xs :: [Int]+ , _:tail ys :: [Int]+ , _:tail (tail _) :: [Int]+ , _:tail (0:_) :: [Int]+ , _:tail [_] :: [Int]+ , _:tail (_:_) :: [Int]+ , _:tail (_:xs) :: [Int]+ , _:tail (_:_:_) :: [Int]+ , _:tail (x:_) :: [Int]+ , _:tail (id _:_) :: [Int]+ , _:tail (_ ++ _) :: [Int]+ , _:(-1):_ :: [Int]+ , _:0:[0] :: [Int]+ , [_,0] :: [Int]+ , _:0:_ :: [Int]+ , _:0:xs :: [Int]+ , _:0:ys :: [Int]+ , _:0:tail _ :: [Int]+ , _:0:0:_ :: [Int]+ , [_,0,_] :: [Int]+ , _:0:_:_ :: [Int]+ , _:0:_:xs :: [Int]+ , _:0:_:_:_ :: [Int]+ , _:0:x:_ :: [Int]+ , _:0:id _:_ :: [Int]+ , _:0:(_ ++ _) :: [Int]+ , [_,1] :: [Int]+ , _:1:_ :: [Int]+ , _:1:xs :: [Int]+ , _:1:_:_ :: [Int]+ , _:_:[0,0] :: [Int]+ , _:_:[0] :: [Int]+ , _:_:[1] :: [Int]+ , [_,_] :: [Int]+ , _:_:_ :: [Int]+ , _:_:xs :: [Int]+ , _:_:ys :: [Int]+ , _:_:zs :: [Int]+ , _:_:sort _ :: [Int]+ , _:_:tail [] :: [Int]+ , _:_:tail _ :: [Int]+ , _:_:tail xs :: [Int]+ , _:_:tail (_:_) :: [Int]+ , [_,_,0] :: [Int]+ , _:_:0:_ :: [Int]+ , _:_:0:xs :: [Int]+ , _:_:0:_:_ :: [Int]+ , _:_:1:_ :: [Int]+ , _:_:_:[0] :: [Int]+ , [_,_,_] :: [Int]+ , _:_:_:_ :: [Int]+ , _:_:_:xs :: [Int]+ , _:_:_:ys :: [Int]+ , _:_:_:tail _ :: [Int]+ , _:_:_:0:_ :: [Int]+ , [_,_,_,_] :: [Int]+ , _:_:_:_:_ :: [Int]+ , _:_:_:_:xs :: [Int]+ , _:_:_:_:_:_ :: [Int]+ , _:_:_:x:_ :: [Int]+ , _:_:_:id _:_ :: [Int]+ , _:_:_:(_ ++ _) :: [Int]+ , [_,_,x] :: [Int]+ , _:_:x:_ :: [Int]+ , _:_:x:xs :: [Int]+ , _:_:x:_:_ :: [Int]+ , _:_:y:_ :: [Int]+ , _:_:ord _:_ :: [Int]+ , _:_:abs _:_ :: [Int]+ , _:_:id 0:_ :: [Int]+ , [_,_,id _] :: [Int]+ , _:_:id _:_ :: [Int]+ , _:_:id _:xs :: [Int]+ , _:_:id _:_:_ :: [Int]+ , _:_:id x:_ :: [Int]+ , _:_:id (id _):_ :: [Int]+ , _:_:negate _:_ :: [Int]+ , _:_:head _:_ :: [Int]+ , _:_:_ + _:_ :: [Int]+ , _:_:insert _ _ :: [Int]+ , _:_:([] ++ _) :: [Int]+ , _:_:(_ ++ []) :: [Int]+ , _:_:(_ ++ _) :: [Int]+ , _:_:(_ ++ xs) :: [Int]+ , _:_:(_ ++ (_:_)) :: [Int]+ , _:_:(xs ++ _) :: [Int]+ , _:_:((_:_) ++ _) :: [Int]+ , _:x:[0] :: [Int]+ , [_,x] :: [Int]+ , _:x:_ :: [Int]+ , _:x:xs :: [Int]+ , _:x:ys :: [Int]+ , _:x:tail _ :: [Int]+ , _:x:0:_ :: [Int]+ , [_,x,_] :: [Int]+ , _:x:_:_ :: [Int]+ , _:x:_:xs :: [Int]+ , _:x:_:_:_ :: [Int]+ , _:x:x:_ :: [Int]+ , _:x:id _:_ :: [Int]+ , _:x:(_ ++ _) :: [Int]+ , [_,y] :: [Int]+ , _:y:_ :: [Int]+ , _:y:xs :: [Int]+ , _:y:_:_ :: [Int]+ , _:z:_ :: [Int]+ , _:ord 'a':_ :: [Int]+ , [_,ord _] :: [Int]+ , _:ord _:_ :: [Int]+ , _:ord _:xs :: [Int]+ , _:ord _:_:_ :: [Int]+ , _:ord c:_ :: [Int]+ , _:f _:_ :: [Int]+ , _:abs 0:_ :: [Int]+ , [_,abs _] :: [Int]+ , _:abs _:_ :: [Int]+ , _:abs _:xs :: [Int]+ , _:abs _:_:_ :: [Int]+ , _:abs x:_ :: [Int]+ , _:abs (id _):_ :: [Int]+ , [_,id 0] :: [Int]+ , _:id 0:_ :: [Int]+ , _:id 0:xs :: [Int]+ , _:id 0:_:_ :: [Int]+ , _:id 1:_ :: [Int]+ , _:id _:[0] :: [Int]+ , [_,id _] :: [Int]+ , _:id _:_ :: [Int]+ , _:id _:xs :: [Int]+ , _:id _:ys :: [Int]+ , _:id _:tail _ :: [Int]+ , _:id _:0:_ :: [Int]+ , [_,id _,_] :: [Int]+ , _:id _:_:_ :: [Int]+ , _:id _:_:xs :: [Int]+ , _:id _:_:_:_ :: [Int]+ , _:id _:x:_ :: [Int]+ , _:id _:id _:_ :: [Int]+ , _:id _:(_ ++ _) :: [Int]+ , [_,id x] :: [Int]+ , _:id x:_ :: [Int]+ , _:id x:xs :: [Int]+ , _:id x:_:_ :: [Int]+ , _:id y:_ :: [Int]+ , _:id (ord _):_ :: [Int]+ , _:id (abs _):_ :: [Int]+ , _:id (id 0):_ :: [Int]+ , [_,id (id _)] :: [Int]+ , _:id (id _):_ :: [Int]+ , _:id (id _):xs :: [Int]+ , _:id (id _):_:_ :: [Int]+ , _:id (id x):_ :: [Int]+ , _:id (id (id _)):_ :: [Int]+ , _:id (negate _):_ :: [Int]+ , _:id (head _):_ :: [Int]+ , _:id (_ + _):_ :: [Int]+ , _:negate 0:_ :: [Int]+ , [_,negate _] :: [Int]+ , _:negate _:_ :: [Int]+ , _:negate _:xs :: [Int]+ , _:negate _:_:_ :: [Int]+ , _:negate x:_ :: [Int]+ , _:negate (id _):_ :: [Int]+ , _:head []:_ :: [Int]+ , [_,head _] :: [Int]+ , _:head _:_ :: [Int]+ , _:head _:xs :: [Int]+ , _:head _:_:_ :: [Int]+ , _:head xs:_ :: [Int]+ , _:head (_:_):_ :: [Int]+ , _:_ * _:_ :: [Int]+ , _:0 + _:_ :: [Int]+ , _:_ + 0:_ :: [Int]+ , [_,_ + _] :: [Int]+ , _:_ + _:_ :: [Int]+ , _:_ + _:xs :: [Int]+ , _:_ + _:_:_ :: [Int]+ , _:_ + x:_ :: [Int]+ , _:_ + id _:_ :: [Int]+ , _:x + _:_ :: [Int]+ , _:id _ + _:_ :: [Int]+ , _:insert 0 _ :: [Int]+ , _:insert _ [] :: [Int]+ , _:insert _ _ :: [Int]+ , _:insert _ xs :: [Int]+ , _:insert _ (_:_) :: [Int]+ , _:insert x _ :: [Int]+ , _:insert (id _) _ :: [Int]+ , _:([0] ++ _) :: [Int]+ , _:([] ++ []) :: [Int]+ , _:([] ++ _) :: [Int]+ , _:([] ++ xs) :: [Int]+ , _:([] ++ (_:_)) :: [Int]+ , _:(_ ++ [0]) :: [Int]+ , _:(_ ++ []) :: [Int]+ , _:(_ ++ _) :: [Int]+ , _:(_ ++ xs) :: [Int]+ , _:(_ ++ ys) :: [Int]+ , _:(_ ++ tail _) :: [Int]+ , _:(_ ++ (0:_)) :: [Int]+ , _:(_ ++ [_]) :: [Int]+ , _:(_ ++ (_:_)) :: [Int]+ , _:(_ ++ (_:xs)) :: [Int]+ , _:(_ ++ (_:_:_)) :: [Int]+ , _:(_ ++ (x:_)) :: [Int]+ , _:(_ ++ (id _:_)) :: [Int]+ , _:(_ ++ (_ ++ _)) :: [Int]+ , _:(xs ++ []) :: [Int]+ , _:(xs ++ _) :: [Int]+ , _:(xs ++ xs) :: [Int]+ , _:(xs ++ (_:_)) :: [Int]+ , _:(ys ++ _) :: [Int]+ , _:(tail _ ++ _) :: [Int]+ , _:((0:_) ++ _) :: [Int]+ , _:([_] ++ _) :: [Int]+ , _:((_:_) ++ []) :: [Int]+ , _:((_:_) ++ _) :: [Int]+ , _:((_:_) ++ xs) :: [Int]+ , _:((_:_) ++ (_:_)) :: [Int]+ , _:((_:xs) ++ _) :: [Int]+ , _:((_:_:_) ++ _) :: [Int]+ , _:((x:_) ++ _) :: [Int]+ , _:((id _:_) ++ _) :: [Int]+ , _:((_ ++ _) ++ _) :: [Int]+ , x:[0,0] :: [Int]+ , x:[0] :: [Int]+ , x:[1] :: [Int]+ , [x] :: [Int]+ , x:_ :: [Int]+ , x:xs :: [Int]+ , x:ys :: [Int]+ , x:zs :: [Int]+ , x:sort _ :: [Int]+ , x:tail [] :: [Int]+ , x:tail _ :: [Int]+ , x:tail xs :: [Int]+ , x:tail (_:_) :: [Int]+ , [x,0] :: [Int]+ , x:0:_ :: [Int]+ , x:0:xs :: [Int]+ , x:0:_:_ :: [Int]+ , x:1:_ :: [Int]+ , x:_:[0] :: [Int]+ , [x,_] :: [Int]+ , x:_:_ :: [Int]+ , x:_:xs :: [Int]+ , x:_:ys :: [Int]+ , x:_:tail _ :: [Int]+ , x:_:0:_ :: [Int]+ , [x,_,_] :: [Int]+ , x:_:_:_ :: [Int]+ , x:_:_:xs :: [Int]+ , x:_:_:_:_ :: [Int]+ , x:_:x:_ :: [Int]+ , x:_:id _:_ :: [Int]+ , x:_:(_ ++ _) :: [Int]+ , [x,x] :: [Int]+ , x:x:_ :: [Int]+ , x:x:xs :: [Int]+ , x:x:_:_ :: [Int]+ , x:y:_ :: [Int]+ , x:ord _:_ :: [Int]+ , x:abs _:_ :: [Int]+ , x:id 0:_ :: [Int]+ , [x,id _] :: [Int]+ , x:id _:_ :: [Int]+ , x:id _:xs :: [Int]+ , x:id _:_:_ :: [Int]+ , x:id x:_ :: [Int]+ , x:id (id _):_ :: [Int]+ , x:negate _:_ :: [Int]+ , x:head _:_ :: [Int]+ , x:_ + _:_ :: [Int]+ , x:insert _ _ :: [Int]+ , x:([] ++ _) :: [Int]+ , x:(_ ++ []) :: [Int]+ , x:(_ ++ _) :: [Int]+ , x:(_ ++ xs) :: [Int]+ , x:(_ ++ (_:_)) :: [Int]+ , x:(xs ++ _) :: [Int]+ , x:((_:_) ++ _) :: [Int]+ , x':_ :: [Int]+ , y:[0] :: [Int]+ , [y] :: [Int]+ , y:_ :: [Int]+ , y:xs :: [Int]+ , y:ys :: [Int]+ , y:tail _ :: [Int]+ , y:0:_ :: [Int]+ , [y,_] :: [Int]+ , y:_:_ :: [Int]+ , y:_:xs :: [Int]+ , y:_:_:_ :: [Int]+ , y:x:_ :: [Int]+ , y:id _:_ :: [Int]+ , y:(_ ++ _) :: [Int]+ , [z] :: [Int]+ , z:_ :: [Int]+ , z:xs :: [Int]+ , z:_:_ :: [Int]+ , ord ' ':_ :: [Int]+ , [ord 'a'] :: [Int]+ , ord 'a':_ :: [Int]+ , ord 'a':xs :: [Int]+ , ord 'a':_:_ :: [Int]+ , ord _:[0] :: [Int]+ , [ord _] :: [Int]+ , ord _:_ :: [Int]+ , ord _:xs :: [Int]+ , ord _:ys :: [Int]+ , ord _:tail _ :: [Int]+ , ord _:0:_ :: [Int]+ , [ord _,_] :: [Int]+ , ord _:_:_ :: [Int]+ , ord _:_:xs :: [Int]+ , ord _:_:_:_ :: [Int]+ , ord _:x:_ :: [Int]+ , ord _:id _:_ :: [Int]+ , ord _:(_ ++ _) :: [Int]+ , [ord c] :: [Int]+ , ord c:_ :: [Int]+ , ord c:xs :: [Int]+ , ord c:_:_ :: [Int]+ , ord d:_ :: [Int]+ , f 0:_ :: [Int]+ , [f _] :: [Int]+ , f _:_ :: [Int]+ , f _:xs :: [Int]+ , f _:_:_ :: [Int]+ , f x:_ :: [Int]+ , f (id _):_ :: [Int]+ , g _:_ :: [Int]+ , [abs 0] :: [Int]+ , abs 0:_ :: [Int]+ , abs 0:xs :: [Int]+ , abs 0:_:_ :: [Int]+ , abs 1:_ :: [Int]+ , abs _:[0] :: [Int]+ , [abs _] :: [Int]+ , abs _:_ :: [Int]+ , abs _:xs :: [Int]+ , abs _:ys :: [Int]+ , abs _:tail _ :: [Int]+ , abs _:0:_ :: [Int]+ , [abs _,_] :: [Int]+ , abs _:_:_ :: [Int]+ , abs _:_:xs :: [Int]+ , abs _:_:_:_ :: [Int]+ , abs _:x:_ :: [Int]+ , abs _:id _:_ :: [Int]+ , abs _:(_ ++ _) :: [Int]+ , [abs x] :: [Int]+ , abs x:_ :: [Int]+ , abs x:xs :: [Int]+ , abs x:_:_ :: [Int]+ , abs y:_ :: [Int]+ , abs (ord _):_ :: [Int]+ , abs (abs _):_ :: [Int]+ , abs (id 0):_ :: [Int]+ , [abs (id _)] :: [Int]+ , abs (id _):_ :: [Int]+ , abs (id _):xs :: [Int]+ , abs (id _):_:_ :: [Int]+ , abs (id x):_ :: [Int]+ , abs (id (id _)):_ :: [Int]+ , abs (negate _):_ :: [Int]+ , abs (head _):_ :: [Int]+ , abs (_ + _):_ :: [Int]+ , id (-1):_ :: [Int]+ , id 0:[0] :: [Int]+ , [id 0] :: [Int]+ , id 0:_ :: [Int]+ , id 0:xs :: [Int]+ , id 0:ys :: [Int]+ , id 0:tail _ :: [Int]+ , id 0:0:_ :: [Int]+ , [id 0,_] :: [Int]+ , id 0:_:_ :: [Int]+ , id 0:_:xs :: [Int]+ , id 0:_:_:_ :: [Int]+ , id 0:x:_ :: [Int]+ , id 0:id _:_ :: [Int]+ , id 0:(_ ++ _) :: [Int]+ , [id 1] :: [Int]+ , id 1:_ :: [Int]+ , id 1:xs :: [Int]+ , id 1:_:_ :: [Int]+ , id _:[0,0] :: [Int]+ , id _:[0] :: [Int]+ , id _:[1] :: [Int]+ , [id _] :: [Int]+ , id _:_ :: [Int]+ , id _:xs :: [Int]+ , id _:ys :: [Int]+ , id _:zs :: [Int]+ , id _:sort _ :: [Int]+ , id _:tail [] :: [Int]+ , id _:tail _ :: [Int]+ , id _:tail xs :: [Int]+ , id _:tail (_:_) :: [Int]+ , [id _,0] :: [Int]+ , id _:0:_ :: [Int]+ , id _:0:xs :: [Int]+ , id _:0:_:_ :: [Int]+ , id _:1:_ :: [Int]+ , id _:_:[0] :: [Int]+ , [id _,_] :: [Int]+ , id _:_:_ :: [Int]+ , id _:_:xs :: [Int]+ , id _:_:ys :: [Int]+ , id _:_:tail _ :: [Int]+ , id _:_:0:_ :: [Int]+ , [id _,_,_] :: [Int]+ , id _:_:_:_ :: [Int]+ , id _:_:_:xs :: [Int]+ , id _:_:_:_:_ :: [Int]+ , id _:_:x:_ :: [Int]+ , id _:_:id _:_ :: [Int]+ , id _:_:(_ ++ _) :: [Int]+ , [id _,x] :: [Int]+ , id _:x:_ :: [Int]+ , id _:x:xs :: [Int]+ , id _:x:_:_ :: [Int]+ , id _:y:_ :: [Int]+ , id _:ord _:_ :: [Int]+ , id _:abs _:_ :: [Int]+ , id _:id 0:_ :: [Int]+ , [id _,id _] :: [Int]+ , id _:id _:_ :: [Int]+ , id _:id _:xs :: [Int]+ , id _:id _:_:_ :: [Int]+ , id _:id x:_ :: [Int]+ , id _:id (id _):_ :: [Int]+ , id _:negate _:_ :: [Int]+ , id _:head _:_ :: [Int]+ , id _:_ + _:_ :: [Int]+ , id _:insert _ _ :: [Int]+ , id _:([] ++ _) :: [Int]+ , id _:(_ ++ []) :: [Int]+ , id _:(_ ++ _) :: [Int]+ , id _:(_ ++ xs) :: [Int]+ , id _:(_ ++ (_:_)) :: [Int]+ , id _:(xs ++ _) :: [Int]+ , id _:((_:_) ++ _) :: [Int]+ , id x:[0] :: [Int]+ , [id x] :: [Int]+ , id x:_ :: [Int]+ , id x:xs :: [Int]+ , id x:ys :: [Int]+ , id x:tail _ :: [Int]+ , id x:0:_ :: [Int]+ , [id x,_] :: [Int]+ , id x:_:_ :: [Int]+ , id x:_:xs :: [Int]+ , id x:_:_:_ :: [Int]+ , id x:x:_ :: [Int]+ , id x:id _:_ :: [Int]+ , id x:(_ ++ _) :: [Int]+ , [id y] :: [Int]+ , id y:_ :: [Int]+ , id y:xs :: [Int]+ , id y:_:_ :: [Int]+ , id z:_ :: [Int]+ , id (ord 'a'):_ :: [Int]+ , [id (ord _)] :: [Int]+ , id (ord _):_ :: [Int]+ , id (ord _):xs :: [Int]+ , id (ord _):_:_ :: [Int]+ , id (ord c):_ :: [Int]+ , id (f _):_ :: [Int]+ , id (abs 0):_ :: [Int]+ , [id (abs _)] :: [Int]+ , id (abs _):_ :: [Int]+ , id (abs _):xs :: [Int]+ , id (abs _):_:_ :: [Int]+ , id (abs x):_ :: [Int]+ , id (abs (id _)):_ :: [Int]+ , [id (id 0)] :: [Int]+ , id (id 0):_ :: [Int]+ , id (id 0):xs :: [Int]+ , id (id 0):_:_ :: [Int]+ , id (id 1):_ :: [Int]+ , id (id _):[0] :: [Int]+ , [id (id _)] :: [Int]+ , id (id _):_ :: [Int]+ , id (id _):xs :: [Int]+ , id (id _):ys :: [Int]+ , id (id _):tail _ :: [Int]+ , id (id _):0:_ :: [Int]+ , [id (id _),_] :: [Int]+ , id (id _):_:_ :: [Int]+ , id (id _):_:xs :: [Int]+ , id (id _):_:_:_ :: [Int]+ , id (id _):x:_ :: [Int]+ , id (id _):id _:_ :: [Int]+ , id (id _):(_ ++ _) :: [Int]+ , [id (id x)] :: [Int]+ , id (id x):_ :: [Int]+ , id (id x):xs :: [Int]+ , id (id x):_:_ :: [Int]+ , id (id y):_ :: [Int]+ , id (id (ord _)):_ :: [Int]+ , id (id (abs _)):_ :: [Int]+ , id (id (id 0)):_ :: [Int]+ , [id (id (id _))] :: [Int]+ , id (id (id _)):_ :: [Int]+ , id (id (id _)):xs :: [Int]+ , id (id (id _)):_:_ :: [Int]+ , id (id (id x)):_ :: [Int]+ , id (id (id (id _))):_ :: [Int]+ , id (id (negate _)):_ :: [Int]+ , id (id (head _)):_ :: [Int]+ , id (id (_ + _)):_ :: [Int]+ , id (negate 0):_ :: [Int]+ , [id (negate _)] :: [Int]+ , id (negate _):_ :: [Int]+ , id (negate _):xs :: [Int]+ , id (negate _):_:_ :: [Int]+ , id (negate x):_ :: [Int]+ , id (negate (id _)):_ :: [Int]+ , id (head []):_ :: [Int]+ , [id (head _)] :: [Int]+ , id (head _):_ :: [Int]+ , id (head _):xs :: [Int]+ , id (head _):_:_ :: [Int]+ , id (head xs):_ :: [Int]+ , id (head (_:_)):_ :: [Int]+ , id (_ * _):_ :: [Int]+ , id (0 + _):_ :: [Int]+ , id (_ + 0):_ :: [Int]+ , [id (_ + _)] :: [Int]+ , id (_ + _):_ :: [Int]+ , id (_ + _):xs :: [Int]+ , id (_ + _):_:_ :: [Int]+ , id (_ + x):_ :: [Int]+ , id (_ + id _):_ :: [Int]+ , id (x + _):_ :: [Int]+ , id (id _ + _):_ :: [Int]+ , [negate 0] :: [Int]+ , negate 0:_ :: [Int]+ , negate 0:xs :: [Int]+ , negate 0:_:_ :: [Int]+ , negate 1:_ :: [Int]+ , negate _:[0] :: [Int]+ , [negate _] :: [Int]+ , negate _:_ :: [Int]+ , negate _:xs :: [Int]+ , negate _:ys :: [Int]+ , negate _:tail _ :: [Int]+ , negate _:0:_ :: [Int]+ , [negate _,_] :: [Int]+ , negate _:_:_ :: [Int]+ , negate _:_:xs :: [Int]+ , negate _:_:_:_ :: [Int]+ , negate _:x:_ :: [Int]+ , negate _:id _:_ :: [Int]+ , negate _:(_ ++ _) :: [Int]+ , [negate x] :: [Int]+ , negate x:_ :: [Int]+ , negate x:xs :: [Int]+ , negate x:_:_ :: [Int]+ , negate y:_ :: [Int]+ , negate (ord _):_ :: [Int]+ , negate (abs _):_ :: [Int]+ , negate (id 0):_ :: [Int]+ , [negate (id _)] :: [Int]+ , negate (id _):_ :: [Int]+ , negate (id _):xs :: [Int]+ , negate (id _):_:_ :: [Int]+ , negate (id x):_ :: [Int]+ , negate (id (id _)):_ :: [Int]+ , negate (negate _):_ :: [Int]+ , negate (head _):_ :: [Int]+ , negate (_ + _):_ :: [Int]+ , head [0]:_ :: [Int]+ , [head []] :: [Int]+ , head []:_ :: [Int]+ , head []:xs :: [Int]+ , head []:_:_ :: [Int]+ , head _:[0] :: [Int]+ , [head _] :: [Int]+ , head _:_ :: [Int]+ , head _:xs :: [Int]+ , head _:ys :: [Int]+ , head _:tail _ :: [Int]+ , head _:0:_ :: [Int]+ , [head _,_] :: [Int]+ , head _:_:_ :: [Int]+ , head _:_:xs :: [Int]+ , head _:_:_:_ :: [Int]+ , head _:x:_ :: [Int]+ , head _:id _:_ :: [Int]+ , head _:(_ ++ _) :: [Int]+ , [head xs] :: [Int]+ , head xs:_ :: [Int]+ , head xs:xs :: [Int]+ , head xs:_:_ :: [Int]+ , head ys:_ :: [Int]+ , head (tail _):_ :: [Int]+ , head (0:_):_ :: [Int]+ , head [_]:_ :: [Int]+ , [head (_:_)] :: [Int]+ , head (_:_):_ :: [Int]+ , head (_:_):xs :: [Int]+ , head (_:_):_:_ :: [Int]+ , head (_:xs):_ :: [Int]+ , head (_:_:_):_ :: [Int]+ , head (x:_):_ :: [Int]+ , head (id _:_):_ :: [Int]+ , head (_ ++ _):_ :: [Int]+ , 0 * _:_ :: [Int]+ , _ * 0:_ :: [Int]+ , [_ * _] :: [Int]+ , _ * _:_ :: [Int]+ , _ * _:xs :: [Int]+ , _ * _:_:_ :: [Int]+ , _ * x:_ :: [Int]+ , _ * id _:_ :: [Int]+ , x * _:_ :: [Int]+ , id _ * _:_ :: [Int]+ , 0 + 0:_ :: [Int]+ , [0 + _] :: [Int]+ , 0 + _:_ :: [Int]+ , 0 + _:xs :: [Int]+ , 0 + _:_:_ :: [Int]+ , 0 + x:_ :: [Int]+ , 0 + id _:_ :: [Int]+ , 1 + _:_ :: [Int]+ , [_ + 0] :: [Int]+ , _ + 0:_ :: [Int]+ , _ + 0:xs :: [Int]+ , _ + 0:_:_ :: [Int]+ , _ + 1:_ :: [Int]+ , _ + _:[0] :: [Int]+ , [_ + _] :: [Int]+ , _ + _:_ :: [Int]+ , _ + _:xs :: [Int]+ , _ + _:ys :: [Int]+ , _ + _:tail _ :: [Int]+ , _ + _:0:_ :: [Int]+ , [_ + _,_] :: [Int]+ , _ + _:_:_ :: [Int]+ , _ + _:_:xs :: [Int]+ , _ + _:_:_:_ :: [Int]+ , _ + _:x:_ :: [Int]+ , _ + _:id _:_ :: [Int]+ , _ + _:(_ ++ _) :: [Int]+ , [_ + x] :: [Int]+ , _ + x:_ :: [Int]+ , _ + x:xs :: [Int]+ , _ + x:_:_ :: [Int]+ , _ + y:_ :: [Int]+ , _ + ord _:_ :: [Int]+ , _ + abs _:_ :: [Int]+ , _ + id 0:_ :: [Int]+ , [_ + id _] :: [Int]+ , _ + id _:_ :: [Int]+ , _ + id _:xs :: [Int]+ , _ + id _:_:_ :: [Int]+ , _ + id x:_ :: [Int]+ , _ + id (id _):_ :: [Int]+ , _ + negate _:_ :: [Int]+ , _ + head _:_ :: [Int]+ , _ + (_ + _):_ :: [Int]+ , x + 0:_ :: [Int]+ , [x + _] :: [Int]+ , x + _:_ :: [Int]+ , x + _:xs :: [Int]+ , x + _:_:_ :: [Int]+ , x + x:_ :: [Int]+ , x + id _:_ :: [Int]+ , y + _:_ :: [Int]+ , ord _ + _:_ :: [Int]+ , abs _ + _:_ :: [Int]+ , id 0 + _:_ :: [Int]+ , id _ + 0:_ :: [Int]+ , [id _ + _] :: [Int]+ , id _ + _:_ :: [Int]+ , id _ + _:xs :: [Int]+ , id _ + _:_:_ :: [Int]+ , id _ + x:_ :: [Int]+ , id _ + id _:_ :: [Int]+ , id x + _:_ :: [Int]+ , id (id _) + _:_ :: [Int]+ , negate _ + _:_ :: [Int]+ , head _ + _:_ :: [Int]+ , (_ + _) + _:_ :: [Int]+ , insert 0 [] :: [Int]+ , insert 0 _ :: [Int]+ , insert 0 xs :: [Int]+ , insert 0 (_:_) :: [Int]+ , insert 1 _ :: [Int]+ , insert _ [0] :: [Int]+ , insert _ [] :: [Int]+ , insert _ _ :: [Int]+ , insert _ xs :: [Int]+ , insert _ ys :: [Int]+ , insert _ (tail _) :: [Int]+ , insert _ (0:_) :: [Int]+ , insert _ [_] :: [Int]+ , insert _ (_:_) :: [Int]+ , insert _ (_:xs) :: [Int]+ , insert _ (_:_:_) :: [Int]+ , insert _ (x:_) :: [Int]+ , insert _ (id _:_) :: [Int]+ , insert _ (_ ++ _) :: [Int]+ , insert x [] :: [Int]+ , insert x _ :: [Int]+ , insert x xs :: [Int]+ , insert x (_:_) :: [Int]+ , insert y _ :: [Int]+ , insert (ord _) _ :: [Int]+ , insert (abs _) _ :: [Int]+ , insert (id 0) _ :: [Int]+ , insert (id _) [] :: [Int]+ , insert (id _) _ :: [Int]+ , insert (id _) xs :: [Int]+ , insert (id _) (_:_) :: [Int]+ , insert (id x) _ :: [Int]+ , insert (id (id _)) _ :: [Int]+ , insert (negate _) _ :: [Int]+ , insert (head _) _ :: [Int]+ , insert (_ + _) _ :: [Int]+ , [0,0] ++ _ :: [Int]+ , [0] ++ [] :: [Int]+ , [0] ++ _ :: [Int]+ , [0] ++ xs :: [Int]+ , [0] ++ (_:_) :: [Int]+ , [1] ++ _ :: [Int]+ , [] ++ [0] :: [Int]+ , [] ++ [] :: [Int]+ , [] ++ _ :: [Int]+ , [] ++ xs :: [Int]+ , [] ++ ys :: [Int]+ , [] ++ tail _ :: [Int]+ , [] ++ (0:_) :: [Int]+ , [] ++ [_] :: [Int]+ , [] ++ (_:_) :: [Int]+ , [] ++ (_:xs) :: [Int]+ , [] ++ (_:_:_) :: [Int]+ , [] ++ (x:_) :: [Int]+ , [] ++ (id _:_) :: [Int]+ , [] ++ (_ ++ _) :: [Int]+ , _ ++ [0,0] :: [Int]+ , _ ++ [0] :: [Int]+ , _ ++ [1] :: [Int]+ , _ ++ [] :: [Int]+ , _ ++ _ :: [Int]+ , _ ++ xs :: [Int]+ , _ ++ ys :: [Int]+ , _ ++ zs :: [Int]+ , _ ++ sort _ :: [Int]+ , _ ++ tail [] :: [Int]+ , _ ++ tail _ :: [Int]+ , _ ++ tail xs :: [Int]+ , _ ++ tail (_:_) :: [Int]+ , _ ++ [0] :: [Int]+ , _ ++ (0:_) :: [Int]+ , _ ++ (0:xs) :: [Int]+ , _ ++ (0:_:_) :: [Int]+ , _ ++ (1:_) :: [Int]+ , _ ++ (_:[0]) :: [Int]+ , _ ++ [_] :: [Int]+ , _ ++ (_:_) :: [Int]+ , _ ++ (_:xs) :: [Int]+ , _ ++ (_:ys) :: [Int]+ , _ ++ (_:tail _) :: [Int]+ , _ ++ (_:0:_) :: [Int]+ , _ ++ [_,_] :: [Int]+ , _ ++ (_:_:_) :: [Int]+ , _ ++ (_:_:xs) :: [Int]+ , _ ++ (_:_:_:_) :: [Int]+ , _ ++ (_:x:_) :: [Int]+ , _ ++ (_:id _:_) :: [Int]+ , _ ++ (_:(_ ++ _)) :: [Int]+ , _ ++ [x] :: [Int]+ , _ ++ (x:_) :: [Int]+ , _ ++ (x:xs) :: [Int]+ , _ ++ (x:_:_) :: [Int]+ , _ ++ (y:_) :: [Int]+ , _ ++ (ord _:_) :: [Int]+ , _ ++ (abs _:_) :: [Int]+ , _ ++ (id 0:_) :: [Int]+ , _ ++ [id _] :: [Int]+ , _ ++ (id _:_) :: [Int]+ , _ ++ (id _:xs) :: [Int]+ , _ ++ (id _:_:_) :: [Int]+ , _ ++ (id x:_) :: [Int]+ , _ ++ (id (id _):_) :: [Int]+ , _ ++ (negate _:_) :: [Int]+ , _ ++ (head _:_) :: [Int]+ , _ ++ (_ + _:_) :: [Int]+ , _ ++ insert _ _ :: [Int]+ , _ ++ ([] ++ _) :: [Int]+ , _ ++ (_ ++ []) :: [Int]+ , _ ++ (_ ++ _) :: [Int]+ , _ ++ (_ ++ xs) :: [Int]+ , _ ++ (_ ++ (_:_)) :: [Int]+ , _ ++ (xs ++ _) :: [Int]+ , _ ++ ((_:_) ++ _) :: [Int]+ , xs ++ [0] :: [Int]+ , xs ++ [] :: [Int]+ , xs ++ _ :: [Int]+ , xs ++ xs :: [Int]+ , xs ++ ys :: [Int]+ , xs ++ tail _ :: [Int]+ , xs ++ (0:_) :: [Int]+ , xs ++ [_] :: [Int]+ , xs ++ (_:_) :: [Int]+ , xs ++ (_:xs) :: [Int]+ , xs ++ (_:_:_) :: [Int]+ , xs ++ (x:_) :: [Int]+ , xs ++ (id _:_) :: [Int]+ , xs ++ (_ ++ _) :: [Int]+ , ys ++ [] :: [Int]+ , ys ++ _ :: [Int]+ , ys ++ xs :: [Int]+ , ys ++ (_:_) :: [Int]+ , zs ++ _ :: [Int]+ , sort _ ++ _ :: [Int]+ , tail [] ++ _ :: [Int]+ , tail _ ++ [] :: [Int]+ , tail _ ++ _ :: [Int]+ , tail _ ++ xs :: [Int]+ , tail _ ++ (_:_) :: [Int]+ , tail xs ++ _ :: [Int]+ , tail (_:_) ++ _ :: [Int]+ , [0] ++ _ :: [Int]+ , (0:_) ++ [] :: [Int]+ , (0:_) ++ _ :: [Int]+ , (0:_) ++ xs :: [Int]+ , (0:_) ++ (_:_) :: [Int]+ , (0:xs) ++ _ :: [Int]+ , (0:_:_) ++ _ :: [Int]+ , (1:_) ++ _ :: [Int]+ , (_:[0]) ++ _ :: [Int]+ , [_] ++ [] :: [Int]+ , [_] ++ _ :: [Int]+ , [_] ++ xs :: [Int]+ , [_] ++ (_:_) :: [Int]+ , (_:_) ++ [0] :: [Int]+ , (_:_) ++ [] :: [Int]+ , (_:_) ++ _ :: [Int]+ , (_:_) ++ xs :: [Int]+ , (_:_) ++ ys :: [Int]+ , (_:_) ++ tail _ :: [Int]+ , (_:_) ++ (0:_) :: [Int]+ , (_:_) ++ [_] :: [Int]+ , (_:_) ++ (_:_) :: [Int]+ , (_:_) ++ (_:xs) :: [Int]+ , (_:_) ++ (_:_:_) :: [Int]+ , (_:_) ++ (x:_) :: [Int]+ , (_:_) ++ (id _:_) :: [Int]+ , (_:_) ++ (_ ++ _) :: [Int]+ , (_:xs) ++ [] :: [Int]+ , (_:xs) ++ _ :: [Int]+ , (_:xs) ++ xs :: [Int]+ , (_:xs) ++ (_:_) :: [Int]+ , (_:ys) ++ _ :: [Int]+ , (_:tail _) ++ _ :: [Int]+ , (_:0:_) ++ _ :: [Int]+ , [_,_] ++ _ :: [Int]+ , (_:_:_) ++ [] :: [Int]+ , (_:_:_) ++ _ :: [Int]+ , (_:_:_) ++ xs :: [Int]+ , (_:_:_) ++ (_:_) :: [Int]+ , (_:_:xs) ++ _ :: [Int]+ , (_:_:_:_) ++ _ :: [Int]+ , (_:x:_) ++ _ :: [Int]+ , (_:id _:_) ++ _ :: [Int]+ , (_:(_ ++ _)) ++ _ :: [Int]+ , [x] ++ _ :: [Int]+ , (x:_) ++ [] :: [Int]+ , (x:_) ++ _ :: [Int]+ , (x:_) ++ xs :: [Int]+ , (x:_) ++ (_:_) :: [Int]+ , (x:xs) ++ _ :: [Int]+ , (x:_:_) ++ _ :: [Int]+ , (y:_) ++ _ :: [Int]+ , (ord _:_) ++ _ :: [Int]+ , (abs _:_) ++ _ :: [Int]+ , (id 0:_) ++ _ :: [Int]+ , [id _] ++ _ :: [Int]+ , (id _:_) ++ [] :: [Int]+ , (id _:_) ++ _ :: [Int]+ , (id _:_) ++ xs :: [Int]+ , (id _:_) ++ (_:_) :: [Int]+ , (id _:xs) ++ _ :: [Int]+ , (id _:_:_) ++ _ :: [Int]+ , (id x:_) ++ _ :: [Int]+ , (id (id _):_) ++ _ :: [Int]+ , (negate _:_) ++ _ :: [Int]+ , (head _:_) ++ _ :: [Int]+ , (_ + _:_) ++ _ :: [Int]+ , insert _ _ ++ _ :: [Int]+ , ([] ++ _) ++ _ :: [Int]+ , (_ ++ []) ++ _ :: [Int]+ , (_ ++ _) ++ [] :: [Int]+ , (_ ++ _) ++ _ :: [Int]+ , (_ ++ _) ++ xs :: [Int]+ , (_ ++ _) ++ (_:_) :: [Int]+ , (_ ++ xs) ++ _ :: [Int]+ , (_ ++ (_:_)) ++ _ :: [Int]+ , (xs ++ _) ++ _ :: [Int]+ , ((_:_) ++ _) ++ _ :: [Int]+ ]+
+ bench/tiers-complete.hs view
@@ -0,0 +1,31 @@+-- tiers-complete.hs -- prints tiers of complete expressions+--+-- Copyright (c) 2019-2024 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+--+-- Complete expressions are those without any holes _.+--+-- This is closely related to tiers.hs+import Test+import Data.List (intercalate, nub)+import Test.LeanCheck.Tiers (showTiers)+import Data.Express.Utils.List++showDotsLongerThan :: Show a => Int -> [a] -> String+showDotsLongerThan n xs = "["+ ++ intercalate "," (dotsLongerThan n $ map show xs)+ ++ "]"+ where+ dotsLongerThan n xs = take n xs ++ ["..." | not . null $ drop n xs]++printTiers :: Show a => Int -> [[a]] -> IO ()+printTiers n = putStrLn . init . unlines . map (" " ++) . lines . showTiers n++main :: IO ()+main = do+ putStrLn $ "isNub (filter isComplete list :: [Expr]) = "+ ++ show (isNub (take 5040 $ filter isComplete list))+ putStrLn $ "map length (filterT isComplete tiers :: [[ Expr ]]) = "+ ++ showDotsLongerThan 11 (map length (filterT isComplete tiers :: [[Expr]]))+ putStrLn "filterT isComplete tiers :: [[ Expr ]] ="+ printTiers 8 (filterT isComplete tiers :: [[Expr]])
+ bench/tiers-complete.txt view
@@ -0,0 +1,2336 @@+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+ ]+ , ...+ ]
bench/tiers.hs view
@@ -1,21 +1,25 @@ -- tiers.hs -- prints tiers of expressions ----- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE).++++ import Test import Data.List (intercalate, nub) import Test.LeanCheck.Tiers (showTiers) import Data.Express.Utils.List showDotsLongerThan :: Show a => Int -> [a] -> String-showDotsLongerThan n xs = "["- ++ intercalate "," (dotsLongerThan n $ map show xs)- ++ "]"+showDotsLongerThan n xs = "["+ ++ intercalate "," (dotsLongerThan n $ map show xs)+ ++ "]" where- dotsLongerThan n xs = take n xs ++ ["..." | not . null $ drop n xs]+ dotsLongerThan n xs = take n xs ++ ["..." | not . null $ drop n xs] printTiers :: Show a => Int -> [[a]] -> IO ()-printTiers n = putStrLn . init . unlines . map (" " ++) . lines . showTiers n+printTiers n = putStrLn . init . unlines . map (" " ++) . lines . showTiers n main :: IO () main = do@@ -23,5 +27,5 @@ ++ show (isNub (take 5040 list :: [Expr])) putStrLn $ "map length (tiers :: [[ Expr ]]) = " ++ showDotsLongerThan 9 (map length (tiers :: [[Expr]]))- putStrLn $ "tiers :: [[ Expr ]] ="+ putStrLn "tiers :: [[ Expr ]] =" printTiers 7 (tiers :: [[Expr]])
+ bench/tiers.txt view
@@ -0,0 +1,3624 @@+isNub (list :: [Expr]) = True+map length (tiers :: [[ Expr ]]) = [1,6,21,55,177,674,2679,11128,47899,...]+tiers :: [[ Expr ]] =+ [ [_ :: Int]+ , [ x :: Int+ , 0 :: Int+ , id _ :: Int+ , _ :: Bool+ , _ :: Char+ , _ :: [Int]+ ]+ , [ y :: Int+ , 1 :: Int+ , id x :: Int+ , id 0 :: Int+ , id (id _) :: Int+ , negate _ :: Int+ , abs _ :: Int+ , _ + _ :: Int+ , head _ :: Int+ , ord _ :: Int+ , p :: Bool+ , False :: Bool+ , True :: Bool+ , not _ :: Bool+ , c :: Char+ , 'a' :: Char+ , xs :: [Int]+ , [] :: [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+ , id (id (id _)) :: Int+ , id (negate _) :: Int+ , id (abs _) :: Int+ , id (_ + _) :: Int+ , id (head _) :: Int+ , id (ord _) :: Int+ , negate x :: Int+ , negate 0 :: Int+ , negate (id _) :: Int+ , abs x :: Int+ , abs 0 :: Int+ , abs (id _) :: Int+ , _ + x :: Int+ , _ + 0 :: Int+ , _ + id _ :: Int+ , x + _ :: Int+ , 0 + _ :: Int+ , id _ + _ :: Int+ , _ * _ :: Int+ , f _ :: Int+ , head xs :: Int+ , head [] :: Int+ , head (_:_) :: Int+ , ord c :: Int+ , ord 'a' :: Int+ , q :: Bool+ , not p :: Bool+ , not False :: Bool+ , not True :: Bool+ , not (not _) :: Bool+ , _ || _ :: Bool+ , d :: Char+ , ' ' :: Char+ , ys :: [Int]+ , [0] :: [Int]+ , _:xs :: [Int]+ , [_] :: [Int]+ , _:_:_ :: [Int]+ , x:_ :: [Int]+ , 0:_ :: [Int]+ , id _:_ :: [Int]+ , tail _ :: [Int]+ , _ ++ _ :: [Int]+ , negate :: Int -> Int+ , abs :: Int -> Int+ , (_ +) :: 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 (id (id (id _))) :: Int+ , id (id (negate _)) :: Int+ , id (id (abs _)) :: Int+ , id (id (_ + _)) :: Int+ , id (id (head _)) :: Int+ , id (id (ord _)) :: Int+ , id (negate x) :: Int+ , id (negate 0) :: Int+ , id (negate (id _)) :: Int+ , id (abs x) :: Int+ , id (abs 0) :: Int+ , id (abs (id _)) :: Int+ , id (_ + x) :: Int+ , id (_ + 0) :: Int+ , id (_ + id _) :: Int+ , id (x + _) :: Int+ , id (0 + _) :: Int+ , id (id _ + _) :: Int+ , id (_ * _) :: Int+ , id (f _) :: Int+ , id (head xs) :: Int+ , id (head []) :: 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+ , negate (id (id _)) :: Int+ , negate (negate _) :: Int+ , negate (abs _) :: Int+ , negate (_ + _) :: Int+ , negate (head _) :: Int+ , negate (ord _) :: Int+ , abs y :: Int+ , abs 1 :: Int+ , abs (id x) :: Int+ , abs (id 0) :: Int+ , abs (id (id _)) :: Int+ , abs (negate _) :: Int+ , abs (abs _) :: Int+ , abs (_ + _) :: Int+ , abs (head _) :: Int+ , abs (ord _) :: Int+ , _ + y :: Int+ , _ + 1 :: Int+ , _ + id x :: Int+ , _ + id 0 :: Int+ , _ + id (id _) :: Int+ , _ + negate _ :: Int+ , _ + abs _ :: Int+ , _ + (_ + _) :: Int+ , _ + head _ :: Int+ , _ + ord _ :: Int+ , x + x :: Int+ , x + 0 :: Int+ , x + id _ :: Int+ , 0 + x :: Int+ , 0 + 0 :: Int+ , 0 + id _ :: Int+ , id _ + x :: Int+ , id _ + 0 :: Int+ , id _ + id _ :: Int+ , _ * x :: Int+ , _ * 0 :: Int+ , _ * id _ :: Int+ , f x :: Int+ , f 0 :: Int+ , f (id _) :: Int+ , y + _ :: Int+ , 1 + _ :: Int+ , id x + _ :: Int+ , id 0 + _ :: Int+ , id (id _) + _ :: Int+ , negate _ + _ :: Int+ , abs _ + _ :: Int+ , (_ + _) + _ :: Int+ , head _ + _ :: Int+ , ord _ + _ :: Int+ , x * _ :: Int+ , 0 * _ :: Int+ , id _ * _ :: Int+ , g _ :: Int+ , head ys :: Int+ , head [0] :: Int+ , head (_:xs) :: Int+ , head [_] :: Int+ , head (_:_:_) :: Int+ , head (x:_) :: Int+ , head (0:_) :: Int+ , head (id _:_) :: Int+ , head (tail _) :: Int+ , head (_ ++ _) :: Int+ , ord d :: Int+ , ord ' ' :: Int+ , r :: Bool+ , not q :: Bool+ , not (not p) :: Bool+ , not (not False) :: Bool+ , not (not True) :: Bool+ , not (not (not _)) :: Bool+ , not (_ || _) :: Bool+ , _ || p :: Bool+ , _ || False :: Bool+ , _ || True :: Bool+ , _ || not _ :: Bool+ , p || _ :: Bool+ , False || _ :: Bool+ , True || _ :: Bool+ , not _ || _ :: Bool+ , _ && _ :: Bool+ , _ == _ :: Bool+ , _ == _ :: Bool+ , odd _ :: Bool+ , even _ :: Bool+ , elem _ _ :: Bool+ , e :: Char+ , 'b' :: Char+ , zs :: [Int]+ , [0,0] :: [Int]+ , [1] :: [Int]+ , _:ys :: [Int]+ , _:[0] :: [Int]+ , _:_:xs :: [Int]+ , [_,_] :: [Int]+ , _:_:_:_ :: [Int]+ , _:x:_ :: [Int]+ , _:0:_ :: [Int]+ , _:id _:_ :: [Int]+ , _:tail _ :: [Int]+ , _:(_ ++ _) :: [Int]+ , x:xs :: [Int]+ , [x] :: [Int]+ , x:_:_ :: [Int]+ , 0:xs :: [Int]+ , [0] :: [Int]+ , 0:_:_ :: [Int]+ , id _:xs :: [Int]+ , [id _] :: [Int]+ , id _:_:_ :: [Int]+ , y:_ :: [Int]+ , 1:_ :: [Int]+ , id x:_ :: [Int]+ , id 0:_ :: [Int]+ , id (id _):_ :: [Int]+ , negate _:_ :: [Int]+ , abs _:_ :: [Int]+ , _ + _:_ :: [Int]+ , head _:_ :: [Int]+ , ord _:_ :: [Int]+ , tail xs :: [Int]+ , tail [] :: [Int]+ , tail (_:_) :: [Int]+ , _ ++ xs :: [Int]+ , _ ++ [] :: [Int]+ , _ ++ (_:_) :: [Int]+ , xs ++ _ :: [Int]+ , [] ++ _ :: [Int]+ , (_:_) ++ _ :: [Int]+ , sort _ :: [Int]+ , insert _ _ :: [Int]+ , (x +) :: Int -> Int+ , (0 +) :: Int -> Int+ , (id _ +) :: Int -> Int+ , (_ *) :: Int -> Int+ , f :: Int -> Int+ , (_ ||) :: Bool -> Bool+ , (&&) :: 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 (id (id (id _)))) :: Int+ , id (id (id (negate _))) :: Int+ , id (id (id (abs _))) :: Int+ , id (id (id (_ + _))) :: Int+ , id (id (id (head _))) :: Int+ , id (id (id (ord _))) :: Int+ , id (id (negate x)) :: Int+ , id (id (negate 0)) :: Int+ , id (id (negate (id _))) :: Int+ , id (id (abs x)) :: Int+ , id (id (abs 0)) :: Int+ , id (id (abs (id _))) :: Int+ , id (id (_ + x)) :: Int+ , id (id (_ + 0)) :: Int+ , id (id (_ + id _)) :: Int+ , id (id (x + _)) :: Int+ , id (id (0 + _)) :: Int+ , id (id (id _ + _)) :: Int+ , id (id (_ * _)) :: Int+ , id (id (f _)) :: Int+ , id (id (head xs)) :: Int+ , id (id (head [])) :: 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 (negate (id (id _))) :: Int+ , id (negate (negate _)) :: Int+ , id (negate (abs _)) :: Int+ , id (negate (_ + _)) :: Int+ , id (negate (head _)) :: Int+ , id (negate (ord _)) :: Int+ , id (abs y) :: Int+ , id (abs 1) :: Int+ , id (abs (id x)) :: Int+ , id (abs (id 0)) :: Int+ , id (abs (id (id _))) :: Int+ , id (abs (negate _)) :: Int+ , id (abs (abs _)) :: Int+ , id (abs (_ + _)) :: Int+ , id (abs (head _)) :: Int+ , id (abs (ord _)) :: Int+ , id (_ + y) :: Int+ , id (_ + 1) :: Int+ , id (_ + id x) :: Int+ , id (_ + id 0) :: Int+ , id (_ + id (id _)) :: Int+ , id (_ + negate _) :: Int+ , id (_ + abs _) :: Int+ , id (_ + (_ + _)) :: Int+ , id (_ + head _) :: Int+ , id (_ + ord _) :: Int+ , id (x + x) :: Int+ , id (x + 0) :: Int+ , id (x + id _) :: Int+ , id (0 + x) :: Int+ , id (0 + 0) :: Int+ , id (0 + id _) :: Int+ , id (id _ + x) :: Int+ , id (id _ + 0) :: Int+ , id (id _ + id _) :: Int+ , id (_ * x) :: Int+ , id (_ * 0) :: Int+ , id (_ * id _) :: Int+ , id (f x) :: Int+ , id (f 0) :: Int+ , id (f (id _)) :: Int+ , id (y + _) :: Int+ , id (1 + _) :: Int+ , id (id x + _) :: Int+ , id (id 0 + _) :: Int+ , id (id (id _) + _) :: Int+ , id (negate _ + _) :: Int+ , id (abs _ + _) :: Int+ , id ((_ + _) + _) :: Int+ , id (head _ + _) :: Int+ , id (ord _ + _) :: Int+ , id (x * _) :: Int+ , id (0 * _) :: Int+ , id (id _ * _) :: Int+ , id (g _) :: Int+ , id (head ys) :: Int+ , id (head [0]) :: Int+ , id (head (_:xs)) :: Int+ , id (head [_]) :: Int+ , id (head (_:_:_)) :: Int+ , id (head (x:_)) :: Int+ , id (head (0:_)) :: Int+ , id (head (id _:_)) :: Int+ , id (head (tail _)) :: Int+ , id (head (_ ++ _)) :: 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 (id (id (id _))) :: Int+ , negate (id (negate _)) :: Int+ , negate (id (abs _)) :: Int+ , negate (id (_ + _)) :: Int+ , negate (id (head _)) :: Int+ , negate (id (ord _)) :: Int+ , negate (negate x) :: Int+ , negate (negate 0) :: Int+ , negate (negate (id _)) :: Int+ , negate (abs x) :: Int+ , negate (abs 0) :: Int+ , negate (abs (id _)) :: Int+ , negate (_ + x) :: Int+ , negate (_ + 0) :: Int+ , negate (_ + id _) :: Int+ , negate (x + _) :: Int+ , negate (0 + _) :: Int+ , negate (id _ + _) :: Int+ , negate (_ * _) :: Int+ , negate (f _) :: Int+ , negate (head xs) :: Int+ , negate (head []) :: 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 (id (id (id _))) :: Int+ , abs (id (negate _)) :: Int+ , abs (id (abs _)) :: Int+ , abs (id (_ + _)) :: Int+ , abs (id (head _)) :: Int+ , abs (id (ord _)) :: Int+ , abs (negate x) :: Int+ , abs (negate 0) :: Int+ , abs (negate (id _)) :: Int+ , abs (abs x) :: Int+ , abs (abs 0) :: Int+ , abs (abs (id _)) :: Int+ , abs (_ + x) :: Int+ , abs (_ + 0) :: Int+ , abs (_ + id _) :: Int+ , abs (x + _) :: Int+ , abs (0 + _) :: Int+ , abs (id _ + _) :: Int+ , abs (_ * _) :: Int+ , abs (f _) :: Int+ , abs (head xs) :: Int+ , abs (head []) :: Int+ , abs (head (_:_)) :: Int+ , abs (ord c) :: Int+ , abs (ord 'a') :: Int+ , _ + z :: Int+ , _ + (-1) :: Int+ , _ + id y :: Int+ , _ + id 1 :: Int+ , _ + id (id x) :: Int+ , _ + id (id 0) :: Int+ , _ + id (id (id _)) :: Int+ , _ + id (negate _) :: Int+ , _ + id (abs _) :: Int+ , _ + id (_ + _) :: Int+ , _ + id (head _) :: Int+ , _ + id (ord _) :: Int+ , _ + negate x :: Int+ , _ + negate 0 :: Int+ , _ + negate (id _) :: Int+ , _ + abs x :: Int+ , _ + abs 0 :: Int+ , _ + abs (id _) :: Int+ , _ + (_ + x) :: Int+ , _ + (_ + 0) :: Int+ , _ + (_ + id _) :: Int+ , _ + (x + _) :: Int+ , _ + (0 + _) :: Int+ , _ + (id _ + _) :: Int+ , _ + _ * _ :: Int+ , _ + f _ :: Int+ , _ + head xs :: Int+ , _ + head [] :: Int+ , _ + head (_:_) :: Int+ , _ + ord c :: Int+ , _ + ord 'a' :: Int+ , x + y :: Int+ , x + 1 :: Int+ , x + id x :: Int+ , x + id 0 :: Int+ , x + id (id _) :: Int+ , x + negate _ :: Int+ , x + abs _ :: Int+ , x + (_ + _) :: Int+ , x + head _ :: Int+ , x + ord _ :: Int+ , 0 + y :: Int+ , 0 + 1 :: Int+ , 0 + id x :: Int+ , 0 + id 0 :: Int+ , 0 + id (id _) :: Int+ , 0 + negate _ :: Int+ , 0 + abs _ :: Int+ , 0 + (_ + _) :: Int+ , 0 + head _ :: Int+ , 0 + ord _ :: Int+ , id _ + y :: Int+ , id _ + 1 :: Int+ , id _ + id x :: Int+ , id _ + id 0 :: Int+ , id _ + id (id _) :: Int+ , id _ + negate _ :: Int+ , id _ + abs _ :: Int+ , id _ + (_ + _) :: Int+ , id _ + head _ :: Int+ , id _ + ord _ :: Int+ , _ * y :: Int+ , _ * 1 :: Int+ , _ * id x :: Int+ , _ * id 0 :: Int+ , _ * id (id _) :: Int+ , _ * negate _ :: Int+ , _ * abs _ :: Int+ , _ * (_ + _) :: Int+ , _ * head _ :: Int+ , _ * ord _ :: Int+ , f y :: Int+ , f 1 :: Int+ , f (id x) :: Int+ , f (id 0) :: Int+ , f (id (id _)) :: Int+ , f (negate _) :: Int+ , f (abs _) :: Int+ , f (_ + _) :: Int+ , f (head _) :: Int+ , f (ord _) :: Int+ , y + x :: Int+ , y + 0 :: Int+ , y + id _ :: Int+ , 1 + x :: Int+ , 1 + 0 :: Int+ , 1 + id _ :: Int+ , id x + x :: Int+ , id x + 0 :: Int+ , id x + id _ :: Int+ , id 0 + x :: Int+ , id 0 + 0 :: Int+ , id 0 + id _ :: Int+ , id (id _) + x :: Int+ , id (id _) + 0 :: Int+ , id (id _) + id _ :: Int+ , negate _ + x :: Int+ , negate _ + 0 :: Int+ , negate _ + id _ :: Int+ , abs _ + x :: Int+ , abs _ + 0 :: Int+ , abs _ + id _ :: Int+ , (_ + _) + x :: Int+ , (_ + _) + 0 :: Int+ , (_ + _) + id _ :: Int+ , head _ + x :: Int+ , head _ + 0 :: Int+ , head _ + id _ :: Int+ , ord _ + x :: Int+ , ord _ + 0 :: Int+ , ord _ + id _ :: Int+ , x * x :: Int+ , x * 0 :: Int+ , x * id _ :: Int+ , 0 * x :: Int+ , 0 * 0 :: Int+ , 0 * id _ :: Int+ , id _ * x :: Int+ , id _ * 0 :: Int+ , id _ * id _ :: Int+ , g x :: Int+ , g 0 :: Int+ , g (id _) :: Int+ , z + _ :: Int+ , (-1) + _ :: Int+ , id y + _ :: Int+ , id 1 + _ :: Int+ , id (id x) + _ :: Int+ , id (id 0) + _ :: Int+ , id (id (id _)) + _ :: Int+ , id (negate _) + _ :: Int+ , id (abs _) + _ :: Int+ , id (_ + _) + _ :: Int+ , id (head _) + _ :: Int+ , id (ord _) + _ :: Int+ , negate x + _ :: Int+ , negate 0 + _ :: Int+ , negate (id _) + _ :: Int+ , abs x + _ :: Int+ , abs 0 + _ :: Int+ , abs (id _) + _ :: Int+ , (_ + x) + _ :: Int+ , (_ + 0) + _ :: Int+ , (_ + id _) + _ :: Int+ , (x + _) + _ :: Int+ , (0 + _) + _ :: Int+ , (id _ + _) + _ :: Int+ , _ * _ + _ :: Int+ , f _ + _ :: Int+ , head xs + _ :: Int+ , head [] + _ :: Int+ , head (_:_) + _ :: Int+ , ord c + _ :: Int+ , ord 'a' + _ :: Int+ , y * _ :: Int+ , 1 * _ :: Int+ , id x * _ :: Int+ , id 0 * _ :: Int+ , id (id _) * _ :: Int+ , negate _ * _ :: Int+ , abs _ * _ :: Int+ , (_ + _) * _ :: Int+ , head _ * _ :: Int+ , ord _ * _ :: Int+ , h _ :: Int+ , head zs :: Int+ , head [0,0] :: Int+ , head [1] :: Int+ , head (_:ys) :: Int+ , head (_:[0]) :: Int+ , head (_:_:xs) :: Int+ , head [_,_] :: Int+ , head (_:_:_:_) :: Int+ , head (_:x:_) :: Int+ , head (_:0:_) :: Int+ , head (_:id _:_) :: Int+ , head (_:tail _) :: Int+ , head (_:(_ ++ _)) :: Int+ , head (x:xs) :: Int+ , head [x] :: Int+ , head (x:_:_) :: Int+ , head (0:xs) :: Int+ , head [0] :: Int+ , head (0:_:_) :: Int+ , head (id _:xs) :: Int+ , head [id _] :: Int+ , head (id _:_:_) :: Int+ , head (y:_) :: Int+ , head (1:_) :: Int+ , head (id x:_) :: Int+ , head (id 0:_) :: Int+ , head (id (id _):_) :: Int+ , head (negate _:_) :: Int+ , head (abs _:_) :: Int+ , head (_ + _:_) :: Int+ , head (head _:_) :: Int+ , head (ord _:_) :: Int+ , head (tail xs) :: Int+ , head (tail []) :: Int+ , head (tail (_:_)) :: Int+ , head (_ ++ xs) :: Int+ , head (_ ++ []) :: Int+ , head (_ ++ (_:_)) :: Int+ , head (xs ++ _) :: Int+ , head ([] ++ _) :: Int+ , head ((_:_) ++ _) :: Int+ , head (sort _) :: Int+ , head (insert _ _) :: 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+ , not (not (not (not _))) :: Bool+ , not (not (_ || _)) :: Bool+ , not (_ || p) :: Bool+ , not (_ || False) :: Bool+ , not (_ || True) :: Bool+ , not (_ || not _) :: Bool+ , not (p || _) :: Bool+ , not (False || _) :: Bool+ , not (True || _) :: Bool+ , not (not _ || _) :: Bool+ , not (_ && _) :: Bool+ , not (_ == _) :: Bool+ , not (_ == _) :: Bool+ , not (odd _) :: Bool+ , not (even _) :: Bool+ , not (elem _ _) :: Bool+ , _ || q :: Bool+ , _ || not p :: Bool+ , _ || not False :: Bool+ , _ || not True :: Bool+ , _ || not (not _) :: Bool+ , _ || (_ || _) :: Bool+ , p || p :: Bool+ , p || False :: Bool+ , p || True :: Bool+ , p || not _ :: Bool+ , False || p :: Bool+ , False || False :: Bool+ , False || True :: Bool+ , False || not _ :: Bool+ , True || p :: Bool+ , True || False :: Bool+ , True || True :: Bool+ , True || not _ :: Bool+ , not _ || p :: Bool+ , not _ || False :: Bool+ , not _ || True :: Bool+ , not _ || not _ :: Bool+ , _ && p :: Bool+ , _ && False :: Bool+ , _ && True :: Bool+ , _ && not _ :: Bool+ , q || _ :: Bool+ , not p || _ :: Bool+ , not False || _ :: Bool+ , not True || _ :: Bool+ , not (not _) || _ :: Bool+ , (_ || _) || _ :: Bool+ , p && _ :: Bool+ , False && _ :: Bool+ , True && _ :: Bool+ , not _ && _ :: Bool+ , _ ==> _ :: Bool+ , _ == x :: Bool+ , _ == 0 :: Bool+ , _ == id _ :: Bool+ , x == _ :: Bool+ , 0 == _ :: Bool+ , id _ == _ :: Bool+ , _ == p :: Bool+ , _ == False :: Bool+ , _ == True :: Bool+ , _ == not _ :: Bool+ , p == _ :: Bool+ , False == _ :: Bool+ , True == _ :: Bool+ , not _ == _ :: Bool+ , _ <= _ :: Bool+ , _ <= _ :: Bool+ , odd x :: Bool+ , odd 0 :: Bool+ , odd (id _) :: Bool+ , even x :: Bool+ , even 0 :: Bool+ , even (id _) :: Bool+ , elem _ xs :: Bool+ , elem _ [] :: Bool+ , elem _ (_:_) :: Bool+ , elem x _ :: Bool+ , elem 0 _ :: Bool+ , elem (id _) _ :: Bool+ , c' :: Char+ , 'A' :: Char+ , xs' :: [Int]+ , [0,0,0] :: [Int]+ , [0,1] :: [Int]+ , [1,0] :: [Int]+ , [-1] :: [Int]+ , _:zs :: [Int]+ , _:[0,0] :: [Int]+ , _:[1] :: [Int]+ , _:_:ys :: [Int]+ , _:_:[0] :: [Int]+ , _:_:_:xs :: [Int]+ , [_,_,_] :: [Int]+ , _:_:_:_:_ :: [Int]+ , _:_:x:_ :: [Int]+ , _:_:0:_ :: [Int]+ , _:_:id _:_ :: [Int]+ , _:_:tail _ :: [Int]+ , _:_:(_ ++ _) :: [Int]+ , _:x:xs :: [Int]+ , [_,x] :: [Int]+ , _:x:_:_ :: [Int]+ , _:0:xs :: [Int]+ , [_,0] :: [Int]+ , _:0:_:_ :: [Int]+ , _:id _:xs :: [Int]+ , [_,id _] :: [Int]+ , _:id _:_:_ :: [Int]+ , _:y:_ :: [Int]+ , _:1:_ :: [Int]+ , _:id x:_ :: [Int]+ , _:id 0:_ :: [Int]+ , _:id (id _):_ :: [Int]+ , _:negate _:_ :: [Int]+ , _:abs _:_ :: [Int]+ , _:_ + _:_ :: [Int]+ , _:head _:_ :: [Int]+ , _:ord _:_ :: [Int]+ , _:tail xs :: [Int]+ , _:tail [] :: [Int]+ , _:tail (_:_) :: [Int]+ , _:(_ ++ xs) :: [Int]+ , _:(_ ++ []) :: [Int]+ , _:(_ ++ (_:_)) :: [Int]+ , _:(xs ++ _) :: [Int]+ , _:([] ++ _) :: [Int]+ , _:((_:_) ++ _) :: [Int]+ , _:sort _ :: [Int]+ , _:insert _ _ :: [Int]+ , x:ys :: [Int]+ , x:[0] :: [Int]+ , x:_:xs :: [Int]+ , [x,_] :: [Int]+ , x:_:_:_ :: [Int]+ , x:x:_ :: [Int]+ , x:0:_ :: [Int]+ , x:id _:_ :: [Int]+ , x:tail _ :: [Int]+ , x:(_ ++ _) :: [Int]+ , 0:ys :: [Int]+ , 0:[0] :: [Int]+ , 0:_:xs :: [Int]+ , [0,_] :: [Int]+ , 0:_:_:_ :: [Int]+ , 0:x:_ :: [Int]+ , 0:0:_ :: [Int]+ , 0:id _:_ :: [Int]+ , 0:tail _ :: [Int]+ , 0:(_ ++ _) :: [Int]+ , id _:ys :: [Int]+ , id _:[0] :: [Int]+ , id _:_:xs :: [Int]+ , [id _,_] :: [Int]+ , id _:_:_:_ :: [Int]+ , id _:x:_ :: [Int]+ , id _:0:_ :: [Int]+ , id _:id _:_ :: [Int]+ , id _:tail _ :: [Int]+ , id _:(_ ++ _) :: [Int]+ , y:xs :: [Int]+ , [y] :: [Int]+ , y:_:_ :: [Int]+ , 1:xs :: [Int]+ , [1] :: [Int]+ , 1:_:_ :: [Int]+ , id x:xs :: [Int]+ , [id x] :: [Int]+ , id x:_:_ :: [Int]+ , id 0:xs :: [Int]+ , [id 0] :: [Int]+ , id 0:_:_ :: [Int]+ , id (id _):xs :: [Int]+ , [id (id _)] :: [Int]+ , id (id _):_:_ :: [Int]+ , negate _:xs :: [Int]+ , [negate _] :: [Int]+ , negate _:_:_ :: [Int]+ , abs _:xs :: [Int]+ , [abs _] :: [Int]+ , abs _:_:_ :: [Int]+ , _ + _:xs :: [Int]+ , [_ + _] :: [Int]+ , _ + _:_:_ :: [Int]+ , head _:xs :: [Int]+ , [head _] :: [Int]+ , head _:_:_ :: [Int]+ , ord _:xs :: [Int]+ , [ord _] :: [Int]+ , ord _:_:_ :: [Int]+ , z:_ :: [Int]+ , (-1):_ :: [Int]+ , id y:_ :: [Int]+ , id 1:_ :: [Int]+ , id (id x):_ :: [Int]+ , id (id 0):_ :: [Int]+ , id (id (id _)):_ :: [Int]+ , id (negate _):_ :: [Int]+ , id (abs _):_ :: [Int]+ , id (_ + _):_ :: [Int]+ , id (head _):_ :: [Int]+ , id (ord _):_ :: [Int]+ , negate x:_ :: [Int]+ , negate 0:_ :: [Int]+ , negate (id _):_ :: [Int]+ , abs x:_ :: [Int]+ , abs 0:_ :: [Int]+ , abs (id _):_ :: [Int]+ , _ + x:_ :: [Int]+ , _ + 0:_ :: [Int]+ , _ + id _:_ :: [Int]+ , x + _:_ :: [Int]+ , 0 + _:_ :: [Int]+ , id _ + _:_ :: [Int]+ , _ * _:_ :: [Int]+ , f _:_ :: [Int]+ , head xs:_ :: [Int]+ , head []:_ :: [Int]+ , head (_:_):_ :: [Int]+ , ord c:_ :: [Int]+ , ord 'a':_ :: [Int]+ , tail ys :: [Int]+ , tail [0] :: [Int]+ , tail (_:xs) :: [Int]+ , tail [_] :: [Int]+ , tail (_:_:_) :: [Int]+ , tail (x:_) :: [Int]+ , tail (0:_) :: [Int]+ , tail (id _:_) :: [Int]+ , tail (tail _) :: [Int]+ , tail (_ ++ _) :: [Int]+ , _ ++ ys :: [Int]+ , _ ++ [0] :: [Int]+ , _ ++ (_:xs) :: [Int]+ , _ ++ [_] :: [Int]+ , _ ++ (_:_:_) :: [Int]+ , _ ++ (x:_) :: [Int]+ , _ ++ (0:_) :: [Int]+ , _ ++ (id _:_) :: [Int]+ , _ ++ tail _ :: [Int]+ , _ ++ (_ ++ _) :: [Int]+ , xs ++ xs :: [Int]+ , xs ++ [] :: [Int]+ , xs ++ (_:_) :: [Int]+ , [] ++ xs :: [Int]+ , [] ++ [] :: [Int]+ , [] ++ (_:_) :: [Int]+ , (_:_) ++ xs :: [Int]+ , (_:_) ++ [] :: [Int]+ , (_:_) ++ (_:_) :: [Int]+ , ys ++ _ :: [Int]+ , [0] ++ _ :: [Int]+ , (_:xs) ++ _ :: [Int]+ , [_] ++ _ :: [Int]+ , (_:_:_) ++ _ :: [Int]+ , (x:_) ++ _ :: [Int]+ , (0:_) ++ _ :: [Int]+ , (id _:_) ++ _ :: [Int]+ , tail _ ++ _ :: [Int]+ , (_ ++ _) ++ _ :: [Int]+ , sort xs :: [Int]+ , sort [] :: [Int]+ , sort (_:_) :: [Int]+ , insert _ xs :: [Int]+ , insert _ [] :: [Int]+ , insert _ (_:_) :: [Int]+ , insert x _ :: [Int]+ , insert 0 _ :: [Int]+ , insert (id _) _ :: [Int]+ , (y +) :: Int -> Int+ , (1 +) :: Int -> Int+ , (id x +) :: Int -> Int+ , (id 0 +) :: Int -> Int+ , (id (id _) +) :: Int -> Int+ , (negate _ +) :: Int -> Int+ , (abs _ +) :: Int -> Int+ , ((_ + _) +) :: Int -> Int+ , (head _ +) :: Int -> Int+ , (ord _ +) :: Int -> Int+ , (x *) :: Int -> Int+ , (0 *) :: Int -> Int+ , (id _ *) :: Int -> Int+ , g :: Int -> Int+ , (p ||) :: Bool -> Bool+ , (False ||) :: Bool -> Bool+ , (True ||) :: Bool -> Bool+ , (not _ ||) :: Bool -> Bool+ , (_ &&) :: 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 (id (id (id _))))) :: Int+ , id (id (id (id (negate _)))) :: Int+ , id (id (id (id (abs _)))) :: Int+ , id (id (id (id (_ + _)))) :: Int+ , id (id (id (id (head _)))) :: Int+ , id (id (id (id (ord _)))) :: Int+ , id (id (id (negate x))) :: Int+ , id (id (id (negate 0))) :: Int+ , id (id (id (negate (id _)))) :: Int+ , id (id (id (abs x))) :: Int+ , id (id (id (abs 0))) :: Int+ , id (id (id (abs (id _)))) :: Int+ , id (id (id (_ + x))) :: Int+ , id (id (id (_ + 0))) :: Int+ , id (id (id (_ + id _))) :: Int+ , id (id (id (x + _))) :: Int+ , id (id (id (0 + _))) :: Int+ , id (id (id (id _ + _))) :: Int+ , id (id (id (_ * _))) :: Int+ , id (id (id (f _))) :: Int+ , id (id (id (head xs))) :: Int+ , id (id (id (head []))) :: 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 (negate (id (id _)))) :: Int+ , id (id (negate (negate _))) :: Int+ , id (id (negate (abs _))) :: Int+ , id (id (negate (_ + _))) :: Int+ , id (id (negate (head _))) :: Int+ , id (id (negate (ord _))) :: 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 (abs (id (id _)))) :: Int+ , id (id (abs (negate _))) :: Int+ , id (id (abs (abs _))) :: Int+ , id (id (abs (_ + _))) :: Int+ , id (id (abs (head _))) :: Int+ , id (id (abs (ord _))) :: Int+ , id (id (_ + y)) :: Int+ , id (id (_ + 1)) :: Int+ , id (id (_ + id x)) :: Int+ , id (id (_ + id 0)) :: Int+ , id (id (_ + id (id _))) :: Int+ , id (id (_ + negate _)) :: Int+ , id (id (_ + abs _)) :: Int+ , id (id (_ + (_ + _))) :: Int+ , id (id (_ + head _)) :: Int+ , id (id (_ + ord _)) :: Int+ , id (id (x + x)) :: Int+ , id (id (x + 0)) :: Int+ , id (id (x + id _)) :: Int+ , id (id (0 + x)) :: Int+ , id (id (0 + 0)) :: Int+ , id (id (0 + id _)) :: Int+ , id (id (id _ + x)) :: Int+ , id (id (id _ + 0)) :: Int+ , id (id (id _ + id _)) :: Int+ , id (id (_ * x)) :: Int+ , id (id (_ * 0)) :: Int+ , id (id (_ * id _)) :: Int+ , id (id (f x)) :: Int+ , id (id (f 0)) :: Int+ , id (id (f (id _))) :: Int+ , id (id (y + _)) :: Int+ , id (id (1 + _)) :: Int+ , id (id (id x + _)) :: Int+ , id (id (id 0 + _)) :: Int+ , id (id (id (id _) + _)) :: Int+ , id (id (negate _ + _)) :: Int+ , id (id (abs _ + _)) :: Int+ , id (id ((_ + _) + _)) :: Int+ , id (id (head _ + _)) :: Int+ , id (id (ord _ + _)) :: Int+ , id (id (x * _)) :: Int+ , id (id (0 * _)) :: Int+ , id (id (id _ * _)) :: Int+ , id (id (g _)) :: Int+ , id (id (head ys)) :: Int+ , id (id (head [0])) :: Int+ , id (id (head (_:xs))) :: Int+ , id (id (head [_])) :: Int+ , id (id (head (_:_:_))) :: Int+ , id (id (head (x:_))) :: Int+ , id (id (head (0:_))) :: Int+ , id (id (head (id _:_))) :: Int+ , id (id (head (tail _))) :: Int+ , id (id (head (_ ++ _))) :: 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 (id (id (id _)))) :: Int+ , id (negate (id (negate _))) :: Int+ , id (negate (id (abs _))) :: Int+ , id (negate (id (_ + _))) :: Int+ , id (negate (id (head _))) :: Int+ , id (negate (id (ord _))) :: Int+ , id (negate (negate x)) :: Int+ , id (negate (negate 0)) :: Int+ , id (negate (negate (id _))) :: Int+ , id (negate (abs x)) :: Int+ , id (negate (abs 0)) :: Int+ , id (negate (abs (id _))) :: Int+ , id (negate (_ + x)) :: Int+ , id (negate (_ + 0)) :: Int+ , id (negate (_ + id _)) :: Int+ , id (negate (x + _)) :: Int+ , id (negate (0 + _)) :: Int+ , id (negate (id _ + _)) :: Int+ , id (negate (_ * _)) :: Int+ , id (negate (f _)) :: Int+ , id (negate (head xs)) :: Int+ , id (negate (head [])) :: 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 (id (id (id _)))) :: Int+ , id (abs (id (negate _))) :: Int+ , id (abs (id (abs _))) :: Int+ , id (abs (id (_ + _))) :: Int+ , id (abs (id (head _))) :: Int+ , id (abs (id (ord _))) :: Int+ , id (abs (negate x)) :: Int+ , id (abs (negate 0)) :: Int+ , id (abs (negate (id _))) :: Int+ , id (abs (abs x)) :: Int+ , id (abs (abs 0)) :: Int+ , id (abs (abs (id _))) :: Int+ , id (abs (_ + x)) :: Int+ , id (abs (_ + 0)) :: Int+ , id (abs (_ + id _)) :: Int+ , id (abs (x + _)) :: Int+ , id (abs (0 + _)) :: Int+ , id (abs (id _ + _)) :: Int+ , id (abs (_ * _)) :: Int+ , id (abs (f _)) :: Int+ , id (abs (head xs)) :: Int+ , id (abs (head [])) :: Int+ , id (abs (head (_:_))) :: Int+ , id (abs (ord c)) :: Int+ , id (abs (ord 'a')) :: 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 (_ + id (id (id _))) :: Int+ , id (_ + id (negate _)) :: Int+ , id (_ + id (abs _)) :: Int+ , id (_ + id (_ + _)) :: Int+ , id (_ + id (head _)) :: Int+ , id (_ + id (ord _)) :: Int+ , id (_ + negate x) :: Int+ , id (_ + negate 0) :: Int+ , id (_ + negate (id _)) :: Int+ , id (_ + abs x) :: Int+ , id (_ + abs 0) :: Int+ , id (_ + abs (id _)) :: Int+ , id (_ + (_ + x)) :: Int+ , id (_ + (_ + 0)) :: Int+ , id (_ + (_ + id _)) :: Int+ , id (_ + (x + _)) :: Int+ , id (_ + (0 + _)) :: Int+ , id (_ + (id _ + _)) :: Int+ , id (_ + _ * _) :: Int+ , id (_ + f _) :: Int+ , id (_ + head xs) :: Int+ , id (_ + head []) :: Int+ , id (_ + head (_:_)) :: Int+ , id (_ + ord c) :: Int+ , id (_ + ord 'a') :: Int+ , id (x + y) :: Int+ , id (x + 1) :: Int+ , id (x + id x) :: Int+ , id (x + id 0) :: Int+ , id (x + id (id _)) :: Int+ , id (x + negate _) :: Int+ , id (x + abs _) :: Int+ , id (x + (_ + _)) :: Int+ , id (x + head _) :: Int+ , id (x + ord _) :: Int+ , id (0 + y) :: Int+ , id (0 + 1) :: Int+ , id (0 + id x) :: Int+ , id (0 + id 0) :: Int+ , id (0 + id (id _)) :: Int+ , id (0 + negate _) :: Int+ , id (0 + abs _) :: Int+ , id (0 + (_ + _)) :: Int+ , id (0 + head _) :: Int+ , id (0 + ord _) :: Int+ , id (id _ + y) :: Int+ , id (id _ + 1) :: Int+ , id (id _ + id x) :: Int+ , id (id _ + id 0) :: Int+ , id (id _ + id (id _)) :: Int+ , id (id _ + negate _) :: Int+ , id (id _ + abs _) :: Int+ , id (id _ + (_ + _)) :: Int+ , id (id _ + head _) :: Int+ , id (id _ + ord _) :: Int+ , id (_ * y) :: Int+ , id (_ * 1) :: Int+ , id (_ * id x) :: Int+ , id (_ * id 0) :: Int+ , id (_ * id (id _)) :: Int+ , id (_ * negate _) :: Int+ , id (_ * abs _) :: Int+ , id (_ * (_ + _)) :: Int+ , id (_ * head _) :: Int+ , id (_ * ord _) :: Int+ , id (f y) :: Int+ , id (f 1) :: Int+ , id (f (id x)) :: Int+ , id (f (id 0)) :: Int+ , id (f (id (id _))) :: Int+ , id (f (negate _)) :: Int+ , id (f (abs _)) :: Int+ , id (f (_ + _)) :: Int+ , id (f (head _)) :: Int+ , id (f (ord _)) :: Int+ , id (y + x) :: Int+ , id (y + 0) :: Int+ , id (y + id _) :: Int+ , id (1 + x) :: Int+ , id (1 + 0) :: Int+ , id (1 + id _) :: Int+ , id (id x + x) :: Int+ , id (id x + 0) :: Int+ , id (id x + id _) :: Int+ , id (id 0 + x) :: Int+ , id (id 0 + 0) :: Int+ , id (id 0 + id _) :: Int+ , id (id (id _) + x) :: Int+ , id (id (id _) + 0) :: Int+ , id (id (id _) + id _) :: Int+ , id (negate _ + x) :: Int+ , id (negate _ + 0) :: Int+ , id (negate _ + id _) :: Int+ , id (abs _ + x) :: Int+ , id (abs _ + 0) :: Int+ , id (abs _ + id _) :: Int+ , id ((_ + _) + x) :: Int+ , id ((_ + _) + 0) :: Int+ , id ((_ + _) + id _) :: Int+ , id (head _ + x) :: Int+ , id (head _ + 0) :: Int+ , id (head _ + id _) :: Int+ , id (ord _ + x) :: Int+ , id (ord _ + 0) :: Int+ , id (ord _ + id _) :: Int+ , id (x * x) :: Int+ , id (x * 0) :: Int+ , id (x * id _) :: Int+ , id (0 * x) :: Int+ , id (0 * 0) :: Int+ , id (0 * id _) :: Int+ , id (id _ * x) :: Int+ , id (id _ * 0) :: Int+ , id (id _ * id _) :: Int+ , id (g x) :: Int+ , id (g 0) :: Int+ , id (g (id _)) :: 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 (id (id (id _)) + _) :: Int+ , id (id (negate _) + _) :: Int+ , id (id (abs _) + _) :: Int+ , id (id (_ + _) + _) :: Int+ , id (id (head _) + _) :: Int+ , id (id (ord _) + _) :: Int+ , id (negate x + _) :: Int+ , id (negate 0 + _) :: Int+ , id (negate (id _) + _) :: Int+ , id (abs x + _) :: Int+ , id (abs 0 + _) :: Int+ , id (abs (id _) + _) :: Int+ , id ((_ + x) + _) :: Int+ , id ((_ + 0) + _) :: Int+ , id ((_ + id _) + _) :: Int+ , id ((x + _) + _) :: Int+ , id ((0 + _) + _) :: Int+ , id ((id _ + _) + _) :: Int+ , id (_ * _ + _) :: Int+ , id (f _ + _) :: Int+ , id (head xs + _) :: Int+ , id (head [] + _) :: Int+ , id (head (_:_) + _) :: Int+ , id (ord c + _) :: Int+ , id (ord 'a' + _) :: Int+ , id (y * _) :: Int+ , id (1 * _) :: Int+ , id (id x * _) :: Int+ , id (id 0 * _) :: Int+ , id (id (id _) * _) :: Int+ , id (negate _ * _) :: Int+ , id (abs _ * _) :: Int+ , id ((_ + _) * _) :: Int+ , id (head _ * _) :: Int+ , id (ord _ * _) :: Int+ , id (h _) :: Int+ , id (head zs) :: Int+ , id (head [0,0]) :: Int+ , id (head [1]) :: Int+ , id (head (_:ys)) :: Int+ , id (head (_:[0])) :: Int+ , id (head (_:_:xs)) :: Int+ , id (head [_,_]) :: Int+ , id (head (_:_:_:_)) :: Int+ , id (head (_:x:_)) :: Int+ , id (head (_:0:_)) :: Int+ , id (head (_:id _:_)) :: Int+ , id (head (_:tail _)) :: Int+ , id (head (_:(_ ++ _))) :: Int+ , id (head (x:xs)) :: Int+ , id (head [x]) :: Int+ , id (head (x:_:_)) :: Int+ , id (head (0:xs)) :: Int+ , id (head [0]) :: Int+ , id (head (0:_:_)) :: Int+ , id (head (id _:xs)) :: Int+ , id (head [id _]) :: Int+ , id (head (id _:_:_)) :: Int+ , id (head (y:_)) :: Int+ , id (head (1:_)) :: Int+ , id (head (id x:_)) :: Int+ , id (head (id 0:_)) :: Int+ , id (head (id (id _):_)) :: Int+ , id (head (negate _:_)) :: Int+ , id (head (abs _:_)) :: Int+ , id (head (_ + _:_)) :: Int+ , id (head (head _:_)) :: Int+ , id (head (ord _:_)) :: Int+ , id (head (tail xs)) :: Int+ , id (head (tail [])) :: Int+ , id (head (tail (_:_))) :: Int+ , id (head (_ ++ xs)) :: Int+ , id (head (_ ++ [])) :: Int+ , id (head (_ ++ (_:_))) :: Int+ , id (head (xs ++ _)) :: Int+ , id (head ([] ++ _)) :: Int+ , id (head ((_:_) ++ _)) :: Int+ , id (head (sort _)) :: Int+ , id (head (insert _ _)) :: 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 (id (id (id _)))) :: Int+ , negate (id (id (negate _))) :: Int+ , negate (id (id (abs _))) :: Int+ , negate (id (id (_ + _))) :: Int+ , negate (id (id (head _))) :: Int+ , negate (id (id (ord _))) :: Int+ , negate (id (negate x)) :: Int+ , negate (id (negate 0)) :: Int+ , negate (id (negate (id _))) :: Int+ , negate (id (abs x)) :: Int+ , negate (id (abs 0)) :: Int+ , negate (id (abs (id _))) :: Int+ , negate (id (_ + x)) :: Int+ , negate (id (_ + 0)) :: Int+ , negate (id (_ + id _)) :: Int+ , negate (id (x + _)) :: Int+ , negate (id (0 + _)) :: Int+ , negate (id (id _ + _)) :: Int+ , negate (id (_ * _)) :: Int+ , negate (id (f _)) :: Int+ , negate (id (head xs)) :: Int+ , negate (id (head [])) :: 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 (negate (id (id _))) :: Int+ , negate (negate (negate _)) :: Int+ , negate (negate (abs _)) :: Int+ , negate (negate (_ + _)) :: Int+ , negate (negate (head _)) :: Int+ , negate (negate (ord _)) :: Int+ , negate (abs y) :: Int+ , negate (abs 1) :: Int+ , negate (abs (id x)) :: Int+ , negate (abs (id 0)) :: Int+ , negate (abs (id (id _))) :: Int+ , negate (abs (negate _)) :: Int+ , negate (abs (abs _)) :: Int+ , negate (abs (_ + _)) :: Int+ , negate (abs (head _)) :: Int+ , negate (abs (ord _)) :: Int+ , negate (_ + y) :: Int+ , negate (_ + 1) :: Int+ , negate (_ + id x) :: Int+ , negate (_ + id 0) :: Int+ , negate (_ + id (id _)) :: Int+ , negate (_ + negate _) :: Int+ , negate (_ + abs _) :: Int+ , negate (_ + (_ + _)) :: Int+ , negate (_ + head _) :: Int+ , negate (_ + ord _) :: Int+ , negate (x + x) :: Int+ , negate (x + 0) :: Int+ , negate (x + id _) :: Int+ , negate (0 + x) :: Int+ , negate (0 + 0) :: Int+ , negate (0 + id _) :: Int+ , negate (id _ + x) :: Int+ , negate (id _ + 0) :: Int+ , negate (id _ + id _) :: Int+ , negate (_ * x) :: Int+ , negate (_ * 0) :: Int+ , negate (_ * id _) :: Int+ , negate (f x) :: Int+ , negate (f 0) :: Int+ , negate (f (id _)) :: Int+ , negate (y + _) :: Int+ , negate (1 + _) :: Int+ , negate (id x + _) :: Int+ , negate (id 0 + _) :: Int+ , negate (id (id _) + _) :: Int+ , negate (negate _ + _) :: Int+ , negate (abs _ + _) :: Int+ , negate ((_ + _) + _) :: Int+ , negate (head _ + _) :: Int+ , negate (ord _ + _) :: Int+ , negate (x * _) :: Int+ , negate (0 * _) :: Int+ , negate (id _ * _) :: Int+ , negate (g _) :: Int+ , negate (head ys) :: Int+ , negate (head [0]) :: Int+ , negate (head (_:xs)) :: Int+ , negate (head [_]) :: Int+ , negate (head (_:_:_)) :: Int+ , negate (head (x:_)) :: Int+ , negate (head (0:_)) :: Int+ , negate (head (id _:_)) :: Int+ , negate (head (tail _)) :: Int+ , negate (head (_ ++ _)) :: 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 (id (id (id _)))) :: Int+ , abs (id (id (negate _))) :: Int+ , abs (id (id (abs _))) :: Int+ , abs (id (id (_ + _))) :: Int+ , abs (id (id (head _))) :: Int+ , abs (id (id (ord _))) :: Int+ , abs (id (negate x)) :: Int+ , abs (id (negate 0)) :: Int+ , abs (id (negate (id _))) :: Int+ , abs (id (abs x)) :: Int+ , abs (id (abs 0)) :: Int+ , abs (id (abs (id _))) :: Int+ , abs (id (_ + x)) :: Int+ , abs (id (_ + 0)) :: Int+ , abs (id (_ + id _)) :: Int+ , abs (id (x + _)) :: Int+ , abs (id (0 + _)) :: Int+ , abs (id (id _ + _)) :: Int+ , abs (id (_ * _)) :: Int+ , abs (id (f _)) :: Int+ , abs (id (head xs)) :: Int+ , abs (id (head [])) :: 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 (negate (id (id _))) :: Int+ , abs (negate (negate _)) :: Int+ , abs (negate (abs _)) :: Int+ , abs (negate (_ + _)) :: Int+ , abs (negate (head _)) :: Int+ , abs (negate (ord _)) :: Int+ , abs (abs y) :: Int+ , abs (abs 1) :: Int+ , abs (abs (id x)) :: Int+ , abs (abs (id 0)) :: Int+ , abs (abs (id (id _))) :: Int+ , abs (abs (negate _)) :: Int+ , abs (abs (abs _)) :: Int+ , abs (abs (_ + _)) :: Int+ , abs (abs (head _)) :: Int+ , abs (abs (ord _)) :: Int+ , abs (_ + y) :: Int+ , abs (_ + 1) :: Int+ , abs (_ + id x) :: Int+ , abs (_ + id 0) :: Int+ , abs (_ + id (id _)) :: Int+ , abs (_ + negate _) :: Int+ , abs (_ + abs _) :: Int+ , abs (_ + (_ + _)) :: Int+ , abs (_ + head _) :: Int+ , abs (_ + ord _) :: Int+ , abs (x + x) :: Int+ , abs (x + 0) :: Int+ , abs (x + id _) :: Int+ , abs (0 + x) :: Int+ , abs (0 + 0) :: Int+ , abs (0 + id _) :: Int+ , abs (id _ + x) :: Int+ , abs (id _ + 0) :: Int+ , abs (id _ + id _) :: Int+ , abs (_ * x) :: Int+ , abs (_ * 0) :: Int+ , abs (_ * id _) :: Int+ , abs (f x) :: Int+ , abs (f 0) :: Int+ , abs (f (id _)) :: Int+ , abs (y + _) :: Int+ , abs (1 + _) :: Int+ , abs (id x + _) :: Int+ , abs (id 0 + _) :: Int+ , abs (id (id _) + _) :: Int+ , abs (negate _ + _) :: Int+ , abs (abs _ + _) :: Int+ , abs ((_ + _) + _) :: Int+ , abs (head _ + _) :: Int+ , abs (ord _ + _) :: Int+ , abs (x * _) :: Int+ , abs (0 * _) :: Int+ , abs (id _ * _) :: Int+ , abs (g _) :: Int+ , abs (head ys) :: Int+ , abs (head [0]) :: Int+ , abs (head (_:xs)) :: Int+ , abs (head [_]) :: Int+ , abs (head (_:_:_)) :: Int+ , abs (head (x:_)) :: Int+ , abs (head (0:_)) :: Int+ , abs (head (id _:_)) :: Int+ , abs (head (tail _)) :: Int+ , abs (head (_ ++ _)) :: Int+ , abs (ord d) :: Int+ , abs (ord ' ') :: Int+ , _ + 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 (id (id (id _))) :: Int+ , _ + id (id (negate _)) :: Int+ , _ + id (id (abs _)) :: Int+ , _ + id (id (_ + _)) :: Int+ , _ + id (id (head _)) :: Int+ , _ + id (id (ord _)) :: Int+ , _ + id (negate x) :: Int+ , _ + id (negate 0) :: Int+ , _ + id (negate (id _)) :: Int+ , _ + id (abs x) :: Int+ , _ + id (abs 0) :: Int+ , _ + id (abs (id _)) :: Int+ , _ + id (_ + x) :: Int+ , _ + id (_ + 0) :: Int+ , _ + id (_ + id _) :: Int+ , _ + id (x + _) :: Int+ , _ + id (0 + _) :: Int+ , _ + id (id _ + _) :: Int+ , _ + id (_ * _) :: Int+ , _ + id (f _) :: Int+ , _ + id (head xs) :: Int+ , _ + id (head []) :: 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+ , _ + negate (id (id _)) :: Int+ , _ + negate (negate _) :: Int+ , _ + negate (abs _) :: Int+ , _ + negate (_ + _) :: Int+ , _ + negate (head _) :: Int+ , _ + negate (ord _) :: Int+ , _ + abs y :: Int+ , _ + abs 1 :: Int+ , _ + abs (id x) :: Int+ , _ + abs (id 0) :: Int+ , _ + abs (id (id _)) :: Int+ , _ + abs (negate _) :: Int+ , _ + abs (abs _) :: Int+ , _ + abs (_ + _) :: Int+ , _ + abs (head _) :: Int+ , _ + abs (ord _) :: Int+ , _ + (_ + y) :: Int+ , _ + (_ + 1) :: Int+ , _ + (_ + id x) :: Int+ , _ + (_ + id 0) :: Int+ , _ + (_ + id (id _)) :: Int+ , _ + (_ + negate _) :: Int+ , _ + (_ + abs _) :: Int+ , _ + (_ + (_ + _)) :: Int+ , _ + (_ + head _) :: Int+ , _ + (_ + ord _) :: Int+ , _ + (x + x) :: Int+ , _ + (x + 0) :: Int+ , _ + (x + id _) :: Int+ , _ + (0 + x) :: Int+ , _ + (0 + 0) :: Int+ , _ + (0 + id _) :: Int+ , _ + (id _ + x) :: Int+ , _ + (id _ + 0) :: Int+ , _ + (id _ + id _) :: Int+ , _ + _ * x :: Int+ , _ + _ * 0 :: Int+ , _ + _ * id _ :: Int+ , _ + f x :: Int+ , _ + f 0 :: Int+ , _ + f (id _) :: Int+ , _ + (y + _) :: Int+ , _ + (1 + _) :: Int+ , _ + (id x + _) :: Int+ , _ + (id 0 + _) :: Int+ , _ + (id (id _) + _) :: Int+ , _ + (negate _ + _) :: Int+ , _ + (abs _ + _) :: Int+ , _ + ((_ + _) + _) :: Int+ , _ + (head _ + _) :: Int+ , _ + (ord _ + _) :: Int+ , _ + x * _ :: Int+ , _ + 0 * _ :: Int+ , _ + id _ * _ :: Int+ , _ + g _ :: Int+ , _ + head ys :: Int+ , _ + head [0] :: Int+ , _ + head (_:xs) :: Int+ , _ + head [_] :: Int+ , _ + head (_:_:_) :: Int+ , _ + head (x:_) :: Int+ , _ + head (0:_) :: Int+ , _ + head (id _:_) :: Int+ , _ + head (tail _) :: Int+ , _ + head (_ ++ _) :: Int+ , _ + ord d :: Int+ , _ + 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 + id (id (id _)) :: Int+ , x + id (negate _) :: Int+ , x + id (abs _) :: Int+ , x + id (_ + _) :: Int+ , x + id (head _) :: Int+ , x + id (ord _) :: Int+ , x + negate x :: Int+ , x + negate 0 :: Int+ , x + negate (id _) :: Int+ , x + abs x :: Int+ , x + abs 0 :: Int+ , x + abs (id _) :: Int+ , x + (_ + x) :: Int+ , x + (_ + 0) :: Int+ , x + (_ + id _) :: Int+ , x + (x + _) :: Int+ , x + (0 + _) :: Int+ , x + (id _ + _) :: Int+ , x + _ * _ :: Int+ , x + f _ :: Int+ , x + head xs :: Int+ , x + head [] :: 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 + id (id (id _)) :: Int+ , 0 + id (negate _) :: Int+ , 0 + id (abs _) :: Int+ , 0 + id (_ + _) :: Int+ , 0 + id (head _) :: Int+ , 0 + id (ord _) :: Int+ , 0 + negate x :: Int+ , 0 + negate 0 :: Int+ , 0 + negate (id _) :: Int+ , 0 + abs x :: Int+ , 0 + abs 0 :: Int+ , 0 + abs (id _) :: Int+ , 0 + (_ + x) :: Int+ , 0 + (_ + 0) :: Int+ , 0 + (_ + id _) :: Int+ , 0 + (x + _) :: Int+ , 0 + (0 + _) :: Int+ , 0 + (id _ + _) :: Int+ , 0 + _ * _ :: Int+ , 0 + f _ :: Int+ , 0 + head xs :: Int+ , 0 + head [] :: Int+ , 0 + head (_:_) :: Int+ , 0 + ord c :: Int+ , 0 + ord 'a' :: 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 _ + id (id (id _)) :: Int+ , id _ + id (negate _) :: Int+ , id _ + id (abs _) :: Int+ , id _ + id (_ + _) :: Int+ , id _ + id (head _) :: Int+ , id _ + id (ord _) :: Int+ , id _ + negate x :: Int+ , id _ + negate 0 :: Int+ , id _ + negate (id _) :: Int+ , id _ + abs x :: Int+ , id _ + abs 0 :: Int+ , id _ + abs (id _) :: Int+ , id _ + (_ + x) :: Int+ , id _ + (_ + 0) :: Int+ , id _ + (_ + id _) :: Int+ , id _ + (x + _) :: Int+ , id _ + (0 + _) :: Int+ , id _ + (id _ + _) :: Int+ , id _ + _ * _ :: Int+ , id _ + f _ :: Int+ , id _ + head xs :: Int+ , id _ + head [] :: Int+ , id _ + head (_:_) :: Int+ , id _ + ord c :: Int+ , id _ + ord 'a' :: Int+ , _ * z :: Int+ , _ * (-1) :: Int+ , _ * id y :: Int+ , _ * id 1 :: Int+ , _ * id (id x) :: Int+ , _ * id (id 0) :: Int+ , _ * id (id (id _)) :: Int+ , _ * id (negate _) :: Int+ , _ * id (abs _) :: Int+ , _ * id (_ + _) :: Int+ , _ * id (head _) :: Int+ , _ * id (ord _) :: Int+ , _ * negate x :: Int+ , _ * negate 0 :: Int+ , _ * negate (id _) :: Int+ , _ * abs x :: Int+ , _ * abs 0 :: Int+ , _ * abs (id _) :: Int+ , _ * (_ + x) :: Int+ , _ * (_ + 0) :: Int+ , _ * (_ + id _) :: Int+ , _ * (x + _) :: Int+ , _ * (0 + _) :: Int+ , _ * (id _ + _) :: Int+ , _ * (_ * _) :: Int+ , _ * f _ :: Int+ , _ * head xs :: Int+ , _ * head [] :: Int+ , _ * head (_:_) :: Int+ , _ * ord c :: Int+ , _ * 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 (id (id (id _))) :: Int+ , f (id (negate _)) :: Int+ , f (id (abs _)) :: Int+ , f (id (_ + _)) :: Int+ , f (id (head _)) :: Int+ , f (id (ord _)) :: Int+ , f (negate x) :: Int+ , f (negate 0) :: Int+ , f (negate (id _)) :: Int+ , f (abs x) :: Int+ , f (abs 0) :: Int+ , f (abs (id _)) :: Int+ , f (_ + x) :: Int+ , f (_ + 0) :: Int+ , f (_ + id _) :: Int+ , f (x + _) :: Int+ , f (0 + _) :: Int+ , f (id _ + _) :: Int+ , f (_ * _) :: Int+ , f (f _) :: Int+ , f (head xs) :: Int+ , f (head []) :: 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+ , y + id (id _) :: Int+ , y + negate _ :: Int+ , y + abs _ :: Int+ , y + (_ + _) :: Int+ , y + head _ :: Int+ , y + ord _ :: Int+ , 1 + y :: Int+ , 1 + 1 :: Int+ , 1 + id x :: Int+ , 1 + id 0 :: Int+ , 1 + id (id _) :: Int+ , 1 + negate _ :: Int+ , 1 + abs _ :: Int+ , 1 + (_ + _) :: Int+ , 1 + head _ :: Int+ , 1 + ord _ :: Int+ , id x + y :: Int+ , id x + 1 :: Int+ , id x + id x :: Int+ , id x + id 0 :: Int+ , id x + id (id _) :: Int+ , id x + negate _ :: Int+ , id x + abs _ :: Int+ , id x + (_ + _) :: Int+ , id x + head _ :: Int+ , id x + ord _ :: Int+ , id 0 + y :: Int+ , id 0 + 1 :: Int+ , id 0 + id x :: Int+ , id 0 + id 0 :: Int+ , id 0 + id (id _) :: Int+ , id 0 + negate _ :: Int+ , id 0 + abs _ :: Int+ , id 0 + (_ + _) :: Int+ , id 0 + head _ :: Int+ , id 0 + ord _ :: Int+ , id (id _) + y :: Int+ , id (id _) + 1 :: Int+ , id (id _) + id x :: Int+ , id (id _) + id 0 :: Int+ , id (id _) + id (id _) :: Int+ , id (id _) + negate _ :: Int+ , id (id _) + abs _ :: Int+ , id (id _) + (_ + _) :: Int+ , id (id _) + head _ :: Int+ , id (id _) + ord _ :: Int+ , negate _ + y :: Int+ , negate _ + 1 :: Int+ , negate _ + id x :: Int+ , negate _ + id 0 :: Int+ , negate _ + id (id _) :: Int+ , negate _ + negate _ :: Int+ , negate _ + abs _ :: Int+ , negate _ + (_ + _) :: Int+ , negate _ + head _ :: Int+ , negate _ + ord _ :: Int+ , abs _ + y :: Int+ , abs _ + 1 :: Int+ , abs _ + id x :: Int+ , abs _ + id 0 :: Int+ , abs _ + id (id _) :: Int+ , abs _ + negate _ :: Int+ , abs _ + abs _ :: Int+ , abs _ + (_ + _) :: Int+ , abs _ + head _ :: Int+ , abs _ + ord _ :: Int+ , (_ + _) + y :: Int+ , (_ + _) + 1 :: Int+ , (_ + _) + id x :: Int+ , (_ + _) + id 0 :: Int+ , (_ + _) + id (id _) :: Int+ , (_ + _) + negate _ :: Int+ , (_ + _) + abs _ :: Int+ , (_ + _) + (_ + _) :: Int+ , (_ + _) + head _ :: Int+ , (_ + _) + ord _ :: Int+ , head _ + y :: Int+ , head _ + 1 :: Int+ , head _ + id x :: Int+ , head _ + id 0 :: Int+ , head _ + id (id _) :: Int+ , head _ + negate _ :: Int+ , head _ + abs _ :: Int+ , head _ + (_ + _) :: Int+ , head _ + head _ :: Int+ , head _ + ord _ :: Int+ , ord _ + y :: Int+ , ord _ + 1 :: Int+ , ord _ + id x :: Int+ , ord _ + id 0 :: Int+ , ord _ + id (id _) :: Int+ , ord _ + negate _ :: Int+ , ord _ + abs _ :: Int+ , ord _ + (_ + _) :: Int+ , ord _ + head _ :: Int+ , ord _ + ord _ :: Int+ , x * y :: Int+ , x * 1 :: Int+ , x * id x :: Int+ , x * id 0 :: Int+ , x * id (id _) :: Int+ , x * negate _ :: Int+ , x * abs _ :: Int+ , x * (_ + _) :: Int+ , x * head _ :: Int+ , x * ord _ :: Int+ , 0 * y :: Int+ , 0 * 1 :: Int+ , 0 * id x :: Int+ , 0 * id 0 :: Int+ , 0 * id (id _) :: Int+ , 0 * negate _ :: Int+ , 0 * abs _ :: Int+ , 0 * (_ + _) :: Int+ , 0 * head _ :: Int+ , 0 * ord _ :: Int+ , id _ * y :: Int+ , id _ * 1 :: Int+ , id _ * id x :: Int+ , id _ * id 0 :: Int+ , id _ * id (id _) :: Int+ , id _ * negate _ :: Int+ , id _ * abs _ :: Int+ , id _ * (_ + _) :: Int+ , id _ * head _ :: Int+ , id _ * ord _ :: Int+ , g y :: Int+ , g 1 :: Int+ , g (id x) :: Int+ , g (id 0) :: Int+ , g (id (id _)) :: Int+ , g (negate _) :: Int+ , g (abs _) :: Int+ , g (_ + _) :: Int+ , g (head _) :: Int+ , g (ord _) :: Int+ , z + x :: Int+ , z + 0 :: Int+ , z + id _ :: Int+ , (-1) + x :: Int+ , (-1) + 0 :: Int+ , (-1) + id _ :: Int+ , id y + x :: Int+ , id y + 0 :: Int+ , id y + id _ :: Int+ , id 1 + x :: Int+ , id 1 + 0 :: Int+ , id 1 + id _ :: Int+ , id (id x) + x :: Int+ , id (id x) + 0 :: Int+ , id (id x) + id _ :: Int+ , id (id 0) + x :: Int+ , id (id 0) + 0 :: Int+ , id (id 0) + id _ :: Int+ , id (id (id _)) + x :: Int+ , id (id (id _)) + 0 :: Int+ , id (id (id _)) + id _ :: Int+ , id (negate _) + x :: Int+ , id (negate _) + 0 :: Int+ , id (negate _) + id _ :: Int+ , id (abs _) + x :: Int+ , id (abs _) + 0 :: Int+ , id (abs _) + id _ :: Int+ , id (_ + _) + x :: Int+ , id (_ + _) + 0 :: Int+ , id (_ + _) + id _ :: Int+ , id (head _) + x :: Int+ , id (head _) + 0 :: Int+ , id (head _) + id _ :: Int+ , id (ord _) + x :: Int+ , id (ord _) + 0 :: Int+ , id (ord _) + id _ :: Int+ , negate x + x :: Int+ , negate x + 0 :: Int+ , negate x + id _ :: Int+ , negate 0 + x :: Int+ , negate 0 + 0 :: Int+ , negate 0 + id _ :: Int+ , negate (id _) + x :: Int+ , negate (id _) + 0 :: Int+ , negate (id _) + id _ :: Int+ , abs x + x :: Int+ , abs x + 0 :: Int+ , abs x + id _ :: Int+ , abs 0 + x :: Int+ , abs 0 + 0 :: Int+ , abs 0 + id _ :: Int+ , abs (id _) + x :: Int+ , abs (id _) + 0 :: Int+ , abs (id _) + id _ :: Int+ , (_ + x) + x :: Int+ , (_ + x) + 0 :: Int+ , (_ + x) + id _ :: Int+ , (_ + 0) + x :: Int+ , (_ + 0) + 0 :: Int+ , (_ + 0) + id _ :: Int+ , (_ + id _) + x :: Int+ , (_ + id _) + 0 :: Int+ , (_ + id _) + id _ :: Int+ , (x + _) + x :: Int+ , (x + _) + 0 :: Int+ , (x + _) + id _ :: Int+ , (0 + _) + x :: Int+ , (0 + _) + 0 :: Int+ , (0 + _) + id _ :: Int+ , (id _ + _) + x :: Int+ , (id _ + _) + 0 :: Int+ , (id _ + _) + id _ :: Int+ , _ * _ + x :: Int+ , _ * _ + 0 :: Int+ , _ * _ + id _ :: Int+ , f _ + x :: Int+ , f _ + 0 :: Int+ , f _ + id _ :: Int+ , head xs + x :: Int+ , head xs + 0 :: Int+ , head xs + id _ :: Int+ , head [] + x :: Int+ , head [] + 0 :: Int+ , head [] + id _ :: Int+ , head (_:_) + x :: Int+ , head (_:_) + 0 :: Int+ , head (_:_) + id _ :: Int+ , ord c + x :: Int+ , ord c + 0 :: Int+ , ord c + id _ :: Int+ , ord 'a' + x :: Int+ , ord 'a' + 0 :: Int+ , ord 'a' + id _ :: Int+ , y * x :: Int+ , y * 0 :: Int+ , y * id _ :: Int+ , 1 * x :: Int+ , 1 * 0 :: Int+ , 1 * id _ :: Int+ , id x * x :: Int+ , id x * 0 :: Int+ , id x * id _ :: Int+ , id 0 * x :: Int+ , id 0 * 0 :: Int+ , id 0 * id _ :: Int+ , id (id _) * x :: Int+ , id (id _) * 0 :: Int+ , id (id _) * id _ :: Int+ , negate _ * x :: Int+ , negate _ * 0 :: Int+ , negate _ * id _ :: Int+ , abs _ * x :: Int+ , abs _ * 0 :: Int+ , abs _ * id _ :: Int+ , (_ + _) * x :: Int+ , (_ + _) * 0 :: Int+ , (_ + _) * id _ :: Int+ , head _ * x :: Int+ , head _ * 0 :: Int+ , head _ * id _ :: Int+ , ord _ * x :: Int+ , ord _ * 0 :: Int+ , ord _ * id _ :: Int+ , h x :: Int+ , h 0 :: Int+ , h (id _) :: Int+ , 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 (id (id (id _))) + _ :: Int+ , id (id (negate _)) + _ :: Int+ , id (id (abs _)) + _ :: Int+ , id (id (_ + _)) + _ :: Int+ , id (id (head _)) + _ :: Int+ , id (id (ord _)) + _ :: Int+ , id (negate x) + _ :: Int+ , id (negate 0) + _ :: Int+ , id (negate (id _)) + _ :: Int+ , id (abs x) + _ :: Int+ , id (abs 0) + _ :: Int+ , id (abs (id _)) + _ :: Int+ , id (_ + x) + _ :: Int+ , id (_ + 0) + _ :: Int+ , id (_ + id _) + _ :: Int+ , id (x + _) + _ :: Int+ , id (0 + _) + _ :: Int+ , id (id _ + _) + _ :: Int+ , id (_ * _) + _ :: Int+ , id (f _) + _ :: Int+ , id (head xs) + _ :: Int+ , id (head []) + _ :: 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+ , negate (id (id _)) + _ :: Int+ , negate (negate _) + _ :: Int+ , negate (abs _) + _ :: Int+ , negate (_ + _) + _ :: Int+ , negate (head _) + _ :: Int+ , negate (ord _) + _ :: Int+ , abs y + _ :: Int+ , abs 1 + _ :: Int+ , abs (id x) + _ :: Int+ , abs (id 0) + _ :: Int+ , abs (id (id _)) + _ :: Int+ , abs (negate _) + _ :: Int+ , abs (abs _) + _ :: Int+ , abs (_ + _) + _ :: Int+ , abs (head _) + _ :: Int+ , abs (ord _) + _ :: Int+ , (_ + y) + _ :: Int+ , (_ + 1) + _ :: Int+ , (_ + id x) + _ :: Int+ , (_ + id 0) + _ :: Int+ , (_ + id (id _)) + _ :: Int+ , (_ + negate _) + _ :: Int+ , (_ + abs _) + _ :: Int+ , (_ + (_ + _)) + _ :: Int+ , (_ + head _) + _ :: Int+ , (_ + ord _) + _ :: Int+ , (x + x) + _ :: Int+ , (x + 0) + _ :: Int+ , (x + id _) + _ :: Int+ , (0 + x) + _ :: Int+ , (0 + 0) + _ :: Int+ , (0 + id _) + _ :: Int+ , (id _ + x) + _ :: Int+ , (id _ + 0) + _ :: Int+ , (id _ + id _) + _ :: Int+ , _ * x + _ :: Int+ , _ * 0 + _ :: Int+ , _ * id _ + _ :: Int+ , f x + _ :: Int+ , f 0 + _ :: Int+ , f (id _) + _ :: Int+ , (y + _) + _ :: Int+ , (1 + _) + _ :: Int+ , (id x + _) + _ :: Int+ , (id 0 + _) + _ :: Int+ , (id (id _) + _) + _ :: Int+ , (negate _ + _) + _ :: Int+ , (abs _ + _) + _ :: Int+ , ((_ + _) + _) + _ :: Int+ , (head _ + _) + _ :: Int+ , (ord _ + _) + _ :: Int+ , x * _ + _ :: Int+ , 0 * _ + _ :: Int+ , id _ * _ + _ :: Int+ , g _ + _ :: Int+ , head ys + _ :: Int+ , head [0] + _ :: Int+ , head (_:xs) + _ :: Int+ , head [_] + _ :: Int+ , head (_:_:_) + _ :: Int+ , head (x:_) + _ :: Int+ , head (0:_) + _ :: Int+ , head (id _:_) + _ :: Int+ , head (tail _) + _ :: Int+ , head (_ ++ _) + _ :: Int+ , ord d + _ :: Int+ , ord ' ' + _ :: Int+ , z * _ :: Int+ , (-1) * _ :: Int+ , id y * _ :: Int+ , id 1 * _ :: Int+ , id (id x) * _ :: Int+ , id (id 0) * _ :: Int+ , id (id (id _)) * _ :: Int+ , id (negate _) * _ :: Int+ , id (abs _) * _ :: Int+ , id (_ + _) * _ :: Int+ , id (head _) * _ :: Int+ , id (ord _) * _ :: Int+ , negate x * _ :: Int+ , negate 0 * _ :: Int+ , negate (id _) * _ :: Int+ , abs x * _ :: Int+ , abs 0 * _ :: Int+ , abs (id _) * _ :: Int+ , (_ + x) * _ :: Int+ , (_ + 0) * _ :: Int+ , (_ + id _) * _ :: Int+ , (x + _) * _ :: Int+ , (0 + _) * _ :: Int+ , (id _ + _) * _ :: Int+ , (_ * _) * _ :: Int+ , f _ * _ :: Int+ , head xs * _ :: Int+ , head [] * _ :: Int+ , head (_:_) * _ :: Int+ , ord c * _ :: Int+ , ord 'a' * _ :: Int+ , f' _ :: Int+ , head xs' :: Int+ , head [0,0,0] :: Int+ , head [0,1] :: Int+ , head [1,0] :: Int+ , head [-1] :: Int+ , head (_:zs) :: Int+ , head (_:[0,0]) :: Int+ , head (_:[1]) :: Int+ , head (_:_:ys) :: Int+ , head (_:_:[0]) :: Int+ , head (_:_:_:xs) :: Int+ , head [_,_,_] :: Int+ , head (_:_:_:_:_) :: Int+ , head (_:_:x:_) :: Int+ , head (_:_:0:_) :: Int+ , head (_:_:id _:_) :: Int+ , head (_:_:tail _) :: Int+ , head (_:_:(_ ++ _)) :: Int+ , head (_:x:xs) :: Int+ , head [_,x] :: Int+ , head (_:x:_:_) :: Int+ , head (_:0:xs) :: Int+ , head [_,0] :: Int+ , head (_:0:_:_) :: Int+ , head (_:id _:xs) :: Int+ , head [_,id _] :: Int+ , head (_:id _:_:_) :: Int+ , head (_:y:_) :: Int+ , head (_:1:_) :: Int+ , head (_:id x:_) :: Int+ , head (_:id 0:_) :: Int+ , head (_:id (id _):_) :: Int+ , head (_:negate _:_) :: Int+ , head (_:abs _:_) :: Int+ , head (_:_ + _:_) :: Int+ , head (_:head _:_) :: Int+ , head (_:ord _:_) :: Int+ , head (_:tail xs) :: Int+ , head (_:tail []) :: Int+ , head (_:tail (_:_)) :: Int+ , head (_:(_ ++ xs)) :: Int+ , head (_:(_ ++ [])) :: Int+ , head (_:(_ ++ (_:_))) :: Int+ , head (_:(xs ++ _)) :: Int+ , head (_:([] ++ _)) :: Int+ , head (_:((_:_) ++ _)) :: Int+ , head (_:sort _) :: Int+ , head (_:insert _ _) :: Int+ , head (x:ys) :: Int+ , head (x:[0]) :: Int+ , head (x:_:xs) :: Int+ , head [x,_] :: Int+ , head (x:_:_:_) :: Int+ , head (x:x:_) :: Int+ , head (x:0:_) :: Int+ , head (x:id _:_) :: Int+ , head (x:tail _) :: Int+ , head (x:(_ ++ _)) :: Int+ , head (0:ys) :: Int+ , head (0:[0]) :: Int+ , head (0:_:xs) :: Int+ , head [0,_] :: Int+ , head (0:_:_:_) :: Int+ , head (0:x:_) :: Int+ , head (0:0:_) :: Int+ , head (0:id _:_) :: Int+ , head (0:tail _) :: Int+ , head (0:(_ ++ _)) :: Int+ , head (id _:ys) :: Int+ , head (id _:[0]) :: Int+ , head (id _:_:xs) :: Int+ , head [id _,_] :: Int+ , head (id _:_:_:_) :: Int+ , head (id _:x:_) :: Int+ , head (id _:0:_) :: Int+ , head (id _:id _:_) :: Int+ , head (id _:tail _) :: Int+ , head (id _:(_ ++ _)) :: Int+ , head (y:xs) :: Int+ , head [y] :: Int+ , head (y:_:_) :: Int+ , head (1:xs) :: Int+ , head [1] :: Int+ , head (1:_:_) :: Int+ , head (id x:xs) :: Int+ , head [id x] :: Int+ , head (id x:_:_) :: Int+ , head (id 0:xs) :: Int+ , head [id 0] :: Int+ , head (id 0:_:_) :: Int+ , head (id (id _):xs) :: Int+ , head [id (id _)] :: Int+ , head (id (id _):_:_) :: Int+ , head (negate _:xs) :: Int+ , head [negate _] :: Int+ , head (negate _:_:_) :: Int+ , head (abs _:xs) :: Int+ , head [abs _] :: Int+ , head (abs _:_:_) :: Int+ , head (_ + _:xs) :: Int+ , head [_ + _] :: Int+ , head (_ + _:_:_) :: Int+ , head (head _:xs) :: Int+ , head [head _] :: Int+ , head (head _:_:_) :: Int+ , head (ord _:xs) :: Int+ , head [ord _] :: Int+ , head (ord _:_:_) :: Int+ , head (z:_) :: Int+ , head ((-1):_) :: Int+ , head (id y:_) :: Int+ , head (id 1:_) :: Int+ , head (id (id x):_) :: Int+ , head (id (id 0):_) :: Int+ , head (id (id (id _)):_) :: Int+ , head (id (negate _):_) :: Int+ , head (id (abs _):_) :: Int+ , head (id (_ + _):_) :: Int+ , head (id (head _):_) :: Int+ , head (id (ord _):_) :: Int+ , head (negate x:_) :: Int+ , head (negate 0:_) :: Int+ , head (negate (id _):_) :: Int+ , head (abs x:_) :: Int+ , head (abs 0:_) :: Int+ , head (abs (id _):_) :: Int+ , head (_ + x:_) :: Int+ , head (_ + 0:_) :: Int+ , head (_ + id _:_) :: Int+ , head (x + _:_) :: Int+ , head (0 + _:_) :: Int+ , head (id _ + _:_) :: Int+ , head (_ * _:_) :: Int+ , head (f _:_) :: Int+ , head (head xs:_) :: Int+ , head (head []:_) :: Int+ , head (head (_:_):_) :: Int+ , head (ord c:_) :: Int+ , head (ord 'a':_) :: Int+ , head (tail ys) :: Int+ , head (tail [0]) :: Int+ , head (tail (_:xs)) :: Int+ , head (tail [_]) :: Int+ , head (tail (_:_:_)) :: Int+ , head (tail (x:_)) :: Int+ , head (tail (0:_)) :: Int+ , head (tail (id _:_)) :: Int+ , head (tail (tail _)) :: Int+ , head (tail (_ ++ _)) :: Int+ , head (_ ++ ys) :: Int+ , head (_ ++ [0]) :: Int+ , head (_ ++ (_:xs)) :: Int+ , head (_ ++ [_]) :: Int+ , head (_ ++ (_:_:_)) :: Int+ , head (_ ++ (x:_)) :: Int+ , head (_ ++ (0:_)) :: Int+ , head (_ ++ (id _:_)) :: Int+ , head (_ ++ tail _) :: Int+ , head (_ ++ (_ ++ _)) :: Int+ , head (xs ++ xs) :: Int+ , head (xs ++ []) :: Int+ , head (xs ++ (_:_)) :: Int+ , head ([] ++ xs) :: Int+ , head ([] ++ []) :: Int+ , head ([] ++ (_:_)) :: Int+ , head ((_:_) ++ xs) :: Int+ , head ((_:_) ++ []) :: Int+ , head ((_:_) ++ (_:_)) :: Int+ , head (ys ++ _) :: Int+ , head ([0] ++ _) :: Int+ , head ((_:xs) ++ _) :: Int+ , head ([_] ++ _) :: Int+ , head ((_:_:_) ++ _) :: Int+ , head ((x:_) ++ _) :: Int+ , head ((0:_) ++ _) :: Int+ , head ((id _:_) ++ _) :: Int+ , head (tail _ ++ _) :: Int+ , head ((_ ++ _) ++ _) :: Int+ , head (sort xs) :: Int+ , head (sort []) :: Int+ , head (sort (_:_)) :: Int+ , head (insert _ xs) :: Int+ , head (insert _ []) :: Int+ , head (insert _ (_:_)) :: Int+ , head (insert x _) :: Int+ , head (insert 0 _) :: Int+ , head (insert (id _) _) :: 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 (not (not (not (not _)))) :: Bool+ , not (not (not (_ || _))) :: Bool+ , not (not (_ || p)) :: Bool+ , not (not (_ || False)) :: Bool+ , not (not (_ || True)) :: Bool+ , not (not (_ || not _)) :: Bool+ , not (not (p || _)) :: Bool+ , not (not (False || _)) :: Bool+ , not (not (True || _)) :: Bool+ , not (not (not _ || _)) :: Bool+ , not (not (_ && _)) :: Bool+ , not (not (_ == _)) :: Bool+ , not (not (_ == _)) :: Bool+ , not (not (odd _)) :: Bool+ , not (not (even _)) :: Bool+ , not (not (elem _ _)) :: Bool+ , not (_ || q) :: Bool+ , not (_ || not p) :: Bool+ , not (_ || not False) :: Bool+ , not (_ || not True) :: Bool+ , not (_ || not (not _)) :: Bool+ , not (_ || (_ || _)) :: Bool+ , not (p || p) :: Bool+ , not (p || False) :: Bool+ , not (p || True) :: Bool+ , not (p || not _) :: Bool+ , not (False || p) :: Bool+ , not (False || False) :: Bool+ , not (False || True) :: Bool+ , not (False || not _) :: Bool+ , not (True || p) :: Bool+ , not (True || False) :: Bool+ , not (True || True) :: Bool+ , not (True || not _) :: Bool+ , not (not _ || p) :: Bool+ , not (not _ || False) :: Bool+ , not (not _ || True) :: Bool+ , not (not _ || not _) :: Bool+ , not (_ && p) :: Bool+ , not (_ && False) :: Bool+ , not (_ && True) :: Bool+ , not (_ && not _) :: Bool+ , not (q || _) :: Bool+ , not (not p || _) :: Bool+ , not (not False || _) :: Bool+ , not (not True || _) :: Bool+ , not (not (not _) || _) :: Bool+ , not ((_ || _) || _) :: Bool+ , not (p && _) :: Bool+ , not (False && _) :: Bool+ , not (True && _) :: Bool+ , not (not _ && _) :: Bool+ , not (_ ==> _) :: Bool+ , not (_ == x) :: Bool+ , not (_ == 0) :: Bool+ , not (_ == id _) :: Bool+ , not (x == _) :: Bool+ , not (0 == _) :: Bool+ , not (id _ == _) :: Bool+ , not (_ == p) :: Bool+ , not (_ == False) :: Bool+ , not (_ == True) :: Bool+ , not (_ == not _) :: Bool+ , not (p == _) :: Bool+ , not (False == _) :: Bool+ , not (True == _) :: Bool+ , not (not _ == _) :: Bool+ , not (_ <= _) :: Bool+ , not (_ <= _) :: Bool+ , not (odd x) :: Bool+ , not (odd 0) :: Bool+ , not (odd (id _)) :: Bool+ , not (even x) :: Bool+ , not (even 0) :: Bool+ , not (even (id _)) :: Bool+ , not (elem _ xs) :: Bool+ , not (elem _ []) :: Bool+ , not (elem _ (_:_)) :: Bool+ , not (elem x _) :: Bool+ , not (elem 0 _) :: Bool+ , not (elem (id _) _) :: Bool+ , _ || r :: Bool+ , _ || not q :: Bool+ , _ || not (not p) :: Bool+ , _ || not (not False) :: Bool+ , _ || not (not True) :: Bool+ , _ || not (not (not _)) :: Bool+ , _ || not (_ || _) :: Bool+ , _ || (_ || p) :: Bool+ , _ || (_ || False) :: Bool+ , _ || (_ || True) :: Bool+ , _ || (_ || not _) :: Bool+ , _ || (p || _) :: Bool+ , _ || (False || _) :: Bool+ , _ || (True || _) :: Bool+ , _ || (not _ || _) :: Bool+ , _ || _ && _ :: Bool+ , _ || _ == _ :: Bool+ , _ || _ == _ :: Bool+ , _ || odd _ :: Bool+ , _ || even _ :: Bool+ , _ || elem _ _ :: Bool+ , p || q :: Bool+ , p || not p :: Bool+ , p || not False :: Bool+ , p || not True :: Bool+ , p || not (not _) :: Bool+ , p || (_ || _) :: Bool+ , False || q :: Bool+ , False || not p :: Bool+ , False || not False :: Bool+ , False || not True :: Bool+ , False || not (not _) :: Bool+ , False || (_ || _) :: Bool+ , True || q :: Bool+ , True || not p :: Bool+ , True || not False :: Bool+ , True || not True :: Bool+ , True || not (not _) :: Bool+ , True || (_ || _) :: Bool+ , not _ || q :: Bool+ , not _ || not p :: Bool+ , not _ || not False :: Bool+ , not _ || not True :: Bool+ , not _ || not (not _) :: Bool+ , not _ || (_ || _) :: Bool+ , _ && q :: Bool+ , _ && not p :: Bool+ , _ && not False :: Bool+ , _ && not True :: Bool+ , _ && not (not _) :: Bool+ , _ && (_ || _) :: Bool+ , q || p :: Bool+ , q || False :: Bool+ , q || True :: Bool+ , q || not _ :: Bool+ , not p || p :: Bool+ , not p || False :: Bool+ , not p || True :: Bool+ , not p || not _ :: Bool+ , not False || p :: Bool+ , not False || False :: Bool+ , not False || True :: Bool+ , not False || not _ :: Bool+ , not True || p :: Bool+ , not True || False :: Bool+ , not True || True :: Bool+ , not True || not _ :: Bool+ , not (not _) || p :: Bool+ , not (not _) || False :: Bool+ , not (not _) || True :: Bool+ , not (not _) || not _ :: Bool+ , (_ || _) || p :: Bool+ , (_ || _) || False :: Bool+ , (_ || _) || True :: Bool+ , (_ || _) || not _ :: Bool+ , p && p :: Bool+ , p && False :: Bool+ , p && True :: Bool+ , p && not _ :: Bool+ , False && p :: Bool+ , False && False :: Bool+ , False && True :: Bool+ , False && not _ :: Bool+ , True && p :: Bool+ , True && False :: Bool+ , True && True :: Bool+ , True && not _ :: Bool+ , not _ && p :: Bool+ , not _ && False :: Bool+ , not _ && True :: Bool+ , not _ && not _ :: Bool+ , _ ==> p :: Bool+ , _ ==> False :: Bool+ , _ ==> True :: Bool+ , _ ==> not _ :: Bool+ , r || _ :: Bool+ , not q || _ :: Bool+ , not (not p) || _ :: Bool+ , not (not False) || _ :: Bool+ , not (not True) || _ :: Bool+ , not (not (not _)) || _ :: Bool+ , not (_ || _) || _ :: Bool+ , (_ || p) || _ :: Bool+ , (_ || False) || _ :: Bool+ , (_ || True) || _ :: Bool+ , (_ || not _) || _ :: Bool+ , (p || _) || _ :: Bool+ , (False || _) || _ :: Bool+ , (True || _) || _ :: Bool+ , (not _ || _) || _ :: Bool+ , _ && _ || _ :: Bool+ , _ == _ || _ :: Bool+ , _ == _ || _ :: Bool+ , odd _ || _ :: Bool+ , even _ || _ :: Bool+ , elem _ _ || _ :: Bool+ , q && _ :: Bool+ , not p && _ :: Bool+ , not False && _ :: Bool+ , not True && _ :: Bool+ , not (not _) && _ :: Bool+ , (_ || _) && _ :: Bool+ , p ==> _ :: Bool+ , False ==> _ :: Bool+ , True ==> _ :: Bool+ , not _ ==> _ :: Bool+ , _ == y :: Bool+ , _ == 1 :: Bool+ , _ == id x :: Bool+ , _ == id 0 :: Bool+ , _ == id (id _) :: Bool+ , _ == negate _ :: Bool+ , _ == abs _ :: Bool+ , _ == _ + _ :: Bool+ , _ == head _ :: Bool+ , _ == ord _ :: Bool+ , x == x :: Bool+ , x == 0 :: Bool+ , x == id _ :: Bool+ , 0 == x :: Bool+ , 0 == 0 :: Bool+ , 0 == id _ :: Bool+ , id _ == x :: Bool+ , id _ == 0 :: Bool+ , id _ == id _ :: Bool+ , y == _ :: Bool+ , 1 == _ :: Bool+ , id x == _ :: Bool+ , id 0 == _ :: Bool+ , id (id _) == _ :: Bool+ , negate _ == _ :: Bool+ , abs _ == _ :: Bool+ , _ + _ == _ :: Bool+ , head _ == _ :: Bool+ , ord _ == _ :: Bool+ , _ == q :: Bool+ , _ == not p :: Bool+ , _ == not False :: Bool+ , _ == not True :: Bool+ , _ == not (not _) :: Bool+ , _ == (_ || _) :: Bool+ , p == p :: Bool+ , p == False :: Bool+ , p == True :: Bool+ , p == not _ :: Bool+ , False == p :: Bool+ , False == False :: Bool+ , False == True :: Bool+ , False == not _ :: Bool+ , True == p :: Bool+ , True == False :: Bool+ , True == True :: Bool+ , True == not _ :: Bool+ , not _ == p :: Bool+ , not _ == False :: Bool+ , not _ == True :: Bool+ , not _ == not _ :: Bool+ , q == _ :: Bool+ , not p == _ :: Bool+ , not False == _ :: Bool+ , not True == _ :: Bool+ , not (not _) == _ :: Bool+ , (_ || _) == _ :: Bool+ , _ <= x :: Bool+ , _ <= 0 :: Bool+ , _ <= id _ :: Bool+ , x <= _ :: Bool+ , 0 <= _ :: Bool+ , id _ <= _ :: Bool+ , _ <= p :: Bool+ , _ <= False :: Bool+ , _ <= True :: Bool+ , _ <= not _ :: Bool+ , p <= _ :: Bool+ , False <= _ :: Bool+ , True <= _ :: Bool+ , not _ <= _ :: Bool+ , _ < _ :: Bool+ , _ < _ :: Bool+ , odd y :: Bool+ , odd 1 :: Bool+ , odd (id x) :: Bool+ , odd (id 0) :: Bool+ , odd (id (id _)) :: Bool+ , odd (negate _) :: Bool+ , odd (abs _) :: Bool+ , odd (_ + _) :: Bool+ , odd (head _) :: Bool+ , odd (ord _) :: Bool+ , even y :: Bool+ , even 1 :: Bool+ , even (id x) :: Bool+ , even (id 0) :: Bool+ , even (id (id _)) :: Bool+ , even (negate _) :: Bool+ , even (abs _) :: Bool+ , even (_ + _) :: Bool+ , even (head _) :: Bool+ , even (ord _) :: Bool+ , elem _ ys :: Bool+ , elem _ [0] :: Bool+ , elem _ (_:xs) :: Bool+ , elem _ [_] :: Bool+ , elem _ (_:_:_) :: Bool+ , elem _ (x:_) :: Bool+ , elem _ (0:_) :: Bool+ , elem _ (id _:_) :: Bool+ , elem _ (tail _) :: Bool+ , elem _ (_ ++ _) :: Bool+ , elem x xs :: Bool+ , elem x [] :: Bool+ , elem x (_:_) :: Bool+ , elem 0 xs :: Bool+ , elem 0 [] :: Bool+ , elem 0 (_:_) :: Bool+ , elem (id _) xs :: Bool+ , elem (id _) [] :: Bool+ , elem (id _) (_:_) :: Bool+ , elem y _ :: Bool+ , elem 1 _ :: Bool+ , elem (id x) _ :: Bool+ , elem (id 0) _ :: Bool+ , elem (id (id _)) _ :: Bool+ , elem (negate _) _ :: Bool+ , elem (abs _) _ :: Bool+ , elem (_ + _) _ :: Bool+ , elem (head _) _ :: Bool+ , elem (ord _) _ :: 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]+ , _:xs' :: [Int]+ , _:[0,0,0] :: [Int]+ , _:[0,1] :: [Int]+ , _:[1,0] :: [Int]+ , _:[-1] :: [Int]+ , _:_:zs :: [Int]+ , _:_:[0,0] :: [Int]+ , _:_:[1] :: [Int]+ , _:_:_:ys :: [Int]+ , _:_:_:[0] :: [Int]+ , _:_:_:_:xs :: [Int]+ , [_,_,_,_] :: [Int]+ , _:_:_:_:_:_ :: [Int]+ , _:_:_:x:_ :: [Int]+ , _:_:_:0:_ :: [Int]+ , _:_:_:id _:_ :: [Int]+ , _:_:_:tail _ :: [Int]+ , _:_:_:(_ ++ _) :: [Int]+ , _:_:x:xs :: [Int]+ , [_,_,x] :: [Int]+ , _:_:x:_:_ :: [Int]+ , _:_:0:xs :: [Int]+ , [_,_,0] :: [Int]+ , _:_:0:_:_ :: [Int]+ , _:_:id _:xs :: [Int]+ , [_,_,id _] :: [Int]+ , _:_:id _:_:_ :: [Int]+ , _:_:y:_ :: [Int]+ , _:_:1:_ :: [Int]+ , _:_:id x:_ :: [Int]+ , _:_:id 0:_ :: [Int]+ , _:_:id (id _):_ :: [Int]+ , _:_:negate _:_ :: [Int]+ , _:_:abs _:_ :: [Int]+ , _:_:_ + _:_ :: [Int]+ , _:_:head _:_ :: [Int]+ , _:_:ord _:_ :: [Int]+ , _:_:tail xs :: [Int]+ , _:_:tail [] :: [Int]+ , _:_:tail (_:_) :: [Int]+ , _:_:(_ ++ xs) :: [Int]+ , _:_:(_ ++ []) :: [Int]+ , _:_:(_ ++ (_:_)) :: [Int]+ , _:_:(xs ++ _) :: [Int]+ , _:_:([] ++ _) :: [Int]+ , _:_:((_:_) ++ _) :: [Int]+ , _:_:sort _ :: [Int]+ , _:_:insert _ _ :: [Int]+ , _:x:ys :: [Int]+ , _:x:[0] :: [Int]+ , _:x:_:xs :: [Int]+ , [_,x,_] :: [Int]+ , _:x:_:_:_ :: [Int]+ , _:x:x:_ :: [Int]+ , _:x:0:_ :: [Int]+ , _:x:id _:_ :: [Int]+ , _:x:tail _ :: [Int]+ , _:x:(_ ++ _) :: [Int]+ , _:0:ys :: [Int]+ , _:0:[0] :: [Int]+ , _:0:_:xs :: [Int]+ , [_,0,_] :: [Int]+ , _:0:_:_:_ :: [Int]+ , _:0:x:_ :: [Int]+ , _:0:0:_ :: [Int]+ , _:0:id _:_ :: [Int]+ , _:0:tail _ :: [Int]+ , _:0:(_ ++ _) :: [Int]+ , _:id _:ys :: [Int]+ , _:id _:[0] :: [Int]+ , _:id _:_:xs :: [Int]+ , [_,id _,_] :: [Int]+ , _:id _:_:_:_ :: [Int]+ , _:id _:x:_ :: [Int]+ , _:id _:0:_ :: [Int]+ , _:id _:id _:_ :: [Int]+ , _:id _:tail _ :: [Int]+ , _:id _:(_ ++ _) :: [Int]+ , _:y:xs :: [Int]+ , [_,y] :: [Int]+ , _:y:_:_ :: [Int]+ , _:1:xs :: [Int]+ , [_,1] :: [Int]+ , _:1:_:_ :: [Int]+ , _:id x:xs :: [Int]+ , [_,id x] :: [Int]+ , _:id x:_:_ :: [Int]+ , _:id 0:xs :: [Int]+ , [_,id 0] :: [Int]+ , _:id 0:_:_ :: [Int]+ , _:id (id _):xs :: [Int]+ , [_,id (id _)] :: [Int]+ , _:id (id _):_:_ :: [Int]+ , _:negate _:xs :: [Int]+ , [_,negate _] :: [Int]+ , _:negate _:_:_ :: [Int]+ , _:abs _:xs :: [Int]+ , [_,abs _] :: [Int]+ , _:abs _:_:_ :: [Int]+ , _:_ + _:xs :: [Int]+ , [_,_ + _] :: [Int]+ , _:_ + _:_:_ :: [Int]+ , _:head _:xs :: [Int]+ , [_,head _] :: [Int]+ , _:head _:_:_ :: [Int]+ , _:ord _:xs :: [Int]+ , [_,ord _] :: [Int]+ , _:ord _:_:_ :: [Int]+ , _:z:_ :: [Int]+ , _:(-1):_ :: [Int]+ , _:id y:_ :: [Int]+ , _:id 1:_ :: [Int]+ , _:id (id x):_ :: [Int]+ , _:id (id 0):_ :: [Int]+ , _:id (id (id _)):_ :: [Int]+ , _:id (negate _):_ :: [Int]+ , _:id (abs _):_ :: [Int]+ , _:id (_ + _):_ :: [Int]+ , _:id (head _):_ :: [Int]+ , _:id (ord _):_ :: [Int]+ , _:negate x:_ :: [Int]+ , _:negate 0:_ :: [Int]+ , _:negate (id _):_ :: [Int]+ , _:abs x:_ :: [Int]+ , _:abs 0:_ :: [Int]+ , _:abs (id _):_ :: [Int]+ , _:_ + x:_ :: [Int]+ , _:_ + 0:_ :: [Int]+ , _:_ + id _:_ :: [Int]+ , _:x + _:_ :: [Int]+ , _:0 + _:_ :: [Int]+ , _:id _ + _:_ :: [Int]+ , _:_ * _:_ :: [Int]+ , _:f _:_ :: [Int]+ , _:head xs:_ :: [Int]+ , _:head []:_ :: [Int]+ , _:head (_:_):_ :: [Int]+ , _:ord c:_ :: [Int]+ , _:ord 'a':_ :: [Int]+ , _:tail ys :: [Int]+ , _:tail [0] :: [Int]+ , _:tail (_:xs) :: [Int]+ , _:tail [_] :: [Int]+ , _:tail (_:_:_) :: [Int]+ , _:tail (x:_) :: [Int]+ , _:tail (0:_) :: [Int]+ , _:tail (id _:_) :: [Int]+ , _:tail (tail _) :: [Int]+ , _:tail (_ ++ _) :: [Int]+ , _:(_ ++ ys) :: [Int]+ , _:(_ ++ [0]) :: [Int]+ , _:(_ ++ (_:xs)) :: [Int]+ , _:(_ ++ [_]) :: [Int]+ , _:(_ ++ (_:_:_)) :: [Int]+ , _:(_ ++ (x:_)) :: [Int]+ , _:(_ ++ (0:_)) :: [Int]+ , _:(_ ++ (id _:_)) :: [Int]+ , _:(_ ++ tail _) :: [Int]+ , _:(_ ++ (_ ++ _)) :: [Int]+ , _:(xs ++ xs) :: [Int]+ , _:(xs ++ []) :: [Int]+ , _:(xs ++ (_:_)) :: [Int]+ , _:([] ++ xs) :: [Int]+ , _:([] ++ []) :: [Int]+ , _:([] ++ (_:_)) :: [Int]+ , _:((_:_) ++ xs) :: [Int]+ , _:((_:_) ++ []) :: [Int]+ , _:((_:_) ++ (_:_)) :: [Int]+ , _:(ys ++ _) :: [Int]+ , _:([0] ++ _) :: [Int]+ , _:((_:xs) ++ _) :: [Int]+ , _:([_] ++ _) :: [Int]+ , _:((_:_:_) ++ _) :: [Int]+ , _:((x:_) ++ _) :: [Int]+ , _:((0:_) ++ _) :: [Int]+ , _:((id _:_) ++ _) :: [Int]+ , _:(tail _ ++ _) :: [Int]+ , _:((_ ++ _) ++ _) :: [Int]+ , _:sort xs :: [Int]+ , _:sort [] :: [Int]+ , _:sort (_:_) :: [Int]+ , _:insert _ xs :: [Int]+ , _:insert _ [] :: [Int]+ , _:insert _ (_:_) :: [Int]+ , _:insert x _ :: [Int]+ , _:insert 0 _ :: [Int]+ , _:insert (id _) _ :: [Int]+ , x:zs :: [Int]+ , x:[0,0] :: [Int]+ , x:[1] :: [Int]+ , x:_:ys :: [Int]+ , x:_:[0] :: [Int]+ , x:_:_:xs :: [Int]+ , [x,_,_] :: [Int]+ , x:_:_:_:_ :: [Int]+ , x:_:x:_ :: [Int]+ , x:_:0:_ :: [Int]+ , x:_:id _:_ :: [Int]+ , x:_:tail _ :: [Int]+ , x:_:(_ ++ _) :: [Int]+ , x:x:xs :: [Int]+ , [x,x] :: [Int]+ , x:x:_:_ :: [Int]+ , x:0:xs :: [Int]+ , [x,0] :: [Int]+ , x:0:_:_ :: [Int]+ , x:id _:xs :: [Int]+ , [x,id _] :: [Int]+ , x:id _:_:_ :: [Int]+ , x:y:_ :: [Int]+ , x:1:_ :: [Int]+ , x:id x:_ :: [Int]+ , x:id 0:_ :: [Int]+ , x:id (id _):_ :: [Int]+ , x:negate _:_ :: [Int]+ , x:abs _:_ :: [Int]+ , x:_ + _:_ :: [Int]+ , x:head _:_ :: [Int]+ , x:ord _:_ :: [Int]+ , x:tail xs :: [Int]+ , x:tail [] :: [Int]+ , x:tail (_:_) :: [Int]+ , x:(_ ++ xs) :: [Int]+ , x:(_ ++ []) :: [Int]+ , x:(_ ++ (_:_)) :: [Int]+ , x:(xs ++ _) :: [Int]+ , x:([] ++ _) :: [Int]+ , x:((_:_) ++ _) :: [Int]+ , x:sort _ :: [Int]+ , x:insert _ _ :: [Int]+ , 0:zs :: [Int]+ , 0:[0,0] :: [Int]+ , 0:[1] :: [Int]+ , 0:_:ys :: [Int]+ , 0:_:[0] :: [Int]+ , 0:_:_:xs :: [Int]+ , [0,_,_] :: [Int]+ , 0:_:_:_:_ :: [Int]+ , 0:_:x:_ :: [Int]+ , 0:_:0:_ :: [Int]+ , 0:_:id _:_ :: [Int]+ , 0:_:tail _ :: [Int]+ , 0:_:(_ ++ _) :: [Int]+ , 0:x:xs :: [Int]+ , [0,x] :: [Int]+ , 0:x:_:_ :: [Int]+ , 0:0:xs :: [Int]+ , [0,0] :: [Int]+ , 0:0:_:_ :: [Int]+ , 0:id _:xs :: [Int]+ , [0,id _] :: [Int]+ , 0:id _:_:_ :: [Int]+ , 0:y:_ :: [Int]+ , 0:1:_ :: [Int]+ , 0:id x:_ :: [Int]+ , 0:id 0:_ :: [Int]+ , 0:id (id _):_ :: [Int]+ , 0:negate _:_ :: [Int]+ , 0:abs _:_ :: [Int]+ , 0:_ + _:_ :: [Int]+ , 0:head _:_ :: [Int]+ , 0:ord _:_ :: [Int]+ , 0:tail xs :: [Int]+ , 0:tail [] :: [Int]+ , 0:tail (_:_) :: [Int]+ , 0:(_ ++ xs) :: [Int]+ , 0:(_ ++ []) :: [Int]+ , 0:(_ ++ (_:_)) :: [Int]+ , 0:(xs ++ _) :: [Int]+ , 0:([] ++ _) :: [Int]+ , 0:((_:_) ++ _) :: [Int]+ , 0:sort _ :: [Int]+ , 0:insert _ _ :: [Int]+ , id _:zs :: [Int]+ , id _:[0,0] :: [Int]+ , id _:[1] :: [Int]+ , id _:_:ys :: [Int]+ , id _:_:[0] :: [Int]+ , id _:_:_:xs :: [Int]+ , [id _,_,_] :: [Int]+ , id _:_:_:_:_ :: [Int]+ , id _:_:x:_ :: [Int]+ , id _:_:0:_ :: [Int]+ , id _:_:id _:_ :: [Int]+ , id _:_:tail _ :: [Int]+ , id _:_:(_ ++ _) :: [Int]+ , id _:x:xs :: [Int]+ , [id _,x] :: [Int]+ , id _:x:_:_ :: [Int]+ , id _:0:xs :: [Int]+ , [id _,0] :: [Int]+ , id _:0:_:_ :: [Int]+ , id _:id _:xs :: [Int]+ , [id _,id _] :: [Int]+ , id _:id _:_:_ :: [Int]+ , id _:y:_ :: [Int]+ , id _:1:_ :: [Int]+ , id _:id x:_ :: [Int]+ , id _:id 0:_ :: [Int]+ , id _:id (id _):_ :: [Int]+ , id _:negate _:_ :: [Int]+ , id _:abs _:_ :: [Int]+ , id _:_ + _:_ :: [Int]+ , id _:head _:_ :: [Int]+ , id _:ord _:_ :: [Int]+ , id _:tail xs :: [Int]+ , id _:tail [] :: [Int]+ , id _:tail (_:_) :: [Int]+ , id _:(_ ++ xs) :: [Int]+ , id _:(_ ++ []) :: [Int]+ , id _:(_ ++ (_:_)) :: [Int]+ , id _:(xs ++ _) :: [Int]+ , id _:([] ++ _) :: [Int]+ , id _:((_:_) ++ _) :: [Int]+ , id _:sort _ :: [Int]+ , id _:insert _ _ :: [Int]+ , y:ys :: [Int]+ , y:[0] :: [Int]+ , y:_:xs :: [Int]+ , [y,_] :: [Int]+ , y:_:_:_ :: [Int]+ , y:x:_ :: [Int]+ , y:0:_ :: [Int]+ , y:id _:_ :: [Int]+ , y:tail _ :: [Int]+ , y:(_ ++ _) :: [Int]+ , 1:ys :: [Int]+ , 1:[0] :: [Int]+ , 1:_:xs :: [Int]+ , [1,_] :: [Int]+ , 1:_:_:_ :: [Int]+ , 1:x:_ :: [Int]+ , 1:0:_ :: [Int]+ , 1:id _:_ :: [Int]+ , 1:tail _ :: [Int]+ , 1:(_ ++ _) :: [Int]+ , id x:ys :: [Int]+ , id x:[0] :: [Int]+ , id x:_:xs :: [Int]+ , [id x,_] :: [Int]+ , id x:_:_:_ :: [Int]+ , id x:x:_ :: [Int]+ , id x:0:_ :: [Int]+ , id x:id _:_ :: [Int]+ , id x:tail _ :: [Int]+ , id x:(_ ++ _) :: [Int]+ , id 0:ys :: [Int]+ , id 0:[0] :: [Int]+ , id 0:_:xs :: [Int]+ , [id 0,_] :: [Int]+ , id 0:_:_:_ :: [Int]+ , id 0:x:_ :: [Int]+ , id 0:0:_ :: [Int]+ , id 0:id _:_ :: [Int]+ , id 0:tail _ :: [Int]+ , id 0:(_ ++ _) :: [Int]+ , id (id _):ys :: [Int]+ , id (id _):[0] :: [Int]+ , id (id _):_:xs :: [Int]+ , [id (id _),_] :: [Int]+ , id (id _):_:_:_ :: [Int]+ , id (id _):x:_ :: [Int]+ , id (id _):0:_ :: [Int]+ , id (id _):id _:_ :: [Int]+ , id (id _):tail _ :: [Int]+ , id (id _):(_ ++ _) :: [Int]+ , negate _:ys :: [Int]+ , negate _:[0] :: [Int]+ , negate _:_:xs :: [Int]+ , [negate _,_] :: [Int]+ , negate _:_:_:_ :: [Int]+ , negate _:x:_ :: [Int]+ , negate _:0:_ :: [Int]+ , negate _:id _:_ :: [Int]+ , negate _:tail _ :: [Int]+ , negate _:(_ ++ _) :: [Int]+ , abs _:ys :: [Int]+ , abs _:[0] :: [Int]+ , abs _:_:xs :: [Int]+ , [abs _,_] :: [Int]+ , abs _:_:_:_ :: [Int]+ , abs _:x:_ :: [Int]+ , abs _:0:_ :: [Int]+ , abs _:id _:_ :: [Int]+ , abs _:tail _ :: [Int]+ , abs _:(_ ++ _) :: [Int]+ , _ + _:ys :: [Int]+ , _ + _:[0] :: [Int]+ , _ + _:_:xs :: [Int]+ , [_ + _,_] :: [Int]+ , _ + _:_:_:_ :: [Int]+ , _ + _:x:_ :: [Int]+ , _ + _:0:_ :: [Int]+ , _ + _:id _:_ :: [Int]+ , _ + _:tail _ :: [Int]+ , _ + _:(_ ++ _) :: [Int]+ , head _:ys :: [Int]+ , head _:[0] :: [Int]+ , head _:_:xs :: [Int]+ , [head _,_] :: [Int]+ , head _:_:_:_ :: [Int]+ , head _:x:_ :: [Int]+ , head _:0:_ :: [Int]+ , head _:id _:_ :: [Int]+ , head _:tail _ :: [Int]+ , head _:(_ ++ _) :: [Int]+ , ord _:ys :: [Int]+ , ord _:[0] :: [Int]+ , ord _:_:xs :: [Int]+ , [ord _,_] :: [Int]+ , ord _:_:_:_ :: [Int]+ , ord _:x:_ :: [Int]+ , ord _:0:_ :: [Int]+ , ord _:id _:_ :: [Int]+ , ord _:tail _ :: [Int]+ , ord _:(_ ++ _) :: [Int]+ , z:xs :: [Int]+ , [z] :: [Int]+ , z:_:_ :: [Int]+ , (-1):xs :: [Int]+ , [-1] :: [Int]+ , (-1):_:_ :: [Int]+ , id y:xs :: [Int]+ , [id y] :: [Int]+ , id y:_:_ :: [Int]+ , id 1:xs :: [Int]+ , [id 1] :: [Int]+ , id 1:_:_ :: [Int]+ , id (id x):xs :: [Int]+ , [id (id x)] :: [Int]+ , id (id x):_:_ :: [Int]+ , id (id 0):xs :: [Int]+ , [id (id 0)] :: [Int]+ , id (id 0):_:_ :: [Int]+ , id (id (id _)):xs :: [Int]+ , [id (id (id _))] :: [Int]+ , id (id (id _)):_:_ :: [Int]+ , id (negate _):xs :: [Int]+ , [id (negate _)] :: [Int]+ , id (negate _):_:_ :: [Int]+ , id (abs _):xs :: [Int]+ , [id (abs _)] :: [Int]+ , id (abs _):_:_ :: [Int]+ , id (_ + _):xs :: [Int]+ , [id (_ + _)] :: [Int]+ , id (_ + _):_:_ :: [Int]+ , id (head _):xs :: [Int]+ , [id (head _)] :: [Int]+ , id (head _):_:_ :: [Int]+ , id (ord _):xs :: [Int]+ , [id (ord _)] :: [Int]+ , id (ord _):_:_ :: [Int]+ , negate x:xs :: [Int]+ , [negate x] :: [Int]+ , negate x:_:_ :: [Int]+ , negate 0:xs :: [Int]+ , [negate 0] :: [Int]+ , negate 0:_:_ :: [Int]+ , negate (id _):xs :: [Int]+ , [negate (id _)] :: [Int]+ , negate (id _):_:_ :: [Int]+ , abs x:xs :: [Int]+ , [abs x] :: [Int]+ , abs x:_:_ :: [Int]+ , abs 0:xs :: [Int]+ , [abs 0] :: [Int]+ , abs 0:_:_ :: [Int]+ , abs (id _):xs :: [Int]+ , [abs (id _)] :: [Int]+ , abs (id _):_:_ :: [Int]+ , _ + x:xs :: [Int]+ , [_ + x] :: [Int]+ , _ + x:_:_ :: [Int]+ , _ + 0:xs :: [Int]+ , [_ + 0] :: [Int]+ , _ + 0:_:_ :: [Int]+ , _ + id _:xs :: [Int]+ , [_ + id _] :: [Int]+ , _ + id _:_:_ :: [Int]+ , x + _:xs :: [Int]+ , [x + _] :: [Int]+ , x + _:_:_ :: [Int]+ , 0 + _:xs :: [Int]+ , [0 + _] :: [Int]+ , 0 + _:_:_ :: [Int]+ , id _ + _:xs :: [Int]+ , [id _ + _] :: [Int]+ , id _ + _:_:_ :: [Int]+ , _ * _:xs :: [Int]+ , [_ * _] :: [Int]+ , _ * _:_:_ :: [Int]+ , f _:xs :: [Int]+ , [f _] :: [Int]+ , f _:_:_ :: [Int]+ , head xs:xs :: [Int]+ , [head xs] :: [Int]+ , head xs:_:_ :: [Int]+ , head []:xs :: [Int]+ , [head []] :: [Int]+ , head []:_:_ :: [Int]+ , head (_:_):xs :: [Int]+ , [head (_:_)] :: [Int]+ , head (_:_):_:_ :: [Int]+ , ord c:xs :: [Int]+ , [ord c] :: [Int]+ , ord c:_:_ :: [Int]+ , ord 'a':xs :: [Int]+ , [ord 'a'] :: [Int]+ , ord 'a':_:_ :: [Int]+ , 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 (id (id (id _))):_ :: [Int]+ , id (id (negate _)):_ :: [Int]+ , id (id (abs _)):_ :: [Int]+ , id (id (_ + _)):_ :: [Int]+ , id (id (head _)):_ :: [Int]+ , id (id (ord _)):_ :: [Int]+ , id (negate x):_ :: [Int]+ , id (negate 0):_ :: [Int]+ , id (negate (id _)):_ :: [Int]+ , id (abs x):_ :: [Int]+ , id (abs 0):_ :: [Int]+ , id (abs (id _)):_ :: [Int]+ , id (_ + x):_ :: [Int]+ , id (_ + 0):_ :: [Int]+ , id (_ + id _):_ :: [Int]+ , id (x + _):_ :: [Int]+ , id (0 + _):_ :: [Int]+ , id (id _ + _):_ :: [Int]+ , id (_ * _):_ :: [Int]+ , id (f _):_ :: [Int]+ , id (head xs):_ :: [Int]+ , id (head []):_ :: [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]+ , negate (id (id _)):_ :: [Int]+ , negate (negate _):_ :: [Int]+ , negate (abs _):_ :: [Int]+ , negate (_ + _):_ :: [Int]+ , negate (head _):_ :: [Int]+ , negate (ord _):_ :: [Int]+ , abs y:_ :: [Int]+ , abs 1:_ :: [Int]+ , abs (id x):_ :: [Int]+ , abs (id 0):_ :: [Int]+ , abs (id (id _)):_ :: [Int]+ , abs (negate _):_ :: [Int]+ , abs (abs _):_ :: [Int]+ , abs (_ + _):_ :: [Int]+ , abs (head _):_ :: [Int]+ , abs (ord _):_ :: [Int]+ , _ + y:_ :: [Int]+ , _ + 1:_ :: [Int]+ , _ + id x:_ :: [Int]+ , _ + id 0:_ :: [Int]+ , _ + id (id _):_ :: [Int]+ , _ + negate _:_ :: [Int]+ , _ + abs _:_ :: [Int]+ , _ + (_ + _):_ :: [Int]+ , _ + head _:_ :: [Int]+ , _ + ord _:_ :: [Int]+ , x + x:_ :: [Int]+ , x + 0:_ :: [Int]+ , x + id _:_ :: [Int]+ , 0 + x:_ :: [Int]+ , 0 + 0:_ :: [Int]+ , 0 + id _:_ :: [Int]+ , id _ + x:_ :: [Int]+ , id _ + 0:_ :: [Int]+ , id _ + id _:_ :: [Int]+ , _ * x:_ :: [Int]+ , _ * 0:_ :: [Int]+ , _ * id _:_ :: [Int]+ , f x:_ :: [Int]+ , f 0:_ :: [Int]+ , f (id _):_ :: [Int]+ , y + _:_ :: [Int]+ , 1 + _:_ :: [Int]+ , id x + _:_ :: [Int]+ , id 0 + _:_ :: [Int]+ , id (id _) + _:_ :: [Int]+ , negate _ + _:_ :: [Int]+ , abs _ + _:_ :: [Int]+ , (_ + _) + _:_ :: [Int]+ , head _ + _:_ :: [Int]+ , ord _ + _:_ :: [Int]+ , x * _:_ :: [Int]+ , 0 * _:_ :: [Int]+ , id _ * _:_ :: [Int]+ , g _:_ :: [Int]+ , head ys:_ :: [Int]+ , head [0]:_ :: [Int]+ , head (_:xs):_ :: [Int]+ , head [_]:_ :: [Int]+ , head (_:_:_):_ :: [Int]+ , head (x:_):_ :: [Int]+ , head (0:_):_ :: [Int]+ , head (id _:_):_ :: [Int]+ , head (tail _):_ :: [Int]+ , head (_ ++ _):_ :: [Int]+ , ord d:_ :: [Int]+ , ord ' ':_ :: [Int]+ , tail zs :: [Int]+ , tail [0,0] :: [Int]+ , tail [1] :: [Int]+ , tail (_:ys) :: [Int]+ , tail (_:[0]) :: [Int]+ , tail (_:_:xs) :: [Int]+ , tail [_,_] :: [Int]+ , tail (_:_:_:_) :: [Int]+ , tail (_:x:_) :: [Int]+ , tail (_:0:_) :: [Int]+ , tail (_:id _:_) :: [Int]+ , tail (_:tail _) :: [Int]+ , tail (_:(_ ++ _)) :: [Int]+ , tail (x:xs) :: [Int]+ , tail [x] :: [Int]+ , tail (x:_:_) :: [Int]+ , tail (0:xs) :: [Int]+ , tail [0] :: [Int]+ , tail (0:_:_) :: [Int]+ , tail (id _:xs) :: [Int]+ , tail [id _] :: [Int]+ , tail (id _:_:_) :: [Int]+ , tail (y:_) :: [Int]+ , tail (1:_) :: [Int]+ , tail (id x:_) :: [Int]+ , tail (id 0:_) :: [Int]+ , tail (id (id _):_) :: [Int]+ , tail (negate _:_) :: [Int]+ , tail (abs _:_) :: [Int]+ , tail (_ + _:_) :: [Int]+ , tail (head _:_) :: [Int]+ , tail (ord _:_) :: [Int]+ , tail (tail xs) :: [Int]+ , tail (tail []) :: [Int]+ , tail (tail (_:_)) :: [Int]+ , tail (_ ++ xs) :: [Int]+ , tail (_ ++ []) :: [Int]+ , tail (_ ++ (_:_)) :: [Int]+ , tail (xs ++ _) :: [Int]+ , tail ([] ++ _) :: [Int]+ , tail ((_:_) ++ _) :: [Int]+ , tail (sort _) :: [Int]+ , tail (insert _ _) :: [Int]+ , _ ++ zs :: [Int]+ , _ ++ [0,0] :: [Int]+ , _ ++ [1] :: [Int]+ , _ ++ (_:ys) :: [Int]+ , _ ++ (_:[0]) :: [Int]+ , _ ++ (_:_:xs) :: [Int]+ , _ ++ [_,_] :: [Int]+ , _ ++ (_:_:_:_) :: [Int]+ , _ ++ (_:x:_) :: [Int]+ , _ ++ (_:0:_) :: [Int]+ , _ ++ (_:id _:_) :: [Int]+ , _ ++ (_:tail _) :: [Int]+ , _ ++ (_:(_ ++ _)) :: [Int]+ , _ ++ (x:xs) :: [Int]+ , _ ++ [x] :: [Int]+ , _ ++ (x:_:_) :: [Int]+ , _ ++ (0:xs) :: [Int]+ , _ ++ [0] :: [Int]+ , _ ++ (0:_:_) :: [Int]+ , _ ++ (id _:xs) :: [Int]+ , _ ++ [id _] :: [Int]+ , _ ++ (id _:_:_) :: [Int]+ , _ ++ (y:_) :: [Int]+ , _ ++ (1:_) :: [Int]+ , _ ++ (id x:_) :: [Int]+ , _ ++ (id 0:_) :: [Int]+ , _ ++ (id (id _):_) :: [Int]+ , _ ++ (negate _:_) :: [Int]+ , _ ++ (abs _:_) :: [Int]+ , _ ++ (_ + _:_) :: [Int]+ , _ ++ (head _:_) :: [Int]+ , _ ++ (ord _:_) :: [Int]+ , _ ++ tail xs :: [Int]+ , _ ++ tail [] :: [Int]+ , _ ++ tail (_:_) :: [Int]+ , _ ++ (_ ++ xs) :: [Int]+ , _ ++ (_ ++ []) :: [Int]+ , _ ++ (_ ++ (_:_)) :: [Int]+ , _ ++ (xs ++ _) :: [Int]+ , _ ++ ([] ++ _) :: [Int]+ , _ ++ ((_:_) ++ _) :: [Int]+ , _ ++ sort _ :: [Int]+ , _ ++ insert _ _ :: [Int]+ , xs ++ ys :: [Int]+ , xs ++ [0] :: [Int]+ , xs ++ (_:xs) :: [Int]+ , xs ++ [_] :: [Int]+ , xs ++ (_:_:_) :: [Int]+ , xs ++ (x:_) :: [Int]+ , xs ++ (0:_) :: [Int]+ , xs ++ (id _:_) :: [Int]+ , xs ++ tail _ :: [Int]+ , xs ++ (_ ++ _) :: [Int]+ , [] ++ ys :: [Int]+ , [] ++ [0] :: [Int]+ , [] ++ (_:xs) :: [Int]+ , [] ++ [_] :: [Int]+ , [] ++ (_:_:_) :: [Int]+ , [] ++ (x:_) :: [Int]+ , [] ++ (0:_) :: [Int]+ , [] ++ (id _:_) :: [Int]+ , [] ++ tail _ :: [Int]+ , [] ++ (_ ++ _) :: [Int]+ , (_:_) ++ ys :: [Int]+ , (_:_) ++ [0] :: [Int]+ , (_:_) ++ (_:xs) :: [Int]+ , (_:_) ++ [_] :: [Int]+ , (_:_) ++ (_:_:_) :: [Int]+ , (_:_) ++ (x:_) :: [Int]+ , (_:_) ++ (0:_) :: [Int]+ , (_:_) ++ (id _:_) :: [Int]+ , (_:_) ++ tail _ :: [Int]+ , (_:_) ++ (_ ++ _) :: [Int]+ , ys ++ xs :: [Int]+ , ys ++ [] :: [Int]+ , ys ++ (_:_) :: [Int]+ , [0] ++ xs :: [Int]+ , [0] ++ [] :: [Int]+ , [0] ++ (_:_) :: [Int]+ , (_:xs) ++ xs :: [Int]+ , (_:xs) ++ [] :: [Int]+ , (_:xs) ++ (_:_) :: [Int]+ , [_] ++ xs :: [Int]+ , [_] ++ [] :: [Int]+ , [_] ++ (_:_) :: [Int]+ , (_:_:_) ++ xs :: [Int]+ , (_:_:_) ++ [] :: [Int]+ , (_:_:_) ++ (_:_) :: [Int]+ , (x:_) ++ xs :: [Int]+ , (x:_) ++ [] :: [Int]+ , (x:_) ++ (_:_) :: [Int]+ , (0:_) ++ xs :: [Int]+ , (0:_) ++ [] :: [Int]+ , (0:_) ++ (_:_) :: [Int]+ , (id _:_) ++ xs :: [Int]+ , (id _:_) ++ [] :: [Int]+ , (id _:_) ++ (_:_) :: [Int]+ , tail _ ++ xs :: [Int]+ , tail _ ++ [] :: [Int]+ , tail _ ++ (_:_) :: [Int]+ , (_ ++ _) ++ xs :: [Int]+ , (_ ++ _) ++ [] :: [Int]+ , (_ ++ _) ++ (_:_) :: [Int]+ , zs ++ _ :: [Int]+ , [0,0] ++ _ :: [Int]+ , [1] ++ _ :: [Int]+ , (_:ys) ++ _ :: [Int]+ , (_:[0]) ++ _ :: [Int]+ , (_:_:xs) ++ _ :: [Int]+ , [_,_] ++ _ :: [Int]+ , (_:_:_:_) ++ _ :: [Int]+ , (_:x:_) ++ _ :: [Int]+ , (_:0:_) ++ _ :: [Int]+ , (_:id _:_) ++ _ :: [Int]+ , (_:tail _) ++ _ :: [Int]+ , (_:(_ ++ _)) ++ _ :: [Int]+ , (x:xs) ++ _ :: [Int]+ , [x] ++ _ :: [Int]+ , (x:_:_) ++ _ :: [Int]+ , (0:xs) ++ _ :: [Int]+ , [0] ++ _ :: [Int]+ , (0:_:_) ++ _ :: [Int]+ , (id _:xs) ++ _ :: [Int]+ , [id _] ++ _ :: [Int]+ , (id _:_:_) ++ _ :: [Int]+ , (y:_) ++ _ :: [Int]+ , (1:_) ++ _ :: [Int]+ , (id x:_) ++ _ :: [Int]+ , (id 0:_) ++ _ :: [Int]+ , (id (id _):_) ++ _ :: [Int]+ , (negate _:_) ++ _ :: [Int]+ , (abs _:_) ++ _ :: [Int]+ , (_ + _:_) ++ _ :: [Int]+ , (head _:_) ++ _ :: [Int]+ , (ord _:_) ++ _ :: [Int]+ , tail xs ++ _ :: [Int]+ , tail [] ++ _ :: [Int]+ , tail (_:_) ++ _ :: [Int]+ , (_ ++ xs) ++ _ :: [Int]+ , (_ ++ []) ++ _ :: [Int]+ , (_ ++ (_:_)) ++ _ :: [Int]+ , (xs ++ _) ++ _ :: [Int]+ , ([] ++ _) ++ _ :: [Int]+ , ((_:_) ++ _) ++ _ :: [Int]+ , sort _ ++ _ :: [Int]+ , insert _ _ ++ _ :: [Int]+ , sort ys :: [Int]+ , sort [0] :: [Int]+ , sort (_:xs) :: [Int]+ , sort [_] :: [Int]+ , sort (_:_:_) :: [Int]+ , sort (x:_) :: [Int]+ , sort (0:_) :: [Int]+ , sort (id _:_) :: [Int]+ , sort (tail _) :: [Int]+ , sort (_ ++ _) :: [Int]+ , insert _ ys :: [Int]+ , insert _ [0] :: [Int]+ , insert _ (_:xs) :: [Int]+ , insert _ [_] :: [Int]+ , insert _ (_:_:_) :: [Int]+ , insert _ (x:_) :: [Int]+ , insert _ (0:_) :: [Int]+ , insert _ (id _:_) :: [Int]+ , insert _ (tail _) :: [Int]+ , insert _ (_ ++ _) :: [Int]+ , insert x xs :: [Int]+ , insert x [] :: [Int]+ , insert x (_:_) :: [Int]+ , insert 0 xs :: [Int]+ , insert 0 [] :: [Int]+ , insert 0 (_:_) :: [Int]+ , insert (id _) xs :: [Int]+ , insert (id _) [] :: [Int]+ , insert (id _) (_:_) :: [Int]+ , insert y _ :: [Int]+ , insert 1 _ :: [Int]+ , insert (id x) _ :: [Int]+ , insert (id 0) _ :: [Int]+ , insert (id (id _)) _ :: [Int]+ , insert (negate _) _ :: [Int]+ , insert (abs _) _ :: [Int]+ , insert (_ + _) _ :: [Int]+ , insert (head _) _ :: [Int]+ , insert (ord _) _ :: [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+ , (id (id (id _)) +) :: Int -> Int+ , (id (negate _) +) :: Int -> Int+ , (id (abs _) +) :: Int -> Int+ , (id (_ + _) +) :: Int -> Int+ , (id (head _) +) :: Int -> Int+ , (id (ord _) +) :: Int -> Int+ , (negate x +) :: Int -> Int+ , (negate 0 +) :: Int -> Int+ , (negate (id _) +) :: Int -> Int+ , (abs x +) :: Int -> Int+ , (abs 0 +) :: Int -> Int+ , (abs (id _) +) :: Int -> Int+ , ((_ + x) +) :: Int -> Int+ , ((_ + 0) +) :: Int -> Int+ , ((_ + id _) +) :: Int -> Int+ , ((x + _) +) :: Int -> Int+ , ((0 + _) +) :: Int -> Int+ , ((id _ + _) +) :: Int -> Int+ , (_ * _ +) :: Int -> Int+ , (f _ +) :: Int -> Int+ , (head xs +) :: Int -> Int+ , (head [] +) :: 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+ , (id (id _) *) :: Int -> Int+ , (negate _ *) :: Int -> Int+ , (abs _ *) :: Int -> Int+ , ((_ + _) *) :: Int -> Int+ , (head _ *) :: Int -> Int+ , (ord _ *) :: Int -> Int+ , h :: Int -> Int+ , (q ||) :: Bool -> Bool+ , (not p ||) :: Bool -> Bool+ , (not False ||) :: Bool -> Bool+ , (not True ||) :: Bool -> Bool+ , (not (not _) ||) :: Bool -> Bool+ , ((_ || _) ||) :: Bool -> Bool+ , (p &&) :: Bool -> Bool+ , (False &&) :: Bool -> Bool+ , (True &&) :: Bool -> Bool+ , (not _ &&) :: Bool -> Bool+ , (_ ==>) :: Bool -> Bool+ ]+ , ...+ ]
changelog.md view
@@ -2,9 +2,29 @@ ===================== -v1.0.12--------+v1.0.14 (January 2024)+---------------------- +* `Data.Express`: add `>$$<`, `>$$` and `$$<`.++* fix pretty-printing bug:+ an expression encoding `x:y:([] ++ _) :: [Int]`+ was being displayed as `[x,y,] ++ _ :: [Int]`.++* `Data.Express.Fixtures`: update `-..`, `--..` and `--..-`.++* improve pretty-printing++* make ordering of `typesIn` consistent between GHC 9.8 and earlier versions++* fix a test failure on GHC 9.6 (previous GHC versions unaffected)++* simplify and improve testing, new benchmark and minor updates+++v1.0.12 (July 2023)+-------------------+ * make ordering of `typesIn` consistent between GHC 9.6 and earlier versions * fix a test failure on GHC 9.6 (previous GHC versions unaffected)@@ -17,8 +37,8 @@ * miscellaneous improvements in build and CI scripts -v1.0.10--------+v1.0.10 (April 2022)+-------------------- * show function-encoded Ordering case expressions exceptionally @@ -29,8 +49,8 @@ * minor updates in Makefile and CI scripts -v1.0.8-------+v1.0.8 (September 2021)+----------------------- * `Data.Express.Express.Derive`: fix generation of `-:` and `->:` in earlier GHC's.@@ -39,8 +59,8 @@ add `unboundVars`, `toBounded` and `toBoundedQ`. -v1.0.6-------+v1.0.6 (September 2021)+----------------------- * fix pretty printing of unapplied infixed variable functions: use `f :: ...` instead of ``(`f`) :: ...``@@ -51,8 +71,8 @@ * minor fixes in README -v1.0.4-------+v1.0.4 (July 2021)+------------------ * deeply encode `Ratio`s * add `Express (Complex a)` instance@@ -60,8 +80,8 @@ * `deriveName` now uses `x` for `Num` instances -v1.0.2-------+v1.0.2 (July 2021)+------------------ * more Express instances: - `Double` & `Float`@@ -72,24 +92,24 @@ * minor fix in README -v1.0.0-------+v1.0.0 (July 2021)+------------------ This release indicates that the `Data.Express` API is now stable. * no changes since v0.2.0 or v0.1.16. -v0.2.0-------+v0.2.0 (July 2021)+------------------ This release indicates that the `Data.Express` API is stable. * no changes since v0.1.16 -v0.1.16--------+v0.1.16 (July 2021)+------------------- * add `five`, `six`, ... `twelve` to `Data.Express.Fixtures`. @@ -101,8 +121,8 @@ * 100% Haddock coverage on most modules including REPL examples. -v0.1.14--------+v0.1.14 (June 2021)+------------------- * permit and pretty-print `[<n>..<m>]` notations. @@ -112,8 +132,8 @@ - before they were simply x, y, z -v0.1.12--------+v0.1.12 (May 2021)+------------------ * `Data.Express.Fixtures`, add several symbols: - `hh` and `hhE`;@@ -130,8 +150,8 @@ * Retire Travis as the CI -v0.1.10--------+v0.1.10 (May 2021)+------------------ * add the `hasHole` and `isComplete` functions * add the `encompasses` function@@ -144,8 +164,8 @@ * add this changelog -v0.1.8-------+v0.1.8 (April 2021)+------------------- * slightly change behaviour of `canonicalVariations` and related functions. * add more fixtures and improve fixtures' documentation@@ -153,8 +173,8 @@ * use GitHub actions as CI -v0.1.6-------+v0.1.6 (April 2021)+------------------- * add `compareLexicographically` and `compareQuickly` * define behaviour of `canonicalVariations` for some undefined cases@@ -162,8 +182,8 @@ * improve tests -v0.1.4-------+v0.1.4 (April 2021)+------------------- * add the `fill` and `isFun` functions * `Data.Express.Fixtures`: more fixtures, define fixity@@ -171,7 +191,8 @@ * improve documentation, tests and lint -v0.1.3-------+v0.1.3 (March 2020)+------------------- -See the git commit log for v0.1.3 and previous versions.+See the git commit log for v0.1.3 and previous versions+down to as early as February 2019.
eg/u-conjure.hs view
@@ -4,7 +4,7 @@ -- out of partially implemented functions. -- ----- Copyright (C) 2021 Rudy Matela+-- Copyright (C) 2021-2024 Rudy Matela -- Distributed under the 3-Clause BSD licence (see the file LICENSE). -- --@@ -72,7 +72,7 @@ , value "+" ((+) :: Int -> Int -> Int) , value "*" ((*) :: Int -> Int -> Int) , value "foldr" (foldr :: (Int -> Int -> Int) -> Int -> [Int] -> Int)- , value "enumFromTo" (enumFromTo :: Int -> Int -> [Int])+ , value ".." (enumFromTo :: Int -> Int -> [Int]) ] conjure "second" second listPrimitives
+ eg/u-conjure.txt view
@@ -0,0 +1,24 @@+square :: Int -> Int+square x = x * x++add :: Int -> Int -> Int+add x y = x + y++factorial :: Int -> Int+cannot conjure++factorial :: Int -> Int+factorial x = foldr (*) 1 [1..x]++second :: [Int] -> Int+second xs = head (tail xs)++(++) :: [Int] -> [Int] -> [Int]+xs ++ ys = foldr (:) ys xs++reverse :: [Int] -> [Int]+cannot conjure++reverse :: [Int] -> [Int]+reverse xs = foldr (foldr (:) . unit) [] xs+
eg/u-extrapolate.hs view
@@ -1,6 +1,6 @@ -- u-extrapolate.hs -- micro Extrapolate / Extrapolite ----- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). -- -- A small property-based testing library capable of generalizing
+ eg/u-extrapolate.txt view
@@ -0,0 +1,26 @@+sort . sort = sort++++ Tests passed.++length . nub = length (incorrect when there are repeated elements)+*** Falsified, counterexample: [0,0]+ generalization: x:x:xs++xs `union` ys == ys `union` xs (incorrect for repeated elements)+*** Falsified, counterexample: ([],[0,0])+ generalization: (xs,x:x:xs)+ generalization: ([],x:x:xs)++\(x,y) -> x + y == y + x++++ Tests passed.++\x -> x == x + 1 (always incorrect)+*** Falsified, counterexample: 0+ generalization: x++\(x,y) -> x + y == x + x (incorrect)+*** Falsified, counterexample: (0,1)++\(x,y) -> x /= y (incorrect whenever x and y are equal)+*** Falsified, counterexample: (0,0)+ generalization: (x,x)+
eg/u-speculate.hs view
@@ -1,6 +1,6 @@ -- u-speculate.hs -- micro Speculate / Speculite ----- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). -- -- A small library capable of conjecturing laws about Haskell functions@@ -90,14 +90,14 @@ candidateEquationsFrom :: [Expr] -> [Expr] candidateEquationsFrom es' = [e1 -==- e2 | e1 <- es, e2 <- es, e1 >= e2] where- es = candidateExprsFrom es'+ es = candidateExprsFrom es' candidateExprsFrom :: [Expr] -> [Expr] candidateExprsFrom = concat . take 5 . expressionsT where expressionsT ds = [ds] \/ (delay $ productMaybeWith ($$) es es) where- es = expressionsT ds+ es = expressionsT ds isTrue :: Expr -> Bool isTrue = all (eval False) . take 60 . grounds@@ -117,11 +117,11 @@ ex -==- ey = head $ [eqn | eq <- eqs, let eqn = eq :$ ex :$ ey, isWellTyped eqn] ++ [val False] where- eqs = [ value "==" ((==) :: Int -> Int -> Bool)- , value "==" ((==) :: Bool -> Bool -> Bool)- , value "==" ((==) :: [Int] -> [Int] -> Bool)- , value "==" ((==) :: [Bool] -> [Bool] -> Bool)- ]+ eqs = [ value "==" ((==) :: Int -> Int -> Bool)+ , value "==" ((==) :: Bool -> Bool -> Bool)+ , value "==" ((==) :: [Int] -> [Int] -> Bool)+ , value "==" ((==) :: [Bool] -> [Bool] -> Bool)+ ] lhs, rhs :: Expr -> Expr lhs (((Value "==" _) :$ e) :$ _) = e
+ eg/u-speculate.txt view
@@ -0,0 +1,45 @@+Equations about _, 0, (+), abs:+abs 0 = 0+x + 0 = x+0 + x = x+abs (abs x) = abs x+x + y = y + x+abs (x + y) = abs (y + x)+abs (x + abs x) = x + abs x+abs (abs x + x) = x + abs x+abs x + abs x = abs (x + x)+x + (y + z) = x + (z + y)+x + (y + z) = y + (x + z)+x + (y + z) = y + (z + x)+x + (y + z) = z + (x + y)+x + (y + z) = z + (y + x)+(x + y) + z = x + (y + z)+(x + y) + z = x + (z + y)+(x + y) + z = y + (x + z)+(x + y) + z = y + (z + x)+(x + y) + z = z + (y + x)+(x + y) + z = (x + z) + y+(x + y) + z = (y + x) + z+(x + y) + z = (y + z) + x+(x + y) + z = (z + x) + y+(x + y) + z = (z + y) + x++Equations about _, False, True, not:+not False = True+not True = False+not (not p) = p++Equations about _, _, [], (:), (++), sort:+sort [] = []+xs ++ [] = xs+[] ++ xs = xs+sort (sort xs) = sort xs+sort [x] = [x]+[x] ++ xs = x:xs+sort (xs ++ ys) = sort (ys ++ xs)+sort (x:sort xs) = sort (x:xs)+sort (xs ++ sort ys) = sort (xs ++ ys)+sort (sort xs ++ ys) = sort (xs ++ ys)+(x:xs) ++ ys = x:(xs ++ ys)+(xs ++ ys) ++ zs = xs ++ (ys ++ zs)+
etc/hugs-backports/Data/Function.hs view
@@ -1,7 +1,7 @@ -- Backport of Data.Function for Hugs 2006-09. -- Only exports `on` ----- Copyright (c) 2018-2021 Rudy Matela.+-- Copyright (c) 2018-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). module Data.Function ( on
express.cabal view
@@ -1,6 +1,6 @@ -- Cabal file for express name: express-version: 1.0.12+version: 1.0.14 synopsis: Dynamically-typed expressions involving function application and variables. description: Express is a library for manipulating dynamically typed Haskell expressions.@@ -37,14 +37,16 @@ , mk/Toplibs.hs , stack.yaml , test/sdist- , test/model/bench/*.out- , test/model/eg/*.out+ , bench/*.txt+ , eg/*.txt , bench/versions , bench/runtime/zero/versions , bench/runtime/zero/bench/*.runtime , bench/runtime/zero/eg/*.runtime , etc/hugs-backports/Data/Function.hs-tested-with: GHC==9.4+tested-with: GHC==9.8+ , GHC==9.6+ , GHC==9.4 , GHC==9.2 , GHC==9.0 , GHC==8.10@@ -60,7 +62,7 @@ source-repository this type: git location: https://github.com/rudymatela/express- tag: v1.0.12+ tag: v1.0.14 library exposed-modules: Data.Express@@ -103,6 +105,14 @@ build-depends: base >= 4 && < 5, express, leancheck >= 0.9.10 default-language: Haskell2010 +test-suite basic+ type: exitcode-stdio-1.0+ main-is: basic.hs+ hs-source-dirs: test+ other-modules: Test, Test.ListableExpr+ build-depends: base >= 4 && < 5, express, leancheck >= 0.9.10+ default-language: Haskell2010+ test-suite canon type: exitcode-stdio-1.0 main-is: canon.hs@@ -266,6 +276,14 @@ benchmark tiers type: exitcode-stdio-1.0 main-is: tiers.hs+ hs-source-dirs: bench, test+ other-modules: Test, Test.ListableExpr+ build-depends: base >= 4 && < 5, express, leancheck >= 0.9.10+ default-language: Haskell2010++benchmark tiers-complete+ type: exitcode-stdio-1.0+ main-is: tiers-complete.hs hs-source-dirs: bench, test other-modules: Test, Test.ListableExpr build-depends: base >= 4 && < 5, express, leancheck >= 0.9.10
mk/depend.mk view
@@ -167,6 +167,34 @@ test/Test/ListableExpr.hs \ bench/sort.hs \ mk/toplibs+bench/tiers-complete.o: \+ test/Test.hs \+ test/Test/ListableExpr.hs \+ src/Data/Express/Utils/Typeable.hs \+ src/Data/Express/Utils/TH.hs \+ src/Data/Express/Utils/String.hs \+ src/Data/Express/Utils.hs \+ src/Data/Express/Utils/List.hs \+ src/Data/Express.hs \+ src/Data/Express/Name.hs \+ src/Data/Express/Name/Derive.hs \+ src/Data/Express/Match.hs \+ src/Data/Express/Map.hs \+ src/Data/Express/Instances.hs \+ src/Data/Express/Hole.hs \+ src/Data/Express/Fold.hs \+ src/Data/Express/Fixtures.hs \+ src/Data/Express/Express.hs \+ src/Data/Express/Express/Derive.hs \+ src/Data/Express/Core.hs \+ src/Data/Express/Canon.hs \+ src/Data/Express/Basic.hs \+ bench/tiers-complete.hs+bench/tiers-complete: \+ test/Test.hs \+ test/Test/ListableExpr.hs \+ bench/tiers-complete.hs \+ mk/toplibs bench/tiers.o: \ test/Test.hs \ test/Test/ListableExpr.hs \@@ -426,10 +454,12 @@ src/Data/Express/Name/Derive.o: \ src/Data/Express/Utils/TH.hs \ src/Data/Express/Utils/String.hs \+ src/Data/Express/Utils/List.hs \ src/Data/Express/Name.hs \ src/Data/Express/Name/Derive.hs src/Data/Express/Name.o: \ src/Data/Express/Utils/String.hs \+ src/Data/Express/Utils/List.hs \ src/Data/Express/Name.hs src/Data/Express.o: \ src/Data/Express/Utils/Typeable.hs \@@ -465,7 +495,8 @@ src/Data/Express/Utils.hs \ src/Data/Express/Utils/List.hs src/Data/Express/Utils/String.o: \- src/Data/Express/Utils/String.hs+ src/Data/Express/Utils/String.hs \+ src/Data/Express/Utils/List.hs src/Data/Express/Utils/TH.o: \ src/Data/Express/Utils/TH.hs src/Data/Express/Utils/Typeable.o: \@@ -473,6 +504,34 @@ src/Data/Express/Utils/String.hs \ src/Data/Express/Utils.hs \ src/Data/Express/Utils/List.hs+test/basic.o: \+ test/Test.hs \+ test/Test/ListableExpr.hs \+ test/basic.hs \+ src/Data/Express/Utils/Typeable.hs \+ src/Data/Express/Utils/TH.hs \+ src/Data/Express/Utils/String.hs \+ src/Data/Express/Utils.hs \+ src/Data/Express/Utils/List.hs \+ src/Data/Express.hs \+ src/Data/Express/Name.hs \+ src/Data/Express/Name/Derive.hs \+ src/Data/Express/Match.hs \+ src/Data/Express/Map.hs \+ src/Data/Express/Instances.hs \+ src/Data/Express/Hole.hs \+ src/Data/Express/Fold.hs \+ src/Data/Express/Fixtures.hs \+ src/Data/Express/Express.hs \+ src/Data/Express/Express/Derive.hs \+ src/Data/Express/Core.hs \+ src/Data/Express/Canon.hs \+ src/Data/Express/Basic.hs+test/basic: \+ test/Test.hs \+ test/Test/ListableExpr.hs \+ test/basic.hs \+ mk/toplibs test/canon.o: \ test/Test.hs \ test/Test/ListableExpr.hs \
mk/ghcdeps view
@@ -2,7 +2,7 @@ # # ghcdeps: generate Haskell make dependencies for compiling with GHC. #-# Copyright (c) 2015-2021 Rudy Matela.+# Copyright (c) 2015-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # From a list of files provided on standard input,
mk/haddock-i view
@@ -2,7 +2,7 @@ # # haddock-i: list haddock's -i parameters. #-# Copyright (c) 2015-2021 Rudy Matela.+# Copyright (c) 2015-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # $ haddock-i <package1> <package2> ... <packageN>
mk/haskell.mk view
@@ -1,6 +1,6 @@ # Implicit rules for compiling Haskell code. #-# Copyright (c) 2015-2023 Rudy Matela.+# Copyright (c) 2015-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # You can optionally configure the "Configuration variables" below in your main@@ -92,8 +92,9 @@ install-dependencies: if [ -n "$(INSTALL_DEPS)" ]; then \ cabal update && \- $(CABAL_INSTALL) $(INSTALL_DEPS); \+ $(CABAL_INSTALL) $(INSTALL_DEPS) || true; \ fi+ # above, "|| true" is needed for cabal >= 3.10.2 # haddock rules haddock: doc/index.html
mk/install-on view
@@ -2,7 +2,7 @@ # # mk/install-on: install or updates the mk folder on a Haskell project #-# Copyright (c) 2019-2021 Rudy Matela.+# Copyright (c) 2019-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # usage: ./mk/install-on path/to/project
src/Data/Express.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -173,6 +173,11 @@ , nubValues , nubVars , nubConsts++ -- -- -- Data.Express.Basic exports -- -- --+ , (>$$<)+ , (>$$)+ , ($$<) -- -- -- Data.Express.Map exports -- -- --
src/Data/Express/Basic.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Basic--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -21,6 +21,11 @@ , module Data.Express.Map , module Data.Express.Fold , module Data.Express.Hole++ -- * Additional utilities+ , (>$$<)+ , (>$$)+ , ($$<) ) where @@ -28,3 +33,26 @@ import Data.Express.Map import Data.Express.Fold import Data.Express.Hole++import Data.Maybe (catMaybes, mapMaybe)++-- | Lists valid applications between lists of 'Expr's+--+-- > > [notE, plus] >$$< [false, true, zero]+-- > [not False :: Bool,not True :: Bool,(0 +) :: Int -> Int]+(>$$<) :: [Expr] -> [Expr] -> [Expr]+efs >$$< exs = catMaybes [ef $$ ex | ef <- efs, ex <- exs]++-- | Lists valid applications between a list of 'Expr's and an 'Expr'.+--+-- > > [plus, times] >$$ zero+-- > [(0 +) :: Int -> Int,(0 *) :: Int -> Int]+(>$$) :: [Expr] -> Expr -> [Expr]+efs >$$ ex = mapMaybe ($$ ex) efs++-- | Lists valid applications between an 'Expr' and a list of 'Expr's.+--+-- > > notE >$$< [false, true, zero]+-- > [not False :: Bool,not True :: Bool]+($$<) :: Expr -> [Expr] -> [Expr]+ef $$< exs = mapMaybe (ef $$) exs
src/Data/Express/Canon.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Canon--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -62,8 +62,7 @@ else (e, n `varAsTypeOf` e):bs where existingNames = [n | (_,Value ('_':n) _) <- bs]- freshNames = namesFor e \\ existingNames- n = head freshNames+ (n:_) = namesFor e \\ existingNames -- | -- Like 'isCanonical' but allows specifying@@ -290,12 +289,12 @@ fastCanonicalVariations :: Expr -> [Expr] fastCanonicalVariations e | null hs' = [e]- | otherwise = concatMap fastCanonicalVariations- . map (fill e) . fillings 0+ | otherwise = concatMap (fastCanonicalVariations . fill e)+ . fillings 0 $ [h | h <- hs', typ h == typ h'] where- hs' = holes e- h' = head hs'+ hs' = holes e+ (h':_) = hs' names = variableNamesFromTemplate "x" \\ varnames e @@ -326,7 +325,7 @@ fastMostSpecificVariation :: Expr -> Expr fastMostSpecificVariation e = fill e (map (name `varAsTypeOf`) (holes e)) where- name = head $ variableNamesFromTemplate "x" \\ varnames e+ (name:_) = variableNamesFromTemplate "x" \\ varnames e -- | -- Variable names existing in a given Expr.@@ -352,7 +351,7 @@ -- -- This function is not exported. canonicalizeKeeping :: [Expr] -> Expr -> Expr-canonicalizeKeeping vs e = canonicalizeWith namesFor e+canonicalizeKeeping vs = canonicalizeWith namesFor where nm (Value ('_':n) _) = n namesFor v | v `elem` vs = nm v : err
src/Data/Express/Core.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Core--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -153,7 +153,7 @@ -- > > value "sort" (sort :: [Bool] -> [Bool]) -- > sort :: [Bool] -> [Bool] value :: Typeable a => String -> a -> Expr-value s x = Value s (toDyn x)+value s x = Value s (toDyn x) -- | /O(1)/. -- A shorthand for 'value' for values that are 'Show' instances.@@ -173,7 +173,7 @@ -- > val 'a' = value "'a'" 'a' -- > val True = value "True" True val :: (Typeable a, Show a) => a -> Expr-val x = value (show x) x+val x = value (show x) x -- | /O(n)/. -- Creates an 'Expr' representing a function application.@@ -195,7 +195,7 @@ e1 $$ e2 | isIllTyped e = Nothing | otherwise = Just e where- e = e1 :$ e2+ e = e1 :$ e2 -- | /O(1)/. -- Creates an 'Expr' representing a variable with the given name and argument@@ -214,7 +214,7 @@ -- a variable is just a 'value' whose string representation -- starts with underscore (@'_'@). var :: Typeable a => String -> a -> Expr-var s a = value ('_':s) (undefined `asTypeOf` a)+var s a = value ('_':s) (undefined `asTypeOf` a) -- | /O(n)/. -- Computes the type of an expression. This raises errors, but this should@@ -244,7 +244,8 @@ typ :: Expr -> TypeRep typ = either err id . etyp where- err (t1, t2) = error $ "type mismatch, cannot apply `"+ err (t1, t2) = errorOn "typ"+ $ "type mismatch, cannot apply `" ++ show t1 ++ "' to `" ++ show t2 ++ "'" -- | /O(n)/.@@ -274,8 +275,8 @@ -- > > etyp ((absE :$ bee) :$ one) -- > Left (Int -> Int, Char) etyp :: Expr -> Either (TypeRep, TypeRep) TypeRep-etyp (Value _ d) = Right $ dynTypeRep d-etyp (e1 :$ e2) = case (etyp e1, etyp e2) of+etyp (Value _ d) = Right $ dynTypeRep d+etyp (e1 :$ e2) = case (etyp e1, etyp e2) of (Right t1, Right t2) -> case t1 `funResultTy` t2 of Nothing -> Left (t1,t2) Just t -> Right t@@ -368,7 +369,7 @@ -- > > evaluate $ negateE :$ bee :: Maybe Int -- > Nothing evaluate :: Typeable a => Expr -> Maybe a-evaluate e = toDynamic e >>= fromDynamic+evaluate e = toDynamic e >>= fromDynamic -- | /O(n)/. -- Evaluates an expression when possible (correct type).@@ -387,7 +388,7 @@ -- > > eval 0 $ two -+- val '3' :: Int -- > 0 eval :: Typeable a => a -> Expr -> a-eval x e = fromMaybe x (evaluate e)+eval x e = fromMaybe x (evaluate e) -- | /O(n)/. -- Evaluates an expression when possible (correct type).@@ -401,10 +402,10 @@ -- -- This may raise errors, please consider using 'eval' or 'evaluate'. evl :: Typeable a => Expr -> a-evl e = r+evl e = r where- r = eval err e- err = error $ "evl: cannot evaluate Expr `" ++ show e ++ "' at the " ++ show (typeOf r) ++ " type"+ r = eval err e+ err = errorOn "evl" $ "cannot evaluate Expr `" ++ show e ++ "' at the " ++ show (typeOf r) ++ " type" -- | /O(n)/. -- Evaluates an expression to a terminal 'Dynamic' value when possible.@@ -419,23 +420,23 @@ -- > > toDynamic $ value "abs" (abs :: Int -> Int) :$ val 'a' -- > Nothing toDynamic :: Expr -> Maybe Dynamic-toDynamic (Value _ x) = Just x-toDynamic (e1 :$ e2) = do v1 <- toDynamic e1- v2 <- toDynamic e2- dynApply v1 v2+toDynamic (Value _ x) = Just x+toDynamic (e1 :$ e2) = do v1 <- toDynamic e1+ v2 <- toDynamic e2+ dynApply v1 v2 -- | Shows 'Expr's with their types. -- -- > > show (value "not" not :$ val False) -- > "not False :: Bool" instance Show Expr where- showsPrec d e = showParen (d > 10)- $ showsPrecExpr 0 e- . showString " :: "- . showsTypeExpr e+ showsPrec d e = showParen (d > 10)+ $ showsPrecExpr 0 e+ . showString " :: "+ . showsTypeExpr e showsTypeExpr :: Expr -> String -> String-showsTypeExpr e = case etyp e of+showsTypeExpr e = case etyp e of Left (t1,t2) -> showString "ill-typed # " . shows t1 . showString " $ "@@ -444,106 +445,97 @@ Right t -> shows t showsPrecExpr :: Int -> Expr -> String -> String-showsPrecExpr d (Value "_" _) = showString "_" -- a hole+showsPrecExpr d (Value "_" _) = showString "_" -- a hole showsPrecExpr d (Value ('_':s) _) -- a variable- | isInfixedPrefix s = showString $ toPrefix s- | otherwise = showParen (isInfix s) $ showString s-showsPrecExpr d (Value s _) | isInfixedPrefix s = showString $ toPrefix s-showsPrecExpr d (Value s _) | isNegativeLiteral s = showParen (d > 0) $ showString s-showsPrecExpr d (Value s _) = showParen sp $ showString s+ | isInfixedPrefix s = showString $ toPrefix s+ | otherwise = showParen (isInfix s) $ showString s+showsPrecExpr d (Value s _) | isInfixedPrefix s = showString $ toPrefix s+showsPrecExpr d (Value s _) | isNegativeLiteral s = showParen (d > 0) $ showString s+showsPrecExpr d (Value s _) = showParen sp $ showString s where sp = if atomic s then isInfix s else maybe True (d >) $ outernmostPrec s-showsPrecExpr d (Value ":" _ :$ e1 :$ e2)- | isConst e1 && mtyp e1 == Just (typeOf (undefined :: Char)) =- case showsTailExpr e2 "" of- '\"':cs -> showString ("\"" ++ (init . tail) (showsPrecExpr 0 e1 "") ++ cs)- cs -> showParen (d > prec ":")- $ showsOpExpr ":" e1 . showString ":" . showString cs-showsPrecExpr d (Value ":" _ :$ e1 :$ e2) =- case showsTailExpr e2 "" of- "[]" -> showString "[" . showsPrecExpr 0 e1 . showString "]"- '[':cs -> showString "[" . showsPrecExpr 0 e1 . showString "," . showString cs- cs -> showParen (d > prec ":")- $ showsOpExpr ":" e1 . showString ":" . showString cs+showsPrecExpr d e@(Value ":" _ :$ _ :$ _) =+ case unfoldEnd e of+ (es,Value "[]" _) -> showString "["+ . foldr (.) id (intersperse (showString ",") [showsPrecExpr 0 e | e <- es])+ . showString "]"+ (es,Value "\"\"" _)+ | hasConstTail es -> let (cs,etc) = span isConst (reverse es)+ in showParen (not (null etc) && d > prec ":")+ $ foldr (.) id (intersperse (showString ":") $ [showsOpExpr ":" e | e <- reverse etc])+ . showString [':' | not (null etc)]+ . showString "\""+ . foldr (.) id [showString . init . drop 1 $ s | Value s _ <- reverse cs]+ . showString "\""+ (es,end) -> showParen (d > prec ":")+ $ foldr (.) id (intersperse (showString ":") $ [showsOpExpr ":" e | e <- es++[end]])+ where+ hasConstTail = not . null . takeWhile isConst . reverse showsPrecExpr d ee | isTuple ee = showParen True $ foldr1 (\s1 s2 -> s1 . showString "," . s2) (showsPrecExpr 0 `map` unfoldTuple ee)-showsPrecExpr d (Value "if" _ :$ ep :$ ex :$ ey) =+showsPrecExpr d (Value "if" _ :$ ep :$ ex :$ ey) = showParen (d >= 0) $ showString "if " . showsPrecExpr 0 ep . showString " then " . showsPrecExpr 0 ex . showString " else " . showsPrecExpr 0 ey-showsPrecExpr d (Value "case" _ :$ ep :$ ex :$ ey) | typ ep == boolTy =+showsPrecExpr d (Value "case" _ :$ ep :$ ex :$ ey) | typ ep == boolTy = showParen (d >= 0) $ showString "case " . showsPrecExpr 0 ep . showString " of False -> " . showsPrecExpr 0 ex . showString "; True -> " . showsPrecExpr 0 ey-showsPrecExpr d (Value "case" _ :$ eo :$ ex :$ ey :$ ez) | typ eo == orderingTy =+showsPrecExpr d (Value "case" _ :$ eo :$ ex :$ ey :$ ez) | typ eo == orderingTy = showParen (d >= 0) $ showString "case " . showsPrecExpr 0 eo . showString " of LT -> " . showsPrecExpr 0 ex . showString "; EQ -> " . showsPrecExpr 0 ey . showString "; GT -> " . showsPrecExpr 0 ez-showsPrecExpr d (Value ",.." _ :$ ex :$ ey :$ ez) =+showsPrecExpr d (Value ",.." _ :$ ex :$ ey :$ ez) = showString "[" . showsPrecExpr 0 ex . showString (if dotdot ex && dotdot ey && dotdot ez then "," else ", ") . showsPrecExpr 0 ey . showString (if dotdot ex && dotdot ey && dotdot ez then ".." else " .. ") . showsPrecExpr 0 ez . showString "]"-showsPrecExpr d (Value ",.." _ :$ ex :$ ey) =+showsPrecExpr d (Value ",.." _ :$ ex :$ ey) = showString "[" . showsPrecExpr 0 ex . showString (if dotdot ex && dotdot ey then "," else ", ") . showsPrecExpr 0 ey . showString (if dotdot ex && dotdot ey then "..]" else " ..]")-showsPrecExpr d (Value ".." _ :$ ex :$ ey) =+showsPrecExpr d (Value ".." _ :$ ex :$ ey) = showString "[" . showsPrecExpr 0 ex . showString (if dotdot ex && dotdot ey then ".." else " .. ") . showsPrecExpr 0 ey . showString "]"-showsPrecExpr d (Value ".." _ :$ ex) =+showsPrecExpr d (Value ".." _ :$ ex) = showString "[" . showsPrecExpr 0 ex . showString (if dotdot ex then "..]" else " ..]") showsPrecExpr d (Value f' _ :$ e1 :$ e2)- | isInfix f = showParen (d > prec f)- $ showsOpExpr f e1- . showString " " . showString f . showString " "- . showsOpExpr f e2- | otherwise = showParen (d > prec " ")- $ showString f- . showString " " . showsOpExpr " " e1- . showString " " . showsOpExpr " " e2+ | isInfix f = showParen (d > prec f)+ $ showsOpExpr f e1+ . showString " " . showString f . showString " "+ . showsOpExpr f e2+ | otherwise = showParen (d > prec " ")+ $ showString f+ . showString " " . showsOpExpr " " e1+ . showString " " . showsOpExpr " " e2 where- f = case f' of "_" -> "_" -- holes are shown as _- ('_':f) -> f -- on variables we drop the preceding _- f -> f -- constants as themselves+ f = case f' of "_" -> "_" -- holes are shown as _+ ('_':f) -> f -- on variables we drop the preceding _+ f -> f -- constants as themselves showsPrecExpr d (Value f' _ :$ e1)- | isInfix f = showParen True $ showsOpExpr f e1 . showString " " . showString f+ | isInfix f = showParen True $ showsOpExpr f e1 . showString " " . showString f where- f = case f' of "_" -> "_" -- holes are shown as _- ('_':f) -> f -- on variables we drop the preceding _- f -> f -- constants as themselves-showsPrecExpr d (e1 :$ e2) = showParen (d > prec " ")- $ showsPrecExpr (prec " ") e1- . showString " "- . showsPrecExpr (prec " " + 1) e2+ f = case f' of "_" -> "_" -- holes are shown as _+ ('_':f) -> f -- on variables we drop the preceding _+ f -> f -- constants as themselves+showsPrecExpr d (e1 :$ e2) = showParen (d > prec " ")+ $ showsPrecExpr (prec " ") e1+ . showString " "+ . showsPrecExpr (prec " " + 1) e2 -- Can we avoid a space using @[<n>..<m>]@? dotdot :: Expr -> Bool dotdot (Value (c:_) _) = isNumber c || isLower c || c == '_' || c == '\'' dotdot _ = False --- bad smell here, repeated code!-showsTailExpr :: Expr -> String -> String-showsTailExpr (Value ":" _ :$ e1 :$ e2)- | isConst e1 && mtyp e1 == Just (typeOf (undefined :: Char)) =- case showsPrecExpr 0 e2 "" of- '\"':cs -> showString ("\"" ++ (init . tail) (showsPrecExpr 0 e1 "") ++ cs)- cs -> showsOpExpr ":" e1 . showString ":" . showsTailExpr e2-showsTailExpr (Value ":" _ :$ e1 :$ e2) =- case showsPrecExpr 0 e2 "" of- "[]" -> showString "[" . showsPrecExpr 0 e1 . showString "]"- '[':cs -> showString "[" . showsPrecExpr 0 e1 . showString "," . showString cs- cs -> showsOpExpr ":" e1 . showString ":" . showsTailExpr e2-showsTailExpr e = showsOpExpr ":" e- showsOpExpr :: String -> Expr -> String -> String-showsOpExpr op = showsPrecExpr (prec op + 1)+showsOpExpr op = showsPrecExpr (prec op + 1) -- | /O(n)/. -- Like 'showPrecExpr' but@@ -561,7 +553,7 @@ -- > > showOpExpr " " (two -*- three) -- > "(2 * 3)" showOpExpr :: String -> Expr -> String-showOpExpr op = showPrecExpr (prec op + 1)+showOpExpr op = showPrecExpr (prec op + 1) -- | /O(n)/. -- Like 'showExpr' but allows specifying the surrounding precedence.@@ -572,7 +564,7 @@ -- > > showPrecExpr 7 (one -+- two) -- > "(1 + 2)" showPrecExpr :: Int -> Expr -> String-showPrecExpr n e = showsPrecExpr n e ""+showPrecExpr n e = showsPrecExpr n e "" -- | /O(n)/. -- Returns a string representation of an expression.@@ -585,7 +577,7 @@ -- > > putStrLn $ showExpr $ (pp -||- true) -&&- (qq -||- false) -- > (p || True) && (q || False) showExpr :: Expr -> String-showExpr = showPrecExpr (-1)+showExpr = showPrecExpr (-1) -- | /O(n)/. -- Does not evaluate values when comparing, but rather uses their@@ -607,7 +599,7 @@ -- when they have smaller complexity ('compareComplexity') -- or when they come first lexicographically ('compareLexicographically'). instance Ord Expr where- compare = compareComplexity <> compareLexicographically+ compare = compareComplexity <> compareLexicographically -- | /O(n)/. -- Compares the complexity of two 'Expr's.@@ -720,8 +712,8 @@ unfoldApp :: Expr -> [Expr] unfoldApp e = u e [] where- u (ef :$ ex) = u ef . (ex:)- u ex = (ex:)+ u (ef :$ ex) = u ef . (ex:)+ u ex = (ex:) -- | /O(n)/. -- Unfold a tuple 'Expr' into a list of values.@@ -747,13 +739,29 @@ -- This is intentional, allowing the 'Show' 'Expr' instance -- to present @(,) 1 2@ differently than @(1,2)@. unfoldTuple :: Expr -> [Expr]-unfoldTuple = u . unfoldApp+unfoldTuple = u . unfoldApp where- u (Value cs _:es) | not (null es) && cs == replicate (length es - 1) ',' = es- u _ = []+ u (Value cs _:es) | not (null es) && cs == replicate (length es - 1) ',' = es+ u _ = [] +-- | /O(n)/.+-- Unfold a list 'Expr' into a list of values and a terminator.+--+-- This works for lists "terminated" by an arbitrary expression.+-- One can later check the second value of the return tuple+-- to see if it is a proper list or string by comparing the+-- string representation with @[]@ or @""@.+--+-- This is used in the implementation of 'showsPrecExpr'.+unfoldEnd :: Expr -> ([Expr],Expr)+unfoldEnd (Value ":" _ :$ e :$ es) = (e:) `first` unfoldEnd es+ where first f (x,y) = (f x, y)+unfoldEnd e = ([],e)++-- | /O(1)/.+-- Checks if a given expression is a tuple. isTuple :: Expr -> Bool-isTuple = not . null . unfoldTuple+isTuple = not . null . unfoldTuple -- | /O(n)/. -- Check if an 'Expr' has a variable. (By convention, any value whose@@ -1231,3 +1239,6 @@ height :: Expr -> Int height (e1 :$ e2) = 1 + height e1 `max` height e2 height _ = 1++errorOn :: String -> String -> a+errorOn fn msg = error $ "Data.Express." ++ fn ++ ": " ++ msg
src/Data/Express/Express.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Express--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --
src/Data/Express/Express/Derive.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE TemplateHaskell, CPP #-} -- | -- Module : Data.Express.Express.Derive--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --
src/Data/Express/Fixtures.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Fixtures--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -210,8 +210,8 @@ -- ** Enum , enumFrom', (-..) , enumFromTo', (-..-)- , enumFromThen', (-...)- , enumFromThenTo', (-...-)+ , enumFromThen', (--..)+ , enumFromThenTo', (--..-) ) where @@ -562,14 +562,14 @@ -- > > ff one -- > f 1 :: Int ff :: Expr -> Expr-ff = (ffE :$)+ff = (ffE :$) -- | A variable @f@ of 'Int -> Int' type encoded as an 'Expr'. -- -- > > ffE -- > f :: Int -> Int ffE :: Expr-ffE = var "f" (undefined :: Int -> Int)+ffE = var "f" (undefined :: Int -> Int) -- | A variable function @g@ of 'Int -> Int' type lifted over the 'Expr' type. --@@ -579,29 +579,48 @@ -- > > gg minusTwo -- > gg (-2) :: Int gg :: Expr -> Expr-gg = (ggE :$)+gg = (ggE :$) -- | A variable @g@ of 'Int -> Int' type encoded as an 'Expr'. -- -- > > ggE -- > g :: Int -> Int ggE :: Expr-ggE = var "g" (undefined :: Int -> Int)+ggE = var "g" (undefined :: Int -> Int) -- | A variable function @h@ of 'Int -> Int' type lifted over the 'Expr' type. -- -- > > hh zz -- > h z :: Int hh :: Expr -> Expr-hh = (hhE :$)+hh = (hhE :$) -- | A variable @h@ of 'Int -> Int' type encoded as an 'Expr'. -- -- > > hhE -- > h :: Int -> Int hhE :: Expr-hhE = var "h" (undefined :: Int -> Int)+hhE = var "h" (undefined :: Int -> Int) +mk1 :: String -> [Expr] -> Expr -> Expr+mk1 nm efs ex = headOr (err nm efs [ex]) $ efs >$$ ex++mk2 :: String -> [Expr] -> Expr -> Expr -> Expr+mk2 nm efs ex ey = headOr (err nm efs [ex,ey]) $ efs >$$ ex >$$ ey++mk3 :: String -> [Expr] -> Expr -> Expr -> Expr -> Expr+mk3 nm efs ex ey ez = headOr (err nm efs [ex,ey,ez]) $ efs >$$ ex >$$ ey >$$ ez++mk4 :: String -> [Expr] -> Expr -> Expr -> Expr -> Expr -> Expr+mk4 nm efs ex ey ez ew = headOr (err nm efs [ex,ey,ez,ew]) $ efs >$$ ex >$$ ey >$$ ez >$$ ew++err :: String -> [Expr] -> [Expr] -> Expr+err fn efs exs = error+ $ fn ++ ": unhandled type: "+ ++ intercalate ", " (map show exs)+ ++ "\n accepted types are:\n"+ ++ unlines (map ((" " ++) . show) efs)+ -- | A variable binary operator @?@ lifted over the 'Expr' type. -- Works for 'Int', 'Bool', 'Char', @[Int]@ and 'String'. --@@ -612,18 +631,25 @@ -- > p ? q :: Bool -- -- > > xx -?- qq--- > *** Exception: (-?-): cannot apply `(?) :: * -> * -> *` to `x :: Int' and `q :: Bool'. Unhandled types?+-- > *** Exception: (-?-): unhandled type: 1 :: Int, False :: Bool+-- > accepted types are:+-- > (?) :: Int -> Int -> Int+-- > (?) :: Bool -> Bool -> Bool+-- > (?) :: Char -> Char -> Char+-- > (?) :: [Int] -> [Int] -> [Int]+-- > (?) :: [Char] -> [Char] -> [Char]+-- > (?) :: Int -> [Int] -> [Int]+-- > (?) :: Char -> [Char] -> [Char] (-?-) :: Expr -> Expr -> Expr-ex -?- ey = fromMaybe err $ ($$ ey) $ headOr err $ mapMaybe ($$ ex)+(-?-) = mk2 "(-?-)" [ var "?" (undefined :: Int -> Int -> Int) , var "?" (undefined :: Bool -> Bool -> Bool) , var "?" (undefined :: Char -> Char -> Char) , var "?" (undefined :: [Int] -> [Int] -> [Int]) , var "?" (undefined :: String -> String -> String)+ , var "?" (undefined :: Int -> [Int] -> [Int])+ , var "?" (undefined :: Char -> String -> String) ]- where- err = error $ "(-?-): cannot apply `(?) :: * -> * -> *` to `"- ++ show ex ++ "' and `" ++ show ey ++ "'. Unhandled types?" -- | A variable binary operator @?@ encoded as an 'Expr' (cf. '-?-') --@@ -645,18 +671,21 @@ -- > p `o` q :: Bool -- -- > > xx `oo` qq--- > *** Exception: (-?-): cannot apply `o :: * -> * -> *` to `x :: Int' and `q :: Bool'. Unhandled types?+-- > *** Exception: oo: unhandled type: 1 :: Int, False :: Bool+-- > accepted types are:+-- > o :: Int -> Int -> Int+-- > o :: Bool -> Bool -> Bool+-- > o :: Char -> Char -> Char+-- > o :: [Int] -> [Int] -> [Int]+-- > o :: [Char] -> [Char] -> [Char] oo :: Expr -> Expr -> Expr-ex `oo` ey = fromMaybe err $ ($$ ey) $ headOr err $ mapMaybe ($$ ex)+oo = mk2 "oo" [ var "`o`" (undefined :: Int -> Int -> Int) , var "`o`" (undefined :: Bool -> Bool -> Bool) , var "`o`" (undefined :: Char -> Char -> Char) , var "`o`" (undefined :: [Int] -> [Int] -> [Int]) , var "`o`" (undefined :: String -> String -> String) ]- where- err = error $ "oo: cannot apply `o :: * -> * -> *` to `"- ++ show ex ++ "' and `" ++ show ey ++ "'. Unhandled types?" -- | A variable binary function @o@ encoded as an 'Expr' (cf. 'oo') --@@ -679,7 +708,7 @@ -- > > xx -+- (yy -+- zz) -- > x + (y + z) :: Int (-+-) :: Expr -> Expr -> Expr-e1 -+- e2 = plus :$ e1 :$ e2+e1 -+- e2 = plus :$ e1 :$ e2 infixl 6 -+- -- | The operator '+' for the 'Int' type. (See also '-+-'.)@@ -693,7 +722,7 @@ -- > > plus :$ xx :$ yy -- > x + y :: Int plus :: Expr-plus = value "+" ((+) :: Int -> Int -> Int)+plus = value "+" ((+) :: Int -> Int -> Int) -- | The operator '*' for the 'Int' type lifted over the 'Expr' type. (See also 'times'.) --@@ -706,7 +735,7 @@ -- > > two -*- xx -- > 2 * x :: Int (-*-) :: Expr -> Expr -> Expr-e1 -*- e2 = times :$ e1 :$ e2+e1 -*- e2 = times :$ e1 :$ e2 infixl 7 -*- -- | The operator '*' for the 'Int' type. (See also '-*-'.)@@ -821,7 +850,7 @@ -- > > evl (id' true) :: Bool -- > True :: Bool id' :: Expr -> Expr-id' e = headOr err $ mapMaybe ($$ e)+id' = mk1 "id'" [ idInt , idBool , idChar@@ -829,8 +858,6 @@ , idBools , idString ]- where- err = error $ "id': unhandled type " ++ show (typ e) -- | The function 'id' for the 'Int' type encoded as an 'Expr'. (See also 'id''.) --@@ -853,7 +880,7 @@ idInts = value "id" (id :: Id [Int]) idBools = value "id" (id :: Id [Bool]) idString = value "id" (id :: Id String)-type Id a = a -> a+type Id a = a -> a -- | The 'const' function lifted over the 'Expr' type. --@@ -862,7 +889,7 @@ -- -- This works for the argument types 'Int', 'Char', 'Bool' and their lists. const' :: Expr -> Expr -> Expr-const' e1 e2 = (:$ e2) . headOr err $ mapMaybe ($$ e1)+const' = mk2 "const'" [ value "const" (const :: Int -> Int -> Int) , value "const" (const :: Bool -> Bool -> Bool) , value "const" (const :: Char -> Char -> Char)@@ -870,8 +897,6 @@ , value "const" (const :: [Bool] -> [Bool] -> [Bool]) , value "const" (const :: String -> String -> String) ]- where- err = error $ "const': unhandled type " ++ show (typ e1) -- | 'negate' over the 'Int' type lifted over the 'Expr' type. --@@ -932,7 +957,7 @@ -- > > evl (odd' two) :: Bool -- > False odd' :: Expr -> Expr-odd' = (oddE :$) where oddE = value "odd" (odd :: Int -> Bool)+odd' = (oddE :$) where oddE = value "odd" (odd :: Int -> Bool) -- | 'even' with an 'Int' argument lifted over the 'Expr' type. --@@ -942,7 +967,7 @@ -- > > evl (even' two) :: Bool -- > True even' :: Expr -> Expr-even' = (evenE :$) where evenE = value "even" (even :: Int -> Bool)+even' = (evenE :$) where evenE = value "even" (even :: Int -> Bool) -- | A hole of 'Char' type encoded as an 'Expr'. --@@ -1049,14 +1074,14 @@ -- > > space -- > ' ' :: Char space :: Expr-space = val ' '+space = val ' ' -- | The line break character encoded as an 'Expr' -- -- > > lineBreak -- > '\n' :: Char lineBreak :: Expr-lineBreak = val '\n'+lineBreak = val '\n' -- | The 'ord' function lifted over 'Expr' --@@ -1066,11 +1091,11 @@ -- > > evl (ord' bee) -- > 98 ord' :: Expr -> Expr-ord' = (ordE :$)+ord' = (ordE :$) -- | The 'ord' function encoded as an 'Expr' ordE :: Expr-ordE = value "ord" ord+ordE = value "ord" ord -- | A typed hole of @[Int]@ type encoded as an 'Expr'. --@@ -1137,7 +1162,7 @@ consInt = value ":" ((:) :: Cons Int) consBool = value ":" ((:) :: Cons Bool) consChar = value ":" ((:) :: Cons Char)-type Cons a = a -> [a] -> [a]+type Cons a = a -> [a] -> [a] -- | 'unit' constructs a list with a single element. -- This works for elements of type 'Int', 'Char' and 'Bool'.@@ -1166,14 +1191,12 @@ -- > > bee -:- unit cee -- > "bc" :: [Char] (-:-) :: Expr -> Expr -> Expr-e1 -:- e2 = (:$ e2) . headOr err $ mapMaybe ($$ e1)+(-:-) = mk2 "(-:-)" [ consInt , consBool , consChar , value ":" ((:) :: Cons (Maybe Int)) ]- where- err = error $ "(-:-): unhandled type " ++ show (typ e1) infixr 5 -:- -- | Append for list of 'Int's encoded as an 'Expr'.@@ -1189,13 +1212,11 @@ -- > > (bee -:- unit cee) -:- unit dee -- > "bc" -++- "c" :: [Char] (-++-) :: Expr -> Expr -> Expr-e1 -++- e2 = (:$ e2) . headOr err $ mapMaybe ($$ e1)+(-++-) = mk2 "(-++-)" [ value "++" ((++) :: [Int] -> [Int] -> [Int]) , value "++" ((++) :: String -> String -> String) , value "++" ((++) :: [Bool] -> [Bool] -> [Bool]) ]- where- err = error $ "(-++-): unhandled type " ++ show (typ e1) infixr 5 -++- -- | List 'head' lifted over the 'Expr' type.@@ -1213,13 +1234,11 @@ -- > > evl $ head' $ unit one :: Int -- > 1 head' :: Expr -> Expr-head' exs = headOr err $ mapMaybe ($$ exs)+head' = mk1 "head'" [ value "head" (head :: [Int] -> Int) , value "head" (head :: [Char] -> Char) , value "head" (head :: [Bool] -> Bool) ]- where- err = error $ "head': cannot apply `head :: [a] -> a` to `" ++ show exs ++ "'." -- | List 'tail' lifted over the 'Expr' type. -- Works for the element types 'Int', 'Char' and 'Bool'.@@ -1236,13 +1255,11 @@ -- > > evl $ tail' $ zero -:- unit two :: [Int] -- > [2] tail' :: Expr -> Expr-tail' exs = headOr err $ mapMaybe ($$ exs)+tail' = mk1 "tail'" [ value "tail" (tail :: [Int] -> [Int]) , value "tail" (tail :: [Char] -> [Char]) , value "tail" (tail :: [Bool] -> [Bool]) ]- where- err = error $ "tail': unhandled type " ++ show (typ exs) -- | List 'null' lifted over the 'Expr' type. -- Works for the element types 'Int', 'Char' and 'Bool'.@@ -1256,13 +1273,11 @@ -- > > evl $ null' nil :: Bool -- > True null' :: Expr -> Expr-null' exs = headOr err $ mapMaybe ($$ exs)+null' = mk1 "null'" [ value "null" (null :: [Int] -> Bool) , value "null" (null :: [Char] -> Bool) , value "null" (null :: [Bool] -> Bool) ]- where- err = error $ "null': unhandled type " ++ show (typ exs) -- | List 'length' lifted over the 'Expr' type. -- Works for the element types 'Int', 'Char' and 'Bool'.@@ -1279,13 +1294,11 @@ -- > > evl $ length' $ unit one :: Int -- > 1 length' :: Expr -> Expr-length' exs = headOr err $ mapMaybe ($$ exs)+length' = mk1 "length'" [ value "length" (length :: [Int] -> Int) , value "length" (length :: [Char] -> Int) , value "length" (length :: [Bool] -> Int) ]- where- err = error $ "length': cannot apply `length :: [a] -> a` to `" ++ show exs ++ "'." -- | List 'init' lifted over the 'Expr' type. -- Works for the element types 'Int', 'Char' and 'Bool'.@@ -1302,13 +1315,11 @@ -- > > evl $ init' $ zero -:- unit two :: [Int] -- > [0] init' :: Expr -> Expr-init' exs = headOr err $ mapMaybe ($$ exs)+init' = mk1 "init'" [ value "init" (init :: [Int] -> [Int]) , value "init" (init :: [Char] -> [Char]) , value "init" (init :: [Bool] -> [Bool]) ]- where- err = error $ "init': unhandled type " ++ show (typ exs) -- | List 'sort' lifted over the 'Expr' type. -- Works for the element types 'Int', 'Char' and 'Bool'.@@ -1325,13 +1336,11 @@ -- > > evl $ sort' $ two -:- unit one :: [Int] -- > [1,2] sort' :: Expr -> Expr-sort' exs = headOr err $ mapMaybe ($$ exs)+sort' = mk1 "sort'" [ value "sort" (sort :: [Int] -> [Int]) , value "sort" (sort :: [Char] -> [Char]) , value "sort" (sort :: [Bool] -> [Bool]) ]- where- err = error $ "sort': unhandled type " ++ show (typ exs) -- | List 'insert' lifted over the 'Expr' type. -- Works for the element types 'Int', 'Char' and 'Bool'.@@ -1342,13 +1351,11 @@ -- > > insert' false (false -:- unit true) -- > insert False [False,True] :: [Bool] insert' :: Expr -> Expr -> Expr-insert' ex exs = (:$ exs) . headOr err $ mapMaybe ($$ ex)+insert' = mk2 "insert'" [ value "insert" (insert :: Int -> [Int] -> [Int]) , value "insert" (insert :: Bool -> [Bool] -> [Bool]) , value "insert" (insert :: Char -> String -> String) ]- where- err = error $ "insert': unhandled type " ++ show (typ ex) -- | List 'elem' lifted over the 'Expr' type. -- Works for the element types 'Int', 'Char' and 'Bool'.@@ -1359,13 +1366,11 @@ -- > > evl $ elem' false (false -:- unit true) :: Bool -- > True elem' :: Expr -> Expr -> Expr-elem' ex exs = (:$ exs) . headOr err $ mapMaybe ($$ ex)+elem' = mk2 "elem'" [ value "elem" (elem :: Int -> [Int] -> Bool) , value "elem" (elem :: Bool -> [Bool] -> Bool) , value "elem" (elem :: Char -> String -> Bool) ]- where- err = error $ "elem': unhandled type " ++ show (typ ex) -- | '$' lifted over 'Expr's --@@ -1374,7 +1379,7 @@ -- -- Works for 'Int', 'Bool', 'Char' argument types and their lists. (-$-) :: Expr -> Expr -> Expr-ef -$- ex = (:$ ex) . headOr err $ mapMaybe ($$ ef)+(-$-) = mk2 "(-$-)" [ value "$" (($) :: Apply Int) , value "$" (($) :: Apply Bool) , value "$" (($) :: Apply Char)@@ -1382,10 +1387,8 @@ , value "$" (($) :: Apply [Bool]) , value "$" (($) :: Apply [Char]) ]- where- err = error $ "(-$-): unhandled type " ++ show (typ ef) infixl 6 -$--type Apply a = (a -> a) -> a -> a+type Apply a = (a -> a) -> a -> a -- | Constructs an equation between two 'Expr's. --@@ -1397,7 +1400,7 @@ -- -- This works for the 'Int', 'Bool', 'Char' argument types and their lists. (-==-) :: Expr -> Expr -> Expr-ex -==- ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+(-==-) = mk2 "(-==-)" [ value "==" ((==) :: Comparison ()) , value "==" ((==) :: Comparison Int) , value "==" ((==) :: Comparison Bool)@@ -1406,10 +1409,8 @@ , value "==" ((==) :: Comparison [Bool]) , value "==" ((==) :: Comparison [Char]) ]- where- err = error $ "(-==-): unhandled type " ++ show (typ ex) infix 4 -==--type Comparison a = a -> a -> Bool+type Comparison a = a -> a -> Bool -- | Constructs an inequation between two 'Expr's. --@@ -1419,7 +1420,7 @@ -- > > cc -/=- ae -- > c /= 'a' :: Bool (-/=-) :: Expr -> Expr -> Expr-ex -/=- ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+(-/=-) = mk2 "(-/=-)" [ value "/=" ((/=) :: Comparison ()) , value "/=" ((/=) :: Comparison Int) , value "/=" ((/=) :: Comparison Bool)@@ -1428,8 +1429,6 @@ , value "/=" ((/=) :: Comparison [Bool]) , value "/=" ((/=) :: Comparison [Char]) ]- where- err = error $ "(-/=-): unhandled type " ++ show (typ ex) infix 4 -/=- -- | Constructs a less-than-or-equal inequation between two 'Expr's.@@ -1440,7 +1439,7 @@ -- > > cc -<=- ae -- > c <= 'a' :: Bool (-<=-) :: Expr -> Expr -> Expr-ex -<=- ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+(-<=-) = mk2 "(-<=-)" [ value "<=" ((<=) :: Comparison ()) , value "<=" ((<=) :: Comparison Int) , value "<=" ((<=) :: Comparison Bool)@@ -1449,8 +1448,6 @@ , value "<=" ((<=) :: Comparison [Bool]) , value "<=" ((<=) :: Comparison [Char]) ]- where- err = error $ "(-<=-): unhandled type " ++ show (typ ex) infix 4 -<=- -- | Constructs a less-than inequation between two 'Expr's.@@ -1461,7 +1458,7 @@ -- > > cc -<- bee -- > c < 'b' :: Bool (-<-) :: Expr -> Expr -> Expr-ex -<- ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+(-<-) = mk2 "(-<-)" [ value "<" ((<) :: Comparison ()) , value "<" ((<) :: Comparison Int) , value "<" ((<) :: Comparison Bool)@@ -1470,8 +1467,6 @@ , value "<" ((<) :: Comparison [Bool]) , value "<" ((<) :: Comparison [Char]) ]- where- err = error $ "(-<-): unhandled type " ++ show (typ ex) infix 4 -<- -- | A function @if :: Bool -> a -> a -> a@ lifted over the 'Expr' type@@ -1490,7 +1485,7 @@ -- > > evl $ if' true (val 't') (val 'f') :: Char -- > 't' if' :: Expr -> Expr -> Expr -> Expr-if' ep ex ey = (:$ ey) . headOr err . mapMaybe ($$ ex) $ map (:$ ep)+if' = mk3 "if'" [ value "if" (iff :: If ()) , value "if" (iff :: If Int) , value "if" (iff :: If Bool)@@ -1500,10 +1495,9 @@ , value "if" (iff :: If [Char]) ] where- err = error $ "if': unhandled type " ++ show (typ ex) iff :: Bool -> a -> a -> a iff p x y = if p then x else y-type If a = Bool -> a -> a -> a+type If a = Bool -> a -> a -> a -- | A function @case :: Bool -> a -> a -> a@ lifted over the 'Expr' type -- that encodes case-of-False-True functionality.@@ -1528,7 +1522,7 @@ -- Instead of using this, you are perhaps better of using if encoded as an -- expression. This is just here to be consistent with 'caseOrdering'. caseBool :: Expr -> Expr -> Expr -> Expr-caseBool ep ex ey = (:$ ey) . headOr err . mapMaybe ($$ ex) $ map (:$ ep)+caseBool = mk3 "caseBool" [ value "case" (caseB :: CaseB ()) , value "case" (caseB :: CaseB Int) , value "case" (caseB :: CaseB Bool)@@ -1538,12 +1532,11 @@ , value "case" (caseB :: CaseB [Char]) ] where- err = error $ "caseBool: unhandled type " ++ show (typ ex) caseB :: Bool -> a -> a -> a caseB p x y = case p of False -> x True -> y-type CaseB a = Bool -> a -> a -> a+type CaseB a = Bool -> a -> a -> a -- | A function @case :: Ordering -> a -> a -> a -> a@ lifted over the 'Expr' type -- that encodes case-of-LT-EQ-GT functionality.@@ -1559,7 +1552,7 @@ -- By convention cases are given in 'LT', 'EQ' and 'GT' order -- as @LT < EQ < GT@ and @data Ordering = LT | EQ | GT@. caseOrdering :: Expr -> Expr -> Expr -> Expr -> Expr-caseOrdering eo ex ey ez = (:$ ez) . (:$ ey) . headOr err . mapMaybe ($$ ex) $ map (:$ eo)+caseOrdering = mk4 "caseOrdering" [ value "case" (caseO :: CaseO ()) , value "case" (caseO :: CaseO Int) , value "case" (caseO :: CaseO Bool)@@ -1569,13 +1562,12 @@ , value "case" (caseO :: CaseO [Char]) ] where- err = error $ "caseOrdering: unhandled type " ++ show (typ ex) caseO :: Ordering -> a -> a -> a -> a caseO o x y z = case o of LT -> x EQ -> y GT -> z-type CaseO a = Ordering -> a -> a -> a -> a+type CaseO a = Ordering -> a -> a -> a -> a -- | Constructs an 'Expr'-encoded 'compare' operation between two 'Expr's. --@@ -1585,7 +1577,7 @@ -- > > compare' ae bee -- > compare 'a' 'b' :: Ordering compare' :: Expr -> Expr -> Expr-compare' ex ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+compare' = mk2 "compare'" [ value "compare" (compare :: Compare ()) , value "compare" (compare :: Compare Int) , value "compare" (compare :: Compare Bool)@@ -1594,9 +1586,7 @@ , value "compare" (compare :: Compare [Bool]) , value "compare" (compare :: Compare [Char]) ]- where- err = error $ "(-<-): unhandled type " ++ show (typ ex)-type Compare a = a -> a -> Ordering+type Compare a = a -> a -> Ordering -- | 'Nothing' bound to the 'Maybe' 'Int' type encoded as an 'Expr'. --@@ -1629,67 +1619,63 @@ -- > > just false -- > Just False :: Maybe Bool just :: Expr -> Expr-just ex = headOr err $ mapMaybe ($$ ex)+just = mk1 "just" [ justInt , justBool ]- where- err = error $ "just: unhandled type " ++ show (typ ex) -- | An infix synonym of 'pair'. (-|-) :: Expr -> Expr -> Expr-(-|-) = pair+(-|-) = pair -- | The pair constructor lifted over 'Expr's. -- -- This works for the 'Int' and 'Bool' element types -- by differently from 'foldPair' by returning a well-typed expression. pair :: Expr -> Expr -> Expr-pair x y = comma :$ x :$ y- where- comma = case (show $ typ x, show $ typ y) of- ("Int", "Int") -> value "," ((,) :: Pair Int Int)- ("Int", "Bool") -> value "," ((,) :: Pair Int Bool)- ("Bool","Int") -> value "," ((,) :: Pair Bool Int)- ("Bool","Bool") -> value "," ((,) :: Pair Bool Bool)- (t,t') -> error $ "(-:-): unhandled types " ++ t ++ " " ++ t'-type Pair a b = a -> b -> (a,b)+pair = mk2 "pair"+ [ value "," ((,) :: Pair Int Int)+ , value "," ((,) :: Pair Int Bool)+ , value "," ((,) :: Pair Bool Int)+ , value "," ((,) :: Pair Bool Bool)+ ]+type Pair a b = a -> b -> (a,b) -- | The pair constructor (@ :: ... -> (Int,Int) @) encoded as an 'Expr'. comma :: Expr-comma = value "," ((,) :: Pair Int Int)+comma = value "," ((,) :: Pair Int Int) -- | The triple/trio constructor lifted over 'Expr's. -- -- This only works for the 'Int' element type. triple :: Expr -> Expr -> Expr -> Expr-triple e1 e2 e3 = ccE :$ e1 :$ e2 :$ e3+triple e1 e2 e3 = ccE :$ e1 :$ e2 :$ e3 where- ccE = value ",," ((,,) :: Int -> Int -> Int -> (Int,Int,Int))+ ccE = value ",," ((,,) :: Int -> Int -> Int -> (Int,Int,Int)) -- | The quadruple constructor lifted over 'Expr's. -- -- This only works for the 'Int' element type. quadruple :: Expr -> Expr -> Expr -> Expr -> Expr-quadruple e1 e2 e3 e4 = cccE :$ e1 :$ e2 :$ e3 :$ e4+quadruple e1 e2 e3 e4 = cccE :$ e1 :$ e2 :$ e3 :$ e4 where- cccE = value ",,," ((,,,) :: Int -> Int -> Int -> Int -> (Int,Int,Int,Int))+ cccE = value ",,," ((,,,) :: Int -> Int -> Int -> Int -> (Int,Int,Int,Int)) -- | The quintuple constructor lifted over 'Expr's. -- -- This only works for the 'Int' element type. quintuple :: Expr -> Expr -> Expr -> Expr -> Expr -> Expr-quintuple e1 e2 e3 e4 e5 = ccccE :$ e1 :$ e2 :$ e3 :$ e4 :$ e5+quintuple e1 e2 e3 e4 e5 = ccccE :$ e1 :$ e2 :$ e3 :$ e4 :$ e5 where- ccccE = value ",,,," ((,,,,) :: Int -> Int -> Int -> Int -> Int -> (Int,Int,Int,Int,Int))+ ccccE = value ",,,," ((,,,,) :: Int -> Int -> Int -> Int -> Int -> (Int,Int,Int,Int,Int)) -- | The sixtuple constructor lifted over 'Expr's. -- -- This only works for the 'Int' element type. sixtuple :: Expr -> Expr -> Expr -> Expr -> Expr -> Expr -> Expr-sixtuple e1 e2 e3 e4 e5 e6 = cccccE :$ e1 :$ e2 :$ e3 :$ e4 :$ e5 :$ e6+sixtuple e1 e2 e3 e4 e5 e6 = cccccE :$ e1 :$ e2 :$ e3 :$ e4 :$ e5 :$ e6 where- cccccE = value ",,,,," ((,,,,,) :: Int -> Int -> Int -> Int -> Int -> Int -> (Int,Int,Int,Int,Int,Int))+ cccccE = value ",,,,," ((,,,,,) :: Int -> Int -> Int -> Int -> Int -> Int -> (Int,Int,Int,Int,Int,Int)) -- | A typed hole of @[Bool]@ type encoded as an 'Expr'. --@@ -1790,7 +1776,7 @@ -- -- This works for 'Int', 'Bool', 'Char' and their lists. (-.-) :: Expr -> Expr -> Expr-ex -.- ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+(-.-) = mk2 "(-.-)" [ value "." ((.) :: Compose ()) , value "." ((.) :: Compose Int) , value "." ((.) :: Compose Bool)@@ -1799,9 +1785,7 @@ , value "." ((.) :: Compose [Bool]) , value "." ((.) :: Compose [Char]) ]- where- err = error $ "(-.-): unhandled type " ++ show (typ ex)-type Compose a = (a -> a) -> (a -> a) -> (a -> a)+type Compose a = (a -> a) -> (a -> a) -> (a -> a) -- | 'map' over the 'Int' element type encoded as an 'Expr' --@@ -1815,7 +1799,7 @@ -- > > map' absE (unit one) -- > map abs [1] :: [Int] map' :: Expr -> Expr -> Expr-map' ef exs = (:$ exs) . headOr err $ mapMaybe ($$ ef)+map' = mk2 "map'" [ value "map" (map :: Map ()) , value "map" (map :: Map Int) , value "map" (map :: Map Bool)@@ -1824,9 +1808,7 @@ , value "map" (map :: Map [Bool]) , value "map" (map :: Map [Char]) ]- where- err = error $ "map': unhandled type " ++ show (typ ef)-type Map a = (a -> a) -> [a] -> [a]+type Map a = (a -> a) -> [a] -> [a] -- | 'enumFrom' lifted over 'Expr's. --@@ -1835,42 +1817,38 @@ -- -- Works for 'Int's, 'Bool's and 'Char's. enumFrom' :: Expr -> Expr-enumFrom' ex = headOr err $ mapMaybe ($$ ex)+enumFrom' = mk1 "enumFrom'" [ value "enumFrom" (enumFrom :: EnumFrom Int) , value "enumFrom" (enumFrom :: EnumFrom Bool) , value "enumFrom" (enumFrom :: EnumFrom Char) ]- where- err = error $ "enumFrom': unhandled type " ++ show (typ ex) type EnumFrom a = (a -> [a]) -- | 'enumFrom' lifted over 'Expr's named as @".."@ for pretty-printing. ----- > > (-..) one+-- > > one -.. () -- > [1..] :: [Int] -- -- Works for 'Int's, 'Bool's and 'Char's.-(-..) :: Expr -> Expr-(-..) ex = headOr err $ mapMaybe ($$ ex)- [ value ".." (enumFrom :: EnumFrom Int)- , value ".." (enumFrom :: EnumFrom Bool)- , value ".." (enumFrom :: EnumFrom Char)- ]+(-..) :: Expr -> () -> Expr+e -.. _ = mk e where- err = error $ "(-..): unhandled type " ++ show (typ ex)+ mk = mk1 "(-..)"+ [ value ".." (enumFrom :: EnumFrom Int)+ , value ".." (enumFrom :: EnumFrom Bool)+ , value ".." (enumFrom :: EnumFrom Char)+ ] -- | 'enumFromTo' lifted over 'Expr's -- -- > > enumFromTo' zero four -- > enumFromTo 0 4 :: [Int] enumFromTo' :: Expr -> Expr -> Expr-enumFromTo' ex ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+enumFromTo' = mk2 "enumFromTo'" [ value "enumFromTo" (enumFromTo :: EnumFromTo Int) , value "enumFromTo" (enumFromTo :: EnumFromTo Bool) , value "enumFromTo" (enumFromTo :: EnumFromTo Char) ]- where- err = error $ "enumFromTo': unhandled type " ++ show (typ ex) type EnumFromTo a = (a -> a -> [a]) -- | 'enumFromTo' lifted over 'Expr's but named as @".."@ for pretty-printing.@@ -1878,64 +1856,58 @@ -- > > zero -..- four -- > [0..4] :: [Int] (-..-) :: Expr -> Expr -> Expr-ex -..- ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+(-..-) = mk2 "(-..-)" [ value ".." (enumFromTo :: EnumFromTo Int) , value ".." (enumFromTo :: EnumFromTo Bool) , value ".." (enumFromTo :: EnumFromTo Char) ]- where- err = error $ "-..-: unhandled type " ++ show (typ ex) -- | 'enumFromThen' lifted over 'Expr's -- -- > > enumFromThen' zero ten -- > enumFromThen 0 10 :: [Int] enumFromThen' :: Expr -> Expr -> Expr-enumFromThen' ex ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)+enumFromThen' = mk2 "enumFromThen'" [ value "enumFromThen" (enumFromThen :: EnumFromThen Int) , value "enumFromThen" (enumFromThen :: EnumFromThen Bool) , value "enumFromThen" (enumFromThen :: EnumFromThen Char) ]- where- err = error $ "enumFromThen': unhandled type " ++ show (typ ex) type EnumFromThen a = (a -> a -> [a]) -- | 'enumFromThen' lifted over 'Expr's but named as @",.."@ for pretty printing. ----- > > zero -... ten+-- > > (zero,ten) --.. () -- > [0,10..] :: [Int]-(-...) :: Expr -> Expr -> Expr-ex -... ey = (:$ ey) . headOr err $ mapMaybe ($$ ex)- [ value ",.." (enumFromThen :: EnumFromThen Int)- , value ",.." (enumFromThen :: EnumFromThen Bool)- , value ",.." (enumFromThen :: EnumFromThen Char)- ]+(--..) :: (Expr,Expr) -> () -> Expr+(e1,e2) --.. _ = mk e1 e2 where- err = error $ "-..-: unhandled type " ++ show (typ ex)+ mk = mk2 "(--..)"+ [ value ",.." (enumFromThen :: EnumFromThen Int)+ , value ",.." (enumFromThen :: EnumFromThen Bool)+ , value ",.." (enumFromThen :: EnumFromThen Char)+ ] -- | 'enumFromThenTo' lifted over 'Expr's. -- -- > > enumFromThenTo' zero two ten -- > enumFromThenTo 0 2 10 :: [Int] enumFromThenTo' :: Expr -> Expr -> Expr -> Expr-enumFromThenTo' ex ey ez = (:$ ez) . (:$ ey) . headOr err $ mapMaybe ($$ ex)+enumFromThenTo' = mk3 "enumFromThenTo'" [ value "enumFromThenTo" (enumFromThenTo :: EnumFromThenTo Int) , value "enumFromThenTo" (enumFromThenTo :: EnumFromThenTo Bool) , value "enumFromThenTo" (enumFromThenTo :: EnumFromThenTo Char) ]- where- err = error $ "enumFromThenTo': unhandled type " ++ show (typ ex) type EnumFromThenTo a = (a -> a -> a -> [a]) -- | 'enumFromThenTo' lifted over 'Expr's but named as @",.."@ for pretty-printing. ----- > > (zero -...- two) ten+-- > > (zero,two) --..- ten -- > [0,2..10] :: [Int]-(-...-) :: Expr -> Expr -> Expr -> Expr-(ex -...- ey) ez = (:$ ez) . (:$ ey) . headOr err $ mapMaybe ($$ ex)- [ value ",.." (enumFromThenTo :: EnumFromThenTo Int)- , value ",.." (enumFromThenTo :: EnumFromThenTo Bool)- , value ",.." (enumFromThenTo :: EnumFromThenTo Char)- ]+(--..-) :: (Expr,Expr) -> Expr -> Expr+(e1, e2) --..- e3 = mk e1 e2 e3 where- err = error $ "-..-: unhandled type " ++ show (typ ex)+ mk = mk3 "(--..-)"+ [ value ",.." (enumFromThenTo :: EnumFromThenTo Int)+ , value ",.." (enumFromThenTo :: EnumFromThenTo Bool)+ , value ",.." (enumFromThenTo :: EnumFromThenTo Char)+ ]
src/Data/Express/Fold.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Fold--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -82,7 +82,7 @@ unfoldPair :: Expr -> (Expr,Expr) unfoldPair (Value "," _ :$ e1 :$ e2) = (e1,e2) unfoldPair (Value "(,)" _ :$ e1 :$ e2) = (e1,e2)-unfoldPair _ = error "unfoldPair: not an Expr pair"+unfoldPair e = errorOn "unfoldPair" $ "not an Expr pair: " ++ show e data ExprTrio = ExprTrio @@ -125,7 +125,7 @@ unfoldTrio :: Expr -> (Expr,Expr,Expr) unfoldTrio (Value ",," _ :$ e1 :$ e2 :$ e3) = (e1,e2,e3) unfoldTrio (Value "(,,)" _ :$ e1 :$ e2 :$ e3) = (e1,e2,e3)-unfoldTrio _ = error "unfoldTrio: not an Expr trio"+unfoldTrio e = errorOn "unfoldTrio" $ "not an Expr trio: " ++ show e data ExprList = ExprList @@ -162,12 +162,16 @@ -- > > unfold $ expr [1,2,3::Int] -- > [1 :: Int,2 :: Int,3 :: Int] unfold :: Expr -> [Expr]+unfold (Value "\"\"" _) = [] unfold (Value "[]" _) = [] unfold (Value ":" _ :$ e :$ es) = e : unfold es-unfold e = error $ "unfold: cannot unfold expression: " ++ show e+unfold e = errorOn "unfold" $ "cannot unfold expression: " ++ show e #if __GLASGOW_HASKELL__ == 708 deriving instance Typeable ExprPair deriving instance Typeable ExprTrio deriving instance Typeable ExprList #endif++errorOn :: String -> String -> a+errorOn fn msg = error $ "Data.Express." ++ fn ++ ": " ++ msg
src/Data/Express/Hole.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Hole--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -43,14 +43,17 @@ -- > > "p" `varAsTypeOf` val False -- > p :: Bool varAsTypeOf :: String -> Expr -> Expr-varAsTypeOf n = Value ('_':n) . undefine . fromMaybe err . toDynamic+varAsTypeOf n e = Value ('_':n) . undefine . fromMaybe err . toDynamic $ e where- err = error "varAsTypeOf: could not compile Dynamic value, type error?"+ err = error+ $ "Data.Express.varAsTypeOf: could not compile Dynamic value for `"+ ++ show e+ ++ "' with name " ++ n undefine :: Dynamic -> Dynamic #if __GLASGOW_HASKELL__ >= 806- undefine (Dynamic t v) = (Dynamic t undefined)+ undefine (Dynamic t v) = (Dynamic t undefined) #else- undefine = id -- there's no way to do this using the old Data.Dynamic API.+ undefine = id -- there's no way to do this using the old Data.Dynamic API. #endif -- | /O(1)/.@@ -62,7 +65,7 @@ -- > > holeAsTypeOf $ val (1::Int) -- > _ :: Int holeAsTypeOf :: Expr -> Expr-holeAsTypeOf = ("" `varAsTypeOf`)+holeAsTypeOf = ("" `varAsTypeOf`) -- | /O(1)/. -- Creates an 'Expr' representing a typed hole of the given argument type.@@ -79,7 +82,7 @@ -- > hole x = var "" x -- > hole x = value "_" x hole :: Typeable a => a -> Expr-hole a = var "" (undefined `asTypeOf` a)+hole a = var "" (undefined `asTypeOf` a) -- | /O(1)/. -- Checks if an 'Expr' represents a typed hole.@@ -259,11 +262,11 @@ -- > > fill (i_ -+- i_ -+- i_) [xx, val 'c', yy] -- > (x + _) + _ :: Int fill :: Expr -> [Expr] -> Expr-fill e = fst . fill' e+fill e = fst . fill' e where fill' :: Expr -> [Expr] -> (Expr,[Expr])- fill' (e1 :$ e2) es = let (e1',es') = fill' e1 es- (e2',es'') = fill' e2 es'- in (e1' :$ e2', es'')- fill' eh (e:es) | isHole eh && typ eh == typ e = (e,es)- fill' e es = (e,es)+ fill' (e1 :$ e2) es = let (e1',es') = fill' e1 es+ (e2',es'') = fill' e2 es'+ in (e1' :$ e2', es'')+ fill' eh (e:es) | isHole eh && typ eh == typ e = (e,es)+ fill' e es = (e,es)
src/Data/Express/Instances.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Instances--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -129,7 +129,7 @@ , value "/=" (/=) ] where- x /= y = not (x == y)+ x /= y = not (x == y) -- | /O(1)/. -- Builds a reified 'Ord' instance from the given 'compare' function.@@ -265,7 +265,7 @@ e1e <- findValidApp os e1 e1e $$ e2 where- os = [eq | eq@(Value n _) <- is, n == n']+ os = [eq | eq@(Value n _) <- is, n == n'] -- | /O(n+m)./ -- Returns an equation between two expressions@@ -308,12 +308,12 @@ -- > > lookupName [] (val False) -- > "x" lookupName :: [Expr] -> Expr -> String-lookupName is e = fromMaybe d $ eval "x" <$> findValidApp es e+lookupName is e = maybe d (eval "x") (findValidApp es e) where t = typ e d | isFunTy t = "f" | otherwise = 'x' : replicate (countListTy t) 's'- es = [e | e@(Value "name" _) <- is]+ es = [e | e@(Value "name" _) <- is] -- | /O(n+m)./ -- A mix between 'lookupName' and 'names':@@ -352,7 +352,7 @@ -- A list of reified 'Name' instances -- for an arbitrary selection of types from the Haskell "Prelude". preludeNameInstances :: [Expr]-preludeNameInstances = concat+preludeNameInstances = concat [ reifyName (u :: ()) , reifyName (u :: Bool) , reifyName (u :: Int)
src/Data/Express/Map.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Map--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -185,7 +185,7 @@ -- Given that the argument list has length /m/, -- this function is /O(n*m)/. (//-) :: Expr -> [(Expr,Expr)] -> Expr-e //- s = mapValues (flip lookupId s) e+e //- s = mapValues (`lookupId` s) e -- | /O(n*n*m)/. -- Substitute subexpressions in an expression@@ -221,7 +221,7 @@ -- comparing two expressions is /O(n)/ in the worst case, -- and we may need to compare with /n/ subexpressions in the worst case. (//) :: Expr -> [(Expr,Expr)] -> Expr-e // s = mapSubexprs (flip lookup s) e+e // s = mapSubexprs (`lookup` s) e -- | Rename variables in an 'Expr'. --@@ -241,5 +241,5 @@ renameVarsBy :: (String -> String) -> Expr -> Expr renameVarsBy f = mapValues f' where- f' (Value ('_':n) t) = Value ('_':f n) t- f' e = e+ f' (Value ('_':n) t) = Value ('_':f n) t+ f' e = e
src/Data/Express/Match.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Match--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -45,7 +45,7 @@ -- > (zero -+- (one -+- two)) `match` (xx -+- yy) = Just [(xx,zero), (yy,one-+-two)] -- > (zero -+- (one -+- two)) `match` (xx -+- (yy -+- yy)) = Nothing match :: Expr -> Expr -> Maybe [(Expr,Expr)]-match = matchWith []+match = matchWith [] -- | -- Like 'match' but allowing predefined bindings.@@ -53,7 +53,7 @@ -- > matchWith [(xx,zero)] (zero -+- one) (xx -+- yy) = Just [(xx,zero), (yy,one)] -- > matchWith [(xx,one)] (zero -+- one) (xx -+- yy) = Nothing matchWith :: [(Expr,Expr)] -> Expr -> Expr -> Maybe [(Expr,Expr)]-matchWith bs e1' e2' = m e1' e2' bs+matchWith bs e1' e2' = m e1' e2' bs where m :: Expr -> Expr -> [(Expr,Expr)] -> Maybe [(Expr,Expr)] m (f1 :$ x1) (f2 :$ x2) = m f1 f2 >=> m x1 x2@@ -63,12 +63,12 @@ | otherwise = const Nothing updateAssignments :: (Expr,Expr) -> [(Expr,Expr)] -> Maybe [(Expr,Expr)]-updateAssignments (e,e') = \bs ->+updateAssignments (e,e') = \bs -> case lookup e bs of- Nothing -> Just ((e,e'):bs)- Just e'' -> if e'' == e'- then Just bs- else Nothing+ Nothing -> Just ((e,e'):bs)+ Just e'' -> if e'' == e'+ then Just bs+ else Nothing -- | -- Given two 'Expr's,@@ -94,7 +94,7 @@ -- > (zero -+- (yy -+- xx)) `isInstanceOf` (zero -+- yy) = True -- > (one -+- (yy -+- xx)) `isInstanceOf` (zero -+- yy) = False isInstanceOf :: Expr -> Expr -> Bool-e1 `isInstanceOf` e2 = isJust $ e1 `match` e2+e1 `isInstanceOf` e2 = isJust $ e1 `match` e2 -- |@@ -129,4 +129,4 @@ -- > > xx `isSubexprOf` yy -- > False isSubexprOf :: Expr -> Expr -> Bool-isSubexprOf e = (e `elem`) . subexprs+isSubexprOf e = (e `elem`) . subexprs
src/Data/Express/Name.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Name--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -141,10 +141,10 @@ instance (Name a, Name b) => Name (Either a b) where name exy = "e" ++ n ++ m where- Left x = exy- Right y = exy- n = name x- m = head $ names y \\ [n]+ Left x = exy+ Right y = exy+ n = name x+ (m:_) = delete n $ names y -- | -- > names (undefined :: (Int,Int)) = ["xy", "zw", "xy'", ...]@@ -153,8 +153,8 @@ name xy = n ++ m where (x,y) = xy- n = name x- m = head $ names y \\ [n]+ n = name x+ (m:_) = delete n $ names y -- | -- > names (undefined :: (Int,Int,Int)) = ["xyz","uvw", ...]@@ -163,9 +163,9 @@ name xyz = n ++ m ++ o where (x,y,z) = xyz- n = name x- m = head $ names y \\ [n]- o = head $ names z \\ [n,m]+ n = name x+ (m:_) = names y \\ [n]+ (o:_) = names z \\ [n,m] -- | -- > names (undefined :: ((),(),(),())) = ["uuuu", "uuuu1", ...]@@ -177,7 +177,7 @@ -- > names (undefined :: [Int]) = ["xs", "ys", "zs", "xs'", ...] -- > names (undefined :: [Bool]) = ["ps", "qs", "rs", "ps'", ...] instance Name a => Name [a] where- name xs = name (head xs) ++ "s"+ name xs = name x ++ "s" where (x:_) = xs -- | -- Returns na infinite list of variable names from the given type:
src/Data/Express/Name/Derive.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE TemplateHaskell, CPP #-} -- | -- Module : Data.Express.Name.Derive--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --
src/Data/Express/Triexpr.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Triexpr--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -47,7 +47,7 @@ -- -- In the representation, -- 'Nothing' matches an App and 'Just' 'Expr' an expression.-data Triexpr a = Triexpr [(Maybe Expr, Either (Triexpr a) (Expr,a))]+newtype Triexpr a = Triexpr [(Maybe Expr, Either (Triexpr a) (Expr,a))] deriving (Eq, Ord, Show) -- | An empty 'Triexpr'.
src/Data/Express/Utils.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Utils.List--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --
src/Data/Express/Utils/List.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Utils.List--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -13,6 +13,7 @@ , isPermutationOf , isSubsetOf , isNub+ , none , lookupId , (+++) , module Data.List@@ -92,6 +93,16 @@ -- > isNub [2,1,2] = False isNub :: Ord a => [a] -> Bool isNub xs = length (nubSort xs) == length xs++-- | Determines whether no element of the given list satisfies the predicate.+--+-- > > none even [3,5,7,11,13]+-- > True+--+-- > > none even [7,5,3,2]+-- > False+none :: (a -> Bool) -> [a] -> Bool+none p = not . any p -- | /O(n)/. -- Like 'lookup' but returns the key itself if nothing is found.
src/Data/Express/Utils/String.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Utils.String--- Copyright : (c) 2016-2021 Rudy Matela+-- Copyright : (c) 2016-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -22,6 +22,7 @@ where import Data.Char+import Data.Express.Utils.List -- | Unquotes a string if possible, otherwise, this is just an identity. --@@ -58,7 +59,7 @@ -- -- but this does not cause problems for (all?) most cases. atomic :: String -> Bool-atomic s | all (not . isSpace) s = True+atomic s | none isSpace s = True atomic ('\'':s) | last s == '\'' = True atomic ('"':s) | last s == '"' = True atomic ('[':s) | last s == ']' = True@@ -100,8 +101,8 @@ -- > isInfix "`foo`" == True -- > isInfix "+" == True isInfix :: String -> Bool-isInfix (c:_) = c `notElem` "()'\"[_" && not (isAlphaNum c)-isInfix "" = error "isInfix: empty string"+isInfix (c:_) = c `notElem` "()'\"[_" && not (isAlphaNum c)+isInfix "" = False -- | Returns the precedence of default Haskell operators prec :: String -> Int
src/Data/Express/Utils/TH.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE TemplateHaskell, CPP #-} -- | -- Module : Data.Express.Name.Derive--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -52,7 +52,7 @@ is <- t `isInstanceOf` cls if is then do- unless (not warnExisting)+ when warnExisting (reportWarning $ "Instance " ++ showJustName cls ++ " " ++ showJustName t ++ " already exists, skipping derivation") return []@@ -78,40 +78,37 @@ reallyDeriveCascading cls reallyDerive t = return . concat =<< mapM reallyDerive- =<< filterM (liftM not . isTypeSynonym)+ =<< filterM (fmap not . isTypeSynonym) =<< return . (t:) . delete t =<< t `typeConCascadingArgsThat` (`isntInstanceOf` cls) typeConArgs :: Name -> Q [Name]-typeConArgs t = do+typeConArgs t = do is <- isTypeSynonym t if is- then liftM typeConTs $ typeSynonymType t- else liftM (nubMerges . map typeConTs . concat . map snd) $ typeConstructors t+ then typeConTs `fmap` typeSynonymType t+ else (nubMerges . map typeConTs . concatMap snd) `fmap` typeConstructors t where typeConTs :: Type -> [Name]- typeConTs (AppT t1 t2) = typeConTs t1 `nubMerge` typeConTs t2- typeConTs (SigT t _) = typeConTs t- typeConTs (VarT _) = []- typeConTs (ConT n) = [n]+ typeConTs (AppT t1 t2) = typeConTs t1 `nubMerge` typeConTs t2+ typeConTs (SigT t _) = typeConTs t+ typeConTs (VarT _) = []+ typeConTs (ConT n) = [n] #if __GLASGOW_HASKELL__ >= 800- -- typeConTs (PromotedT n) = [n] ?- typeConTs (InfixT t1 n t2) = typeConTs t1 `nubMerge` typeConTs t2- typeConTs (UInfixT t1 n t2) = typeConTs t1 `nubMerge` typeConTs t2- typeConTs (ParensT t) = typeConTs t+ -- typeConTs (PromotedT n) = [n] ?+ typeConTs (InfixT t1 n t2) = typeConTs t1 `nubMerge` typeConTs t2+ typeConTs (UInfixT t1 n t2) = typeConTs t1 `nubMerge` typeConTs t2+ typeConTs (ParensT t) = typeConTs t #endif- typeConTs _ = []+ typeConTs _ = [] typeConArgsThat :: Name -> (Name -> Q Bool) -> Q [Name]-typeConArgsThat t p = do- targs <- typeConArgs t- tbs <- mapM (\t' -> do is <- p t'; return (t',is)) targs- return [t' | (t',p) <- tbs, p]+t `typeConArgsThat` p = filterM p =<< typeConArgs t typeConCascadingArgsThat :: Name -> (Name -> Q Bool) -> Q [Name]-t `typeConCascadingArgsThat` p = do+t `typeConCascadingArgsThat` p = do ts <- t `typeConArgsThat` p- let p' t' = do is <- p t'; return $ t' `notElem` (t:ts) && is+ let p' t' = (t' `notElem` t:ts &&) `fmap` p t' tss <- mapM (`typeConCascadingArgsThat` p') ts return $ nubMerges (ts:tss) @@ -132,22 +129,26 @@ -- > > putStrLn $(stringE . show =<< normalizeType ''[]) -- > (AppT (ConT ''[]) (VarT a),[VarT a]) normalizeType :: Name -> Q (Type, [Type])-normalizeType t = do+normalizeType t = do ar <- typeArity t vs <- newVarTs ar return (foldl AppT (ConT t) vs, vs) where newNames :: [String] -> Q [Name]- newNames = mapM newName+ newNames = mapM newName newVarTs :: Int -> Q [Type]- newVarTs n = liftM (map VarT)- $ newNames (take n . map (:[]) $ cycle ['a'..'z'])+ newVarTs n = map VarT+ `fmap` newNames (take n . map (:[]) $ cycle ['a'..'z']) -- | -- Normalizes a type by applying it to units to make it star-kinded. -- (cf. 'normalizeType')+--+-- > normalizeTypeUnits ''Int === [t| Int |]+-- > normalizeTypeUnits ''Maybe === [t| Maybe () |]+-- > normalizeTypeUnits ''Either === [t| Either () () |] normalizeTypeUnits :: Name -> Q Type-normalizeTypeUnits t = do+normalizeTypeUnits t = do ar <- typeArity t return (foldl AppT (ConT t) (replicate ar (TupleT 0))) @@ -163,14 +164,14 @@ -- > > putStrLn $(stringE . show =<< ''Int `isInstanceOf` ''Fractional) -- > False isInstanceOf :: Name -> Name -> Q Bool-isInstanceOf tn cl = do+isInstanceOf tn cl = do ty <- normalizeTypeUnits tn isInstance cl [ty] -- | -- The negation of 'isInstanceOf'. isntInstanceOf :: Name -> Name -> Q Bool-isntInstanceOf tn cl = liftM not (isInstanceOf tn cl)+isntInstanceOf tn = fmap not . isInstanceOf tn -- | Given a type name, return the number of arguments taken by that type. -- Examples in partially broken TH:@@ -196,22 +197,22 @@ -- > > putStrLn $(stringE . show =<< typeArity ''String) -- > 0 ----- This works for Data's and Newtype's and it is useful when generating--- typeclass instances.+-- This works for data and newtype declarations and+-- it is useful when generating typeclass instances. typeArity :: Name -> Q Int-typeArity t = do- ti <- reify t- return . length $ case ti of+typeArity t = fmap arity $ reify t+ where+ arity = length . args #if __GLASGOW_HASKELL__ < 800- TyConI (DataD _ _ ks _ _) -> ks- TyConI (NewtypeD _ _ ks _ _) -> ks+ args (TyConI (DataD _ _ ks _ _)) = ks+ args (TyConI (NewtypeD _ _ ks _ _)) = ks #else- TyConI (DataD _ _ ks _ _ _) -> ks- TyConI (NewtypeD _ _ ks _ _ _) -> ks+ args (TyConI (DataD _ _ ks _ _ _)) = ks+ args (TyConI (NewtypeD _ _ ks _ _ _)) = ks #endif- TyConI (TySynD _ ks _) -> ks- _ -> error $ "error (typeArity): symbol " ++ show t- ++ " is not a newtype, data or type synonym"+ args (TyConI (TySynD _ ks _)) = ks+ args _ = errorOn "typeArity"+ $ "neither newtype nor data nor type synonym: " ++ show t -- | -- Given a type 'Name',@@ -236,23 +237,23 @@ -- > > putStrLn $(stringE . show =<< typeConstructors ''Point) -- > [('Pt,[ConT ''Int, ConT ''Int])] typeConstructors :: Name -> Q [(Name,[Type])]-typeConstructors t = do- ti <- reify t- return . map simplify $ case ti of+typeConstructors t = fmap (map normalize . cons) $ reify t+ where #if __GLASGOW_HASKELL__ < 800- TyConI (DataD _ _ _ cs _) -> cs- TyConI (NewtypeD _ _ _ c _) -> [c]+ cons (TyConI (DataD _ _ _ cs _)) = cs+ cons (TyConI (NewtypeD _ _ _ c _)) = [c] #else- TyConI (DataD _ _ _ _ cs _) -> cs- TyConI (NewtypeD _ _ _ _ c _) -> [c]+ cons (TyConI (DataD _ _ _ _ cs _)) = cs+ cons (TyConI (NewtypeD _ _ _ _ c _)) = [c] #endif- _ -> error $ "error (typeConstructors): symbol " ++ show t- ++ " is neither newtype nor data"- where- simplify (NormalC n ts) = (n,map snd ts)- simplify (RecC n ts) = (n,map trd ts)- simplify (InfixC t1 n t2) = (n,[snd t1,snd t2])- trd (x,y,z) = z+ cons _ = errorOn "typeConstructors"+ $ "neither newtype nor data: " ++ show t+ normalize (NormalC n ts) = (n,map snd ts)+ normalize (RecC n ts) = (n,map trd ts)+ normalize (InfixC t1 n t2) = (n,[snd t1,snd t2])+ normalize _ = errorOn "typeConstructors"+ $ "unexpected unhandled case when called with " ++ show t+ trd (x,y,z) = z -- | -- Is the given 'Name' a type synonym?@@ -266,11 +267,10 @@ -- > > putStrLn $(stringE . show =<< isTypeSynonym ''String) -- > True isTypeSynonym :: Name -> Q Bool-isTypeSynonym t = do- ti <- reify t- return $ case ti of- TyConI (TySynD _ _ _) -> True- _ -> False+isTypeSynonym = fmap is . reify+ where+ is (TyConI (TySynD _ _ _)) = True+ is _ = False -- | -- Resolves a type synonym.@@ -278,34 +278,30 @@ -- > > putStrLn $(stringE . show =<< typeSynonymType ''String) -- > AppT ListT (ConT ''Char) typeSynonymType :: Name -> Q Type-typeSynonymType t = do- ti <- reify t- return $ case ti of- TyConI (TySynD _ _ t') -> t'- _ -> error $ "error (typeSynonymType): symbol " ++ show t- ++ " is not a type synonym"+typeSynonymType t = fmap typ $ reify t+ where+ typ (TyConI (TySynD _ _ t')) = t'+ typ _ = errorOn "typeSynonymType" $ "not a type synonym: " ++ show t -- Append to instance contexts in a declaration. -- -- > sequence [[|Eq b|],[|Eq c|]] |=>| [t|instance Eq a => Cl (Ty a) where f=g|]--- > == [t| instance (Eq a, Eq b, Eq c) => Cl (Ty a) where f = g |]+-- > == [t| instance (Eq a, Eq b, Eq c) => Cl (Ty a) where f = g |] (|=>|) :: Cxt -> DecsQ -> DecsQ-c |=>| qds = do ds <- qds- return $ map (`ac` c) ds+c |=>| qds = map (=>++ c) `fmap` qds+ where #if __GLASGOW_HASKELL__ < 800- where ac (InstanceD c ts ds) c' = InstanceD (c++c') ts ds- ac d _ = d+ (InstanceD c ts ds) =>++ c' = InstanceD (c++c') ts ds #else- where ac (InstanceD o c ts ds) c' = InstanceD o (c++c') ts ds- ac d _ = d+ (InstanceD o c ts ds) =>++ c' = InstanceD o (c++c') ts ds #endif+ d =>++ _ = d (|++|) :: DecsQ -> DecsQ -> DecsQ (|++|) = liftM2 (++) mergeIFns :: DecsQ -> DecsQ-mergeIFns qds = do ds <- qds- return $ map m' ds+mergeIFns = fmap (map m') where #if __GLASGOW_HASKELL__ < 800 m' (InstanceD c ts ds) = InstanceD c ts [foldr1 m ds]@@ -315,9 +311,7 @@ FunD n cs1 `m` FunD _ cs2 = FunD n (cs1 ++ cs2) mergeI :: DecsQ -> DecsQ -> DecsQ-qds1 `mergeI` qds2 = do ds1 <- qds1- ds2 <- qds2- return $ ds1 `m` ds2+mergeI = liftM2 m where #if __GLASGOW_HASKELL__ < 800 [InstanceD c ts ds1] `m` [InstanceD _ _ ds2] = [InstanceD c ts (ds1 ++ ds2)]@@ -326,27 +320,26 @@ #endif whereI :: DecsQ -> [Dec] -> DecsQ-qds `whereI` w = do ds <- qds- return $ map (`aw` w) ds+qds `whereI` w = fmap (map (`aw` w)) qds+ where #if __GLASGOW_HASKELL__ < 800- where aw (InstanceD c ts ds) w' = InstanceD c ts (ds++w')- aw d _ = d+ aw (InstanceD c ts ds) w' = InstanceD c ts (ds++w') #else- where aw (InstanceD o c ts ds) w' = InstanceD o c ts (ds++w')- aw d _ = d+ aw (InstanceD o c ts ds) w' = InstanceD o c ts (ds++w') #endif+ aw d _ = d -- > nubMerge xs ys == nub (merge xs ys) -- > nubMerge xs ys == nub (sort (xs ++ ys)) nubMerge :: Ord a => [a] -> [a] -> [a]-nubMerge [] ys = ys-nubMerge xs [] = xs-nubMerge (x:xs) (y:ys) | x < y = x : xs `nubMerge` (y:ys)- | x > y = y : (x:xs) `nubMerge` ys- | otherwise = x : xs `nubMerge` ys+nubMerge [] ys = ys+nubMerge xs [] = xs+nubMerge (x:xs) (y:ys) | x < y = x : xs `nubMerge` (y:ys)+ | x > y = y : (x:xs) `nubMerge` ys+ | otherwise = x : xs `nubMerge` ys nubMerges :: Ord a => [[a]] -> [a]-nubMerges = foldr nubMerge []+nubMerges = foldr nubMerge [] typeConstructorsArgNames :: Name -> Q [(Name,[Name])] typeConstructorsArgNames t = do@@ -398,4 +391,7 @@ -- | Same as toBounded but lifted over 'Q' toBoundedQ :: TypeQ -> TypeQ-toBoundedQ = liftM toBounded+toBoundedQ = fmap toBounded++errorOn :: String -> String -> a+errorOn fn msg = error $ "Data.Express.Derive.Utils." ++ fn ++ ": " ++ msg
src/Data/Express/Utils/Typeable.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Data.Express.Utils.Typeable--- Copyright : (c) 2016-2021 Rudy Matela+-- Copyright : (c) 2016-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -76,11 +76,27 @@ -- > > showTyCon listTyCon -- > "[]" --+-- On GHC <= 9.6:+--+-- > > show unitTyCon+-- > "()"+--+-- On GHC >= 9.8:+--+-- > > show unitTyCon+-- > "Unit"+--+-- On all GHCs:+--+-- > > showTyCon unitTyCon+-- > "()"+-- -- Further exceptions to `show :: TyCon -> String` may be added here -- on future versions. showTyCon :: TyCon -> String showTyCon con | con == listTyCon = "[]"+ | con == unitTyCon = "()" | otherwise = show con -- | Returns the functional arity of the given 'TypeRep'.@@ -124,7 +140,7 @@ unFunTy :: TypeRep -> (TypeRep,TypeRep) unFunTy t | isFunTy t = let (f,[a,b]) = splitTyConApp t in (a,b)- | otherwise = error $ "error (unFunTy): `" ++ show t ++ "` is not a function type"+ | otherwise = errorOn "unFunTy" $ "`" ++ show t ++ "' is not a function type" -- | Returns the argument 'TypeRep' of a given functional 'TypeRep'. --@@ -161,11 +177,11 @@ -- > > > elementTy $ typeOf (undefined :: [Bool]) -- > Bool -- > > > elementTy $ typeOf (undefined :: Bool)--- > *** Exception: error (elementTy): `Bool' is not a list type+-- > *** Exception: Data.Express.Utils.Typeable.elementTy: `Bool' is not a list type elementTy :: TypeRep -> TypeRep elementTy t | isListTy t = let (_,[a]) = splitTyConApp t in a- | otherwise = error $ "error (elementTy): `" ++ show t ++ "' is not a list type"+ | otherwise = errorOn "elementTy" $ "`" ++ show t ++ "' is not a list type" -- | The 'Bool' type encoded as a 'TypeRep'. boolTy :: TypeRep@@ -187,6 +203,10 @@ listTyCon :: TyCon listTyCon = typeRepTyCon $ typeOf (undefined :: [()]) +-- | The unit type constructor as a 'TyCon'+unitTyCon :: TyCon+unitTyCon = typeRepTyCon $ typeOf (undefined :: ())+ -- | Returns whether a 'TypeRep' is functional. -- -- > > isFunTy $ typeOf (undefined :: Int -> Int)@@ -293,9 +313,12 @@ typesInList ts = nubSortBy compareTy $ tins ts [] where tin t = (t:) . tins (typeRepArgs t)- tins ts = foldr (.) id (map tin ts)+ tins = foldr ((.) . tin) id -- | An infix alias for 'mkFunTy'. It is right associative. (->::) :: TypeRep -> TypeRep -> TypeRep (->::) = mkFunTy infixr 9 ->::++errorOn :: String -> String -> a+errorOn fn msg = error $ "Data.Express.Utils.Typeable." ++ fn ++ ": " ++ msg
test/Test.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Test--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -33,7 +33,7 @@ ) where -import System.Environment (getArgs)+import System.Environment (getArgs, getProgName) import System.Exit (exitFailure) import Data.List (elemIndices) import Data.Typeable (TypeRep, typeOf)@@ -49,24 +49,25 @@ import Data.Express.Utils.List import Data.Express.Utils.Typeable -reportTests :: [Bool] -> IO ()-reportTests tests =+reportTests :: String -> [Bool] -> IO ()+reportTests s tests = case elemIndices False tests of- [] -> putStrLn "+++ Tests passed!"- is -> do putStrLn ("*** Failed tests:" ++ show is)+ [] -> putStrLn $ s ++ ": tests passed"+ is -> do putStrLn (s ++ ": failed tests:" ++ show is) exitFailure getMaxTestsFromArgs :: Int -> IO Int-getMaxTestsFromArgs n = do+getMaxTestsFromArgs n = do as <- getArgs return $ case as of (s:_) -> read s _ -> n mainTest :: (Int -> [Bool]) -> Int -> IO ()-mainTest tests n' = do+mainTest tests n' = do+ pn <- getProgName n <- getMaxTestsFromArgs n'- reportTests (tests n)+ reportTests pn (tests n) tyBool :: TypeRep tyBool = typeOf (undefined :: Bool)@@ -216,5 +217,5 @@ ] (-=-) :: Expr -> Expr -> (Expr,Expr)-e1 -=- e2 = (e1, e2)+e1 -=- e2 = (e1, e2) infix 0 -=-
test/Test/ListableExpr.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Test.ListableExpr--- Copyright : (c) 2019-2021 Rudy Matela+-- Copyright : (c) 2019-2024 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela <rudy@matela.com.br> --@@ -98,42 +98,42 @@ unSameTypeE :: SameTypeE -> (Expr,Expr) unSameTypeE (SameTypeE e1 e2) = (e1,e2) -data SameTypedPairsE = SameTypedPairsE { unSameTypedPairsE :: [(Expr,Expr)] }+newtype SameTypedPairsE = SameTypedPairsE { unSameTypedPairsE :: [(Expr,Expr)] } -- | Ill typed expressions. newtype Ill = Ill { unIll :: Expr } -instance Show E0 where show (E0 e) = show e-instance Show EV where show (EV e) = show e+instance Show E0 where show (E0 e) = show e+instance Show EV where show (EV e) = show e -instance Show IntE where show (IntE e) = show e+instance Show IntE where show (IntE e) = show e -instance Show IntE0 where show (IntE0 e) = show e-instance Show IntEV where show (IntEV e) = show e+instance Show IntE0 where show (IntE0 e) = show e+instance Show IntEV where show (IntEV e) = show e -instance Show IntToIntE where show (IntToIntE e) = show e-instance Show IntToIntToIntE where show (IntToIntToIntE e) = show e+instance Show IntToIntE where show (IntToIntE e) = show e+instance Show IntToIntToIntE where show (IntToIntToIntE e) = show e -instance Show BoolE where show (BoolE e) = show e+instance Show BoolE where show (BoolE e) = show e -instance Show BoolE0 where show (BoolE0 e) = show e-instance Show BoolEV where show (BoolEV e) = show e+instance Show BoolE0 where show (BoolE0 e) = show e+instance Show BoolEV where show (BoolEV e) = show e -instance Show BoolToBoolE where show (BoolToBoolE e) = show e-instance Show BoolToBoolToBoolE where show (BoolToBoolToBoolE e) = show e+instance Show BoolToBoolE where show (BoolToBoolE e) = show e+instance Show BoolToBoolToBoolE where show (BoolToBoolToBoolE e) = show e -instance Show IntsE where show (IntsE e) = show e+instance Show IntsE where show (IntsE e) = show e -instance Show IntsE0 where show (IntsE0 e) = show e-instance Show IntsEV where show (IntsEV e) = show e+instance Show IntsE0 where show (IntsE0 e) = show e+instance Show IntsEV where show (IntsEV e) = show e -instance Show CharE where show (CharE e) = show e+instance Show CharE where show (CharE e) = show e -instance Show CharE0 where show (CharE0 e) = show e-instance Show CharEV where show (CharEV e) = show e+instance Show CharE0 where show (CharE0 e) = show e+instance Show CharEV where show (CharEV e) = show e -instance Show SameTypeE where show (SameTypeE e1 e2) = show (e1,e2)+instance Show SameTypeE where show (SameTypeE e1 e2) = show (e1,e2) instance Show SameTypedPairsE where show (SameTypedPairsE ees) = show ees @@ -146,7 +146,7 @@ -- | Varialbe of 'Ints' type. newtype IntsEV = IntsEV { unIntsEV :: Expr } -instance Show Ill where show (Ill e) = show e+instance Show Ill where show (Ill e) = show e instance Listable IntE where tiers = mapT IntE@@ -235,17 +235,17 @@ tiers = (CharE0 . val) `mapT` (tiers :: [[Char]]) instance Listable SameTypeE where- tiers = cons1 (\(IntE e1, IntE e2) -> SameTypeE e1 e2) `ofWeight` 0- \/ cons1 (\(BoolE e1, BoolE e2) -> SameTypeE e1 e2) `ofWeight` 1- \/ cons1 (\(IntsE e1, IntsE e2) -> SameTypeE e1 e2) `ofWeight` 1- \/ cons1 (\(CharE e1, CharE e2) -> SameTypeE e1 e2) `ofWeight` 2- \/ cons1 (\(IntToIntE e1, IntToIntE e2) -> SameTypeE e1 e2) `ofWeight` 2- \/ cons1 (\(BoolToBoolE e1, BoolToBoolE e2) -> SameTypeE e1 e2) `ofWeight` 2- \/ cons1 (\(BoolToBoolToBoolE e1, BoolToBoolToBoolE e2) -> SameTypeE e1 e2) `ofWeight` 2- \/ cons1 (\(IntToIntToIntE e1, IntToIntToIntE e2) -> SameTypeE e1 e2) `ofWeight` 2+ tiers = cons1 (\(IntE e1, IntE e2) -> SameTypeE e1 e2) `ofWeight` 0+ \/ cons1 (\(BoolE e1, BoolE e2) -> SameTypeE e1 e2) `ofWeight` 1+ \/ cons1 (\(IntsE e1, IntsE e2) -> SameTypeE e1 e2) `ofWeight` 1+ \/ cons1 (\(CharE e1, CharE e2) -> SameTypeE e1 e2) `ofWeight` 2+ \/ cons1 (\(IntToIntE e1, IntToIntE e2) -> SameTypeE e1 e2) `ofWeight` 2+ \/ cons1 (\(BoolToBoolE e1, BoolToBoolE e2) -> SameTypeE e1 e2) `ofWeight` 2+ \/ cons1 (\(BoolToBoolToBoolE e1, BoolToBoolToBoolE e2) -> SameTypeE e1 e2) `ofWeight` 2+ \/ cons1 (\(IntToIntToIntE e1, IntToIntToIntE e2) -> SameTypeE e1 e2) `ofWeight` 2 instance Listable SameTypedPairsE where- tiers = cons1 (SameTypedPairsE . map unSameTypeE) `ofWeight` 0+ tiers = cons1 (SameTypedPairsE . map unSameTypeE) `ofWeight` 0 instance Listable E0 where tiers = mapT E0
+ test/basic.hs view
@@ -0,0 +1,49 @@+-- Copyright (c) 2024 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+{-# LANGUAGE CPP #-}+import Test++main :: IO ()+main = mainTest tests 5040++tests :: Int -> [Bool]+tests n =+ [ True++ , holds n $ \es e -> es >$$ e == es >$$< [e]+ , holds n $ \es e -> e $$< es == [e] >$$< es++ , [false, true, zero, one] >$$< [notE, andE, orE, plus, times] == []++ , [notE, andE, orE, plus, times] >$$< [false, true, zero, one]+ == [ not' false+ , not' true+ , andE :$ false+ , andE :$ true+ , orE :$ false+ , orE :$ true+ , plus :$ zero+ , plus :$ one+ , times :$ zero+ , times :$ one+ ]++ , [notE, andE, orE, plus, times] >$$< [false, true, zero, one] >$$< [false, true, zero, one]+ == [ false -&&- false+ , false -&&- true+ , true -&&- false+ , true -&&- true+ , false -||- false+ , false -||- true+ , true -||- false+ , true -||- true+ , zero -+- zero+ , zero -+- one+ , one -+- zero+ , one -+- one+ , zero -*- zero+ , zero -*- one+ , one -*- zero+ , one -*- one+ ]+ ]
test/canon.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2017-2021 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test
test/core.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test @@ -6,10 +6,10 @@ import Test.LeanCheck.Error (errorToNothing) main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True -- smart constructors and evaluation
test/express-derive.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE DeriveDataTypeable #-}@@ -26,8 +26,8 @@ -- Nested datatype cascade data Nested = Nested N0 (N1 Int) (N2 Int Int) deriving (Eq, Show, Typeable)-data N0 = R0 Int deriving (Eq, Show, Typeable)-data N1 a = R1 a deriving (Eq, Show, Typeable)+newtype N0 = R0 Int deriving (Eq, Show, Typeable)+newtype N1 a = R1 a deriving (Eq, Show, Typeable) data N2 a b = R2 a b deriving (Eq, Show, Typeable) deriveExpressCascading ''Nested
test/express.hs view
@@ -1,13 +1,13 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). {-# LANGUAGE CPP #-} import Test main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , holds n $ \x -> expr x == val (x :: Int)
test/fixtures.hs view
@@ -1,14 +1,14 @@--- Copyright (c) 2017-2021 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test import Test.LeanCheck.Error (errorToNothing) main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True -- Bool --@@ -201,10 +201,10 @@ , evl (enumFromTo' zero four) == [0,1,2,3,4 :: Int] -- [<n> .. <m>] --- , show ((-..) false) == "[False ..] :: [Bool]"- , evl ((-..) false) == [False,True]- , show ((-..) true) == "[True ..] :: [Bool]"- , evl ((-..) true) == [True]+ , show (false -.. ()) == "[False ..] :: [Bool]"+ , evl (false -.. ()) == [False,True]+ , show (true -.. ()) == "[True ..] :: [Bool]"+ , evl (true -.. ()) == [True] , show (false -..- false) == "[False .. False] :: [Bool]" , evl (false -..- false) == [False] , show (false -..- true) == "[False .. True] :: [Bool]"@@ -214,7 +214,7 @@ , show (true -..- true) == "[True .. True] :: [Bool]" , evl (true -..- true) == [True] - , show ((-..) zero) == "[0..] :: [Int]"+ , show (zero -.. ()) == "[0..] :: [Int]" , show (zero -..- four) == "[0..4] :: [Int]" , evl (zero -..- four) == [0,1,2,3,4 :: Int] , show (minusTwo -..- minusOne) == "[-2 .. -1] :: [Int]"@@ -222,7 +222,7 @@ , show (minusTwo -..- two) == "[-2 .. 2] :: [Int]" , evl (minusTwo -..- two) == [-2,-1,0,1,2 :: Int] - , show ((-..) ae) == "['a'..] :: [Char]"+ , show (ae -.. ()) == "['a'..] :: [Char]" , show (ae -..- dee) == "['a'..'d'] :: [Char]" , evl (ae -..- dee) == "abcd" @@ -242,36 +242,36 @@ , evl (enumFromThenTo' zero two four) == [0,2,4 :: Int] -- [<n>, <m> .. <o>] --- , show ((-...) false true) == "[False, True ..] :: [Bool]"- , evl ((-...) false true) == [False,True]- , show ((-...) true false) == "[True, False ..] :: [Bool]"- , evl ((-...) true false) == [True,False]- , show ((false -...- false) true) == "[False, False .. True] :: [Bool]"- , show ((false -...- true) true) == "[False, True .. True] :: [Bool]"- , evl ((false -...- true) true) == [False,True]+ , show ((false,true) --.. ()) == "[False, True ..] :: [Bool]"+ , evl ((false,true) --.. ()) == [False,True]+ , show ((true,false) --.. ()) == "[True, False ..] :: [Bool]"+ , evl ((true,false) --.. ()) == [True,False]+ , show ((false,false) --..- true) == "[False, False .. True] :: [Bool]"+ , show ((false,true) --..- true) == "[False, True .. True] :: [Bool]"+ , evl ((false,true) --..- true) == [False,True] - , show ((-...) zero one) == "[0,1..] :: [Int]"- , show ((zero -...- two) four) == "[0,2..4] :: [Int]"- , evl ((zero -...- two) four) == [0,2,4 :: Int]- , show ((minusTwo -...- one) minusOne) == "[-2, 1 .. -1] :: [Int]"- , evl ((minusTwo -...- one) minusOne) == [-2 :: Int]- , show ((minusTwo -...- zero) two) == "[-2, 0 .. 2] :: [Int]"- , evl ((minusTwo -...- zero) two) == [-2,0,2 :: Int]+ , show ((zero,one) --.. ()) == "[0,1..] :: [Int]"+ , show ((zero,two) --..- four) == "[0,2..4] :: [Int]"+ , evl ((zero,two) --..- four) == [0,2,4 :: Int]+ , show ((minusTwo,one) --..- minusOne) == "[-2, 1 .. -1] :: [Int]"+ , evl ((minusTwo,one) --..- minusOne) == [-2 :: Int]+ , show ((minusTwo,zero) --..- two) == "[-2, 0 .. 2] :: [Int]"+ , evl ((minusTwo,zero) --..- two) == [-2,0,2 :: Int] - , show ((-...) ae bee) == "['a','b'..] :: [Char]"- , show ((ae -...- bee) dee) == "['a','b'..'d'] :: [Char]"- , evl ((ae -...- bee) dee) == "abcd"- , show ((ae -...- dee) zed) == "['a','d'..'z'] :: [Char]"- , evl ((ae -...- dee) zed) == "adgjmpsvy"+ , show ((ae,bee) --.. ()) == "['a','b'..] :: [Char]"+ , show ((ae,bee) --..- dee) == "['a','b'..'d'] :: [Char]"+ , evl ((ae,bee) --..- dee) == "abcd"+ , show ((ae,dee) --..- zed) == "['a','d'..'z'] :: [Char]"+ , evl ((ae,dee) --..- zed) == "adgjmpsvy" - , show ((xx -...- yy) zz) == "[x,y..z] :: [Int]"- , show ((pp -...- qq) rr) == "[p,q..r] :: [Bool]"- , show ((cc -...- dd) cc) == "[c,d..c] :: [Char]"+ , show ((xx,yy) --..- zz) == "[x,y..z] :: [Int]"+ , show ((pp,qq) --..- rr) == "[p,q..r] :: [Bool]"+ , show ((cc,dd) --..- cc) == "[c,d..c] :: [Char]" - , show ((zero -...- yy) zz) == "[0,y..z] :: [Int]"- , show ((pp -...- true) true) == "[p, True .. True] :: [Bool]"- , show ((cc -...- dd) zed) == "[c,d..'z'] :: [Char]"- , show ((ae -...- dd) cc) == "['a',d..c] :: [Char]"+ , show ((zero,yy) --..- zz) == "[0,y..z] :: [Int]"+ , show ((pp,true) --..- true) == "[p, True .. True] :: [Bool]"+ , show ((cc,dd) --..- zed) == "[c,d..'z'] :: [Char]"+ , show ((ae,dd) --..- cc) == "['a',d..c] :: [Char]" , show (twelve `div'` five) == "12 `div` 5 :: Int" , show (twelve `mod'` five) == "12 `mod` 5 :: Int"
test/fold.hs view
@@ -1,12 +1,12 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , holds n $ \e1 e2 -> (e1,e2) == unfoldPair (foldPair (e1,e2))
test/hole.hs view
@@ -1,12 +1,12 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , isHole (hole (undefined :: Int)) == True
test/instances.hs view
@@ -1,13 +1,13 @@--- Copyright (c) 2017-2021 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). {-# LANGUAGE NoMonomorphismRestriction #-} -- ACK! import Test main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , eval undefined (eqFor (undefined :: Int) :$ one :$ one) == True@@ -62,11 +62,11 @@ , lookupName preludeNameInstances (val [[[0::A]]]) == "xsss" ] where- eqFor = head . reifyEq- lessEqFor = head . reifyOrd- lessFor = head . tail . reifyOrd---compareFor = head . reifyOrd- nameFor = head . reifyName+ eqFor = head . reifyEq+ lessEqFor = head . reifyOrd+ lessFor = head . tail . reifyOrd+--compareFor = head . reifyOrd+ nameFor = head . reifyName functions :: [Expr] functions = concat
test/listable.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2017-2021 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test @@ -56,7 +56,7 @@ , holds n $ isVar . unCharEV -- counter-examples are of the right type- , (counterExample n $ \(IntE xx) -> False) == Just ["_ :: Int"]+ , counterExample n (\(IntE xx) -> False) == Just ["_ :: Int"] , isNub (take (n`div`10) list :: [Expr]) , isNub (take (n`div`10) $ map unSameTypeE list)@@ -64,16 +64,16 @@ ] evaluateInt :: Expr -> Maybe Int-evaluateInt = evaluate+evaluateInt = evaluate evaluateBool :: Expr -> Maybe Bool-evaluateBool = evaluate+evaluateBool = evaluate evaluateInts :: Expr -> Maybe [Int]-evaluateInts = evaluate+evaluateInts = evaluate evaluateIntToInt :: Expr -> Maybe (Int -> Int)-evaluateIntToInt = evaluate+evaluateIntToInt = evaluate evaluateChar :: Expr -> Maybe Char-evaluateChar = evaluate+evaluateChar = evaluate
test/main.hs view
@@ -1,14 +1,14 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test import Data.Express.Utils.List main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , evl (val (10 :: Int)) == (10 :: Int)
test/map.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test import Test.LeanCheck.Function@@ -6,10 +6,10 @@ import Data.Express.Utils.List (isNub) main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True -- the order should not matter for //
test/match.hs view
@@ -1,12 +1,12 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , holds n $ \(IntE e) -> e `isInstanceOf` xx
− test/model/bench/compare.out
@@ -1,5041 +0,0 @@-_ :: Int `compare` _ :: Int = EQ-_ :: Int `compare` x :: Int = LT-_ :: Int `compare` 0 :: Int = LT-_ :: Int `compare` id _ :: Int = LT-_ :: Int `compare` _ :: Bool = GT-_ :: Int `compare` _ :: Char = GT-_ :: Int `compare` _ :: [Int] = LT-x :: Int `compare` _ :: Int = GT-0 :: Int `compare` _ :: Int = GT-id _ :: Int `compare` _ :: Int = GT-_ :: Bool `compare` _ :: Int = LT-_ :: Char `compare` _ :: Int = LT-_ :: [Int] `compare` _ :: Int = GT-_ :: Int `compare` y :: Int = LT-_ :: Int `compare` 1 :: Int = LT-_ :: Int `compare` id x :: Int = LT-_ :: Int `compare` id 0 :: Int = LT-_ :: Int `compare` id (id _) :: Int = LT-_ :: Int `compare` negate _ :: Int = LT-_ :: Int `compare` abs _ :: Int = LT-_ :: Int `compare` _ + _ :: Int = LT-_ :: Int `compare` head _ :: Int = LT-_ :: Int `compare` ord _ :: Int = LT-_ :: Int `compare` p :: Bool = GT-_ :: Int `compare` False :: Bool = LT-_ :: Int `compare` True :: Bool = LT-_ :: Int `compare` not _ :: Bool = LT-_ :: Int `compare` c :: Char = GT-_ :: Int `compare` 'a' :: Char = LT-_ :: Int `compare` xs :: [Int] = LT-_ :: Int `compare` [] :: [Int] = LT-_ :: Int `compare` _:_ :: [Int] = LT-_ :: Int `compare` id :: Int -> Int = LT-_ :: Int `compare` (+) :: Int -> Int -> Int = LT-x :: Int `compare` x :: Int = EQ-x :: Int `compare` 0 :: Int = LT-x :: Int `compare` id _ :: Int = LT-x :: Int `compare` _ :: Bool = GT-x :: Int `compare` _ :: Char = GT-x :: Int `compare` _ :: [Int] = LT-0 :: Int `compare` x :: Int = GT-0 :: Int `compare` 0 :: Int = EQ-0 :: Int `compare` id _ :: Int = LT-0 :: Int `compare` _ :: Bool = GT-0 :: Int `compare` _ :: Char = GT-0 :: Int `compare` _ :: [Int] = GT-id _ :: Int `compare` x :: Int = GT-id _ :: Int `compare` 0 :: Int = GT-id _ :: Int `compare` id _ :: Int = EQ-id _ :: Int `compare` _ :: Bool = GT-id _ :: Int `compare` _ :: Char = GT-id _ :: Int `compare` _ :: [Int] = GT-_ :: Bool `compare` x :: Int = LT-_ :: Bool `compare` 0 :: Int = LT-_ :: Bool `compare` id _ :: Int = LT-_ :: Bool `compare` _ :: Bool = EQ-_ :: Bool `compare` _ :: Char = LT-_ :: Bool `compare` _ :: [Int] = LT-_ :: Char `compare` x :: Int = LT-_ :: Char `compare` 0 :: Int = LT-_ :: Char `compare` id _ :: Int = LT-_ :: Char `compare` _ :: Bool = GT-_ :: Char `compare` _ :: Char = EQ-_ :: Char `compare` _ :: [Int] = LT-_ :: [Int] `compare` x :: Int = GT-_ :: [Int] `compare` 0 :: Int = LT-_ :: [Int] `compare` id _ :: Int = LT-_ :: [Int] `compare` _ :: Bool = GT-_ :: [Int] `compare` _ :: Char = GT-_ :: [Int] `compare` _ :: [Int] = EQ-y :: Int `compare` _ :: Int = GT-1 :: Int `compare` _ :: Int = GT-id x :: Int `compare` _ :: Int = GT-id 0 :: Int `compare` _ :: Int = GT-id (id _) :: Int `compare` _ :: Int = GT-negate _ :: Int `compare` _ :: Int = GT-abs _ :: Int `compare` _ :: Int = GT-_ + _ :: Int `compare` _ :: Int = GT-head _ :: Int `compare` _ :: Int = GT-ord _ :: Int `compare` _ :: Int = GT-p :: Bool `compare` _ :: Int = LT-False :: Bool `compare` _ :: Int = GT-True :: Bool `compare` _ :: Int = GT-not _ :: Bool `compare` _ :: Int = GT-c :: Char `compare` _ :: Int = LT-'a' :: Char `compare` _ :: Int = GT-xs :: [Int] `compare` _ :: Int = GT-[] :: [Int] `compare` _ :: Int = GT-_:_ :: [Int] `compare` _ :: Int = GT-id :: Int -> Int `compare` _ :: Int = GT-(+) :: Int -> Int -> Int `compare` _ :: Int = GT-_ :: Int `compare` z :: Int = LT-_ :: Int `compare` -1 :: Int = LT-_ :: Int `compare` id y :: Int = LT-_ :: Int `compare` id 1 :: Int = LT-_ :: Int `compare` id (id x) :: Int = LT-_ :: Int `compare` id (id 0) :: Int = LT-_ :: Int `compare` id (id (id _)) :: Int = LT-_ :: Int `compare` id (negate _) :: Int = LT-_ :: Int `compare` id (abs _) :: Int = LT-_ :: Int `compare` id (_ + _) :: Int = LT-_ :: Int `compare` id (head _) :: Int = LT-_ :: Int `compare` id (ord _) :: Int = LT-_ :: Int `compare` negate x :: Int = LT-_ :: Int `compare` negate 0 :: Int = LT-_ :: Int `compare` negate (id _) :: Int = LT-_ :: Int `compare` abs x :: Int = LT-_ :: Int `compare` abs 0 :: Int = LT-_ :: Int `compare` abs (id _) :: Int = LT-_ :: Int `compare` _ + x :: Int = LT-_ :: Int `compare` _ + 0 :: Int = LT-_ :: Int `compare` _ + id _ :: Int = LT-_ :: Int `compare` x + _ :: Int = LT-_ :: Int `compare` 0 + _ :: Int = LT-_ :: Int `compare` id _ + _ :: Int = LT-_ :: Int `compare` _ * _ :: Int = LT-_ :: Int `compare` f _ :: Int = LT-_ :: Int `compare` head xs :: Int = LT-_ :: Int `compare` head [] :: Int = LT-_ :: Int `compare` head (_:_) :: Int = LT-_ :: Int `compare` ord c :: Int = LT-_ :: Int `compare` ord 'a' :: Int = LT-_ :: Int `compare` q :: Bool = GT-_ :: Int `compare` not p :: Bool = LT-_ :: Int `compare` not False :: Bool = LT-_ :: Int `compare` not True :: Bool = LT-_ :: Int `compare` not (not _) :: Bool = LT-_ :: Int `compare` _ || _ :: Bool = LT-_ :: Int `compare` d :: Char = GT-_ :: Int `compare` ' ' :: Char = LT-_ :: Int `compare` ys :: [Int] = LT-_ :: Int `compare` [0] :: [Int] = LT-_ :: Int `compare` _:xs :: [Int] = LT-_ :: Int `compare` [_] :: [Int] = LT-_ :: Int `compare` _:_:_ :: [Int] = LT-_ :: Int `compare` x:_ :: [Int] = LT-_ :: Int `compare` 0:_ :: [Int] = LT-_ :: Int `compare` id _:_ :: [Int] = LT-_ :: Int `compare` tail _ :: [Int] = LT-_ :: Int `compare` _ ++ _ :: [Int] = LT-_ :: Int `compare` negate :: Int -> Int = LT-_ :: Int `compare` abs :: Int -> Int = LT-_ :: Int `compare` (_ +) :: Int -> Int = LT-_ :: Int `compare` (*) :: Int -> Int -> Int = LT-_ :: Int `compare` not :: Bool -> Bool = LT-_ :: Int `compare` (||) :: Bool -> Bool -> Bool = LT-x :: Int `compare` y :: Int = LT-x :: Int `compare` 1 :: Int = LT-x :: Int `compare` id x :: Int = LT-x :: Int `compare` id 0 :: Int = LT-x :: Int `compare` id (id _) :: Int = LT-x :: Int `compare` negate _ :: Int = LT-x :: Int `compare` abs _ :: Int = LT-x :: Int `compare` _ + _ :: Int = LT-x :: Int `compare` head _ :: Int = LT-x :: Int `compare` ord _ :: Int = LT-x :: Int `compare` p :: Bool = GT-x :: Int `compare` False :: Bool = LT-x :: Int `compare` True :: Bool = LT-x :: Int `compare` not _ :: Bool = LT-x :: Int `compare` c :: Char = GT-x :: Int `compare` 'a' :: Char = LT-x :: Int `compare` xs :: [Int] = LT-x :: Int `compare` [] :: [Int] = LT-x :: Int `compare` _:_ :: [Int] = LT-x :: Int `compare` id :: Int -> Int = LT-x :: Int `compare` (+) :: Int -> Int -> Int = LT-0 :: Int `compare` y :: Int = GT-0 :: Int `compare` 1 :: Int = LT-0 :: Int `compare` id x :: Int = LT-0 :: Int `compare` id 0 :: Int = LT-0 :: Int `compare` id (id _) :: Int = LT-0 :: Int `compare` negate _ :: Int = LT-0 :: Int `compare` abs _ :: Int = LT-0 :: Int `compare` _ + _ :: Int = LT-0 :: Int `compare` head _ :: Int = LT-0 :: Int `compare` ord _ :: Int = LT-0 :: Int `compare` p :: Bool = GT-0 :: Int `compare` False :: Bool = GT-0 :: Int `compare` True :: Bool = GT-0 :: Int `compare` not _ :: Bool = LT-0 :: Int `compare` c :: Char = GT-0 :: Int `compare` 'a' :: Char = GT-0 :: Int `compare` xs :: [Int] = GT-0 :: Int `compare` [] :: [Int] = LT-0 :: Int `compare` _:_ :: [Int] = LT-0 :: Int `compare` id :: Int -> Int = LT-0 :: Int `compare` (+) :: Int -> Int -> Int = LT-id _ :: Int `compare` y :: Int = GT-id _ :: Int `compare` 1 :: Int = GT-id _ :: Int `compare` id x :: Int = LT-id _ :: Int `compare` id 0 :: Int = LT-id _ :: Int `compare` id (id _) :: Int = LT-id _ :: Int `compare` negate _ :: Int = LT-id _ :: Int `compare` abs _ :: Int = LT-id _ :: Int `compare` _ + _ :: Int = LT-id _ :: Int `compare` head _ :: Int = LT-id _ :: Int `compare` ord _ :: Int = GT-id _ :: Int `compare` p :: Bool = GT-id _ :: Int `compare` False :: Bool = GT-id _ :: Int `compare` True :: Bool = GT-id _ :: Int `compare` not _ :: Bool = GT-id _ :: Int `compare` c :: Char = GT-id _ :: Int `compare` 'a' :: Char = GT-id _ :: Int `compare` xs :: [Int] = GT-id _ :: Int `compare` [] :: [Int] = GT-id _ :: Int `compare` _:_ :: [Int] = LT-id _ :: Int `compare` id :: Int -> Int = GT-id _ :: Int `compare` (+) :: Int -> Int -> Int = GT-_ :: Bool `compare` y :: Int = LT-_ :: Bool `compare` 1 :: Int = LT-_ :: Bool `compare` id x :: Int = LT-_ :: Bool `compare` id 0 :: Int = LT-_ :: Bool `compare` id (id _) :: Int = LT-_ :: Bool `compare` negate _ :: Int = LT-_ :: Bool `compare` abs _ :: Int = LT-_ :: Bool `compare` _ + _ :: Int = LT-_ :: Bool `compare` head _ :: Int = LT-_ :: Bool `compare` ord _ :: Int = LT-_ :: Bool `compare` p :: Bool = LT-_ :: Bool `compare` False :: Bool = LT-_ :: Bool `compare` True :: Bool = LT-_ :: Bool `compare` not _ :: Bool = LT-_ :: Bool `compare` c :: Char = LT-_ :: Bool `compare` 'a' :: Char = LT-_ :: Bool `compare` xs :: [Int] = LT-_ :: Bool `compare` [] :: [Int] = LT-_ :: Bool `compare` _:_ :: [Int] = LT-_ :: Bool `compare` id :: Int -> Int = LT-_ :: Bool `compare` (+) :: Int -> Int -> Int = LT-_ :: Char `compare` y :: Int = LT-_ :: Char `compare` 1 :: Int = LT-_ :: Char `compare` id x :: Int = LT-_ :: Char `compare` id 0 :: Int = LT-_ :: Char `compare` id (id _) :: Int = LT-_ :: Char `compare` negate _ :: Int = LT-_ :: Char `compare` abs _ :: Int = LT-_ :: Char `compare` _ + _ :: Int = LT-_ :: Char `compare` head _ :: Int = LT-_ :: Char `compare` ord _ :: Int = LT-_ :: Char `compare` p :: Bool = GT-_ :: Char `compare` False :: Bool = LT-_ :: Char `compare` True :: Bool = LT-_ :: Char `compare` not _ :: Bool = LT-_ :: Char `compare` c :: Char = LT-_ :: Char `compare` 'a' :: Char = LT-_ :: Char `compare` xs :: [Int] = LT-_ :: Char `compare` [] :: [Int] = LT-_ :: Char `compare` _:_ :: [Int] = LT-_ :: Char `compare` id :: Int -> Int = LT-_ :: Char `compare` (+) :: Int -> Int -> Int = LT-_ :: [Int] `compare` y :: Int = GT-_ :: [Int] `compare` 1 :: Int = LT-_ :: [Int] `compare` id x :: Int = LT-_ :: [Int] `compare` id 0 :: Int = LT-_ :: [Int] `compare` id (id _) :: Int = LT-_ :: [Int] `compare` negate _ :: Int = LT-_ :: [Int] `compare` abs _ :: Int = LT-_ :: [Int] `compare` _ + _ :: Int = LT-_ :: [Int] `compare` head _ :: Int = LT-_ :: [Int] `compare` ord _ :: Int = LT-_ :: [Int] `compare` p :: Bool = GT-_ :: [Int] `compare` False :: Bool = LT-_ :: [Int] `compare` True :: Bool = LT-_ :: [Int] `compare` not _ :: Bool = LT-_ :: [Int] `compare` c :: Char = GT-_ :: [Int] `compare` 'a' :: Char = LT-_ :: [Int] `compare` xs :: [Int] = LT-_ :: [Int] `compare` [] :: [Int] = LT-_ :: [Int] `compare` _:_ :: [Int] = LT-_ :: [Int] `compare` id :: Int -> Int = LT-_ :: [Int] `compare` (+) :: Int -> Int -> Int = LT-y :: Int `compare` x :: Int = GT-y :: Int `compare` 0 :: Int = LT-y :: Int `compare` id _ :: Int = LT-y :: Int `compare` _ :: Bool = GT-y :: Int `compare` _ :: Char = GT-y :: Int `compare` _ :: [Int] = LT-1 :: Int `compare` x :: Int = GT-1 :: Int `compare` 0 :: Int = GT-1 :: Int `compare` id _ :: Int = LT-1 :: Int `compare` _ :: Bool = GT-1 :: Int `compare` _ :: Char = GT-1 :: Int `compare` _ :: [Int] = GT-id x :: Int `compare` x :: Int = GT-id x :: Int `compare` 0 :: Int = GT-id x :: Int `compare` id _ :: Int = GT-id x :: Int `compare` _ :: Bool = GT-id x :: Int `compare` _ :: Char = GT-id x :: Int `compare` _ :: [Int] = GT-id 0 :: Int `compare` x :: Int = GT-id 0 :: Int `compare` 0 :: Int = GT-id 0 :: Int `compare` id _ :: Int = GT-id 0 :: Int `compare` _ :: Bool = GT-id 0 :: Int `compare` _ :: Char = GT-id 0 :: Int `compare` _ :: [Int] = GT-id (id _) :: Int `compare` x :: Int = GT-id (id _) :: Int `compare` 0 :: Int = GT-id (id _) :: Int `compare` id _ :: Int = GT-id (id _) :: Int `compare` _ :: Bool = GT-id (id _) :: Int `compare` _ :: Char = GT-id (id _) :: Int `compare` _ :: [Int] = GT-negate _ :: Int `compare` x :: Int = GT-negate _ :: Int `compare` 0 :: Int = GT-negate _ :: Int `compare` id _ :: Int = GT-negate _ :: Int `compare` _ :: Bool = GT-negate _ :: Int `compare` _ :: Char = GT-negate _ :: Int `compare` _ :: [Int] = GT-abs _ :: Int `compare` x :: Int = GT-abs _ :: Int `compare` 0 :: Int = GT-abs _ :: Int `compare` id _ :: Int = GT-abs _ :: Int `compare` _ :: Bool = GT-abs _ :: Int `compare` _ :: Char = GT-abs _ :: Int `compare` _ :: [Int] = GT-_ + _ :: Int `compare` x :: Int = GT-_ + _ :: Int `compare` 0 :: Int = GT-_ + _ :: Int `compare` id _ :: Int = GT-_ + _ :: Int `compare` _ :: Bool = GT-_ + _ :: Int `compare` _ :: Char = GT-_ + _ :: Int `compare` _ :: [Int] = GT-head _ :: Int `compare` x :: Int = GT-head _ :: Int `compare` 0 :: Int = GT-head _ :: Int `compare` id _ :: Int = GT-head _ :: Int `compare` _ :: Bool = GT-head _ :: Int `compare` _ :: Char = GT-head _ :: Int `compare` _ :: [Int] = GT-ord _ :: Int `compare` x :: Int = GT-ord _ :: Int `compare` 0 :: Int = GT-ord _ :: Int `compare` id _ :: Int = LT-ord _ :: Int `compare` _ :: Bool = GT-ord _ :: Int `compare` _ :: Char = GT-ord _ :: Int `compare` _ :: [Int] = GT-p :: Bool `compare` x :: Int = LT-p :: Bool `compare` 0 :: Int = LT-p :: Bool `compare` id _ :: Int = LT-p :: Bool `compare` _ :: Bool = GT-p :: Bool `compare` _ :: Char = LT-p :: Bool `compare` _ :: [Int] = LT-False :: Bool `compare` x :: Int = GT-False :: Bool `compare` 0 :: Int = LT-False :: Bool `compare` id _ :: Int = LT-False :: Bool `compare` _ :: Bool = GT-False :: Bool `compare` _ :: Char = GT-False :: Bool `compare` _ :: [Int] = GT-True :: Bool `compare` x :: Int = GT-True :: Bool `compare` 0 :: Int = LT-True :: Bool `compare` id _ :: Int = LT-True :: Bool `compare` _ :: Bool = GT-True :: Bool `compare` _ :: Char = GT-True :: Bool `compare` _ :: [Int] = GT-not _ :: Bool `compare` x :: Int = GT-not _ :: Bool `compare` 0 :: Int = GT-not _ :: Bool `compare` id _ :: Int = LT-not _ :: Bool `compare` _ :: Bool = GT-not _ :: Bool `compare` _ :: Char = GT-not _ :: Bool `compare` _ :: [Int] = GT-c :: Char `compare` x :: Int = LT-c :: Char `compare` 0 :: Int = LT-c :: Char `compare` id _ :: Int = LT-c :: Char `compare` _ :: Bool = GT-c :: Char `compare` _ :: Char = GT-c :: Char `compare` _ :: [Int] = LT-'a' :: Char `compare` x :: Int = GT-'a' :: Char `compare` 0 :: Int = LT-'a' :: Char `compare` id _ :: Int = LT-'a' :: Char `compare` _ :: Bool = GT-'a' :: Char `compare` _ :: Char = GT-'a' :: Char `compare` _ :: [Int] = GT-xs :: [Int] `compare` x :: Int = GT-xs :: [Int] `compare` 0 :: Int = LT-xs :: [Int] `compare` id _ :: Int = LT-xs :: [Int] `compare` _ :: Bool = GT-xs :: [Int] `compare` _ :: Char = GT-xs :: [Int] `compare` _ :: [Int] = GT-[] :: [Int] `compare` x :: Int = GT-[] :: [Int] `compare` 0 :: Int = GT-[] :: [Int] `compare` id _ :: Int = LT-[] :: [Int] `compare` _ :: Bool = GT-[] :: [Int] `compare` _ :: Char = GT-[] :: [Int] `compare` _ :: [Int] = GT-_:_ :: [Int] `compare` x :: Int = GT-_:_ :: [Int] `compare` 0 :: Int = GT-_:_ :: [Int] `compare` id _ :: Int = GT-_:_ :: [Int] `compare` _ :: Bool = GT-_:_ :: [Int] `compare` _ :: Char = GT-_:_ :: [Int] `compare` _ :: [Int] = GT-id :: Int -> Int `compare` x :: Int = GT-id :: Int -> Int `compare` 0 :: Int = GT-id :: Int -> Int `compare` id _ :: Int = LT-id :: Int -> Int `compare` _ :: Bool = GT-id :: Int -> Int `compare` _ :: Char = GT-id :: Int -> Int `compare` _ :: [Int] = GT-(+) :: Int -> Int -> Int `compare` x :: Int = GT-(+) :: Int -> Int -> Int `compare` 0 :: Int = GT-(+) :: Int -> Int -> Int `compare` id _ :: Int = LT-(+) :: Int -> Int -> Int `compare` _ :: Bool = GT-(+) :: Int -> Int -> Int `compare` _ :: Char = GT-(+) :: Int -> Int -> Int `compare` _ :: [Int] = GT-z :: Int `compare` _ :: Int = GT--1 :: Int `compare` _ :: Int = GT-id y :: Int `compare` _ :: Int = GT-id 1 :: Int `compare` _ :: Int = GT-id (id x) :: Int `compare` _ :: Int = GT-id (id 0) :: Int `compare` _ :: Int = GT-id (id (id _)) :: Int `compare` _ :: Int = GT-id (negate _) :: Int `compare` _ :: Int = GT-id (abs _) :: Int `compare` _ :: Int = GT-id (_ + _) :: Int `compare` _ :: Int = GT-id (head _) :: Int `compare` _ :: Int = GT-id (ord _) :: Int `compare` _ :: Int = GT-negate x :: Int `compare` _ :: Int = GT-negate 0 :: Int `compare` _ :: Int = GT-negate (id _) :: Int `compare` _ :: Int = GT-abs x :: Int `compare` _ :: Int = GT-abs 0 :: Int `compare` _ :: Int = GT-abs (id _) :: Int `compare` _ :: Int = GT-_ + x :: Int `compare` _ :: Int = GT-_ + 0 :: Int `compare` _ :: Int = GT-_ + id _ :: Int `compare` _ :: Int = GT-x + _ :: Int `compare` _ :: Int = GT-0 + _ :: Int `compare` _ :: Int = GT-id _ + _ :: Int `compare` _ :: Int = GT-_ * _ :: Int `compare` _ :: Int = GT-f _ :: Int `compare` _ :: Int = GT-head xs :: Int `compare` _ :: Int = GT-head [] :: Int `compare` _ :: Int = GT-head (_:_) :: Int `compare` _ :: Int = GT-ord c :: Int `compare` _ :: Int = GT-ord 'a' :: Int `compare` _ :: Int = GT-q :: Bool `compare` _ :: Int = LT-not p :: Bool `compare` _ :: Int = GT-not False :: Bool `compare` _ :: Int = GT-not True :: Bool `compare` _ :: Int = GT-not (not _) :: Bool `compare` _ :: Int = GT-_ || _ :: Bool `compare` _ :: Int = GT-d :: Char `compare` _ :: Int = LT-' ' :: Char `compare` _ :: Int = GT-ys :: [Int] `compare` _ :: Int = GT-[0] :: [Int] `compare` _ :: Int = GT-_:xs :: [Int] `compare` _ :: Int = GT-[_] :: [Int] `compare` _ :: Int = GT-_:_:_ :: [Int] `compare` _ :: Int = GT-x:_ :: [Int] `compare` _ :: Int = GT-0:_ :: [Int] `compare` _ :: Int = GT-id _:_ :: [Int] `compare` _ :: Int = GT-tail _ :: [Int] `compare` _ :: Int = GT-_ ++ _ :: [Int] `compare` _ :: Int = GT-negate :: Int -> Int `compare` _ :: Int = GT-abs :: Int -> Int `compare` _ :: Int = GT-(_ +) :: Int -> Int `compare` _ :: Int = GT-(*) :: Int -> Int -> Int `compare` _ :: Int = GT-not :: Bool -> Bool `compare` _ :: Int = GT-(||) :: Bool -> Bool -> Bool `compare` _ :: Int = GT-_ :: Int `compare` x' :: Int = LT-_ :: Int `compare` 2 :: Int = LT-_ :: Int `compare` id z :: Int = LT-_ :: Int `compare` id (-1) :: Int = LT-_ :: Int `compare` id (id y) :: Int = LT-_ :: Int `compare` id (id 1) :: Int = LT-_ :: Int `compare` id (id (id x)) :: Int = LT-_ :: Int `compare` id (id (id 0)) :: Int = LT-_ :: Int `compare` id (id (id (id _))) :: Int = LT-_ :: Int `compare` id (id (negate _)) :: Int = LT-_ :: Int `compare` id (id (abs _)) :: Int = LT-_ :: Int `compare` id (id (_ + _)) :: Int = LT-_ :: Int `compare` id (id (head _)) :: Int = LT-_ :: Int `compare` id (id (ord _)) :: Int = LT-_ :: Int `compare` id (negate x) :: Int = LT-_ :: Int `compare` id (negate 0) :: Int = LT-_ :: Int `compare` id (negate (id _)) :: Int = LT-_ :: Int `compare` id (abs x) :: Int = LT-_ :: Int `compare` id (abs 0) :: Int = LT-_ :: Int `compare` id (abs (id _)) :: Int = LT-_ :: Int `compare` id (_ + x) :: Int = LT-_ :: Int `compare` id (_ + 0) :: Int = LT-_ :: Int `compare` id (_ + id _) :: Int = LT-_ :: Int `compare` id (x + _) :: Int = LT-_ :: Int `compare` id (0 + _) :: Int = LT-_ :: Int `compare` id (id _ + _) :: Int = LT-_ :: Int `compare` id (_ * _) :: Int = LT-_ :: Int `compare` id (f _) :: Int = LT-_ :: Int `compare` id (head xs) :: Int = LT-_ :: Int `compare` id (head []) :: Int = LT-_ :: Int `compare` id (head (_:_)) :: Int = LT-_ :: Int `compare` id (ord c) :: Int = LT-_ :: Int `compare` id (ord 'a') :: Int = LT-_ :: Int `compare` negate y :: Int = LT-_ :: Int `compare` negate 1 :: Int = LT-_ :: Int `compare` negate (id x) :: Int = LT-_ :: Int `compare` negate (id 0) :: Int = LT-_ :: Int `compare` negate (id (id _)) :: Int = LT-_ :: Int `compare` negate (negate _) :: Int = LT-_ :: Int `compare` negate (abs _) :: Int = LT-_ :: Int `compare` negate (_ + _) :: Int = LT-_ :: Int `compare` negate (head _) :: Int = LT-_ :: Int `compare` negate (ord _) :: Int = LT-_ :: Int `compare` abs y :: Int = LT-_ :: Int `compare` abs 1 :: Int = LT-_ :: Int `compare` abs (id x) :: Int = LT-_ :: Int `compare` abs (id 0) :: Int = LT-_ :: Int `compare` abs (id (id _)) :: Int = LT-_ :: Int `compare` abs (negate _) :: Int = LT-_ :: Int `compare` abs (abs _) :: Int = LT-_ :: Int `compare` abs (_ + _) :: Int = LT-_ :: Int `compare` abs (head _) :: Int = LT-_ :: Int `compare` abs (ord _) :: Int = LT-_ :: Int `compare` _ + y :: Int = LT-_ :: Int `compare` _ + 1 :: Int = LT-_ :: Int `compare` _ + id x :: Int = LT-_ :: Int `compare` _ + id 0 :: Int = LT-_ :: Int `compare` _ + id (id _) :: Int = LT-_ :: Int `compare` _ + negate _ :: Int = LT-_ :: Int `compare` _ + abs _ :: Int = LT-_ :: Int `compare` _ + (_ + _) :: Int = LT-_ :: Int `compare` _ + head _ :: Int = LT-_ :: Int `compare` _ + ord _ :: Int = LT-_ :: Int `compare` x + x :: Int = LT-_ :: Int `compare` x + 0 :: Int = LT-_ :: Int `compare` x + id _ :: Int = LT-_ :: Int `compare` 0 + x :: Int = LT-_ :: Int `compare` 0 + 0 :: Int = LT-_ :: Int `compare` 0 + id _ :: Int = LT-_ :: Int `compare` id _ + x :: Int = LT-_ :: Int `compare` id _ + 0 :: Int = LT-_ :: Int `compare` id _ + id _ :: Int = LT-_ :: Int `compare` _ * x :: Int = LT-_ :: Int `compare` _ * 0 :: Int = LT-_ :: Int `compare` _ * id _ :: Int = LT-_ :: Int `compare` f x :: Int = LT-_ :: Int `compare` f 0 :: Int = LT-_ :: Int `compare` f (id _) :: Int = LT-_ :: Int `compare` y + _ :: Int = LT-_ :: Int `compare` 1 + _ :: Int = LT-_ :: Int `compare` id x + _ :: Int = LT-_ :: Int `compare` id 0 + _ :: Int = LT-_ :: Int `compare` id (id _) + _ :: Int = LT-_ :: Int `compare` negate _ + _ :: Int = LT-_ :: Int `compare` abs _ + _ :: Int = LT-_ :: Int `compare` (_ + _) + _ :: Int = LT-_ :: Int `compare` head _ + _ :: Int = LT-_ :: Int `compare` ord _ + _ :: Int = LT-_ :: Int `compare` x * _ :: Int = LT-_ :: Int `compare` 0 * _ :: Int = LT-_ :: Int `compare` id _ * _ :: Int = LT-_ :: Int `compare` g _ :: Int = LT-_ :: Int `compare` head ys :: Int = LT-_ :: Int `compare` head [0] :: Int = LT-_ :: Int `compare` head (_:xs) :: Int = LT-_ :: Int `compare` head [_] :: Int = LT-_ :: Int `compare` head (_:_:_) :: Int = LT-_ :: Int `compare` head (x:_) :: Int = LT-_ :: Int `compare` head (0:_) :: Int = LT-_ :: Int `compare` head (id _:_) :: Int = LT-_ :: Int `compare` head (tail _) :: Int = LT-_ :: Int `compare` head (_ ++ _) :: Int = LT-_ :: Int `compare` ord d :: Int = LT-_ :: Int `compare` ord ' ' :: Int = LT-_ :: Int `compare` r :: Bool = GT-_ :: Int `compare` not q :: Bool = LT-_ :: Int `compare` not (not p) :: Bool = LT-_ :: Int `compare` not (not False) :: Bool = LT-_ :: Int `compare` not (not True) :: Bool = LT-_ :: Int `compare` not (not (not _)) :: Bool = LT-_ :: Int `compare` not (_ || _) :: Bool = LT-_ :: Int `compare` _ || p :: Bool = LT-_ :: Int `compare` _ || False :: Bool = LT-_ :: Int `compare` _ || True :: Bool = LT-_ :: Int `compare` _ || not _ :: Bool = LT-_ :: Int `compare` p || _ :: Bool = LT-_ :: Int `compare` False || _ :: Bool = LT-_ :: Int `compare` True || _ :: Bool = LT-_ :: Int `compare` not _ || _ :: Bool = LT-_ :: Int `compare` _ && _ :: Bool = LT-_ :: Int `compare` _ == _ :: Bool = LT-_ :: Int `compare` _ == _ :: Bool = LT-_ :: Int `compare` odd _ :: Bool = LT-_ :: Int `compare` even _ :: Bool = LT-_ :: Int `compare` elem _ _ :: Bool = LT-_ :: Int `compare` e :: Char = GT-_ :: Int `compare` 'b' :: Char = LT-_ :: Int `compare` zs :: [Int] = LT-_ :: Int `compare` [0,0] :: [Int] = LT-_ :: Int `compare` [1] :: [Int] = LT-_ :: Int `compare` _:ys :: [Int] = LT-_ :: Int `compare` [_,0] :: [Int] = LT-_ :: Int `compare` _:_:xs :: [Int] = LT-_ :: Int `compare` [_,_] :: [Int] = LT-_ :: Int `compare` _:_:_:_ :: [Int] = LT-_ :: Int `compare` _:x:_ :: [Int] = LT-_ :: Int `compare` _:0:_ :: [Int] = LT-_ :: Int `compare` _:id _:_ :: [Int] = LT-_ :: Int `compare` _:tail _ :: [Int] = LT-_ :: Int `compare` _:(_ ++ _) :: [Int] = LT-_ :: Int `compare` x:xs :: [Int] = LT-_ :: Int `compare` [x] :: [Int] = LT-_ :: Int `compare` x:_:_ :: [Int] = LT-_ :: Int `compare` 0:xs :: [Int] = LT-_ :: Int `compare` [0] :: [Int] = LT-_ :: Int `compare` 0:_:_ :: [Int] = LT-_ :: Int `compare` id _:xs :: [Int] = LT-_ :: Int `compare` [id _] :: [Int] = LT-_ :: Int `compare` id _:_:_ :: [Int] = LT-_ :: Int `compare` y:_ :: [Int] = LT-_ :: Int `compare` 1:_ :: [Int] = LT-_ :: Int `compare` id x:_ :: [Int] = LT-_ :: Int `compare` id 0:_ :: [Int] = LT-_ :: Int `compare` id (id _):_ :: [Int] = LT-_ :: Int `compare` negate _:_ :: [Int] = LT-_ :: Int `compare` abs _:_ :: [Int] = LT-_ :: Int `compare` _ + _:_ :: [Int] = LT-_ :: Int `compare` head _:_ :: [Int] = LT-_ :: Int `compare` ord _:_ :: [Int] = LT-_ :: Int `compare` tail xs :: [Int] = LT-_ :: Int `compare` tail [] :: [Int] = LT-_ :: Int `compare` tail (_:_) :: [Int] = LT-_ :: Int `compare` _ ++ xs :: [Int] = LT-_ :: Int `compare` _ ++ [] :: [Int] = LT-_ :: Int `compare` _ ++ (_:_) :: [Int] = LT-_ :: Int `compare` xs ++ _ :: [Int] = LT-_ :: Int `compare` [] ++ _ :: [Int] = LT-_ :: Int `compare` (_:_) ++ _ :: [Int] = LT-_ :: Int `compare` sort _ :: [Int] = LT-_ :: Int `compare` insert _ _ :: [Int] = LT-_ :: Int `compare` (x +) :: Int -> Int = LT-_ :: Int `compare` (0 +) :: Int -> Int = LT-_ :: Int `compare` (id _ +) :: Int -> Int = LT-_ :: Int `compare` (_ *) :: Int -> Int = LT-_ :: Int `compare` f :: Int -> Int = LT-_ :: Int `compare` (_ ||) :: Bool -> Bool = LT-_ :: Int `compare` (&&) :: Bool -> Bool -> Bool = LT-x :: Int `compare` z :: Int = LT-x :: Int `compare` -1 :: Int = LT-x :: Int `compare` id y :: Int = LT-x :: Int `compare` id 1 :: Int = LT-x :: Int `compare` id (id x) :: Int = LT-x :: Int `compare` id (id 0) :: Int = LT-x :: Int `compare` id (id (id _)) :: Int = LT-x :: Int `compare` id (negate _) :: Int = LT-x :: Int `compare` id (abs _) :: Int = LT-x :: Int `compare` id (_ + _) :: Int = LT-x :: Int `compare` id (head _) :: Int = LT-x :: Int `compare` id (ord _) :: Int = LT-x :: Int `compare` negate x :: Int = LT-x :: Int `compare` negate 0 :: Int = LT-x :: Int `compare` negate (id _) :: Int = LT-x :: Int `compare` abs x :: Int = LT-x :: Int `compare` abs 0 :: Int = LT-x :: Int `compare` abs (id _) :: Int = LT-x :: Int `compare` _ + x :: Int = LT-x :: Int `compare` _ + 0 :: Int = LT-x :: Int `compare` _ + id _ :: Int = LT-x :: Int `compare` x + _ :: Int = LT-x :: Int `compare` 0 + _ :: Int = LT-x :: Int `compare` id _ + _ :: Int = LT-x :: Int `compare` _ * _ :: Int = LT-x :: Int `compare` f _ :: Int = LT-x :: Int `compare` head xs :: Int = LT-x :: Int `compare` head [] :: Int = LT-x :: Int `compare` head (_:_) :: Int = LT-x :: Int `compare` ord c :: Int = LT-x :: Int `compare` ord 'a' :: Int = LT-x :: Int `compare` q :: Bool = GT-x :: Int `compare` not p :: Bool = LT-x :: Int `compare` not False :: Bool = LT-x :: Int `compare` not True :: Bool = LT-x :: Int `compare` not (not _) :: Bool = LT-x :: Int `compare` _ || _ :: Bool = LT-x :: Int `compare` d :: Char = GT-x :: Int `compare` ' ' :: Char = LT-x :: Int `compare` ys :: [Int] = LT-x :: Int `compare` [0] :: [Int] = LT-x :: Int `compare` _:xs :: [Int] = LT-x :: Int `compare` [_] :: [Int] = LT-x :: Int `compare` _:_:_ :: [Int] = LT-x :: Int `compare` x:_ :: [Int] = LT-x :: Int `compare` 0:_ :: [Int] = LT-x :: Int `compare` id _:_ :: [Int] = LT-x :: Int `compare` tail _ :: [Int] = LT-x :: Int `compare` _ ++ _ :: [Int] = LT-x :: Int `compare` negate :: Int -> Int = LT-x :: Int `compare` abs :: Int -> Int = LT-x :: Int `compare` (_ +) :: Int -> Int = LT-x :: Int `compare` (*) :: Int -> Int -> Int = LT-x :: Int `compare` not :: Bool -> Bool = LT-x :: Int `compare` (||) :: Bool -> Bool -> Bool = LT-0 :: Int `compare` z :: Int = GT-0 :: Int `compare` -1 :: Int = LT-0 :: Int `compare` id y :: Int = LT-0 :: Int `compare` id 1 :: Int = LT-0 :: Int `compare` id (id x) :: Int = LT-0 :: Int `compare` id (id 0) :: Int = LT-0 :: Int `compare` id (id (id _)) :: Int = LT-0 :: Int `compare` id (negate _) :: Int = LT-0 :: Int `compare` id (abs _) :: Int = LT-0 :: Int `compare` id (_ + _) :: Int = LT-0 :: Int `compare` id (head _) :: Int = LT-0 :: Int `compare` id (ord _) :: Int = LT-0 :: Int `compare` negate x :: Int = LT-0 :: Int `compare` negate 0 :: Int = LT-0 :: Int `compare` negate (id _) :: Int = LT-0 :: Int `compare` abs x :: Int = LT-0 :: Int `compare` abs 0 :: Int = LT-0 :: Int `compare` abs (id _) :: Int = LT-0 :: Int `compare` _ + x :: Int = LT-0 :: Int `compare` _ + 0 :: Int = LT-0 :: Int `compare` _ + id _ :: Int = LT-0 :: Int `compare` x + _ :: Int = LT-0 :: Int `compare` 0 + _ :: Int = LT-0 :: Int `compare` id _ + _ :: Int = LT-0 :: Int `compare` _ * _ :: Int = LT-0 :: Int `compare` f _ :: Int = LT-0 :: Int `compare` head xs :: Int = LT-0 :: Int `compare` head [] :: Int = LT-0 :: Int `compare` head (_:_) :: Int = LT-0 :: Int `compare` ord c :: Int = LT-0 :: Int `compare` ord 'a' :: Int = LT-0 :: Int `compare` q :: Bool = GT-0 :: Int `compare` not p :: Bool = LT-0 :: Int `compare` not False :: Bool = LT-0 :: Int `compare` not True :: Bool = LT-0 :: Int `compare` not (not _) :: Bool = LT-0 :: Int `compare` _ || _ :: Bool = LT-0 :: Int `compare` d :: Char = GT-0 :: Int `compare` ' ' :: Char = GT-0 :: Int `compare` ys :: [Int] = GT-0 :: Int `compare` [0] :: [Int] = LT-0 :: Int `compare` _:xs :: [Int] = LT-0 :: Int `compare` [_] :: [Int] = LT-0 :: Int `compare` _:_:_ :: [Int] = LT-0 :: Int `compare` x:_ :: [Int] = LT-0 :: Int `compare` 0:_ :: [Int] = LT-0 :: Int `compare` id _:_ :: [Int] = LT-0 :: Int `compare` tail _ :: [Int] = LT-0 :: Int `compare` _ ++ _ :: [Int] = LT-0 :: Int `compare` negate :: Int -> Int = LT-0 :: Int `compare` abs :: Int -> Int = LT-0 :: Int `compare` (_ +) :: Int -> Int = LT-0 :: Int `compare` (*) :: Int -> Int -> Int = LT-0 :: Int `compare` not :: Bool -> Bool = LT-0 :: Int `compare` (||) :: Bool -> Bool -> Bool = LT-id _ :: Int `compare` z :: Int = GT-id _ :: Int `compare` -1 :: Int = GT-id _ :: Int `compare` id y :: Int = LT-id _ :: Int `compare` id 1 :: Int = LT-id _ :: Int `compare` id (id x) :: Int = LT-id _ :: Int `compare` id (id 0) :: Int = LT-id _ :: Int `compare` id (id (id _)) :: Int = LT-id _ :: Int `compare` id (negate _) :: Int = LT-id _ :: Int `compare` id (abs _) :: Int = LT-id _ :: Int `compare` id (_ + _) :: Int = LT-id _ :: Int `compare` id (head _) :: Int = LT-id _ :: Int `compare` id (ord _) :: Int = LT-id _ :: Int `compare` negate x :: Int = LT-id _ :: Int `compare` negate 0 :: Int = LT-id _ :: Int `compare` negate (id _) :: Int = LT-id _ :: Int `compare` abs x :: Int = LT-id _ :: Int `compare` abs 0 :: Int = LT-id _ :: Int `compare` abs (id _) :: Int = LT-id _ :: Int `compare` _ + x :: Int = LT-id _ :: Int `compare` _ + 0 :: Int = LT-id _ :: Int `compare` _ + id _ :: Int = LT-id _ :: Int `compare` x + _ :: Int = LT-id _ :: Int `compare` 0 + _ :: Int = LT-id _ :: Int `compare` id _ + _ :: Int = LT-id _ :: Int `compare` _ * _ :: Int = LT-id _ :: Int `compare` f _ :: Int = GT-id _ :: Int `compare` head xs :: Int = LT-id _ :: Int `compare` head [] :: Int = LT-id _ :: Int `compare` head (_:_) :: Int = LT-id _ :: Int `compare` ord c :: Int = GT-id _ :: Int `compare` ord 'a' :: Int = LT-id _ :: Int `compare` q :: Bool = GT-id _ :: Int `compare` not p :: Bool = GT-id _ :: Int `compare` not False :: Bool = LT-id _ :: Int `compare` not True :: Bool = LT-id _ :: Int `compare` not (not _) :: Bool = LT-id _ :: Int `compare` _ || _ :: Bool = LT-id _ :: Int `compare` d :: Char = GT-id _ :: Int `compare` ' ' :: Char = GT-id _ :: Int `compare` ys :: [Int] = GT-id _ :: Int `compare` [0] :: [Int] = GT-id _ :: Int `compare` _:xs :: [Int] = LT-id _ :: Int `compare` [_] :: [Int] = LT-id _ :: Int `compare` _:_:_ :: [Int] = LT-id _ :: Int `compare` x:_ :: [Int] = LT-id _ :: Int `compare` 0:_ :: [Int] = LT-id _ :: Int `compare` id _:_ :: [Int] = LT-id _ :: Int `compare` tail _ :: [Int] = LT-id _ :: Int `compare` _ ++ _ :: [Int] = LT-id _ :: Int `compare` negate :: Int -> Int = GT-id _ :: Int `compare` abs :: Int -> Int = GT-id _ :: Int `compare` (_ +) :: Int -> Int = LT-id _ :: Int `compare` (*) :: Int -> Int -> Int = GT-id _ :: Int `compare` not :: Bool -> Bool = GT-id _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-_ :: Bool `compare` z :: Int = LT-_ :: Bool `compare` -1 :: Int = LT-_ :: Bool `compare` id y :: Int = LT-_ :: Bool `compare` id 1 :: Int = LT-_ :: Bool `compare` id (id x) :: Int = LT-_ :: Bool `compare` id (id 0) :: Int = LT-_ :: Bool `compare` id (id (id _)) :: Int = LT-_ :: Bool `compare` id (negate _) :: Int = LT-_ :: Bool `compare` id (abs _) :: Int = LT-_ :: Bool `compare` id (_ + _) :: Int = LT-_ :: Bool `compare` id (head _) :: Int = LT-_ :: Bool `compare` id (ord _) :: Int = LT-_ :: Bool `compare` negate x :: Int = LT-_ :: Bool `compare` negate 0 :: Int = LT-_ :: Bool `compare` negate (id _) :: Int = LT-_ :: Bool `compare` abs x :: Int = LT-_ :: Bool `compare` abs 0 :: Int = LT-_ :: Bool `compare` abs (id _) :: Int = LT-_ :: Bool `compare` _ + x :: Int = LT-_ :: Bool `compare` _ + 0 :: Int = LT-_ :: Bool `compare` _ + id _ :: Int = LT-_ :: Bool `compare` x + _ :: Int = LT-_ :: Bool `compare` 0 + _ :: Int = LT-_ :: Bool `compare` id _ + _ :: Int = LT-_ :: Bool `compare` _ * _ :: Int = LT-_ :: Bool `compare` f _ :: Int = LT-_ :: Bool `compare` head xs :: Int = LT-_ :: Bool `compare` head [] :: Int = LT-_ :: Bool `compare` head (_:_) :: Int = LT-_ :: Bool `compare` ord c :: Int = LT-_ :: Bool `compare` ord 'a' :: Int = LT-_ :: Bool `compare` q :: Bool = LT-_ :: Bool `compare` not p :: Bool = LT-_ :: Bool `compare` not False :: Bool = LT-_ :: Bool `compare` not True :: Bool = LT-_ :: Bool `compare` not (not _) :: Bool = LT-_ :: Bool `compare` _ || _ :: Bool = LT-_ :: Bool `compare` d :: Char = LT-_ :: Bool `compare` ' ' :: Char = LT-_ :: Bool `compare` ys :: [Int] = LT-_ :: Bool `compare` [0] :: [Int] = LT-_ :: Bool `compare` _:xs :: [Int] = LT-_ :: Bool `compare` [_] :: [Int] = LT-_ :: Bool `compare` _:_:_ :: [Int] = LT-_ :: Bool `compare` x:_ :: [Int] = LT-_ :: Bool `compare` 0:_ :: [Int] = LT-_ :: Bool `compare` id _:_ :: [Int] = LT-_ :: Bool `compare` tail _ :: [Int] = LT-_ :: Bool `compare` _ ++ _ :: [Int] = LT-_ :: Bool `compare` negate :: Int -> Int = LT-_ :: Bool `compare` abs :: Int -> Int = LT-_ :: Bool `compare` (_ +) :: Int -> Int = LT-_ :: Bool `compare` (*) :: Int -> Int -> Int = LT-_ :: Bool `compare` not :: Bool -> Bool = LT-_ :: Bool `compare` (||) :: Bool -> Bool -> Bool = LT-_ :: Char `compare` z :: Int = LT-_ :: Char `compare` -1 :: Int = LT-_ :: Char `compare` id y :: Int = LT-_ :: Char `compare` id 1 :: Int = LT-_ :: Char `compare` id (id x) :: Int = LT-_ :: Char `compare` id (id 0) :: Int = LT-_ :: Char `compare` id (id (id _)) :: Int = LT-_ :: Char `compare` id (negate _) :: Int = LT-_ :: Char `compare` id (abs _) :: Int = LT-_ :: Char `compare` id (_ + _) :: Int = LT-_ :: Char `compare` id (head _) :: Int = LT-_ :: Char `compare` id (ord _) :: Int = LT-_ :: Char `compare` negate x :: Int = LT-_ :: Char `compare` negate 0 :: Int = LT-_ :: Char `compare` negate (id _) :: Int = LT-_ :: Char `compare` abs x :: Int = LT-_ :: Char `compare` abs 0 :: Int = LT-_ :: Char `compare` abs (id _) :: Int = LT-_ :: Char `compare` _ + x :: Int = LT-_ :: Char `compare` _ + 0 :: Int = LT-_ :: Char `compare` _ + id _ :: Int = LT-_ :: Char `compare` x + _ :: Int = LT-_ :: Char `compare` 0 + _ :: Int = LT-_ :: Char `compare` id _ + _ :: Int = LT-_ :: Char `compare` _ * _ :: Int = LT-_ :: Char `compare` f _ :: Int = LT-_ :: Char `compare` head xs :: Int = LT-_ :: Char `compare` head [] :: Int = LT-_ :: Char `compare` head (_:_) :: Int = LT-_ :: Char `compare` ord c :: Int = LT-_ :: Char `compare` ord 'a' :: Int = LT-_ :: Char `compare` q :: Bool = GT-_ :: Char `compare` not p :: Bool = LT-_ :: Char `compare` not False :: Bool = LT-_ :: Char `compare` not True :: Bool = LT-_ :: Char `compare` not (not _) :: Bool = LT-_ :: Char `compare` _ || _ :: Bool = LT-_ :: Char `compare` d :: Char = LT-_ :: Char `compare` ' ' :: Char = LT-_ :: Char `compare` ys :: [Int] = LT-_ :: Char `compare` [0] :: [Int] = LT-_ :: Char `compare` _:xs :: [Int] = LT-_ :: Char `compare` [_] :: [Int] = LT-_ :: Char `compare` _:_:_ :: [Int] = LT-_ :: Char `compare` x:_ :: [Int] = LT-_ :: Char `compare` 0:_ :: [Int] = LT-_ :: Char `compare` id _:_ :: [Int] = LT-_ :: Char `compare` tail _ :: [Int] = LT-_ :: Char `compare` _ ++ _ :: [Int] = LT-_ :: Char `compare` negate :: Int -> Int = LT-_ :: Char `compare` abs :: Int -> Int = LT-_ :: Char `compare` (_ +) :: Int -> Int = LT-_ :: Char `compare` (*) :: Int -> Int -> Int = LT-_ :: Char `compare` not :: Bool -> Bool = LT-_ :: Char `compare` (||) :: Bool -> Bool -> Bool = LT-_ :: [Int] `compare` z :: Int = GT-_ :: [Int] `compare` -1 :: Int = LT-_ :: [Int] `compare` id y :: Int = LT-_ :: [Int] `compare` id 1 :: Int = LT-_ :: [Int] `compare` id (id x) :: Int = LT-_ :: [Int] `compare` id (id 0) :: Int = LT-_ :: [Int] `compare` id (id (id _)) :: Int = LT-_ :: [Int] `compare` id (negate _) :: Int = LT-_ :: [Int] `compare` id (abs _) :: Int = LT-_ :: [Int] `compare` id (_ + _) :: Int = LT-_ :: [Int] `compare` id (head _) :: Int = LT-_ :: [Int] `compare` id (ord _) :: Int = LT-_ :: [Int] `compare` negate x :: Int = LT-_ :: [Int] `compare` negate 0 :: Int = LT-_ :: [Int] `compare` negate (id _) :: Int = LT-_ :: [Int] `compare` abs x :: Int = LT-_ :: [Int] `compare` abs 0 :: Int = LT-_ :: [Int] `compare` abs (id _) :: Int = LT-_ :: [Int] `compare` _ + x :: Int = LT-_ :: [Int] `compare` _ + 0 :: Int = LT-_ :: [Int] `compare` _ + id _ :: Int = LT-_ :: [Int] `compare` x + _ :: Int = LT-_ :: [Int] `compare` 0 + _ :: Int = LT-_ :: [Int] `compare` id _ + _ :: Int = LT-_ :: [Int] `compare` _ * _ :: Int = LT-_ :: [Int] `compare` f _ :: Int = LT-_ :: [Int] `compare` head xs :: Int = LT-_ :: [Int] `compare` head [] :: Int = LT-_ :: [Int] `compare` head (_:_) :: Int = LT-_ :: [Int] `compare` ord c :: Int = LT-_ :: [Int] `compare` ord 'a' :: Int = LT-_ :: [Int] `compare` q :: Bool = GT-_ :: [Int] `compare` not p :: Bool = LT-_ :: [Int] `compare` not False :: Bool = LT-_ :: [Int] `compare` not True :: Bool = LT-_ :: [Int] `compare` not (not _) :: Bool = LT-_ :: [Int] `compare` _ || _ :: Bool = LT-_ :: [Int] `compare` d :: Char = GT-_ :: [Int] `compare` ' ' :: Char = LT-_ :: [Int] `compare` ys :: [Int] = LT-_ :: [Int] `compare` [0] :: [Int] = LT-_ :: [Int] `compare` _:xs :: [Int] = LT-_ :: [Int] `compare` [_] :: [Int] = LT-_ :: [Int] `compare` _:_:_ :: [Int] = LT-_ :: [Int] `compare` x:_ :: [Int] = LT-_ :: [Int] `compare` 0:_ :: [Int] = LT-_ :: [Int] `compare` id _:_ :: [Int] = LT-_ :: [Int] `compare` tail _ :: [Int] = LT-_ :: [Int] `compare` _ ++ _ :: [Int] = LT-_ :: [Int] `compare` negate :: Int -> Int = LT-_ :: [Int] `compare` abs :: Int -> Int = LT-_ :: [Int] `compare` (_ +) :: Int -> Int = LT-_ :: [Int] `compare` (*) :: Int -> Int -> Int = LT-_ :: [Int] `compare` not :: Bool -> Bool = LT-_ :: [Int] `compare` (||) :: Bool -> Bool -> Bool = LT-y :: Int `compare` y :: Int = EQ-y :: Int `compare` 1 :: Int = LT-y :: Int `compare` id x :: Int = LT-y :: Int `compare` id 0 :: Int = LT-y :: Int `compare` id (id _) :: Int = LT-y :: Int `compare` negate _ :: Int = LT-y :: Int `compare` abs _ :: Int = LT-y :: Int `compare` _ + _ :: Int = LT-y :: Int `compare` head _ :: Int = LT-y :: Int `compare` ord _ :: Int = LT-y :: Int `compare` p :: Bool = GT-y :: Int `compare` False :: Bool = LT-y :: Int `compare` True :: Bool = LT-y :: Int `compare` not _ :: Bool = LT-y :: Int `compare` c :: Char = GT-y :: Int `compare` 'a' :: Char = LT-y :: Int `compare` xs :: [Int] = LT-y :: Int `compare` [] :: [Int] = LT-y :: Int `compare` _:_ :: [Int] = LT-y :: Int `compare` id :: Int -> Int = LT-y :: Int `compare` (+) :: Int -> Int -> Int = LT-1 :: Int `compare` y :: Int = GT-1 :: Int `compare` 1 :: Int = EQ-1 :: Int `compare` id x :: Int = LT-1 :: Int `compare` id 0 :: Int = LT-1 :: Int `compare` id (id _) :: Int = LT-1 :: Int `compare` negate _ :: Int = LT-1 :: Int `compare` abs _ :: Int = LT-1 :: Int `compare` _ + _ :: Int = LT-1 :: Int `compare` head _ :: Int = LT-1 :: Int `compare` ord _ :: Int = LT-1 :: Int `compare` p :: Bool = GT-1 :: Int `compare` False :: Bool = GT-1 :: Int `compare` True :: Bool = GT-1 :: Int `compare` not _ :: Bool = LT-1 :: Int `compare` c :: Char = GT-1 :: Int `compare` 'a' :: Char = GT-1 :: Int `compare` xs :: [Int] = GT-1 :: Int `compare` [] :: [Int] = LT-1 :: Int `compare` _:_ :: [Int] = LT-1 :: Int `compare` id :: Int -> Int = LT-1 :: Int `compare` (+) :: Int -> Int -> Int = LT-id x :: Int `compare` y :: Int = GT-id x :: Int `compare` 1 :: Int = GT-id x :: Int `compare` id x :: Int = EQ-id x :: Int `compare` id 0 :: Int = LT-id x :: Int `compare` id (id _) :: Int = LT-id x :: Int `compare` negate _ :: Int = LT-id x :: Int `compare` abs _ :: Int = LT-id x :: Int `compare` _ + _ :: Int = LT-id x :: Int `compare` head _ :: Int = LT-id x :: Int `compare` ord _ :: Int = GT-id x :: Int `compare` p :: Bool = GT-id x :: Int `compare` False :: Bool = GT-id x :: Int `compare` True :: Bool = GT-id x :: Int `compare` not _ :: Bool = GT-id x :: Int `compare` c :: Char = GT-id x :: Int `compare` 'a' :: Char = GT-id x :: Int `compare` xs :: [Int] = GT-id x :: Int `compare` [] :: [Int] = GT-id x :: Int `compare` _:_ :: [Int] = LT-id x :: Int `compare` id :: Int -> Int = GT-id x :: Int `compare` (+) :: Int -> Int -> Int = GT-id 0 :: Int `compare` y :: Int = GT-id 0 :: Int `compare` 1 :: Int = GT-id 0 :: Int `compare` id x :: Int = GT-id 0 :: Int `compare` id 0 :: Int = EQ-id 0 :: Int `compare` id (id _) :: Int = LT-id 0 :: Int `compare` negate _ :: Int = GT-id 0 :: Int `compare` abs _ :: Int = GT-id 0 :: Int `compare` _ + _ :: Int = LT-id 0 :: Int `compare` head _ :: Int = GT-id 0 :: Int `compare` ord _ :: Int = GT-id 0 :: Int `compare` p :: Bool = GT-id 0 :: Int `compare` False :: Bool = GT-id 0 :: Int `compare` True :: Bool = GT-id 0 :: Int `compare` not _ :: Bool = GT-id 0 :: Int `compare` c :: Char = GT-id 0 :: Int `compare` 'a' :: Char = GT-id 0 :: Int `compare` xs :: [Int] = GT-id 0 :: Int `compare` [] :: [Int] = GT-id 0 :: Int `compare` _:_ :: [Int] = LT-id 0 :: Int `compare` id :: Int -> Int = GT-id 0 :: Int `compare` (+) :: Int -> Int -> Int = GT-id (id _) :: Int `compare` y :: Int = GT-id (id _) :: Int `compare` 1 :: Int = GT-id (id _) :: Int `compare` id x :: Int = GT-id (id _) :: Int `compare` id 0 :: Int = GT-id (id _) :: Int `compare` id (id _) :: Int = EQ-id (id _) :: Int `compare` negate _ :: Int = GT-id (id _) :: Int `compare` abs _ :: Int = GT-id (id _) :: Int `compare` _ + _ :: Int = GT-id (id _) :: Int `compare` head _ :: Int = GT-id (id _) :: Int `compare` ord _ :: Int = GT-id (id _) :: Int `compare` p :: Bool = GT-id (id _) :: Int `compare` False :: Bool = GT-id (id _) :: Int `compare` True :: Bool = GT-id (id _) :: Int `compare` not _ :: Bool = GT-id (id _) :: Int `compare` c :: Char = GT-id (id _) :: Int `compare` 'a' :: Char = GT-id (id _) :: Int `compare` xs :: [Int] = GT-id (id _) :: Int `compare` [] :: [Int] = GT-id (id _) :: Int `compare` _:_ :: [Int] = GT-id (id _) :: Int `compare` id :: Int -> Int = GT-id (id _) :: Int `compare` (+) :: Int -> Int -> Int = GT-negate _ :: Int `compare` y :: Int = GT-negate _ :: Int `compare` 1 :: Int = GT-negate _ :: Int `compare` id x :: Int = GT-negate _ :: Int `compare` id 0 :: Int = LT-negate _ :: Int `compare` id (id _) :: Int = LT-negate _ :: Int `compare` negate _ :: Int = EQ-negate _ :: Int `compare` abs _ :: Int = GT-negate _ :: Int `compare` _ + _ :: Int = LT-negate _ :: Int `compare` head _ :: Int = LT-negate _ :: Int `compare` ord _ :: Int = GT-negate _ :: Int `compare` p :: Bool = GT-negate _ :: Int `compare` False :: Bool = GT-negate _ :: Int `compare` True :: Bool = GT-negate _ :: Int `compare` not _ :: Bool = GT-negate _ :: Int `compare` c :: Char = GT-negate _ :: Int `compare` 'a' :: Char = GT-negate _ :: Int `compare` xs :: [Int] = GT-negate _ :: Int `compare` [] :: [Int] = GT-negate _ :: Int `compare` _:_ :: [Int] = LT-negate _ :: Int `compare` id :: Int -> Int = GT-negate _ :: Int `compare` (+) :: Int -> Int -> Int = GT-abs _ :: Int `compare` y :: Int = GT-abs _ :: Int `compare` 1 :: Int = GT-abs _ :: Int `compare` id x :: Int = GT-abs _ :: Int `compare` id 0 :: Int = LT-abs _ :: Int `compare` id (id _) :: Int = LT-abs _ :: Int `compare` negate _ :: Int = LT-abs _ :: Int `compare` abs _ :: Int = EQ-abs _ :: Int `compare` _ + _ :: Int = LT-abs _ :: Int `compare` head _ :: Int = LT-abs _ :: Int `compare` ord _ :: Int = GT-abs _ :: Int `compare` p :: Bool = GT-abs _ :: Int `compare` False :: Bool = GT-abs _ :: Int `compare` True :: Bool = GT-abs _ :: Int `compare` not _ :: Bool = GT-abs _ :: Int `compare` c :: Char = GT-abs _ :: Int `compare` 'a' :: Char = GT-abs _ :: Int `compare` xs :: [Int] = GT-abs _ :: Int `compare` [] :: [Int] = GT-abs _ :: Int `compare` _:_ :: [Int] = LT-abs _ :: Int `compare` id :: Int -> Int = GT-abs _ :: Int `compare` (+) :: Int -> Int -> Int = GT-_ + _ :: Int `compare` y :: Int = GT-_ + _ :: Int `compare` 1 :: Int = GT-_ + _ :: Int `compare` id x :: Int = GT-_ + _ :: Int `compare` id 0 :: Int = GT-_ + _ :: Int `compare` id (id _) :: Int = LT-_ + _ :: Int `compare` negate _ :: Int = GT-_ + _ :: Int `compare` abs _ :: Int = GT-_ + _ :: Int `compare` _ + _ :: Int = EQ-_ + _ :: Int `compare` head _ :: Int = GT-_ + _ :: Int `compare` ord _ :: Int = GT-_ + _ :: Int `compare` p :: Bool = GT-_ + _ :: Int `compare` False :: Bool = GT-_ + _ :: Int `compare` True :: Bool = GT-_ + _ :: Int `compare` not _ :: Bool = GT-_ + _ :: Int `compare` c :: Char = GT-_ + _ :: Int `compare` 'a' :: Char = GT-_ + _ :: Int `compare` xs :: [Int] = GT-_ + _ :: Int `compare` [] :: [Int] = GT-_ + _ :: Int `compare` _:_ :: [Int] = GT-_ + _ :: Int `compare` id :: Int -> Int = GT-_ + _ :: Int `compare` (+) :: Int -> Int -> Int = GT-head _ :: Int `compare` y :: Int = GT-head _ :: Int `compare` 1 :: Int = GT-head _ :: Int `compare` id x :: Int = GT-head _ :: Int `compare` id 0 :: Int = LT-head _ :: Int `compare` id (id _) :: Int = LT-head _ :: Int `compare` negate _ :: Int = GT-head _ :: Int `compare` abs _ :: Int = GT-head _ :: Int `compare` _ + _ :: Int = LT-head _ :: Int `compare` head _ :: Int = EQ-head _ :: Int `compare` ord _ :: Int = GT-head _ :: Int `compare` p :: Bool = GT-head _ :: Int `compare` False :: Bool = GT-head _ :: Int `compare` True :: Bool = GT-head _ :: Int `compare` not _ :: Bool = GT-head _ :: Int `compare` c :: Char = GT-head _ :: Int `compare` 'a' :: Char = GT-head _ :: Int `compare` xs :: [Int] = GT-head _ :: Int `compare` [] :: [Int] = GT-head _ :: Int `compare` _:_ :: [Int] = LT-head _ :: Int `compare` id :: Int -> Int = GT-head _ :: Int `compare` (+) :: Int -> Int -> Int = GT-ord _ :: Int `compare` y :: Int = GT-ord _ :: Int `compare` 1 :: Int = GT-ord _ :: Int `compare` id x :: Int = LT-ord _ :: Int `compare` id 0 :: Int = LT-ord _ :: Int `compare` id (id _) :: Int = LT-ord _ :: Int `compare` negate _ :: Int = LT-ord _ :: Int `compare` abs _ :: Int = LT-ord _ :: Int `compare` _ + _ :: Int = LT-ord _ :: Int `compare` head _ :: Int = LT-ord _ :: Int `compare` ord _ :: Int = EQ-ord _ :: Int `compare` p :: Bool = GT-ord _ :: Int `compare` False :: Bool = GT-ord _ :: Int `compare` True :: Bool = GT-ord _ :: Int `compare` not _ :: Bool = GT-ord _ :: Int `compare` c :: Char = GT-ord _ :: Int `compare` 'a' :: Char = GT-ord _ :: Int `compare` xs :: [Int] = GT-ord _ :: Int `compare` [] :: [Int] = GT-ord _ :: Int `compare` _:_ :: [Int] = LT-ord _ :: Int `compare` id :: Int -> Int = GT-ord _ :: Int `compare` (+) :: Int -> Int -> Int = GT-p :: Bool `compare` y :: Int = LT-p :: Bool `compare` 1 :: Int = LT-p :: Bool `compare` id x :: Int = LT-p :: Bool `compare` id 0 :: Int = LT-p :: Bool `compare` id (id _) :: Int = LT-p :: Bool `compare` negate _ :: Int = LT-p :: Bool `compare` abs _ :: Int = LT-p :: Bool `compare` _ + _ :: Int = LT-p :: Bool `compare` head _ :: Int = LT-p :: Bool `compare` ord _ :: Int = LT-p :: Bool `compare` p :: Bool = EQ-p :: Bool `compare` False :: Bool = LT-p :: Bool `compare` True :: Bool = LT-p :: Bool `compare` not _ :: Bool = LT-p :: Bool `compare` c :: Char = LT-p :: Bool `compare` 'a' :: Char = LT-p :: Bool `compare` xs :: [Int] = LT-p :: Bool `compare` [] :: [Int] = LT-p :: Bool `compare` _:_ :: [Int] = LT-p :: Bool `compare` id :: Int -> Int = LT-p :: Bool `compare` (+) :: Int -> Int -> Int = LT-False :: Bool `compare` y :: Int = GT-False :: Bool `compare` 1 :: Int = LT-False :: Bool `compare` id x :: Int = LT-False :: Bool `compare` id 0 :: Int = LT-False :: Bool `compare` id (id _) :: Int = LT-False :: Bool `compare` negate _ :: Int = LT-False :: Bool `compare` abs _ :: Int = LT-False :: Bool `compare` _ + _ :: Int = LT-False :: Bool `compare` head _ :: Int = LT-False :: Bool `compare` ord _ :: Int = LT-False :: Bool `compare` p :: Bool = GT-False :: Bool `compare` False :: Bool = EQ-False :: Bool `compare` True :: Bool = LT-False :: Bool `compare` not _ :: Bool = LT-False :: Bool `compare` c :: Char = GT-False :: Bool `compare` 'a' :: Char = LT-False :: Bool `compare` xs :: [Int] = GT-False :: Bool `compare` [] :: [Int] = LT-False :: Bool `compare` _:_ :: [Int] = LT-False :: Bool `compare` id :: Int -> Int = LT-False :: Bool `compare` (+) :: Int -> Int -> Int = LT-True :: Bool `compare` y :: Int = GT-True :: Bool `compare` 1 :: Int = LT-True :: Bool `compare` id x :: Int = LT-True :: Bool `compare` id 0 :: Int = LT-True :: Bool `compare` id (id _) :: Int = LT-True :: Bool `compare` negate _ :: Int = LT-True :: Bool `compare` abs _ :: Int = LT-True :: Bool `compare` _ + _ :: Int = LT-True :: Bool `compare` head _ :: Int = LT-True :: Bool `compare` ord _ :: Int = LT-True :: Bool `compare` p :: Bool = GT-True :: Bool `compare` False :: Bool = GT-True :: Bool `compare` True :: Bool = EQ-True :: Bool `compare` not _ :: Bool = LT-True :: Bool `compare` c :: Char = GT-True :: Bool `compare` 'a' :: Char = LT-True :: Bool `compare` xs :: [Int] = GT-True :: Bool `compare` [] :: [Int] = LT-True :: Bool `compare` _:_ :: [Int] = LT-True :: Bool `compare` id :: Int -> Int = LT-True :: Bool `compare` (+) :: Int -> Int -> Int = LT-not _ :: Bool `compare` y :: Int = GT-not _ :: Bool `compare` 1 :: Int = GT-not _ :: Bool `compare` id x :: Int = LT-not _ :: Bool `compare` id 0 :: Int = LT-not _ :: Bool `compare` id (id _) :: Int = LT-not _ :: Bool `compare` negate _ :: Int = LT-not _ :: Bool `compare` abs _ :: Int = LT-not _ :: Bool `compare` _ + _ :: Int = LT-not _ :: Bool `compare` head _ :: Int = LT-not _ :: Bool `compare` ord _ :: Int = LT-not _ :: Bool `compare` p :: Bool = GT-not _ :: Bool `compare` False :: Bool = GT-not _ :: Bool `compare` True :: Bool = GT-not _ :: Bool `compare` not _ :: Bool = EQ-not _ :: Bool `compare` c :: Char = GT-not _ :: Bool `compare` 'a' :: Char = GT-not _ :: Bool `compare` xs :: [Int] = GT-not _ :: Bool `compare` [] :: [Int] = GT-not _ :: Bool `compare` _:_ :: [Int] = LT-not _ :: Bool `compare` id :: Int -> Int = GT-not _ :: Bool `compare` (+) :: Int -> Int -> Int = GT-c :: Char `compare` y :: Int = LT-c :: Char `compare` 1 :: Int = LT-c :: Char `compare` id x :: Int = LT-c :: Char `compare` id 0 :: Int = LT-c :: Char `compare` id (id _) :: Int = LT-c :: Char `compare` negate _ :: Int = LT-c :: Char `compare` abs _ :: Int = LT-c :: Char `compare` _ + _ :: Int = LT-c :: Char `compare` head _ :: Int = LT-c :: Char `compare` ord _ :: Int = LT-c :: Char `compare` p :: Bool = GT-c :: Char `compare` False :: Bool = LT-c :: Char `compare` True :: Bool = LT-c :: Char `compare` not _ :: Bool = LT-c :: Char `compare` c :: Char = EQ-c :: Char `compare` 'a' :: Char = LT-c :: Char `compare` xs :: [Int] = LT-c :: Char `compare` [] :: [Int] = LT-c :: Char `compare` _:_ :: [Int] = LT-c :: Char `compare` id :: Int -> Int = LT-c :: Char `compare` (+) :: Int -> Int -> Int = LT-'a' :: Char `compare` y :: Int = GT-'a' :: Char `compare` 1 :: Int = LT-'a' :: Char `compare` id x :: Int = LT-'a' :: Char `compare` id 0 :: Int = LT-'a' :: Char `compare` id (id _) :: Int = LT-'a' :: Char `compare` negate _ :: Int = LT-'a' :: Char `compare` abs _ :: Int = LT-'a' :: Char `compare` _ + _ :: Int = LT-'a' :: Char `compare` head _ :: Int = LT-'a' :: Char `compare` ord _ :: Int = LT-'a' :: Char `compare` p :: Bool = GT-'a' :: Char `compare` False :: Bool = GT-'a' :: Char `compare` True :: Bool = GT-'a' :: Char `compare` not _ :: Bool = LT-'a' :: Char `compare` c :: Char = GT-'a' :: Char `compare` 'a' :: Char = EQ-'a' :: Char `compare` xs :: [Int] = GT-'a' :: Char `compare` [] :: [Int] = LT-'a' :: Char `compare` _:_ :: [Int] = LT-'a' :: Char `compare` id :: Int -> Int = LT-'a' :: Char `compare` (+) :: Int -> Int -> Int = LT-xs :: [Int] `compare` y :: Int = GT-xs :: [Int] `compare` 1 :: Int = LT-xs :: [Int] `compare` id x :: Int = LT-xs :: [Int] `compare` id 0 :: Int = LT-xs :: [Int] `compare` id (id _) :: Int = LT-xs :: [Int] `compare` negate _ :: Int = LT-xs :: [Int] `compare` abs _ :: Int = LT-xs :: [Int] `compare` _ + _ :: Int = LT-xs :: [Int] `compare` head _ :: Int = LT-xs :: [Int] `compare` ord _ :: Int = LT-xs :: [Int] `compare` p :: Bool = GT-xs :: [Int] `compare` False :: Bool = LT-xs :: [Int] `compare` True :: Bool = LT-xs :: [Int] `compare` not _ :: Bool = LT-xs :: [Int] `compare` c :: Char = GT-xs :: [Int] `compare` 'a' :: Char = LT-xs :: [Int] `compare` xs :: [Int] = EQ-xs :: [Int] `compare` [] :: [Int] = LT-xs :: [Int] `compare` _:_ :: [Int] = LT-xs :: [Int] `compare` id :: Int -> Int = LT-xs :: [Int] `compare` (+) :: Int -> Int -> Int = LT-[] :: [Int] `compare` y :: Int = GT-[] :: [Int] `compare` 1 :: Int = GT-[] :: [Int] `compare` id x :: Int = LT-[] :: [Int] `compare` id 0 :: Int = LT-[] :: [Int] `compare` id (id _) :: Int = LT-[] :: [Int] `compare` negate _ :: Int = LT-[] :: [Int] `compare` abs _ :: Int = LT-[] :: [Int] `compare` _ + _ :: Int = LT-[] :: [Int] `compare` head _ :: Int = LT-[] :: [Int] `compare` ord _ :: Int = LT-[] :: [Int] `compare` p :: Bool = GT-[] :: [Int] `compare` False :: Bool = GT-[] :: [Int] `compare` True :: Bool = GT-[] :: [Int] `compare` not _ :: Bool = LT-[] :: [Int] `compare` c :: Char = GT-[] :: [Int] `compare` 'a' :: Char = GT-[] :: [Int] `compare` xs :: [Int] = GT-[] :: [Int] `compare` [] :: [Int] = EQ-[] :: [Int] `compare` _:_ :: [Int] = LT-[] :: [Int] `compare` id :: Int -> Int = LT-[] :: [Int] `compare` (+) :: Int -> Int -> Int = LT-_:_ :: [Int] `compare` y :: Int = GT-_:_ :: [Int] `compare` 1 :: Int = GT-_:_ :: [Int] `compare` id x :: Int = GT-_:_ :: [Int] `compare` id 0 :: Int = GT-_:_ :: [Int] `compare` id (id _) :: Int = LT-_:_ :: [Int] `compare` negate _ :: Int = GT-_:_ :: [Int] `compare` abs _ :: Int = GT-_:_ :: [Int] `compare` _ + _ :: Int = LT-_:_ :: [Int] `compare` head _ :: Int = GT-_:_ :: [Int] `compare` ord _ :: Int = GT-_:_ :: [Int] `compare` p :: Bool = GT-_:_ :: [Int] `compare` False :: Bool = GT-_:_ :: [Int] `compare` True :: Bool = GT-_:_ :: [Int] `compare` not _ :: Bool = GT-_:_ :: [Int] `compare` c :: Char = GT-_:_ :: [Int] `compare` 'a' :: Char = GT-_:_ :: [Int] `compare` xs :: [Int] = GT-_:_ :: [Int] `compare` [] :: [Int] = GT-_:_ :: [Int] `compare` _:_ :: [Int] = EQ-_:_ :: [Int] `compare` id :: Int -> Int = GT-_:_ :: [Int] `compare` (+) :: Int -> Int -> Int = GT-id :: Int -> Int `compare` y :: Int = GT-id :: Int -> Int `compare` 1 :: Int = GT-id :: Int -> Int `compare` id x :: Int = LT-id :: Int -> Int `compare` id 0 :: Int = LT-id :: Int -> Int `compare` id (id _) :: Int = LT-id :: Int -> Int `compare` negate _ :: Int = LT-id :: Int -> Int `compare` abs _ :: Int = LT-id :: Int -> Int `compare` _ + _ :: Int = LT-id :: Int -> Int `compare` head _ :: Int = LT-id :: Int -> Int `compare` ord _ :: Int = LT-id :: Int -> Int `compare` p :: Bool = GT-id :: Int -> Int `compare` False :: Bool = GT-id :: Int -> Int `compare` True :: Bool = GT-id :: Int -> Int `compare` not _ :: Bool = LT-id :: Int -> Int `compare` c :: Char = GT-id :: Int -> Int `compare` 'a' :: Char = GT-id :: Int -> Int `compare` xs :: [Int] = GT-id :: Int -> Int `compare` [] :: [Int] = GT-id :: Int -> Int `compare` _:_ :: [Int] = LT-id :: Int -> Int `compare` id :: Int -> Int = EQ-id :: Int -> Int `compare` (+) :: Int -> Int -> Int = LT-(+) :: Int -> Int -> Int `compare` y :: Int = GT-(+) :: Int -> Int -> Int `compare` 1 :: Int = GT-(+) :: Int -> Int -> Int `compare` id x :: Int = LT-(+) :: Int -> Int -> Int `compare` id 0 :: Int = LT-(+) :: Int -> Int -> Int `compare` id (id _) :: Int = LT-(+) :: Int -> Int -> Int `compare` negate _ :: Int = LT-(+) :: Int -> Int -> Int `compare` abs _ :: Int = LT-(+) :: Int -> Int -> Int `compare` _ + _ :: Int = LT-(+) :: Int -> Int -> Int `compare` head _ :: Int = LT-(+) :: Int -> Int -> Int `compare` ord _ :: Int = LT-(+) :: Int -> Int -> Int `compare` p :: Bool = GT-(+) :: Int -> Int -> Int `compare` False :: Bool = GT-(+) :: Int -> Int -> Int `compare` True :: Bool = GT-(+) :: Int -> Int -> Int `compare` not _ :: Bool = LT-(+) :: Int -> Int -> Int `compare` c :: Char = GT-(+) :: Int -> Int -> Int `compare` 'a' :: Char = GT-(+) :: Int -> Int -> Int `compare` xs :: [Int] = GT-(+) :: Int -> Int -> Int `compare` [] :: [Int] = GT-(+) :: Int -> Int -> Int `compare` _:_ :: [Int] = LT-(+) :: Int -> Int -> Int `compare` id :: Int -> Int = GT-(+) :: Int -> Int -> Int `compare` (+) :: Int -> Int -> Int = EQ-z :: Int `compare` x :: Int = GT-z :: Int `compare` 0 :: Int = LT-z :: Int `compare` id _ :: Int = LT-z :: Int `compare` _ :: Bool = GT-z :: Int `compare` _ :: Char = GT-z :: Int `compare` _ :: [Int] = LT--1 :: Int `compare` x :: Int = GT--1 :: Int `compare` 0 :: Int = GT--1 :: Int `compare` id _ :: Int = LT--1 :: Int `compare` _ :: Bool = GT--1 :: Int `compare` _ :: Char = GT--1 :: Int `compare` _ :: [Int] = GT-id y :: Int `compare` x :: Int = GT-id y :: Int `compare` 0 :: Int = GT-id y :: Int `compare` id _ :: Int = GT-id y :: Int `compare` _ :: Bool = GT-id y :: Int `compare` _ :: Char = GT-id y :: Int `compare` _ :: [Int] = GT-id 1 :: Int `compare` x :: Int = GT-id 1 :: Int `compare` 0 :: Int = GT-id 1 :: Int `compare` id _ :: Int = GT-id 1 :: Int `compare` _ :: Bool = GT-id 1 :: Int `compare` _ :: Char = GT-id 1 :: Int `compare` _ :: [Int] = GT-id (id x) :: Int `compare` x :: Int = GT-id (id x) :: Int `compare` 0 :: Int = GT-id (id x) :: Int `compare` id _ :: Int = GT-id (id x) :: Int `compare` _ :: Bool = GT-id (id x) :: Int `compare` _ :: Char = GT-id (id x) :: Int `compare` _ :: [Int] = GT-id (id 0) :: Int `compare` x :: Int = GT-id (id 0) :: Int `compare` 0 :: Int = GT-id (id 0) :: Int `compare` id _ :: Int = GT-id (id 0) :: Int `compare` _ :: Bool = GT-id (id 0) :: Int `compare` _ :: Char = GT-id (id 0) :: Int `compare` _ :: [Int] = GT-id (id (id _)) :: Int `compare` x :: Int = GT-id (id (id _)) :: Int `compare` 0 :: Int = GT-id (id (id _)) :: Int `compare` id _ :: Int = GT-id (id (id _)) :: Int `compare` _ :: Bool = GT-id (id (id _)) :: Int `compare` _ :: Char = GT-id (id (id _)) :: Int `compare` _ :: [Int] = GT-id (negate _) :: Int `compare` x :: Int = GT-id (negate _) :: Int `compare` 0 :: Int = GT-id (negate _) :: Int `compare` id _ :: Int = GT-id (negate _) :: Int `compare` _ :: Bool = GT-id (negate _) :: Int `compare` _ :: Char = GT-id (negate _) :: Int `compare` _ :: [Int] = GT-id (abs _) :: Int `compare` x :: Int = GT-id (abs _) :: Int `compare` 0 :: Int = GT-id (abs _) :: Int `compare` id _ :: Int = GT-id (abs _) :: Int `compare` _ :: Bool = GT-id (abs _) :: Int `compare` _ :: Char = GT-id (abs _) :: Int `compare` _ :: [Int] = GT-id (_ + _) :: Int `compare` x :: Int = GT-id (_ + _) :: Int `compare` 0 :: Int = GT-id (_ + _) :: Int `compare` id _ :: Int = GT-id (_ + _) :: Int `compare` _ :: Bool = GT-id (_ + _) :: Int `compare` _ :: Char = GT-id (_ + _) :: Int `compare` _ :: [Int] = GT-id (head _) :: Int `compare` x :: Int = GT-id (head _) :: Int `compare` 0 :: Int = GT-id (head _) :: Int `compare` id _ :: Int = GT-id (head _) :: Int `compare` _ :: Bool = GT-id (head _) :: Int `compare` _ :: Char = GT-id (head _) :: Int `compare` _ :: [Int] = GT-id (ord _) :: Int `compare` x :: Int = GT-id (ord _) :: Int `compare` 0 :: Int = GT-id (ord _) :: Int `compare` id _ :: Int = GT-id (ord _) :: Int `compare` _ :: Bool = GT-id (ord _) :: Int `compare` _ :: Char = GT-id (ord _) :: Int `compare` _ :: [Int] = GT-negate x :: Int `compare` x :: Int = GT-negate x :: Int `compare` 0 :: Int = GT-negate x :: Int `compare` id _ :: Int = GT-negate x :: Int `compare` _ :: Bool = GT-negate x :: Int `compare` _ :: Char = GT-negate x :: Int `compare` _ :: [Int] = GT-negate 0 :: Int `compare` x :: Int = GT-negate 0 :: Int `compare` 0 :: Int = GT-negate 0 :: Int `compare` id _ :: Int = GT-negate 0 :: Int `compare` _ :: Bool = GT-negate 0 :: Int `compare` _ :: Char = GT-negate 0 :: Int `compare` _ :: [Int] = GT-negate (id _) :: Int `compare` x :: Int = GT-negate (id _) :: Int `compare` 0 :: Int = GT-negate (id _) :: Int `compare` id _ :: Int = GT-negate (id _) :: Int `compare` _ :: Bool = GT-negate (id _) :: Int `compare` _ :: Char = GT-negate (id _) :: Int `compare` _ :: [Int] = GT-abs x :: Int `compare` x :: Int = GT-abs x :: Int `compare` 0 :: Int = GT-abs x :: Int `compare` id _ :: Int = GT-abs x :: Int `compare` _ :: Bool = GT-abs x :: Int `compare` _ :: Char = GT-abs x :: Int `compare` _ :: [Int] = GT-abs 0 :: Int `compare` x :: Int = GT-abs 0 :: Int `compare` 0 :: Int = GT-abs 0 :: Int `compare` id _ :: Int = GT-abs 0 :: Int `compare` _ :: Bool = GT-abs 0 :: Int `compare` _ :: Char = GT-abs 0 :: Int `compare` _ :: [Int] = GT-abs (id _) :: Int `compare` x :: Int = GT-abs (id _) :: Int `compare` 0 :: Int = GT-abs (id _) :: Int `compare` id _ :: Int = GT-abs (id _) :: Int `compare` _ :: Bool = GT-abs (id _) :: Int `compare` _ :: Char = GT-abs (id _) :: Int `compare` _ :: [Int] = GT-_ + x :: Int `compare` x :: Int = GT-_ + x :: Int `compare` 0 :: Int = GT-_ + x :: Int `compare` id _ :: Int = GT-_ + x :: Int `compare` _ :: Bool = GT-_ + x :: Int `compare` _ :: Char = GT-_ + x :: Int `compare` _ :: [Int] = GT-_ + 0 :: Int `compare` x :: Int = GT-_ + 0 :: Int `compare` 0 :: Int = GT-_ + 0 :: Int `compare` id _ :: Int = GT-_ + 0 :: Int `compare` _ :: Bool = GT-_ + 0 :: Int `compare` _ :: Char = GT-_ + 0 :: Int `compare` _ :: [Int] = GT-_ + id _ :: Int `compare` x :: Int = GT-_ + id _ :: Int `compare` 0 :: Int = GT-_ + id _ :: Int `compare` id _ :: Int = GT-_ + id _ :: Int `compare` _ :: Bool = GT-_ + id _ :: Int `compare` _ :: Char = GT-_ + id _ :: Int `compare` _ :: [Int] = GT-x + _ :: Int `compare` x :: Int = GT-x + _ :: Int `compare` 0 :: Int = GT-x + _ :: Int `compare` id _ :: Int = GT-x + _ :: Int `compare` _ :: Bool = GT-x + _ :: Int `compare` _ :: Char = GT-x + _ :: Int `compare` _ :: [Int] = GT-0 + _ :: Int `compare` x :: Int = GT-0 + _ :: Int `compare` 0 :: Int = GT-0 + _ :: Int `compare` id _ :: Int = GT-0 + _ :: Int `compare` _ :: Bool = GT-0 + _ :: Int `compare` _ :: Char = GT-0 + _ :: Int `compare` _ :: [Int] = GT-id _ + _ :: Int `compare` x :: Int = GT-id _ + _ :: Int `compare` 0 :: Int = GT-id _ + _ :: Int `compare` id _ :: Int = GT-id _ + _ :: Int `compare` _ :: Bool = GT-id _ + _ :: Int `compare` _ :: Char = GT-id _ + _ :: Int `compare` _ :: [Int] = GT-_ * _ :: Int `compare` x :: Int = GT-_ * _ :: Int `compare` 0 :: Int = GT-_ * _ :: Int `compare` id _ :: Int = GT-_ * _ :: Int `compare` _ :: Bool = GT-_ * _ :: Int `compare` _ :: Char = GT-_ * _ :: Int `compare` _ :: [Int] = GT-f _ :: Int `compare` x :: Int = GT-f _ :: Int `compare` 0 :: Int = GT-f _ :: Int `compare` id _ :: Int = LT-f _ :: Int `compare` _ :: Bool = GT-f _ :: Int `compare` _ :: Char = GT-f _ :: Int `compare` _ :: [Int] = GT-head xs :: Int `compare` x :: Int = GT-head xs :: Int `compare` 0 :: Int = GT-head xs :: Int `compare` id _ :: Int = GT-head xs :: Int `compare` _ :: Bool = GT-head xs :: Int `compare` _ :: Char = GT-head xs :: Int `compare` _ :: [Int] = GT-head [] :: Int `compare` x :: Int = GT-head [] :: Int `compare` 0 :: Int = GT-head [] :: Int `compare` id _ :: Int = GT-head [] :: Int `compare` _ :: Bool = GT-head [] :: Int `compare` _ :: Char = GT-head [] :: Int `compare` _ :: [Int] = GT-head (_:_) :: Int `compare` x :: Int = GT-head (_:_) :: Int `compare` 0 :: Int = GT-head (_:_) :: Int `compare` id _ :: Int = GT-head (_:_) :: Int `compare` _ :: Bool = GT-head (_:_) :: Int `compare` _ :: Char = GT-head (_:_) :: Int `compare` _ :: [Int] = GT-ord c :: Int `compare` x :: Int = GT-ord c :: Int `compare` 0 :: Int = GT-ord c :: Int `compare` id _ :: Int = LT-ord c :: Int `compare` _ :: Bool = GT-ord c :: Int `compare` _ :: Char = GT-ord c :: Int `compare` _ :: [Int] = GT-ord 'a' :: Int `compare` x :: Int = GT-ord 'a' :: Int `compare` 0 :: Int = GT-ord 'a' :: Int `compare` id _ :: Int = GT-ord 'a' :: Int `compare` _ :: Bool = GT-ord 'a' :: Int `compare` _ :: Char = GT-ord 'a' :: Int `compare` _ :: [Int] = GT-q :: Bool `compare` x :: Int = LT-q :: Bool `compare` 0 :: Int = LT-q :: Bool `compare` id _ :: Int = LT-q :: Bool `compare` _ :: Bool = GT-q :: Bool `compare` _ :: Char = LT-q :: Bool `compare` _ :: [Int] = LT-not p :: Bool `compare` x :: Int = GT-not p :: Bool `compare` 0 :: Int = GT-not p :: Bool `compare` id _ :: Int = LT-not p :: Bool `compare` _ :: Bool = GT-not p :: Bool `compare` _ :: Char = GT-not p :: Bool `compare` _ :: [Int] = GT-not False :: Bool `compare` x :: Int = GT-not False :: Bool `compare` 0 :: Int = GT-not False :: Bool `compare` id _ :: Int = GT-not False :: Bool `compare` _ :: Bool = GT-not False :: Bool `compare` _ :: Char = GT-not False :: Bool `compare` _ :: [Int] = GT-not True :: Bool `compare` x :: Int = GT-not True :: Bool `compare` 0 :: Int = GT-not True :: Bool `compare` id _ :: Int = GT-not True :: Bool `compare` _ :: Bool = GT-not True :: Bool `compare` _ :: Char = GT-not True :: Bool `compare` _ :: [Int] = GT-not (not _) :: Bool `compare` x :: Int = GT-not (not _) :: Bool `compare` 0 :: Int = GT-not (not _) :: Bool `compare` id _ :: Int = GT-not (not _) :: Bool `compare` _ :: Bool = GT-not (not _) :: Bool `compare` _ :: Char = GT-not (not _) :: Bool `compare` _ :: [Int] = GT-_ || _ :: Bool `compare` x :: Int = GT-_ || _ :: Bool `compare` 0 :: Int = GT-_ || _ :: Bool `compare` id _ :: Int = GT-_ || _ :: Bool `compare` _ :: Bool = GT-_ || _ :: Bool `compare` _ :: Char = GT-_ || _ :: Bool `compare` _ :: [Int] = GT-d :: Char `compare` x :: Int = LT-d :: Char `compare` 0 :: Int = LT-d :: Char `compare` id _ :: Int = LT-d :: Char `compare` _ :: Bool = GT-d :: Char `compare` _ :: Char = GT-d :: Char `compare` _ :: [Int] = LT-' ' :: Char `compare` x :: Int = GT-' ' :: Char `compare` 0 :: Int = LT-' ' :: Char `compare` id _ :: Int = LT-' ' :: Char `compare` _ :: Bool = GT-' ' :: Char `compare` _ :: Char = GT-' ' :: Char `compare` _ :: [Int] = GT-ys :: [Int] `compare` x :: Int = GT-ys :: [Int] `compare` 0 :: Int = LT-ys :: [Int] `compare` id _ :: Int = LT-ys :: [Int] `compare` _ :: Bool = GT-ys :: [Int] `compare` _ :: Char = GT-ys :: [Int] `compare` _ :: [Int] = GT-[0] :: [Int] `compare` x :: Int = GT-[0] :: [Int] `compare` 0 :: Int = GT-[0] :: [Int] `compare` id _ :: Int = LT-[0] :: [Int] `compare` _ :: Bool = GT-[0] :: [Int] `compare` _ :: Char = GT-[0] :: [Int] `compare` _ :: [Int] = GT-_:xs :: [Int] `compare` x :: Int = GT-_:xs :: [Int] `compare` 0 :: Int = GT-_:xs :: [Int] `compare` id _ :: Int = GT-_:xs :: [Int] `compare` _ :: Bool = GT-_:xs :: [Int] `compare` _ :: Char = GT-_:xs :: [Int] `compare` _ :: [Int] = GT-[_] :: [Int] `compare` x :: Int = GT-[_] :: [Int] `compare` 0 :: Int = GT-[_] :: [Int] `compare` id _ :: Int = GT-[_] :: [Int] `compare` _ :: Bool = GT-[_] :: [Int] `compare` _ :: Char = GT-[_] :: [Int] `compare` _ :: [Int] = GT-_:_:_ :: [Int] `compare` x :: Int = GT-_:_:_ :: [Int] `compare` 0 :: Int = GT-_:_:_ :: [Int] `compare` id _ :: Int = GT-_:_:_ :: [Int] `compare` _ :: Bool = GT-_:_:_ :: [Int] `compare` _ :: Char = GT-_:_:_ :: [Int] `compare` _ :: [Int] = GT-x:_ :: [Int] `compare` x :: Int = GT-x:_ :: [Int] `compare` 0 :: Int = GT-x:_ :: [Int] `compare` id _ :: Int = GT-x:_ :: [Int] `compare` _ :: Bool = GT-x:_ :: [Int] `compare` _ :: Char = GT-x:_ :: [Int] `compare` _ :: [Int] = GT-0:_ :: [Int] `compare` x :: Int = GT-0:_ :: [Int] `compare` 0 :: Int = GT-0:_ :: [Int] `compare` id _ :: Int = GT-0:_ :: [Int] `compare` _ :: Bool = GT-0:_ :: [Int] `compare` _ :: Char = GT-0:_ :: [Int] `compare` _ :: [Int] = GT-id _:_ :: [Int] `compare` x :: Int = GT-id _:_ :: [Int] `compare` 0 :: Int = GT-id _:_ :: [Int] `compare` id _ :: Int = GT-id _:_ :: [Int] `compare` _ :: Bool = GT-id _:_ :: [Int] `compare` _ :: Char = GT-id _:_ :: [Int] `compare` _ :: [Int] = GT-tail _ :: [Int] `compare` x :: Int = GT-tail _ :: [Int] `compare` 0 :: Int = GT-tail _ :: [Int] `compare` id _ :: Int = GT-tail _ :: [Int] `compare` _ :: Bool = GT-tail _ :: [Int] `compare` _ :: Char = GT-tail _ :: [Int] `compare` _ :: [Int] = GT-_ ++ _ :: [Int] `compare` x :: Int = GT-_ ++ _ :: [Int] `compare` 0 :: Int = GT-_ ++ _ :: [Int] `compare` id _ :: Int = GT-_ ++ _ :: [Int] `compare` _ :: Bool = GT-_ ++ _ :: [Int] `compare` _ :: Char = GT-_ ++ _ :: [Int] `compare` _ :: [Int] = GT-negate :: Int -> Int `compare` x :: Int = GT-negate :: Int -> Int `compare` 0 :: Int = GT-negate :: Int -> Int `compare` id _ :: Int = LT-negate :: Int -> Int `compare` _ :: Bool = GT-negate :: Int -> Int `compare` _ :: Char = GT-negate :: Int -> Int `compare` _ :: [Int] = GT-abs :: Int -> Int `compare` x :: Int = GT-abs :: Int -> Int `compare` 0 :: Int = GT-abs :: Int -> Int `compare` id _ :: Int = LT-abs :: Int -> Int `compare` _ :: Bool = GT-abs :: Int -> Int `compare` _ :: Char = GT-abs :: Int -> Int `compare` _ :: [Int] = GT-(_ +) :: Int -> Int `compare` x :: Int = GT-(_ +) :: Int -> Int `compare` 0 :: Int = GT-(_ +) :: Int -> Int `compare` id _ :: Int = GT-(_ +) :: Int -> Int `compare` _ :: Bool = GT-(_ +) :: Int -> Int `compare` _ :: Char = GT-(_ +) :: Int -> Int `compare` _ :: [Int] = GT-(*) :: Int -> Int -> Int `compare` x :: Int = GT-(*) :: Int -> Int -> Int `compare` 0 :: Int = GT-(*) :: Int -> Int -> Int `compare` id _ :: Int = LT-(*) :: Int -> Int -> Int `compare` _ :: Bool = GT-(*) :: Int -> Int -> Int `compare` _ :: Char = GT-(*) :: Int -> Int -> Int `compare` _ :: [Int] = GT-not :: Bool -> Bool `compare` x :: Int = GT-not :: Bool -> Bool `compare` 0 :: Int = GT-not :: Bool -> Bool `compare` id _ :: Int = LT-not :: Bool -> Bool `compare` _ :: Bool = GT-not :: Bool -> Bool `compare` _ :: Char = GT-not :: Bool -> Bool `compare` _ :: [Int] = GT-(||) :: Bool -> Bool -> Bool `compare` x :: Int = GT-(||) :: Bool -> Bool -> Bool `compare` 0 :: Int = GT-(||) :: Bool -> Bool -> Bool `compare` id _ :: Int = LT-(||) :: Bool -> Bool -> Bool `compare` _ :: Bool = GT-(||) :: Bool -> Bool -> Bool `compare` _ :: Char = GT-(||) :: Bool -> Bool -> Bool `compare` _ :: [Int] = GT-x' :: Int `compare` _ :: Int = GT-2 :: Int `compare` _ :: Int = GT-id z :: Int `compare` _ :: Int = GT-id (-1) :: Int `compare` _ :: Int = GT-id (id y) :: Int `compare` _ :: Int = GT-id (id 1) :: Int `compare` _ :: Int = GT-id (id (id x)) :: Int `compare` _ :: Int = GT-id (id (id 0)) :: Int `compare` _ :: Int = GT-id (id (id (id _))) :: Int `compare` _ :: Int = GT-id (id (negate _)) :: Int `compare` _ :: Int = GT-id (id (abs _)) :: Int `compare` _ :: Int = GT-id (id (_ + _)) :: Int `compare` _ :: Int = GT-id (id (head _)) :: Int `compare` _ :: Int = GT-id (id (ord _)) :: Int `compare` _ :: Int = GT-id (negate x) :: Int `compare` _ :: Int = GT-id (negate 0) :: Int `compare` _ :: Int = GT-id (negate (id _)) :: Int `compare` _ :: Int = GT-id (abs x) :: Int `compare` _ :: Int = GT-id (abs 0) :: Int `compare` _ :: Int = GT-id (abs (id _)) :: Int `compare` _ :: Int = GT-id (_ + x) :: Int `compare` _ :: Int = GT-id (_ + 0) :: Int `compare` _ :: Int = GT-id (_ + id _) :: Int `compare` _ :: Int = GT-id (x + _) :: Int `compare` _ :: Int = GT-id (0 + _) :: Int `compare` _ :: Int = GT-id (id _ + _) :: Int `compare` _ :: Int = GT-id (_ * _) :: Int `compare` _ :: Int = GT-id (f _) :: Int `compare` _ :: Int = GT-id (head xs) :: Int `compare` _ :: Int = GT-id (head []) :: Int `compare` _ :: Int = GT-id (head (_:_)) :: Int `compare` _ :: Int = GT-id (ord c) :: Int `compare` _ :: Int = GT-id (ord 'a') :: Int `compare` _ :: Int = GT-negate y :: Int `compare` _ :: Int = GT-negate 1 :: Int `compare` _ :: Int = GT-negate (id x) :: Int `compare` _ :: Int = GT-negate (id 0) :: Int `compare` _ :: Int = GT-negate (id (id _)) :: Int `compare` _ :: Int = GT-negate (negate _) :: Int `compare` _ :: Int = GT-negate (abs _) :: Int `compare` _ :: Int = GT-negate (_ + _) :: Int `compare` _ :: Int = GT-negate (head _) :: Int `compare` _ :: Int = GT-negate (ord _) :: Int `compare` _ :: Int = GT-abs y :: Int `compare` _ :: Int = GT-abs 1 :: Int `compare` _ :: Int = GT-abs (id x) :: Int `compare` _ :: Int = GT-abs (id 0) :: Int `compare` _ :: Int = GT-abs (id (id _)) :: Int `compare` _ :: Int = GT-abs (negate _) :: Int `compare` _ :: Int = GT-abs (abs _) :: Int `compare` _ :: Int = GT-abs (_ + _) :: Int `compare` _ :: Int = GT-abs (head _) :: Int `compare` _ :: Int = GT-abs (ord _) :: Int `compare` _ :: Int = GT-_ + y :: Int `compare` _ :: Int = GT-_ + 1 :: Int `compare` _ :: Int = GT-_ + id x :: Int `compare` _ :: Int = GT-_ + id 0 :: Int `compare` _ :: Int = GT-_ + id (id _) :: Int `compare` _ :: Int = GT-_ + negate _ :: Int `compare` _ :: Int = GT-_ + abs _ :: Int `compare` _ :: Int = GT-_ + (_ + _) :: Int `compare` _ :: Int = GT-_ + head _ :: Int `compare` _ :: Int = GT-_ + ord _ :: Int `compare` _ :: Int = GT-x + x :: Int `compare` _ :: Int = GT-x + 0 :: Int `compare` _ :: Int = GT-x + id _ :: Int `compare` _ :: Int = GT-0 + x :: Int `compare` _ :: Int = GT-0 + 0 :: Int `compare` _ :: Int = GT-0 + id _ :: Int `compare` _ :: Int = GT-id _ + x :: Int `compare` _ :: Int = GT-id _ + 0 :: Int `compare` _ :: Int = GT-id _ + id _ :: Int `compare` _ :: Int = GT-_ * x :: Int `compare` _ :: Int = GT-_ * 0 :: Int `compare` _ :: Int = GT-_ * id _ :: Int `compare` _ :: Int = GT-f x :: Int `compare` _ :: Int = GT-f 0 :: Int `compare` _ :: Int = GT-f (id _) :: Int `compare` _ :: Int = GT-y + _ :: Int `compare` _ :: Int = GT-1 + _ :: Int `compare` _ :: Int = GT-id x + _ :: Int `compare` _ :: Int = GT-id 0 + _ :: Int `compare` _ :: Int = GT-id (id _) + _ :: Int `compare` _ :: Int = GT-negate _ + _ :: Int `compare` _ :: Int = GT-abs _ + _ :: Int `compare` _ :: Int = GT-(_ + _) + _ :: Int `compare` _ :: Int = GT-head _ + _ :: Int `compare` _ :: Int = GT-ord _ + _ :: Int `compare` _ :: Int = GT-x * _ :: Int `compare` _ :: Int = GT-0 * _ :: Int `compare` _ :: Int = GT-id _ * _ :: Int `compare` _ :: Int = GT-g _ :: Int `compare` _ :: Int = GT-head ys :: Int `compare` _ :: Int = GT-head [0] :: Int `compare` _ :: Int = GT-head (_:xs) :: Int `compare` _ :: Int = GT-head [_] :: Int `compare` _ :: Int = GT-head (_:_:_) :: Int `compare` _ :: Int = GT-head (x:_) :: Int `compare` _ :: Int = GT-head (0:_) :: Int `compare` _ :: Int = GT-head (id _:_) :: Int `compare` _ :: Int = GT-head (tail _) :: Int `compare` _ :: Int = GT-head (_ ++ _) :: Int `compare` _ :: Int = GT-ord d :: Int `compare` _ :: Int = GT-ord ' ' :: Int `compare` _ :: Int = GT-r :: Bool `compare` _ :: Int = LT-not q :: Bool `compare` _ :: Int = GT-not (not p) :: Bool `compare` _ :: Int = GT-not (not False) :: Bool `compare` _ :: Int = GT-not (not True) :: Bool `compare` _ :: Int = GT-not (not (not _)) :: Bool `compare` _ :: Int = GT-not (_ || _) :: Bool `compare` _ :: Int = GT-_ || p :: Bool `compare` _ :: Int = GT-_ || False :: Bool `compare` _ :: Int = GT-_ || True :: Bool `compare` _ :: Int = GT-_ || not _ :: Bool `compare` _ :: Int = GT-p || _ :: Bool `compare` _ :: Int = GT-False || _ :: Bool `compare` _ :: Int = GT-True || _ :: Bool `compare` _ :: Int = GT-not _ || _ :: Bool `compare` _ :: Int = GT-_ && _ :: Bool `compare` _ :: Int = GT-_ == _ :: Bool `compare` _ :: Int = GT-_ == _ :: Bool `compare` _ :: Int = GT-odd _ :: Bool `compare` _ :: Int = GT-even _ :: Bool `compare` _ :: Int = GT-elem _ _ :: Bool `compare` _ :: Int = GT-e :: Char `compare` _ :: Int = LT-'b' :: Char `compare` _ :: Int = GT-zs :: [Int] `compare` _ :: Int = GT-[0,0] :: [Int] `compare` _ :: Int = GT-[1] :: [Int] `compare` _ :: Int = GT-_:ys :: [Int] `compare` _ :: Int = GT-[_,0] :: [Int] `compare` _ :: Int = GT-_:_:xs :: [Int] `compare` _ :: Int = GT-[_,_] :: [Int] `compare` _ :: Int = GT-_:_:_:_ :: [Int] `compare` _ :: Int = GT-_:x:_ :: [Int] `compare` _ :: Int = GT-_:0:_ :: [Int] `compare` _ :: Int = GT-_:id _:_ :: [Int] `compare` _ :: Int = GT-_:tail _ :: [Int] `compare` _ :: Int = GT-_:(_ ++ _) :: [Int] `compare` _ :: Int = GT-x:xs :: [Int] `compare` _ :: Int = GT-[x] :: [Int] `compare` _ :: Int = GT-x:_:_ :: [Int] `compare` _ :: Int = GT-0:xs :: [Int] `compare` _ :: Int = GT-[0] :: [Int] `compare` _ :: Int = GT-0:_:_ :: [Int] `compare` _ :: Int = GT-id _:xs :: [Int] `compare` _ :: Int = GT-[id _] :: [Int] `compare` _ :: Int = GT-id _:_:_ :: [Int] `compare` _ :: Int = GT-y:_ :: [Int] `compare` _ :: Int = GT-1:_ :: [Int] `compare` _ :: Int = GT-id x:_ :: [Int] `compare` _ :: Int = GT-id 0:_ :: [Int] `compare` _ :: Int = GT-id (id _):_ :: [Int] `compare` _ :: Int = GT-negate _:_ :: [Int] `compare` _ :: Int = GT-abs _:_ :: [Int] `compare` _ :: Int = GT-_ + _:_ :: [Int] `compare` _ :: Int = GT-head _:_ :: [Int] `compare` _ :: Int = GT-ord _:_ :: [Int] `compare` _ :: Int = GT-tail xs :: [Int] `compare` _ :: Int = GT-tail [] :: [Int] `compare` _ :: Int = GT-tail (_:_) :: [Int] `compare` _ :: Int = GT-_ ++ xs :: [Int] `compare` _ :: Int = GT-_ ++ [] :: [Int] `compare` _ :: Int = GT-_ ++ (_:_) :: [Int] `compare` _ :: Int = GT-xs ++ _ :: [Int] `compare` _ :: Int = GT-[] ++ _ :: [Int] `compare` _ :: Int = GT-(_:_) ++ _ :: [Int] `compare` _ :: Int = GT-sort _ :: [Int] `compare` _ :: Int = GT-insert _ _ :: [Int] `compare` _ :: Int = GT-(x +) :: Int -> Int `compare` _ :: Int = GT-(0 +) :: Int -> Int `compare` _ :: Int = GT-(id _ +) :: Int -> Int `compare` _ :: Int = GT-(_ *) :: Int -> Int `compare` _ :: Int = GT-f :: Int -> Int `compare` _ :: Int = GT-(_ ||) :: Bool -> Bool `compare` _ :: Int = GT-(&&) :: Bool -> Bool -> Bool `compare` _ :: Int = GT-_ :: Int `compare` y' :: Int = LT-_ :: Int `compare` -2 :: Int = LT-_ :: Int `compare` id x' :: Int = LT-_ :: Int `compare` id 2 :: Int = LT-_ :: Int `compare` id (id z) :: Int = LT-_ :: Int `compare` id (id (-1)) :: Int = LT-_ :: Int `compare` id (id (id y)) :: Int = LT-_ :: Int `compare` id (id (id 1)) :: Int = LT-_ :: Int `compare` id (id (id (id x))) :: Int = LT-_ :: Int `compare` id (id (id (id 0))) :: Int = LT-_ :: Int `compare` id (id (id (id (id _)))) :: Int = LT-_ :: Int `compare` id (id (id (negate _))) :: Int = LT-_ :: Int `compare` id (id (id (abs _))) :: Int = LT-_ :: Int `compare` id (id (id (_ + _))) :: Int = LT-_ :: Int `compare` id (id (id (head _))) :: Int = LT-_ :: Int `compare` id (id (id (ord _))) :: Int = LT-_ :: Int `compare` id (id (negate x)) :: Int = LT-_ :: Int `compare` id (id (negate 0)) :: Int = LT-_ :: Int `compare` id (id (negate (id _))) :: Int = LT-_ :: Int `compare` id (id (abs x)) :: Int = LT-_ :: Int `compare` id (id (abs 0)) :: Int = LT-_ :: Int `compare` id (id (abs (id _))) :: Int = LT-_ :: Int `compare` id (id (_ + x)) :: Int = LT-_ :: Int `compare` id (id (_ + 0)) :: Int = LT-_ :: Int `compare` id (id (_ + id _)) :: Int = LT-_ :: Int `compare` id (id (x + _)) :: Int = LT-_ :: Int `compare` id (id (0 + _)) :: Int = LT-_ :: Int `compare` id (id (id _ + _)) :: Int = LT-_ :: Int `compare` id (id (_ * _)) :: Int = LT-_ :: Int `compare` id (id (f _)) :: Int = LT-_ :: Int `compare` id (id (head xs)) :: Int = LT-_ :: Int `compare` id (id (head [])) :: Int = LT-_ :: Int `compare` id (id (head (_:_))) :: Int = LT-_ :: Int `compare` id (id (ord c)) :: Int = LT-_ :: Int `compare` id (id (ord 'a')) :: Int = LT-_ :: Int `compare` id (negate y) :: Int = LT-_ :: Int `compare` id (negate 1) :: Int = LT-_ :: Int `compare` id (negate (id x)) :: Int = LT-_ :: Int `compare` id (negate (id 0)) :: Int = LT-_ :: Int `compare` id (negate (id (id _))) :: Int = LT-_ :: Int `compare` id (negate (negate _)) :: Int = LT-_ :: Int `compare` id (negate (abs _)) :: Int = LT-_ :: Int `compare` id (negate (_ + _)) :: Int = LT-_ :: Int `compare` id (negate (head _)) :: Int = LT-_ :: Int `compare` id (negate (ord _)) :: Int = LT-_ :: Int `compare` id (abs y) :: Int = LT-_ :: Int `compare` id (abs 1) :: Int = LT-_ :: Int `compare` id (abs (id x)) :: Int = LT-_ :: Int `compare` id (abs (id 0)) :: Int = LT-_ :: Int `compare` id (abs (id (id _))) :: Int = LT-_ :: Int `compare` id (abs (negate _)) :: Int = LT-_ :: Int `compare` id (abs (abs _)) :: Int = LT-_ :: Int `compare` id (abs (_ + _)) :: Int = LT-_ :: Int `compare` id (abs (head _)) :: Int = LT-_ :: Int `compare` id (abs (ord _)) :: Int = LT-_ :: Int `compare` id (_ + y) :: Int = LT-_ :: Int `compare` id (_ + 1) :: Int = LT-_ :: Int `compare` id (_ + id x) :: Int = LT-_ :: Int `compare` id (_ + id 0) :: Int = LT-_ :: Int `compare` id (_ + id (id _)) :: Int = LT-_ :: Int `compare` id (_ + negate _) :: Int = LT-_ :: Int `compare` id (_ + abs _) :: Int = LT-_ :: Int `compare` id (_ + (_ + _)) :: Int = LT-_ :: Int `compare` id (_ + head _) :: Int = LT-_ :: Int `compare` id (_ + ord _) :: Int = LT-_ :: Int `compare` id (x + x) :: Int = LT-_ :: Int `compare` id (x + 0) :: Int = LT-_ :: Int `compare` id (x + id _) :: Int = LT-_ :: Int `compare` id (0 + x) :: Int = LT-_ :: Int `compare` id (0 + 0) :: Int = LT-_ :: Int `compare` id (0 + id _) :: Int = LT-_ :: Int `compare` id (id _ + x) :: Int = LT-_ :: Int `compare` id (id _ + 0) :: Int = LT-_ :: Int `compare` id (id _ + id _) :: Int = LT-_ :: Int `compare` id (_ * x) :: Int = LT-_ :: Int `compare` id (_ * 0) :: Int = LT-_ :: Int `compare` id (_ * id _) :: Int = LT-_ :: Int `compare` id (f x) :: Int = LT-_ :: Int `compare` id (f 0) :: Int = LT-_ :: Int `compare` id (f (id _)) :: Int = LT-_ :: Int `compare` id (y + _) :: Int = LT-_ :: Int `compare` id (1 + _) :: Int = LT-_ :: Int `compare` id (id x + _) :: Int = LT-_ :: Int `compare` id (id 0 + _) :: Int = LT-_ :: Int `compare` id (id (id _) + _) :: Int = LT-_ :: Int `compare` id (negate _ + _) :: Int = LT-_ :: Int `compare` id (abs _ + _) :: Int = LT-_ :: Int `compare` id ((_ + _) + _) :: Int = LT-_ :: Int `compare` id (head _ + _) :: Int = LT-_ :: Int `compare` id (ord _ + _) :: Int = LT-_ :: Int `compare` id (x * _) :: Int = LT-_ :: Int `compare` id (0 * _) :: Int = LT-_ :: Int `compare` id (id _ * _) :: Int = LT-_ :: Int `compare` id (g _) :: Int = LT-_ :: Int `compare` id (head ys) :: Int = LT-_ :: Int `compare` id (head [0]) :: Int = LT-_ :: Int `compare` id (head (_:xs)) :: Int = LT-_ :: Int `compare` id (head [_]) :: Int = LT-_ :: Int `compare` id (head (_:_:_)) :: Int = LT-_ :: Int `compare` id (head (x:_)) :: Int = LT-_ :: Int `compare` id (head (0:_)) :: Int = LT-_ :: Int `compare` id (head (id _:_)) :: Int = LT-_ :: Int `compare` id (head (tail _)) :: Int = LT-_ :: Int `compare` id (head (_ ++ _)) :: Int = LT-_ :: Int `compare` id (ord d) :: Int = LT-_ :: Int `compare` id (ord ' ') :: Int = LT-_ :: Int `compare` negate z :: Int = LT-_ :: Int `compare` negate (-1) :: Int = LT-_ :: Int `compare` negate (id y) :: Int = LT-_ :: Int `compare` negate (id 1) :: Int = LT-_ :: Int `compare` negate (id (id x)) :: Int = LT-_ :: Int `compare` negate (id (id 0)) :: Int = LT-_ :: Int `compare` negate (id (id (id _))) :: Int = LT-_ :: Int `compare` negate (id (negate _)) :: Int = LT-_ :: Int `compare` negate (id (abs _)) :: Int = LT-_ :: Int `compare` negate (id (_ + _)) :: Int = LT-_ :: Int `compare` negate (id (head _)) :: Int = LT-_ :: Int `compare` negate (id (ord _)) :: Int = LT-_ :: Int `compare` negate (negate x) :: Int = LT-_ :: Int `compare` negate (negate 0) :: Int = LT-_ :: Int `compare` negate (negate (id _)) :: Int = LT-_ :: Int `compare` negate (abs x) :: Int = LT-_ :: Int `compare` negate (abs 0) :: Int = LT-_ :: Int `compare` negate (abs (id _)) :: Int = LT-_ :: Int `compare` negate (_ + x) :: Int = LT-_ :: Int `compare` negate (_ + 0) :: Int = LT-_ :: Int `compare` negate (_ + id _) :: Int = LT-_ :: Int `compare` negate (x + _) :: Int = LT-_ :: Int `compare` negate (0 + _) :: Int = LT-_ :: Int `compare` negate (id _ + _) :: Int = LT-_ :: Int `compare` negate (_ * _) :: Int = LT-_ :: Int `compare` negate (f _) :: Int = LT-_ :: Int `compare` negate (head xs) :: Int = LT-_ :: Int `compare` negate (head []) :: Int = LT-_ :: Int `compare` negate (head (_:_)) :: Int = LT-_ :: Int `compare` negate (ord c) :: Int = LT-_ :: Int `compare` negate (ord 'a') :: Int = LT-_ :: Int `compare` abs z :: Int = LT-_ :: Int `compare` abs (-1) :: Int = LT-_ :: Int `compare` abs (id y) :: Int = LT-_ :: Int `compare` abs (id 1) :: Int = LT-_ :: Int `compare` abs (id (id x)) :: Int = LT-_ :: Int `compare` abs (id (id 0)) :: Int = LT-_ :: Int `compare` abs (id (id (id _))) :: Int = LT-_ :: Int `compare` abs (id (negate _)) :: Int = LT-_ :: Int `compare` abs (id (abs _)) :: Int = LT-_ :: Int `compare` abs (id (_ + _)) :: Int = LT-_ :: Int `compare` abs (id (head _)) :: Int = LT-_ :: Int `compare` abs (id (ord _)) :: Int = LT-_ :: Int `compare` abs (negate x) :: Int = LT-_ :: Int `compare` abs (negate 0) :: Int = LT-_ :: Int `compare` abs (negate (id _)) :: Int = LT-_ :: Int `compare` abs (abs x) :: Int = LT-_ :: Int `compare` abs (abs 0) :: Int = LT-_ :: Int `compare` abs (abs (id _)) :: Int = LT-_ :: Int `compare` abs (_ + x) :: Int = LT-_ :: Int `compare` abs (_ + 0) :: Int = LT-_ :: Int `compare` abs (_ + id _) :: Int = LT-_ :: Int `compare` abs (x + _) :: Int = LT-_ :: Int `compare` abs (0 + _) :: Int = LT-_ :: Int `compare` abs (id _ + _) :: Int = LT-_ :: Int `compare` abs (_ * _) :: Int = LT-_ :: Int `compare` abs (f _) :: Int = LT-_ :: Int `compare` abs (head xs) :: Int = LT-_ :: Int `compare` abs (head []) :: Int = LT-_ :: Int `compare` abs (head (_:_)) :: Int = LT-_ :: Int `compare` abs (ord c) :: Int = LT-_ :: Int `compare` abs (ord 'a') :: Int = LT-_ :: Int `compare` _ + z :: Int = LT-_ :: Int `compare` _ + (-1) :: Int = LT-_ :: Int `compare` _ + id y :: Int = LT-_ :: Int `compare` _ + id 1 :: Int = LT-_ :: Int `compare` _ + id (id x) :: Int = LT-_ :: Int `compare` _ + id (id 0) :: Int = LT-_ :: Int `compare` _ + id (id (id _)) :: Int = LT-_ :: Int `compare` _ + id (negate _) :: Int = LT-_ :: Int `compare` _ + id (abs _) :: Int = LT-_ :: Int `compare` _ + id (_ + _) :: Int = LT-_ :: Int `compare` _ + id (head _) :: Int = LT-_ :: Int `compare` _ + id (ord _) :: Int = LT-_ :: Int `compare` _ + negate x :: Int = LT-_ :: Int `compare` _ + negate 0 :: Int = LT-_ :: Int `compare` _ + negate (id _) :: Int = LT-_ :: Int `compare` _ + abs x :: Int = LT-_ :: Int `compare` _ + abs 0 :: Int = LT-_ :: Int `compare` _ + abs (id _) :: Int = LT-_ :: Int `compare` _ + (_ + x) :: Int = LT-_ :: Int `compare` _ + (_ + 0) :: Int = LT-_ :: Int `compare` _ + (_ + id _) :: Int = LT-_ :: Int `compare` _ + (x + _) :: Int = LT-_ :: Int `compare` _ + (0 + _) :: Int = LT-_ :: Int `compare` _ + (id _ + _) :: Int = LT-_ :: Int `compare` _ + _ * _ :: Int = LT-_ :: Int `compare` _ + f _ :: Int = LT-_ :: Int `compare` _ + head xs :: Int = LT-_ :: Int `compare` _ + head [] :: Int = LT-_ :: Int `compare` _ + head (_:_) :: Int = LT-_ :: Int `compare` _ + ord c :: Int = LT-_ :: Int `compare` _ + ord 'a' :: Int = LT-_ :: Int `compare` x + y :: Int = LT-_ :: Int `compare` x + 1 :: Int = LT-_ :: Int `compare` x + id x :: Int = LT-_ :: Int `compare` x + id 0 :: Int = LT-_ :: Int `compare` x + id (id _) :: Int = LT-_ :: Int `compare` x + negate _ :: Int = LT-_ :: Int `compare` x + abs _ :: Int = LT-_ :: Int `compare` x + (_ + _) :: Int = LT-_ :: Int `compare` x + head _ :: Int = LT-_ :: Int `compare` x + ord _ :: Int = LT-_ :: Int `compare` 0 + y :: Int = LT-_ :: Int `compare` 0 + 1 :: Int = LT-_ :: Int `compare` 0 + id x :: Int = LT-_ :: Int `compare` 0 + id 0 :: Int = LT-_ :: Int `compare` 0 + id (id _) :: Int = LT-_ :: Int `compare` 0 + negate _ :: Int = LT-_ :: Int `compare` 0 + abs _ :: Int = LT-_ :: Int `compare` 0 + (_ + _) :: Int = LT-_ :: Int `compare` 0 + head _ :: Int = LT-_ :: Int `compare` 0 + ord _ :: Int = LT-_ :: Int `compare` id _ + y :: Int = LT-_ :: Int `compare` id _ + 1 :: Int = LT-_ :: Int `compare` id _ + id x :: Int = LT-_ :: Int `compare` id _ + id 0 :: Int = LT-_ :: Int `compare` id _ + id (id _) :: Int = LT-_ :: Int `compare` id _ + negate _ :: Int = LT-_ :: Int `compare` id _ + abs _ :: Int = LT-_ :: Int `compare` id _ + (_ + _) :: Int = LT-_ :: Int `compare` id _ + head _ :: Int = LT-_ :: Int `compare` id _ + ord _ :: Int = LT-_ :: Int `compare` _ * y :: Int = LT-_ :: Int `compare` _ * 1 :: Int = LT-_ :: Int `compare` _ * id x :: Int = LT-_ :: Int `compare` _ * id 0 :: Int = LT-_ :: Int `compare` _ * id (id _) :: Int = LT-_ :: Int `compare` _ * negate _ :: Int = LT-_ :: Int `compare` _ * abs _ :: Int = LT-_ :: Int `compare` _ * (_ + _) :: Int = LT-_ :: Int `compare` _ * head _ :: Int = LT-_ :: Int `compare` _ * ord _ :: Int = LT-_ :: Int `compare` f y :: Int = LT-_ :: Int `compare` f 1 :: Int = LT-_ :: Int `compare` f (id x) :: Int = LT-_ :: Int `compare` f (id 0) :: Int = LT-_ :: Int `compare` f (id (id _)) :: Int = LT-_ :: Int `compare` f (negate _) :: Int = LT-_ :: Int `compare` f (abs _) :: Int = LT-_ :: Int `compare` f (_ + _) :: Int = LT-_ :: Int `compare` f (head _) :: Int = LT-_ :: Int `compare` f (ord _) :: Int = LT-_ :: Int `compare` y + x :: Int = LT-_ :: Int `compare` y + 0 :: Int = LT-_ :: Int `compare` y + id _ :: Int = LT-_ :: Int `compare` 1 + x :: Int = LT-_ :: Int `compare` 1 + 0 :: Int = LT-_ :: Int `compare` 1 + id _ :: Int = LT-_ :: Int `compare` id x + x :: Int = LT-_ :: Int `compare` id x + 0 :: Int = LT-_ :: Int `compare` id x + id _ :: Int = LT-_ :: Int `compare` id 0 + x :: Int = LT-_ :: Int `compare` id 0 + 0 :: Int = LT-_ :: Int `compare` id 0 + id _ :: Int = LT-_ :: Int `compare` id (id _) + x :: Int = LT-_ :: Int `compare` id (id _) + 0 :: Int = LT-_ :: Int `compare` id (id _) + id _ :: Int = LT-_ :: Int `compare` negate _ + x :: Int = LT-_ :: Int `compare` negate _ + 0 :: Int = LT-_ :: Int `compare` negate _ + id _ :: Int = LT-_ :: Int `compare` abs _ + x :: Int = LT-_ :: Int `compare` abs _ + 0 :: Int = LT-_ :: Int `compare` abs _ + id _ :: Int = LT-_ :: Int `compare` (_ + _) + x :: Int = LT-_ :: Int `compare` (_ + _) + 0 :: Int = LT-_ :: Int `compare` (_ + _) + id _ :: Int = LT-_ :: Int `compare` head _ + x :: Int = LT-_ :: Int `compare` head _ + 0 :: Int = LT-_ :: Int `compare` head _ + id _ :: Int = LT-_ :: Int `compare` ord _ + x :: Int = LT-_ :: Int `compare` ord _ + 0 :: Int = LT-_ :: Int `compare` ord _ + id _ :: Int = LT-_ :: Int `compare` x * x :: Int = LT-_ :: Int `compare` x * 0 :: Int = LT-_ :: Int `compare` x * id _ :: Int = LT-_ :: Int `compare` 0 * x :: Int = LT-_ :: Int `compare` 0 * 0 :: Int = LT-_ :: Int `compare` 0 * id _ :: Int = LT-_ :: Int `compare` id _ * x :: Int = LT-_ :: Int `compare` id _ * 0 :: Int = LT-_ :: Int `compare` id _ * id _ :: Int = LT-_ :: Int `compare` g x :: Int = LT-_ :: Int `compare` g 0 :: Int = LT-_ :: Int `compare` g (id _) :: Int = LT-_ :: Int `compare` z + _ :: Int = LT-_ :: Int `compare` (-1) + _ :: Int = LT-_ :: Int `compare` id y + _ :: Int = LT-_ :: Int `compare` id 1 + _ :: Int = LT-_ :: Int `compare` id (id x) + _ :: Int = LT-_ :: Int `compare` id (id 0) + _ :: Int = LT-_ :: Int `compare` id (id (id _)) + _ :: Int = LT-_ :: Int `compare` id (negate _) + _ :: Int = LT-_ :: Int `compare` id (abs _) + _ :: Int = LT-_ :: Int `compare` id (_ + _) + _ :: Int = LT-_ :: Int `compare` id (head _) + _ :: Int = LT-_ :: Int `compare` id (ord _) + _ :: Int = LT-_ :: Int `compare` negate x + _ :: Int = LT-_ :: Int `compare` negate 0 + _ :: Int = LT-_ :: Int `compare` negate (id _) + _ :: Int = LT-_ :: Int `compare` abs x + _ :: Int = LT-_ :: Int `compare` abs 0 + _ :: Int = LT-_ :: Int `compare` abs (id _) + _ :: Int = LT-_ :: Int `compare` (_ + x) + _ :: Int = LT-_ :: Int `compare` (_ + 0) + _ :: Int = LT-_ :: Int `compare` (_ + id _) + _ :: Int = LT-_ :: Int `compare` (x + _) + _ :: Int = LT-_ :: Int `compare` (0 + _) + _ :: Int = LT-_ :: Int `compare` (id _ + _) + _ :: Int = LT-_ :: Int `compare` _ * _ + _ :: Int = LT-_ :: Int `compare` f _ + _ :: Int = LT-_ :: Int `compare` head xs + _ :: Int = LT-_ :: Int `compare` head [] + _ :: Int = LT-_ :: Int `compare` head (_:_) + _ :: Int = LT-_ :: Int `compare` ord c + _ :: Int = LT-_ :: Int `compare` ord 'a' + _ :: Int = LT-_ :: Int `compare` y * _ :: Int = LT-_ :: Int `compare` 1 * _ :: Int = LT-_ :: Int `compare` id x * _ :: Int = LT-_ :: Int `compare` id 0 * _ :: Int = LT-_ :: Int `compare` id (id _) * _ :: Int = LT-_ :: Int `compare` negate _ * _ :: Int = LT-_ :: Int `compare` abs _ * _ :: Int = LT-_ :: Int `compare` (_ + _) * _ :: Int = LT-_ :: Int `compare` head _ * _ :: Int = LT-_ :: Int `compare` ord _ * _ :: Int = LT-_ :: Int `compare` h _ :: Int = LT-_ :: Int `compare` head zs :: Int = LT-_ :: Int `compare` head [0,0] :: Int = LT-_ :: Int `compare` head [1] :: Int = LT-_ :: Int `compare` head (_:ys) :: Int = LT-_ :: Int `compare` head [_,0] :: Int = LT-_ :: Int `compare` head (_:_:xs) :: Int = LT-_ :: Int `compare` head [_,_] :: Int = LT-_ :: Int `compare` head (_:_:_:_) :: Int = LT-_ :: Int `compare` head (_:x:_) :: Int = LT-_ :: Int `compare` head (_:0:_) :: Int = LT-_ :: Int `compare` head (_:id _:_) :: Int = LT-_ :: Int `compare` head (_:tail _) :: Int = LT-_ :: Int `compare` head (_:(_ ++ _)) :: Int = LT-_ :: Int `compare` head (x:xs) :: Int = LT-_ :: Int `compare` head [x] :: Int = LT-_ :: Int `compare` head (x:_:_) :: Int = LT-_ :: Int `compare` head (0:xs) :: Int = LT-_ :: Int `compare` head [0] :: Int = LT-_ :: Int `compare` head (0:_:_) :: Int = LT-_ :: Int `compare` head (id _:xs) :: Int = LT-_ :: Int `compare` head [id _] :: Int = LT-_ :: Int `compare` head (id _:_:_) :: Int = LT-_ :: Int `compare` head (y:_) :: Int = LT-_ :: Int `compare` head (1:_) :: Int = LT-_ :: Int `compare` head (id x:_) :: Int = LT-_ :: Int `compare` head (id 0:_) :: Int = LT-_ :: Int `compare` head (id (id _):_) :: Int = LT-_ :: Int `compare` head (negate _:_) :: Int = LT-_ :: Int `compare` head (abs _:_) :: Int = LT-_ :: Int `compare` head (_ + _:_) :: Int = LT-_ :: Int `compare` head (head _:_) :: Int = LT-_ :: Int `compare` head (ord _:_) :: Int = LT-_ :: Int `compare` head (tail xs) :: Int = LT-_ :: Int `compare` head (tail []) :: Int = LT-_ :: Int `compare` head (tail (_:_)) :: Int = LT-_ :: Int `compare` head (_ ++ xs) :: Int = LT-_ :: Int `compare` head (_ ++ []) :: Int = LT-_ :: Int `compare` head (_ ++ (_:_)) :: Int = LT-_ :: Int `compare` head (xs ++ _) :: Int = LT-_ :: Int `compare` head ([] ++ _) :: Int = LT-_ :: Int `compare` head ((_:_) ++ _) :: Int = LT-_ :: Int `compare` head (sort _) :: Int = LT-_ :: Int `compare` head (insert _ _) :: Int = LT-_ :: Int `compare` ord e :: Int = LT-_ :: Int `compare` ord 'b' :: Int = LT-_ :: Int `compare` p' :: Bool = GT-_ :: Int `compare` not r :: Bool = LT-_ :: Int `compare` not (not q) :: Bool = LT-_ :: Int `compare` not (not (not p)) :: Bool = LT-_ :: Int `compare` not (not (not False)) :: Bool = LT-_ :: Int `compare` not (not (not True)) :: Bool = LT-_ :: Int `compare` not (not (not (not _))) :: Bool = LT-_ :: Int `compare` not (not (_ || _)) :: Bool = LT-_ :: Int `compare` not (_ || p) :: Bool = LT-_ :: Int `compare` not (_ || False) :: Bool = LT-_ :: Int `compare` not (_ || True) :: Bool = LT-_ :: Int `compare` not (_ || not _) :: Bool = LT-_ :: Int `compare` not (p || _) :: Bool = LT-_ :: Int `compare` not (False || _) :: Bool = LT-_ :: Int `compare` not (True || _) :: Bool = LT-_ :: Int `compare` not (not _ || _) :: Bool = LT-_ :: Int `compare` not (_ && _) :: Bool = LT-_ :: Int `compare` not (_ == _) :: Bool = LT-_ :: Int `compare` not (_ == _) :: Bool = LT-_ :: Int `compare` not (odd _) :: Bool = LT-_ :: Int `compare` not (even _) :: Bool = LT-_ :: Int `compare` not (elem _ _) :: Bool = LT-_ :: Int `compare` _ || q :: Bool = LT-_ :: Int `compare` _ || not p :: Bool = LT-_ :: Int `compare` _ || not False :: Bool = LT-_ :: Int `compare` _ || not True :: Bool = LT-_ :: Int `compare` _ || not (not _) :: Bool = LT-_ :: Int `compare` _ || (_ || _) :: Bool = LT-_ :: Int `compare` p || p :: Bool = LT-_ :: Int `compare` p || False :: Bool = LT-_ :: Int `compare` p || True :: Bool = LT-_ :: Int `compare` p || not _ :: Bool = LT-_ :: Int `compare` False || p :: Bool = LT-_ :: Int `compare` False || False :: Bool = LT-_ :: Int `compare` False || True :: Bool = LT-_ :: Int `compare` False || not _ :: Bool = LT-_ :: Int `compare` True || p :: Bool = LT-_ :: Int `compare` True || False :: Bool = LT-_ :: Int `compare` True || True :: Bool = LT-_ :: Int `compare` True || not _ :: Bool = LT-_ :: Int `compare` not _ || p :: Bool = LT-_ :: Int `compare` not _ || False :: Bool = LT-_ :: Int `compare` not _ || True :: Bool = LT-_ :: Int `compare` not _ || not _ :: Bool = LT-_ :: Int `compare` _ && p :: Bool = LT-_ :: Int `compare` _ && False :: Bool = LT-_ :: Int `compare` _ && True :: Bool = LT-_ :: Int `compare` _ && not _ :: Bool = LT-_ :: Int `compare` q || _ :: Bool = LT-_ :: Int `compare` not p || _ :: Bool = LT-_ :: Int `compare` not False || _ :: Bool = LT-_ :: Int `compare` not True || _ :: Bool = LT-_ :: Int `compare` not (not _) || _ :: Bool = LT-_ :: Int `compare` (_ || _) || _ :: Bool = LT-_ :: Int `compare` p && _ :: Bool = LT-_ :: Int `compare` False && _ :: Bool = LT-_ :: Int `compare` True && _ :: Bool = LT-_ :: Int `compare` not _ && _ :: Bool = LT-_ :: Int `compare` _ ==> _ :: Bool = LT-_ :: Int `compare` _ == x :: Bool = LT-_ :: Int `compare` _ == 0 :: Bool = LT-_ :: Int `compare` _ == id _ :: Bool = LT-_ :: Int `compare` x == _ :: Bool = LT-_ :: Int `compare` 0 == _ :: Bool = LT-_ :: Int `compare` id _ == _ :: Bool = LT-_ :: Int `compare` _ == p :: Bool = LT-_ :: Int `compare` _ == False :: Bool = LT-_ :: Int `compare` _ == True :: Bool = LT-_ :: Int `compare` _ == not _ :: Bool = LT-_ :: Int `compare` p == _ :: Bool = LT-_ :: Int `compare` False == _ :: Bool = LT-_ :: Int `compare` True == _ :: Bool = LT-_ :: Int `compare` not _ == _ :: Bool = LT-_ :: Int `compare` _ <= _ :: Bool = LT-_ :: Int `compare` _ <= _ :: Bool = LT-_ :: Int `compare` odd x :: Bool = LT-_ :: Int `compare` odd 0 :: Bool = LT-_ :: Int `compare` odd (id _) :: Bool = LT-_ :: Int `compare` even x :: Bool = LT-_ :: Int `compare` even 0 :: Bool = LT-_ :: Int `compare` even (id _) :: Bool = LT-_ :: Int `compare` elem _ xs :: Bool = LT-_ :: Int `compare` elem _ [] :: Bool = LT-_ :: Int `compare` elem _ (_:_) :: Bool = LT-_ :: Int `compare` elem x _ :: Bool = LT-_ :: Int `compare` elem 0 _ :: Bool = LT-_ :: Int `compare` elem (id _) _ :: Bool = LT-_ :: Int `compare` c' :: Char = GT-_ :: Int `compare` 'A' :: Char = LT-_ :: Int `compare` xs' :: [Int] = LT-_ :: Int `compare` [0,0,0] :: [Int] = LT-_ :: Int `compare` [0,1] :: [Int] = LT-_ :: Int `compare` [1,0] :: [Int] = LT-_ :: Int `compare` [-1] :: [Int] = LT-_ :: Int `compare` _:zs :: [Int] = LT-_ :: Int `compare` [_,0,0] :: [Int] = LT-_ :: Int `compare` [_,1] :: [Int] = LT-_ :: Int `compare` _:_:ys :: [Int] = LT-_ :: Int `compare` [_,_,0] :: [Int] = LT-_ :: Int `compare` _:_:_:xs :: [Int] = LT-_ :: Int `compare` [_,_,_] :: [Int] = LT-_ :: Int `compare` _:_:_:_:_ :: [Int] = LT-_ :: Int `compare` _:_:x:_ :: [Int] = LT-_ :: Int `compare` _:_:0:_ :: [Int] = LT-_ :: Int `compare` _:_:id _:_ :: [Int] = LT-_ :: Int `compare` _:_:tail _ :: [Int] = LT-_ :: Int `compare` _:_:(_ ++ _) :: [Int] = LT-_ :: Int `compare` _:x:xs :: [Int] = LT-_ :: Int `compare` [_,x] :: [Int] = LT-_ :: Int `compare` _:x:_:_ :: [Int] = LT-_ :: Int `compare` _:0:xs :: [Int] = LT-_ :: Int `compare` [_,0] :: [Int] = LT-_ :: Int `compare` _:0:_:_ :: [Int] = LT-_ :: Int `compare` _:id _:xs :: [Int] = LT-_ :: Int `compare` [_,id _] :: [Int] = LT-_ :: Int `compare` _:id _:_:_ :: [Int] = LT-_ :: Int `compare` _:y:_ :: [Int] = LT-_ :: Int `compare` _:1:_ :: [Int] = LT-_ :: Int `compare` _:id x:_ :: [Int] = LT-_ :: Int `compare` _:id 0:_ :: [Int] = LT-_ :: Int `compare` _:id (id _):_ :: [Int] = LT-_ :: Int `compare` _:negate _:_ :: [Int] = LT-_ :: Int `compare` _:abs _:_ :: [Int] = LT-_ :: Int `compare` _:_ + _:_ :: [Int] = LT-_ :: Int `compare` _:head _:_ :: [Int] = LT-_ :: Int `compare` _:ord _:_ :: [Int] = LT-_ :: Int `compare` _:tail xs :: [Int] = LT-_ :: Int `compare` _:tail [] :: [Int] = LT-_ :: Int `compare` _:tail (_:_) :: [Int] = LT-_ :: Int `compare` _:(_ ++ xs) :: [Int] = LT-_ :: Int `compare` _:(_ ++ []) :: [Int] = LT-_ :: Int `compare` _:(_ ++ (_:_)) :: [Int] = LT-_ :: Int `compare` _:(xs ++ _) :: [Int] = LT-_ :: Int `compare` _:([] ++ _) :: [Int] = LT-_ :: Int `compare` _:((_:_) ++ _) :: [Int] = LT-_ :: Int `compare` _:sort _ :: [Int] = LT-_ :: Int `compare` _:insert _ _ :: [Int] = LT-_ :: Int `compare` x:ys :: [Int] = LT-_ :: Int `compare` [x,0] :: [Int] = LT-_ :: Int `compare` x:_:xs :: [Int] = LT-_ :: Int `compare` [x,_] :: [Int] = LT-_ :: Int `compare` x:_:_:_ :: [Int] = LT-_ :: Int `compare` x:x:_ :: [Int] = LT-_ :: Int `compare` x:0:_ :: [Int] = LT-_ :: Int `compare` x:id _:_ :: [Int] = LT-_ :: Int `compare` x:tail _ :: [Int] = LT-_ :: Int `compare` x:(_ ++ _) :: [Int] = LT-_ :: Int `compare` 0:ys :: [Int] = LT-_ :: Int `compare` [0,0] :: [Int] = LT-_ :: Int `compare` 0:_:xs :: [Int] = LT-_ :: Int `compare` [0,_] :: [Int] = LT-_ :: Int `compare` 0:_:_:_ :: [Int] = LT-_ :: Int `compare` 0:x:_ :: [Int] = LT-_ :: Int `compare` 0:0:_ :: [Int] = LT-_ :: Int `compare` 0:id _:_ :: [Int] = LT-_ :: Int `compare` 0:tail _ :: [Int] = LT-_ :: Int `compare` 0:(_ ++ _) :: [Int] = LT-_ :: Int `compare` id _:ys :: [Int] = LT-_ :: Int `compare` [id _,0] :: [Int] = LT-_ :: Int `compare` id _:_:xs :: [Int] = LT-_ :: Int `compare` [id _,_] :: [Int] = LT-_ :: Int `compare` id _:_:_:_ :: [Int] = LT-_ :: Int `compare` id _:x:_ :: [Int] = LT-_ :: Int `compare` id _:0:_ :: [Int] = LT-_ :: Int `compare` id _:id _:_ :: [Int] = LT-_ :: Int `compare` id _:tail _ :: [Int] = LT-_ :: Int `compare` id _:(_ ++ _) :: [Int] = LT-_ :: Int `compare` y:xs :: [Int] = LT-_ :: Int `compare` [y] :: [Int] = LT-_ :: Int `compare` y:_:_ :: [Int] = LT-_ :: Int `compare` 1:xs :: [Int] = LT-_ :: Int `compare` [1] :: [Int] = LT-_ :: Int `compare` 1:_:_ :: [Int] = LT-_ :: Int `compare` id x:xs :: [Int] = LT-_ :: Int `compare` [id x] :: [Int] = LT-_ :: Int `compare` id x:_:_ :: [Int] = LT-_ :: Int `compare` id 0:xs :: [Int] = LT-_ :: Int `compare` [id 0] :: [Int] = LT-_ :: Int `compare` id 0:_:_ :: [Int] = LT-_ :: Int `compare` id (id _):xs :: [Int] = LT-_ :: Int `compare` [id (id _)] :: [Int] = LT-_ :: Int `compare` id (id _):_:_ :: [Int] = LT-_ :: Int `compare` negate _:xs :: [Int] = LT-_ :: Int `compare` [negate _] :: [Int] = LT-_ :: Int `compare` negate _:_:_ :: [Int] = LT-_ :: Int `compare` abs _:xs :: [Int] = LT-_ :: Int `compare` [abs _] :: [Int] = LT-_ :: Int `compare` abs _:_:_ :: [Int] = LT-_ :: Int `compare` _ + _:xs :: [Int] = LT-_ :: Int `compare` [_ + _] :: [Int] = LT-_ :: Int `compare` _ + _:_:_ :: [Int] = LT-_ :: Int `compare` head _:xs :: [Int] = LT-_ :: Int `compare` [head _] :: [Int] = LT-_ :: Int `compare` head _:_:_ :: [Int] = LT-_ :: Int `compare` ord _:xs :: [Int] = LT-_ :: Int `compare` [ord _] :: [Int] = LT-_ :: Int `compare` ord _:_:_ :: [Int] = LT-_ :: Int `compare` z:_ :: [Int] = LT-_ :: Int `compare` (-1):_ :: [Int] = LT-_ :: Int `compare` id y:_ :: [Int] = LT-_ :: Int `compare` id 1:_ :: [Int] = LT-_ :: Int `compare` id (id x):_ :: [Int] = LT-_ :: Int `compare` id (id 0):_ :: [Int] = LT-_ :: Int `compare` id (id (id _)):_ :: [Int] = LT-_ :: Int `compare` id (negate _):_ :: [Int] = LT-_ :: Int `compare` id (abs _):_ :: [Int] = LT-_ :: Int `compare` id (_ + _):_ :: [Int] = LT-_ :: Int `compare` id (head _):_ :: [Int] = LT-_ :: Int `compare` id (ord _):_ :: [Int] = LT-_ :: Int `compare` negate x:_ :: [Int] = LT-_ :: Int `compare` negate 0:_ :: [Int] = LT-_ :: Int `compare` negate (id _):_ :: [Int] = LT-_ :: Int `compare` abs x:_ :: [Int] = LT-_ :: Int `compare` abs 0:_ :: [Int] = LT-_ :: Int `compare` abs (id _):_ :: [Int] = LT-_ :: Int `compare` _ + x:_ :: [Int] = LT-_ :: Int `compare` _ + 0:_ :: [Int] = LT-_ :: Int `compare` _ + id _:_ :: [Int] = LT-_ :: Int `compare` x + _:_ :: [Int] = LT-_ :: Int `compare` 0 + _:_ :: [Int] = LT-_ :: Int `compare` id _ + _:_ :: [Int] = LT-_ :: Int `compare` _ * _:_ :: [Int] = LT-_ :: Int `compare` f _:_ :: [Int] = LT-_ :: Int `compare` head xs:_ :: [Int] = LT-_ :: Int `compare` head []:_ :: [Int] = LT-_ :: Int `compare` head (_:_):_ :: [Int] = LT-_ :: Int `compare` ord c:_ :: [Int] = LT-_ :: Int `compare` ord 'a':_ :: [Int] = LT-_ :: Int `compare` tail ys :: [Int] = LT-_ :: Int `compare` tail [0] :: [Int] = LT-_ :: Int `compare` tail (_:xs) :: [Int] = LT-_ :: Int `compare` tail [_] :: [Int] = LT-_ :: Int `compare` tail (_:_:_) :: [Int] = LT-_ :: Int `compare` tail (x:_) :: [Int] = LT-_ :: Int `compare` tail (0:_) :: [Int] = LT-_ :: Int `compare` tail (id _:_) :: [Int] = LT-_ :: Int `compare` tail (tail _) :: [Int] = LT-_ :: Int `compare` tail (_ ++ _) :: [Int] = LT-_ :: Int `compare` _ ++ ys :: [Int] = LT-_ :: Int `compare` _ ++ [0] :: [Int] = LT-_ :: Int `compare` _ ++ (_:xs) :: [Int] = LT-_ :: Int `compare` _ ++ [_] :: [Int] = LT-_ :: Int `compare` _ ++ (_:_:_) :: [Int] = LT-_ :: Int `compare` _ ++ (x:_) :: [Int] = LT-_ :: Int `compare` _ ++ (0:_) :: [Int] = LT-_ :: Int `compare` _ ++ (id _:_) :: [Int] = LT-_ :: Int `compare` _ ++ tail _ :: [Int] = LT-_ :: Int `compare` _ ++ (_ ++ _) :: [Int] = LT-_ :: Int `compare` xs ++ xs :: [Int] = LT-_ :: Int `compare` xs ++ [] :: [Int] = LT-_ :: Int `compare` xs ++ (_:_) :: [Int] = LT-_ :: Int `compare` [] ++ xs :: [Int] = LT-_ :: Int `compare` [] ++ [] :: [Int] = LT-_ :: Int `compare` [] ++ (_:_) :: [Int] = LT-_ :: Int `compare` (_:_) ++ xs :: [Int] = LT-_ :: Int `compare` (_:_) ++ [] :: [Int] = LT-_ :: Int `compare` (_:_) ++ (_:_) :: [Int] = LT-_ :: Int `compare` ys ++ _ :: [Int] = LT-_ :: Int `compare` [0] ++ _ :: [Int] = LT-_ :: Int `compare` (_:xs) ++ _ :: [Int] = LT-_ :: Int `compare` [_] ++ _ :: [Int] = LT-_ :: Int `compare` (_:_:_) ++ _ :: [Int] = LT-_ :: Int `compare` (x:_) ++ _ :: [Int] = LT-_ :: Int `compare` (0:_) ++ _ :: [Int] = LT-_ :: Int `compare` (id _:_) ++ _ :: [Int] = LT-_ :: Int `compare` tail _ ++ _ :: [Int] = LT-_ :: Int `compare` (_ ++ _) ++ _ :: [Int] = LT-_ :: Int `compare` sort xs :: [Int] = LT-_ :: Int `compare` sort [] :: [Int] = LT-_ :: Int `compare` sort (_:_) :: [Int] = LT-_ :: Int `compare` insert _ xs :: [Int] = LT-_ :: Int `compare` insert _ [] :: [Int] = LT-_ :: Int `compare` insert _ (_:_) :: [Int] = LT-_ :: Int `compare` insert x _ :: [Int] = LT-_ :: Int `compare` insert 0 _ :: [Int] = LT-_ :: Int `compare` insert (id _) _ :: [Int] = LT-_ :: Int `compare` (y +) :: Int -> Int = LT-_ :: Int `compare` (1 +) :: Int -> Int = LT-_ :: Int `compare` (id x +) :: Int -> Int = LT-_ :: Int `compare` (id 0 +) :: Int -> Int = LT-_ :: Int `compare` (id (id _) +) :: Int -> Int = LT-_ :: Int `compare` (negate _ +) :: Int -> Int = LT-_ :: Int `compare` (abs _ +) :: Int -> Int = LT-_ :: Int `compare` ((_ + _) +) :: Int -> Int = LT-_ :: Int `compare` (head _ +) :: Int -> Int = LT-_ :: Int `compare` (ord _ +) :: Int -> Int = LT-_ :: Int `compare` (x *) :: Int -> Int = LT-_ :: Int `compare` (0 *) :: Int -> Int = LT-_ :: Int `compare` (id _ *) :: Int -> Int = LT-_ :: Int `compare` g :: Int -> Int = LT-_ :: Int `compare` (p ||) :: Bool -> Bool = LT-_ :: Int `compare` (False ||) :: Bool -> Bool = LT-_ :: Int `compare` (True ||) :: Bool -> Bool = LT-_ :: Int `compare` (not _ ||) :: Bool -> Bool = LT-_ :: Int `compare` (_ &&) :: Bool -> Bool = LT-_ :: Int `compare` (==>) :: Bool -> Bool -> Bool = LT-x :: Int `compare` x' :: Int = LT-x :: Int `compare` 2 :: Int = LT-x :: Int `compare` id z :: Int = LT-x :: Int `compare` id (-1) :: Int = LT-x :: Int `compare` id (id y) :: Int = LT-x :: Int `compare` id (id 1) :: Int = LT-x :: Int `compare` id (id (id x)) :: Int = LT-x :: Int `compare` id (id (id 0)) :: Int = LT-x :: Int `compare` id (id (id (id _))) :: Int = LT-x :: Int `compare` id (id (negate _)) :: Int = LT-x :: Int `compare` id (id (abs _)) :: Int = LT-x :: Int `compare` id (id (_ + _)) :: Int = LT-x :: Int `compare` id (id (head _)) :: Int = LT-x :: Int `compare` id (id (ord _)) :: Int = LT-x :: Int `compare` id (negate x) :: Int = LT-x :: Int `compare` id (negate 0) :: Int = LT-x :: Int `compare` id (negate (id _)) :: Int = LT-x :: Int `compare` id (abs x) :: Int = LT-x :: Int `compare` id (abs 0) :: Int = LT-x :: Int `compare` id (abs (id _)) :: Int = LT-x :: Int `compare` id (_ + x) :: Int = LT-x :: Int `compare` id (_ + 0) :: Int = LT-x :: Int `compare` id (_ + id _) :: Int = LT-x :: Int `compare` id (x + _) :: Int = LT-x :: Int `compare` id (0 + _) :: Int = LT-x :: Int `compare` id (id _ + _) :: Int = LT-x :: Int `compare` id (_ * _) :: Int = LT-x :: Int `compare` id (f _) :: Int = LT-x :: Int `compare` id (head xs) :: Int = LT-x :: Int `compare` id (head []) :: Int = LT-x :: Int `compare` id (head (_:_)) :: Int = LT-x :: Int `compare` id (ord c) :: Int = LT-x :: Int `compare` id (ord 'a') :: Int = LT-x :: Int `compare` negate y :: Int = LT-x :: Int `compare` negate 1 :: Int = LT-x :: Int `compare` negate (id x) :: Int = LT-x :: Int `compare` negate (id 0) :: Int = LT-x :: Int `compare` negate (id (id _)) :: Int = LT-x :: Int `compare` negate (negate _) :: Int = LT-x :: Int `compare` negate (abs _) :: Int = LT-x :: Int `compare` negate (_ + _) :: Int = LT-x :: Int `compare` negate (head _) :: Int = LT-x :: Int `compare` negate (ord _) :: Int = LT-x :: Int `compare` abs y :: Int = LT-x :: Int `compare` abs 1 :: Int = LT-x :: Int `compare` abs (id x) :: Int = LT-x :: Int `compare` abs (id 0) :: Int = LT-x :: Int `compare` abs (id (id _)) :: Int = LT-x :: Int `compare` abs (negate _) :: Int = LT-x :: Int `compare` abs (abs _) :: Int = LT-x :: Int `compare` abs (_ + _) :: Int = LT-x :: Int `compare` abs (head _) :: Int = LT-x :: Int `compare` abs (ord _) :: Int = LT-x :: Int `compare` _ + y :: Int = LT-x :: Int `compare` _ + 1 :: Int = LT-x :: Int `compare` _ + id x :: Int = LT-x :: Int `compare` _ + id 0 :: Int = LT-x :: Int `compare` _ + id (id _) :: Int = LT-x :: Int `compare` _ + negate _ :: Int = LT-x :: Int `compare` _ + abs _ :: Int = LT-x :: Int `compare` _ + (_ + _) :: Int = LT-x :: Int `compare` _ + head _ :: Int = LT-x :: Int `compare` _ + ord _ :: Int = LT-x :: Int `compare` x + x :: Int = LT-x :: Int `compare` x + 0 :: Int = LT-x :: Int `compare` x + id _ :: Int = LT-x :: Int `compare` 0 + x :: Int = LT-x :: Int `compare` 0 + 0 :: Int = LT-x :: Int `compare` 0 + id _ :: Int = LT-x :: Int `compare` id _ + x :: Int = LT-x :: Int `compare` id _ + 0 :: Int = LT-x :: Int `compare` id _ + id _ :: Int = LT-x :: Int `compare` _ * x :: Int = LT-x :: Int `compare` _ * 0 :: Int = LT-x :: Int `compare` _ * id _ :: Int = LT-x :: Int `compare` f x :: Int = LT-x :: Int `compare` f 0 :: Int = LT-x :: Int `compare` f (id _) :: Int = LT-x :: Int `compare` y + _ :: Int = LT-x :: Int `compare` 1 + _ :: Int = LT-x :: Int `compare` id x + _ :: Int = LT-x :: Int `compare` id 0 + _ :: Int = LT-x :: Int `compare` id (id _) + _ :: Int = LT-x :: Int `compare` negate _ + _ :: Int = LT-x :: Int `compare` abs _ + _ :: Int = LT-x :: Int `compare` (_ + _) + _ :: Int = LT-x :: Int `compare` head _ + _ :: Int = LT-x :: Int `compare` ord _ + _ :: Int = LT-x :: Int `compare` x * _ :: Int = LT-x :: Int `compare` 0 * _ :: Int = LT-x :: Int `compare` id _ * _ :: Int = LT-x :: Int `compare` g _ :: Int = LT-x :: Int `compare` head ys :: Int = LT-x :: Int `compare` head [0] :: Int = LT-x :: Int `compare` head (_:xs) :: Int = LT-x :: Int `compare` head [_] :: Int = LT-x :: Int `compare` head (_:_:_) :: Int = LT-x :: Int `compare` head (x:_) :: Int = LT-x :: Int `compare` head (0:_) :: Int = LT-x :: Int `compare` head (id _:_) :: Int = LT-x :: Int `compare` head (tail _) :: Int = LT-x :: Int `compare` head (_ ++ _) :: Int = LT-x :: Int `compare` ord d :: Int = LT-x :: Int `compare` ord ' ' :: Int = LT-x :: Int `compare` r :: Bool = GT-x :: Int `compare` not q :: Bool = LT-x :: Int `compare` not (not p) :: Bool = LT-x :: Int `compare` not (not False) :: Bool = LT-x :: Int `compare` not (not True) :: Bool = LT-x :: Int `compare` not (not (not _)) :: Bool = LT-x :: Int `compare` not (_ || _) :: Bool = LT-x :: Int `compare` _ || p :: Bool = LT-x :: Int `compare` _ || False :: Bool = LT-x :: Int `compare` _ || True :: Bool = LT-x :: Int `compare` _ || not _ :: Bool = LT-x :: Int `compare` p || _ :: Bool = LT-x :: Int `compare` False || _ :: Bool = LT-x :: Int `compare` True || _ :: Bool = LT-x :: Int `compare` not _ || _ :: Bool = LT-x :: Int `compare` _ && _ :: Bool = LT-x :: Int `compare` _ == _ :: Bool = LT-x :: Int `compare` _ == _ :: Bool = LT-x :: Int `compare` odd _ :: Bool = LT-x :: Int `compare` even _ :: Bool = LT-x :: Int `compare` elem _ _ :: Bool = LT-x :: Int `compare` e :: Char = GT-x :: Int `compare` 'b' :: Char = LT-x :: Int `compare` zs :: [Int] = LT-x :: Int `compare` [0,0] :: [Int] = LT-x :: Int `compare` [1] :: [Int] = LT-x :: Int `compare` _:ys :: [Int] = LT-x :: Int `compare` [_,0] :: [Int] = LT-x :: Int `compare` _:_:xs :: [Int] = LT-x :: Int `compare` [_,_] :: [Int] = LT-x :: Int `compare` _:_:_:_ :: [Int] = LT-x :: Int `compare` _:x:_ :: [Int] = LT-x :: Int `compare` _:0:_ :: [Int] = LT-x :: Int `compare` _:id _:_ :: [Int] = LT-x :: Int `compare` _:tail _ :: [Int] = LT-x :: Int `compare` _:(_ ++ _) :: [Int] = LT-x :: Int `compare` x:xs :: [Int] = LT-x :: Int `compare` [x] :: [Int] = LT-x :: Int `compare` x:_:_ :: [Int] = LT-x :: Int `compare` 0:xs :: [Int] = LT-x :: Int `compare` [0] :: [Int] = LT-x :: Int `compare` 0:_:_ :: [Int] = LT-x :: Int `compare` id _:xs :: [Int] = LT-x :: Int `compare` [id _] :: [Int] = LT-x :: Int `compare` id _:_:_ :: [Int] = LT-x :: Int `compare` y:_ :: [Int] = LT-x :: Int `compare` 1:_ :: [Int] = LT-x :: Int `compare` id x:_ :: [Int] = LT-x :: Int `compare` id 0:_ :: [Int] = LT-x :: Int `compare` id (id _):_ :: [Int] = LT-x :: Int `compare` negate _:_ :: [Int] = LT-x :: Int `compare` abs _:_ :: [Int] = LT-x :: Int `compare` _ + _:_ :: [Int] = LT-x :: Int `compare` head _:_ :: [Int] = LT-x :: Int `compare` ord _:_ :: [Int] = LT-x :: Int `compare` tail xs :: [Int] = LT-x :: Int `compare` tail [] :: [Int] = LT-x :: Int `compare` tail (_:_) :: [Int] = LT-x :: Int `compare` _ ++ xs :: [Int] = LT-x :: Int `compare` _ ++ [] :: [Int] = LT-x :: Int `compare` _ ++ (_:_) :: [Int] = LT-x :: Int `compare` xs ++ _ :: [Int] = LT-x :: Int `compare` [] ++ _ :: [Int] = LT-x :: Int `compare` (_:_) ++ _ :: [Int] = LT-x :: Int `compare` sort _ :: [Int] = LT-x :: Int `compare` insert _ _ :: [Int] = LT-x :: Int `compare` (x +) :: Int -> Int = LT-x :: Int `compare` (0 +) :: Int -> Int = LT-x :: Int `compare` (id _ +) :: Int -> Int = LT-x :: Int `compare` (_ *) :: Int -> Int = LT-x :: Int `compare` f :: Int -> Int = LT-x :: Int `compare` (_ ||) :: Bool -> Bool = LT-x :: Int `compare` (&&) :: Bool -> Bool -> Bool = LT-0 :: Int `compare` x' :: Int = GT-0 :: Int `compare` 2 :: Int = LT-0 :: Int `compare` id z :: Int = LT-0 :: Int `compare` id (-1) :: Int = LT-0 :: Int `compare` id (id y) :: Int = LT-0 :: Int `compare` id (id 1) :: Int = LT-0 :: Int `compare` id (id (id x)) :: Int = LT-0 :: Int `compare` id (id (id 0)) :: Int = LT-0 :: Int `compare` id (id (id (id _))) :: Int = LT-0 :: Int `compare` id (id (negate _)) :: Int = LT-0 :: Int `compare` id (id (abs _)) :: Int = LT-0 :: Int `compare` id (id (_ + _)) :: Int = LT-0 :: Int `compare` id (id (head _)) :: Int = LT-0 :: Int `compare` id (id (ord _)) :: Int = LT-0 :: Int `compare` id (negate x) :: Int = LT-0 :: Int `compare` id (negate 0) :: Int = LT-0 :: Int `compare` id (negate (id _)) :: Int = LT-0 :: Int `compare` id (abs x) :: Int = LT-0 :: Int `compare` id (abs 0) :: Int = LT-0 :: Int `compare` id (abs (id _)) :: Int = LT-0 :: Int `compare` id (_ + x) :: Int = LT-0 :: Int `compare` id (_ + 0) :: Int = LT-0 :: Int `compare` id (_ + id _) :: Int = LT-0 :: Int `compare` id (x + _) :: Int = LT-0 :: Int `compare` id (0 + _) :: Int = LT-0 :: Int `compare` id (id _ + _) :: Int = LT-0 :: Int `compare` id (_ * _) :: Int = LT-0 :: Int `compare` id (f _) :: Int = LT-0 :: Int `compare` id (head xs) :: Int = LT-0 :: Int `compare` id (head []) :: Int = LT-0 :: Int `compare` id (head (_:_)) :: Int = LT-0 :: Int `compare` id (ord c) :: Int = LT-0 :: Int `compare` id (ord 'a') :: Int = LT-0 :: Int `compare` negate y :: Int = LT-0 :: Int `compare` negate 1 :: Int = LT-0 :: Int `compare` negate (id x) :: Int = LT-0 :: Int `compare` negate (id 0) :: Int = LT-0 :: Int `compare` negate (id (id _)) :: Int = LT-0 :: Int `compare` negate (negate _) :: Int = LT-0 :: Int `compare` negate (abs _) :: Int = LT-0 :: Int `compare` negate (_ + _) :: Int = LT-0 :: Int `compare` negate (head _) :: Int = LT-0 :: Int `compare` negate (ord _) :: Int = LT-0 :: Int `compare` abs y :: Int = LT-0 :: Int `compare` abs 1 :: Int = LT-0 :: Int `compare` abs (id x) :: Int = LT-0 :: Int `compare` abs (id 0) :: Int = LT-0 :: Int `compare` abs (id (id _)) :: Int = LT-0 :: Int `compare` abs (negate _) :: Int = LT-0 :: Int `compare` abs (abs _) :: Int = LT-0 :: Int `compare` abs (_ + _) :: Int = LT-0 :: Int `compare` abs (head _) :: Int = LT-0 :: Int `compare` abs (ord _) :: Int = LT-0 :: Int `compare` _ + y :: Int = LT-0 :: Int `compare` _ + 1 :: Int = LT-0 :: Int `compare` _ + id x :: Int = LT-0 :: Int `compare` _ + id 0 :: Int = LT-0 :: Int `compare` _ + id (id _) :: Int = LT-0 :: Int `compare` _ + negate _ :: Int = LT-0 :: Int `compare` _ + abs _ :: Int = LT-0 :: Int `compare` _ + (_ + _) :: Int = LT-0 :: Int `compare` _ + head _ :: Int = LT-0 :: Int `compare` _ + ord _ :: Int = LT-0 :: Int `compare` x + x :: Int = LT-0 :: Int `compare` x + 0 :: Int = LT-0 :: Int `compare` x + id _ :: Int = LT-0 :: Int `compare` 0 + x :: Int = LT-0 :: Int `compare` 0 + 0 :: Int = LT-0 :: Int `compare` 0 + id _ :: Int = LT-0 :: Int `compare` id _ + x :: Int = LT-0 :: Int `compare` id _ + 0 :: Int = LT-0 :: Int `compare` id _ + id _ :: Int = LT-0 :: Int `compare` _ * x :: Int = LT-0 :: Int `compare` _ * 0 :: Int = LT-0 :: Int `compare` _ * id _ :: Int = LT-0 :: Int `compare` f x :: Int = LT-0 :: Int `compare` f 0 :: Int = LT-0 :: Int `compare` f (id _) :: Int = LT-0 :: Int `compare` y + _ :: Int = LT-0 :: Int `compare` 1 + _ :: Int = LT-0 :: Int `compare` id x + _ :: Int = LT-0 :: Int `compare` id 0 + _ :: Int = LT-0 :: Int `compare` id (id _) + _ :: Int = LT-0 :: Int `compare` negate _ + _ :: Int = LT-0 :: Int `compare` abs _ + _ :: Int = LT-0 :: Int `compare` (_ + _) + _ :: Int = LT-0 :: Int `compare` head _ + _ :: Int = LT-0 :: Int `compare` ord _ + _ :: Int = LT-0 :: Int `compare` x * _ :: Int = LT-0 :: Int `compare` 0 * _ :: Int = LT-0 :: Int `compare` id _ * _ :: Int = LT-0 :: Int `compare` g _ :: Int = LT-0 :: Int `compare` head ys :: Int = LT-0 :: Int `compare` head [0] :: Int = LT-0 :: Int `compare` head (_:xs) :: Int = LT-0 :: Int `compare` head [_] :: Int = LT-0 :: Int `compare` head (_:_:_) :: Int = LT-0 :: Int `compare` head (x:_) :: Int = LT-0 :: Int `compare` head (0:_) :: Int = LT-0 :: Int `compare` head (id _:_) :: Int = LT-0 :: Int `compare` head (tail _) :: Int = LT-0 :: Int `compare` head (_ ++ _) :: Int = LT-0 :: Int `compare` ord d :: Int = LT-0 :: Int `compare` ord ' ' :: Int = LT-0 :: Int `compare` r :: Bool = GT-0 :: Int `compare` not q :: Bool = LT-0 :: Int `compare` not (not p) :: Bool = LT-0 :: Int `compare` not (not False) :: Bool = LT-0 :: Int `compare` not (not True) :: Bool = LT-0 :: Int `compare` not (not (not _)) :: Bool = LT-0 :: Int `compare` not (_ || _) :: Bool = LT-0 :: Int `compare` _ || p :: Bool = LT-0 :: Int `compare` _ || False :: Bool = LT-0 :: Int `compare` _ || True :: Bool = LT-0 :: Int `compare` _ || not _ :: Bool = LT-0 :: Int `compare` p || _ :: Bool = LT-0 :: Int `compare` False || _ :: Bool = LT-0 :: Int `compare` True || _ :: Bool = LT-0 :: Int `compare` not _ || _ :: Bool = LT-0 :: Int `compare` _ && _ :: Bool = LT-0 :: Int `compare` _ == _ :: Bool = LT-0 :: Int `compare` _ == _ :: Bool = LT-0 :: Int `compare` odd _ :: Bool = LT-0 :: Int `compare` even _ :: Bool = LT-0 :: Int `compare` elem _ _ :: Bool = LT-0 :: Int `compare` e :: Char = GT-0 :: Int `compare` 'b' :: Char = GT-0 :: Int `compare` zs :: [Int] = GT-0 :: Int `compare` [0,0] :: [Int] = LT-0 :: Int `compare` [1] :: [Int] = LT-0 :: Int `compare` _:ys :: [Int] = LT-0 :: Int `compare` [_,0] :: [Int] = LT-0 :: Int `compare` _:_:xs :: [Int] = LT-0 :: Int `compare` [_,_] :: [Int] = LT-0 :: Int `compare` _:_:_:_ :: [Int] = LT-0 :: Int `compare` _:x:_ :: [Int] = LT-0 :: Int `compare` _:0:_ :: [Int] = LT-0 :: Int `compare` _:id _:_ :: [Int] = LT-0 :: Int `compare` _:tail _ :: [Int] = LT-0 :: Int `compare` _:(_ ++ _) :: [Int] = LT-0 :: Int `compare` x:xs :: [Int] = LT-0 :: Int `compare` [x] :: [Int] = LT-0 :: Int `compare` x:_:_ :: [Int] = LT-0 :: Int `compare` 0:xs :: [Int] = LT-0 :: Int `compare` [0] :: [Int] = LT-0 :: Int `compare` 0:_:_ :: [Int] = LT-0 :: Int `compare` id _:xs :: [Int] = LT-0 :: Int `compare` [id _] :: [Int] = LT-0 :: Int `compare` id _:_:_ :: [Int] = LT-0 :: Int `compare` y:_ :: [Int] = LT-0 :: Int `compare` 1:_ :: [Int] = LT-0 :: Int `compare` id x:_ :: [Int] = LT-0 :: Int `compare` id 0:_ :: [Int] = LT-0 :: Int `compare` id (id _):_ :: [Int] = LT-0 :: Int `compare` negate _:_ :: [Int] = LT-0 :: Int `compare` abs _:_ :: [Int] = LT-0 :: Int `compare` _ + _:_ :: [Int] = LT-0 :: Int `compare` head _:_ :: [Int] = LT-0 :: Int `compare` ord _:_ :: [Int] = LT-0 :: Int `compare` tail xs :: [Int] = LT-0 :: Int `compare` tail [] :: [Int] = LT-0 :: Int `compare` tail (_:_) :: [Int] = LT-0 :: Int `compare` _ ++ xs :: [Int] = LT-0 :: Int `compare` _ ++ [] :: [Int] = LT-0 :: Int `compare` _ ++ (_:_) :: [Int] = LT-0 :: Int `compare` xs ++ _ :: [Int] = LT-0 :: Int `compare` [] ++ _ :: [Int] = LT-0 :: Int `compare` (_:_) ++ _ :: [Int] = LT-0 :: Int `compare` sort _ :: [Int] = LT-0 :: Int `compare` insert _ _ :: [Int] = LT-0 :: Int `compare` (x +) :: Int -> Int = LT-0 :: Int `compare` (0 +) :: Int -> Int = LT-0 :: Int `compare` (id _ +) :: Int -> Int = LT-0 :: Int `compare` (_ *) :: Int -> Int = LT-0 :: Int `compare` f :: Int -> Int = GT-0 :: Int `compare` (_ ||) :: Bool -> Bool = LT-0 :: Int `compare` (&&) :: Bool -> Bool -> Bool = LT-id _ :: Int `compare` x' :: Int = GT-id _ :: Int `compare` 2 :: Int = GT-id _ :: Int `compare` id z :: Int = LT-id _ :: Int `compare` id (-1) :: Int = LT-id _ :: Int `compare` id (id y) :: Int = LT-id _ :: Int `compare` id (id 1) :: Int = LT-id _ :: Int `compare` id (id (id x)) :: Int = LT-id _ :: Int `compare` id (id (id 0)) :: Int = LT-id _ :: Int `compare` id (id (id (id _))) :: Int = LT-id _ :: Int `compare` id (id (negate _)) :: Int = LT-id _ :: Int `compare` id (id (abs _)) :: Int = LT-id _ :: Int `compare` id (id (_ + _)) :: Int = LT-id _ :: Int `compare` id (id (head _)) :: Int = LT-id _ :: Int `compare` id (id (ord _)) :: Int = LT-id _ :: Int `compare` id (negate x) :: Int = LT-id _ :: Int `compare` id (negate 0) :: Int = LT-id _ :: Int `compare` id (negate (id _)) :: Int = LT-id _ :: Int `compare` id (abs x) :: Int = LT-id _ :: Int `compare` id (abs 0) :: Int = LT-id _ :: Int `compare` id (abs (id _)) :: Int = LT-id _ :: Int `compare` id (_ + x) :: Int = LT-id _ :: Int `compare` id (_ + 0) :: Int = LT-id _ :: Int `compare` id (_ + id _) :: Int = LT-id _ :: Int `compare` id (x + _) :: Int = LT-id _ :: Int `compare` id (0 + _) :: Int = LT-id _ :: Int `compare` id (id _ + _) :: Int = LT-id _ :: Int `compare` id (_ * _) :: Int = LT-id _ :: Int `compare` id (f _) :: Int = LT-id _ :: Int `compare` id (head xs) :: Int = LT-id _ :: Int `compare` id (head []) :: Int = LT-id _ :: Int `compare` id (head (_:_)) :: Int = LT-id _ :: Int `compare` id (ord c) :: Int = LT-id _ :: Int `compare` id (ord 'a') :: Int = LT-id _ :: Int `compare` negate y :: Int = LT-id _ :: Int `compare` negate 1 :: Int = LT-id _ :: Int `compare` negate (id x) :: Int = LT-id _ :: Int `compare` negate (id 0) :: Int = LT-id _ :: Int `compare` negate (id (id _)) :: Int = LT-id _ :: Int `compare` negate (negate _) :: Int = LT-id _ :: Int `compare` negate (abs _) :: Int = LT-id _ :: Int `compare` negate (_ + _) :: Int = LT-id _ :: Int `compare` negate (head _) :: Int = LT-id _ :: Int `compare` negate (ord _) :: Int = LT-id _ :: Int `compare` abs y :: Int = LT-id _ :: Int `compare` abs 1 :: Int = LT-id _ :: Int `compare` abs (id x) :: Int = LT-id _ :: Int `compare` abs (id 0) :: Int = LT-id _ :: Int `compare` abs (id (id _)) :: Int = LT-id _ :: Int `compare` abs (negate _) :: Int = LT-id _ :: Int `compare` abs (abs _) :: Int = LT-id _ :: Int `compare` abs (_ + _) :: Int = LT-id _ :: Int `compare` abs (head _) :: Int = LT-id _ :: Int `compare` abs (ord _) :: Int = LT-id _ :: Int `compare` _ + y :: Int = LT-id _ :: Int `compare` _ + 1 :: Int = LT-id _ :: Int `compare` _ + id x :: Int = LT-id _ :: Int `compare` _ + id 0 :: Int = LT-id _ :: Int `compare` _ + id (id _) :: Int = LT-id _ :: Int `compare` _ + negate _ :: Int = LT-id _ :: Int `compare` _ + abs _ :: Int = LT-id _ :: Int `compare` _ + (_ + _) :: Int = LT-id _ :: Int `compare` _ + head _ :: Int = LT-id _ :: Int `compare` _ + ord _ :: Int = LT-id _ :: Int `compare` x + x :: Int = LT-id _ :: Int `compare` x + 0 :: Int = LT-id _ :: Int `compare` x + id _ :: Int = LT-id _ :: Int `compare` 0 + x :: Int = LT-id _ :: Int `compare` 0 + 0 :: Int = LT-id _ :: Int `compare` 0 + id _ :: Int = LT-id _ :: Int `compare` id _ + x :: Int = LT-id _ :: Int `compare` id _ + 0 :: Int = LT-id _ :: Int `compare` id _ + id _ :: Int = LT-id _ :: Int `compare` _ * x :: Int = LT-id _ :: Int `compare` _ * 0 :: Int = LT-id _ :: Int `compare` _ * id _ :: Int = LT-id _ :: Int `compare` f x :: Int = GT-id _ :: Int `compare` f 0 :: Int = GT-id _ :: Int `compare` f (id _) :: Int = LT-id _ :: Int `compare` y + _ :: Int = LT-id _ :: Int `compare` 1 + _ :: Int = LT-id _ :: Int `compare` id x + _ :: Int = LT-id _ :: Int `compare` id 0 + _ :: Int = LT-id _ :: Int `compare` id (id _) + _ :: Int = LT-id _ :: Int `compare` negate _ + _ :: Int = LT-id _ :: Int `compare` abs _ + _ :: Int = LT-id _ :: Int `compare` (_ + _) + _ :: Int = LT-id _ :: Int `compare` head _ + _ :: Int = LT-id _ :: Int `compare` ord _ + _ :: Int = LT-id _ :: Int `compare` x * _ :: Int = LT-id _ :: Int `compare` 0 * _ :: Int = LT-id _ :: Int `compare` id _ * _ :: Int = LT-id _ :: Int `compare` g _ :: Int = GT-id _ :: Int `compare` head ys :: Int = LT-id _ :: Int `compare` head [0] :: Int = LT-id _ :: Int `compare` head (_:xs) :: Int = LT-id _ :: Int `compare` head [_] :: Int = LT-id _ :: Int `compare` head (_:_:_) :: Int = LT-id _ :: Int `compare` head (x:_) :: Int = LT-id _ :: Int `compare` head (0:_) :: Int = LT-id _ :: Int `compare` head (id _:_) :: Int = LT-id _ :: Int `compare` head (tail _) :: Int = LT-id _ :: Int `compare` head (_ ++ _) :: Int = LT-id _ :: Int `compare` ord d :: Int = GT-id _ :: Int `compare` ord ' ' :: Int = LT-id _ :: Int `compare` r :: Bool = GT-id _ :: Int `compare` not q :: Bool = GT-id _ :: Int `compare` not (not p) :: Bool = LT-id _ :: Int `compare` not (not False) :: Bool = LT-id _ :: Int `compare` not (not True) :: Bool = LT-id _ :: Int `compare` not (not (not _)) :: Bool = LT-id _ :: Int `compare` not (_ || _) :: Bool = LT-id _ :: Int `compare` _ || p :: Bool = LT-id _ :: Int `compare` _ || False :: Bool = LT-id _ :: Int `compare` _ || True :: Bool = LT-id _ :: Int `compare` _ || not _ :: Bool = LT-id _ :: Int `compare` p || _ :: Bool = LT-id _ :: Int `compare` False || _ :: Bool = LT-id _ :: Int `compare` True || _ :: Bool = LT-id _ :: Int `compare` not _ || _ :: Bool = LT-id _ :: Int `compare` _ && _ :: Bool = LT-id _ :: Int `compare` _ == _ :: Bool = LT-id _ :: Int `compare` _ == _ :: Bool = LT-id _ :: Int `compare` odd _ :: Bool = GT-id _ :: Int `compare` even _ :: Bool = GT-id _ :: Int `compare` elem _ _ :: Bool = LT-id _ :: Int `compare` e :: Char = GT-id _ :: Int `compare` 'b' :: Char = GT-id _ :: Int `compare` zs :: [Int] = GT-id _ :: Int `compare` [0,0] :: [Int] = GT-id _ :: Int `compare` [1] :: [Int] = GT-id _ :: Int `compare` _:ys :: [Int] = LT-id _ :: Int `compare` [_,0] :: [Int] = LT-id _ :: Int `compare` _:_:xs :: [Int] = LT-id _ :: Int `compare` [_,_] :: [Int] = LT-id _ :: Int `compare` _:_:_:_ :: [Int] = LT-id _ :: Int `compare` _:x:_ :: [Int] = LT-id _ :: Int `compare` _:0:_ :: [Int] = LT-id _ :: Int `compare` _:id _:_ :: [Int] = LT-id _ :: Int `compare` _:tail _ :: [Int] = LT-id _ :: Int `compare` _:(_ ++ _) :: [Int] = LT-id _ :: Int `compare` x:xs :: [Int] = LT-id _ :: Int `compare` [x] :: [Int] = LT-id _ :: Int `compare` x:_:_ :: [Int] = LT-id _ :: Int `compare` 0:xs :: [Int] = LT-id _ :: Int `compare` [0] :: [Int] = LT-id _ :: Int `compare` 0:_:_ :: [Int] = LT-id _ :: Int `compare` id _:xs :: [Int] = LT-id _ :: Int `compare` [id _] :: [Int] = LT-id _ :: Int `compare` id _:_:_ :: [Int] = LT-id _ :: Int `compare` y:_ :: [Int] = LT-id _ :: Int `compare` 1:_ :: [Int] = LT-id _ :: Int `compare` id x:_ :: [Int] = LT-id _ :: Int `compare` id 0:_ :: [Int] = LT-id _ :: Int `compare` id (id _):_ :: [Int] = LT-id _ :: Int `compare` negate _:_ :: [Int] = LT-id _ :: Int `compare` abs _:_ :: [Int] = LT-id _ :: Int `compare` _ + _:_ :: [Int] = LT-id _ :: Int `compare` head _:_ :: [Int] = LT-id _ :: Int `compare` ord _:_ :: [Int] = LT-id _ :: Int `compare` tail xs :: [Int] = LT-id _ :: Int `compare` tail [] :: [Int] = LT-id _ :: Int `compare` tail (_:_) :: [Int] = LT-id _ :: Int `compare` _ ++ xs :: [Int] = LT-id _ :: Int `compare` _ ++ [] :: [Int] = LT-id _ :: Int `compare` _ ++ (_:_) :: [Int] = LT-id _ :: Int `compare` xs ++ _ :: [Int] = LT-id _ :: Int `compare` [] ++ _ :: [Int] = LT-id _ :: Int `compare` (_:_) ++ _ :: [Int] = LT-id _ :: Int `compare` sort _ :: [Int] = LT-id _ :: Int `compare` insert _ _ :: [Int] = LT-id _ :: Int `compare` (x +) :: Int -> Int = LT-id _ :: Int `compare` (0 +) :: Int -> Int = LT-id _ :: Int `compare` (id _ +) :: Int -> Int = LT-id _ :: Int `compare` (_ *) :: Int -> Int = LT-id _ :: Int `compare` f :: Int -> Int = GT-id _ :: Int `compare` (_ ||) :: Bool -> Bool = LT-id _ :: Int `compare` (&&) :: Bool -> Bool -> Bool = GT-_ :: Bool `compare` x' :: Int = LT-_ :: Bool `compare` 2 :: Int = LT-_ :: Bool `compare` id z :: Int = LT-_ :: Bool `compare` id (-1) :: Int = LT-_ :: Bool `compare` id (id y) :: Int = LT-_ :: Bool `compare` id (id 1) :: Int = LT-_ :: Bool `compare` id (id (id x)) :: Int = LT-_ :: Bool `compare` id (id (id 0)) :: Int = LT-_ :: Bool `compare` id (id (id (id _))) :: Int = LT-_ :: Bool `compare` id (id (negate _)) :: Int = LT-_ :: Bool `compare` id (id (abs _)) :: Int = LT-_ :: Bool `compare` id (id (_ + _)) :: Int = LT-_ :: Bool `compare` id (id (head _)) :: Int = LT-_ :: Bool `compare` id (id (ord _)) :: Int = LT-_ :: Bool `compare` id (negate x) :: Int = LT-_ :: Bool `compare` id (negate 0) :: Int = LT-_ :: Bool `compare` id (negate (id _)) :: Int = LT-_ :: Bool `compare` id (abs x) :: Int = LT-_ :: Bool `compare` id (abs 0) :: Int = LT-_ :: Bool `compare` id (abs (id _)) :: Int = LT-_ :: Bool `compare` id (_ + x) :: Int = LT-_ :: Bool `compare` id (_ + 0) :: Int = LT-_ :: Bool `compare` id (_ + id _) :: Int = LT-_ :: Bool `compare` id (x + _) :: Int = LT-_ :: Bool `compare` id (0 + _) :: Int = LT-_ :: Bool `compare` id (id _ + _) :: Int = LT-_ :: Bool `compare` id (_ * _) :: Int = LT-_ :: Bool `compare` id (f _) :: Int = LT-_ :: Bool `compare` id (head xs) :: Int = LT-_ :: Bool `compare` id (head []) :: Int = LT-_ :: Bool `compare` id (head (_:_)) :: Int = LT-_ :: Bool `compare` id (ord c) :: Int = LT-_ :: Bool `compare` id (ord 'a') :: Int = LT-_ :: Bool `compare` negate y :: Int = LT-_ :: Bool `compare` negate 1 :: Int = LT-_ :: Bool `compare` negate (id x) :: Int = LT-_ :: Bool `compare` negate (id 0) :: Int = LT-_ :: Bool `compare` negate (id (id _)) :: Int = LT-_ :: Bool `compare` negate (negate _) :: Int = LT-_ :: Bool `compare` negate (abs _) :: Int = LT-_ :: Bool `compare` negate (_ + _) :: Int = LT-_ :: Bool `compare` negate (head _) :: Int = LT-_ :: Bool `compare` negate (ord _) :: Int = LT-_ :: Bool `compare` abs y :: Int = LT-_ :: Bool `compare` abs 1 :: Int = LT-_ :: Bool `compare` abs (id x) :: Int = LT-_ :: Bool `compare` abs (id 0) :: Int = LT-_ :: Bool `compare` abs (id (id _)) :: Int = LT-_ :: Bool `compare` abs (negate _) :: Int = LT-_ :: Bool `compare` abs (abs _) :: Int = LT-_ :: Bool `compare` abs (_ + _) :: Int = LT-_ :: Bool `compare` abs (head _) :: Int = LT-_ :: Bool `compare` abs (ord _) :: Int = LT-_ :: Bool `compare` _ + y :: Int = LT-_ :: Bool `compare` _ + 1 :: Int = LT-_ :: Bool `compare` _ + id x :: Int = LT-_ :: Bool `compare` _ + id 0 :: Int = LT-_ :: Bool `compare` _ + id (id _) :: Int = LT-_ :: Bool `compare` _ + negate _ :: Int = LT-_ :: Bool `compare` _ + abs _ :: Int = LT-_ :: Bool `compare` _ + (_ + _) :: Int = LT-_ :: Bool `compare` _ + head _ :: Int = LT-_ :: Bool `compare` _ + ord _ :: Int = LT-_ :: Bool `compare` x + x :: Int = LT-_ :: Bool `compare` x + 0 :: Int = LT-_ :: Bool `compare` x + id _ :: Int = LT-_ :: Bool `compare` 0 + x :: Int = LT-_ :: Bool `compare` 0 + 0 :: Int = LT-_ :: Bool `compare` 0 + id _ :: Int = LT-_ :: Bool `compare` id _ + x :: Int = LT-_ :: Bool `compare` id _ + 0 :: Int = LT-_ :: Bool `compare` id _ + id _ :: Int = LT-_ :: Bool `compare` _ * x :: Int = LT-_ :: Bool `compare` _ * 0 :: Int = LT-_ :: Bool `compare` _ * id _ :: Int = LT-_ :: Bool `compare` f x :: Int = LT-_ :: Bool `compare` f 0 :: Int = LT-_ :: Bool `compare` f (id _) :: Int = LT-_ :: Bool `compare` y + _ :: Int = LT-_ :: Bool `compare` 1 + _ :: Int = LT-_ :: Bool `compare` id x + _ :: Int = LT-_ :: Bool `compare` id 0 + _ :: Int = LT-_ :: Bool `compare` id (id _) + _ :: Int = LT-_ :: Bool `compare` negate _ + _ :: Int = LT-_ :: Bool `compare` abs _ + _ :: Int = LT-_ :: Bool `compare` (_ + _) + _ :: Int = LT-_ :: Bool `compare` head _ + _ :: Int = LT-_ :: Bool `compare` ord _ + _ :: Int = LT-_ :: Bool `compare` x * _ :: Int = LT-_ :: Bool `compare` 0 * _ :: Int = LT-_ :: Bool `compare` id _ * _ :: Int = LT-_ :: Bool `compare` g _ :: Int = LT-_ :: Bool `compare` head ys :: Int = LT-_ :: Bool `compare` head [0] :: Int = LT-_ :: Bool `compare` head (_:xs) :: Int = LT-_ :: Bool `compare` head [_] :: Int = LT-_ :: Bool `compare` head (_:_:_) :: Int = LT-_ :: Bool `compare` head (x:_) :: Int = LT-_ :: Bool `compare` head (0:_) :: Int = LT-_ :: Bool `compare` head (id _:_) :: Int = LT-_ :: Bool `compare` head (tail _) :: Int = LT-_ :: Bool `compare` head (_ ++ _) :: Int = LT-_ :: Bool `compare` ord d :: Int = LT-_ :: Bool `compare` ord ' ' :: Int = LT-_ :: Bool `compare` r :: Bool = LT-_ :: Bool `compare` not q :: Bool = LT-_ :: Bool `compare` not (not p) :: Bool = LT-_ :: Bool `compare` not (not False) :: Bool = LT-_ :: Bool `compare` not (not True) :: Bool = LT-_ :: Bool `compare` not (not (not _)) :: Bool = LT-_ :: Bool `compare` not (_ || _) :: Bool = LT-_ :: Bool `compare` _ || p :: Bool = LT-_ :: Bool `compare` _ || False :: Bool = LT-_ :: Bool `compare` _ || True :: Bool = LT-_ :: Bool `compare` _ || not _ :: Bool = LT-_ :: Bool `compare` p || _ :: Bool = LT-_ :: Bool `compare` False || _ :: Bool = LT-_ :: Bool `compare` True || _ :: Bool = LT-_ :: Bool `compare` not _ || _ :: Bool = LT-_ :: Bool `compare` _ && _ :: Bool = LT-_ :: Bool `compare` _ == _ :: Bool = LT-_ :: Bool `compare` _ == _ :: Bool = LT-_ :: Bool `compare` odd _ :: Bool = LT-_ :: Bool `compare` even _ :: Bool = LT-_ :: Bool `compare` elem _ _ :: Bool = LT-_ :: Bool `compare` e :: Char = LT-_ :: Bool `compare` 'b' :: Char = LT-_ :: Bool `compare` zs :: [Int] = LT-_ :: Bool `compare` [0,0] :: [Int] = LT-_ :: Bool `compare` [1] :: [Int] = LT-_ :: Bool `compare` _:ys :: [Int] = LT-_ :: Bool `compare` [_,0] :: [Int] = LT-_ :: Bool `compare` _:_:xs :: [Int] = LT-_ :: Bool `compare` [_,_] :: [Int] = LT-_ :: Bool `compare` _:_:_:_ :: [Int] = LT-_ :: Bool `compare` _:x:_ :: [Int] = LT-_ :: Bool `compare` _:0:_ :: [Int] = LT-_ :: Bool `compare` _:id _:_ :: [Int] = LT-_ :: Bool `compare` _:tail _ :: [Int] = LT-_ :: Bool `compare` _:(_ ++ _) :: [Int] = LT-_ :: Bool `compare` x:xs :: [Int] = LT-_ :: Bool `compare` [x] :: [Int] = LT-_ :: Bool `compare` x:_:_ :: [Int] = LT-_ :: Bool `compare` 0:xs :: [Int] = LT-_ :: Bool `compare` [0] :: [Int] = LT-_ :: Bool `compare` 0:_:_ :: [Int] = LT-_ :: Bool `compare` id _:xs :: [Int] = LT-_ :: Bool `compare` [id _] :: [Int] = LT-_ :: Bool `compare` id _:_:_ :: [Int] = LT-_ :: Bool `compare` y:_ :: [Int] = LT-_ :: Bool `compare` 1:_ :: [Int] = LT-_ :: Bool `compare` id x:_ :: [Int] = LT-_ :: Bool `compare` id 0:_ :: [Int] = LT-_ :: Bool `compare` id (id _):_ :: [Int] = LT-_ :: Bool `compare` negate _:_ :: [Int] = LT-_ :: Bool `compare` abs _:_ :: [Int] = LT-_ :: Bool `compare` _ + _:_ :: [Int] = LT-_ :: Bool `compare` head _:_ :: [Int] = LT-_ :: Bool `compare` ord _:_ :: [Int] = LT-_ :: Bool `compare` tail xs :: [Int] = LT-_ :: Bool `compare` tail [] :: [Int] = LT-_ :: Bool `compare` tail (_:_) :: [Int] = LT-_ :: Bool `compare` _ ++ xs :: [Int] = LT-_ :: Bool `compare` _ ++ [] :: [Int] = LT-_ :: Bool `compare` _ ++ (_:_) :: [Int] = LT-_ :: Bool `compare` xs ++ _ :: [Int] = LT-_ :: Bool `compare` [] ++ _ :: [Int] = LT-_ :: Bool `compare` (_:_) ++ _ :: [Int] = LT-_ :: Bool `compare` sort _ :: [Int] = LT-_ :: Bool `compare` insert _ _ :: [Int] = LT-_ :: Bool `compare` (x +) :: Int -> Int = LT-_ :: Bool `compare` (0 +) :: Int -> Int = LT-_ :: Bool `compare` (id _ +) :: Int -> Int = LT-_ :: Bool `compare` (_ *) :: Int -> Int = LT-_ :: Bool `compare` f :: Int -> Int = LT-_ :: Bool `compare` (_ ||) :: Bool -> Bool = LT-_ :: Bool `compare` (&&) :: Bool -> Bool -> Bool = LT-_ :: Char `compare` x' :: Int = LT-_ :: Char `compare` 2 :: Int = LT-_ :: Char `compare` id z :: Int = LT-_ :: Char `compare` id (-1) :: Int = LT-_ :: Char `compare` id (id y) :: Int = LT-_ :: Char `compare` id (id 1) :: Int = LT-_ :: Char `compare` id (id (id x)) :: Int = LT-_ :: Char `compare` id (id (id 0)) :: Int = LT-_ :: Char `compare` id (id (id (id _))) :: Int = LT-_ :: Char `compare` id (id (negate _)) :: Int = LT-_ :: Char `compare` id (id (abs _)) :: Int = LT-_ :: Char `compare` id (id (_ + _)) :: Int = LT-_ :: Char `compare` id (id (head _)) :: Int = LT-_ :: Char `compare` id (id (ord _)) :: Int = LT-_ :: Char `compare` id (negate x) :: Int = LT-_ :: Char `compare` id (negate 0) :: Int = LT-_ :: Char `compare` id (negate (id _)) :: Int = LT-_ :: Char `compare` id (abs x) :: Int = LT-_ :: Char `compare` id (abs 0) :: Int = LT-_ :: Char `compare` id (abs (id _)) :: Int = LT-_ :: Char `compare` id (_ + x) :: Int = LT-_ :: Char `compare` id (_ + 0) :: Int = LT-_ :: Char `compare` id (_ + id _) :: Int = LT-_ :: Char `compare` id (x + _) :: Int = LT-_ :: Char `compare` id (0 + _) :: Int = LT-_ :: Char `compare` id (id _ + _) :: Int = LT-_ :: Char `compare` id (_ * _) :: Int = LT-_ :: Char `compare` id (f _) :: Int = LT-_ :: Char `compare` id (head xs) :: Int = LT-_ :: Char `compare` id (head []) :: Int = LT-_ :: Char `compare` id (head (_:_)) :: Int = LT-_ :: Char `compare` id (ord c) :: Int = LT-_ :: Char `compare` id (ord 'a') :: Int = LT-_ :: Char `compare` negate y :: Int = LT-_ :: Char `compare` negate 1 :: Int = LT-_ :: Char `compare` negate (id x) :: Int = LT-_ :: Char `compare` negate (id 0) :: Int = LT-_ :: Char `compare` negate (id (id _)) :: Int = LT-_ :: Char `compare` negate (negate _) :: Int = LT-_ :: Char `compare` negate (abs _) :: Int = LT-_ :: Char `compare` negate (_ + _) :: Int = LT-_ :: Char `compare` negate (head _) :: Int = LT-_ :: Char `compare` negate (ord _) :: Int = LT-_ :: Char `compare` abs y :: Int = LT-_ :: Char `compare` abs 1 :: Int = LT-_ :: Char `compare` abs (id x) :: Int = LT-_ :: Char `compare` abs (id 0) :: Int = LT-_ :: Char `compare` abs (id (id _)) :: Int = LT-_ :: Char `compare` abs (negate _) :: Int = LT-_ :: Char `compare` abs (abs _) :: Int = LT-_ :: Char `compare` abs (_ + _) :: Int = LT-_ :: Char `compare` abs (head _) :: Int = LT-_ :: Char `compare` abs (ord _) :: Int = LT-_ :: Char `compare` _ + y :: Int = LT-_ :: Char `compare` _ + 1 :: Int = LT-_ :: Char `compare` _ + id x :: Int = LT-_ :: Char `compare` _ + id 0 :: Int = LT-_ :: Char `compare` _ + id (id _) :: Int = LT-_ :: Char `compare` _ + negate _ :: Int = LT-_ :: Char `compare` _ + abs _ :: Int = LT-_ :: Char `compare` _ + (_ + _) :: Int = LT-_ :: Char `compare` _ + head _ :: Int = LT-_ :: Char `compare` _ + ord _ :: Int = LT-_ :: Char `compare` x + x :: Int = LT-_ :: Char `compare` x + 0 :: Int = LT-_ :: Char `compare` x + id _ :: Int = LT-_ :: Char `compare` 0 + x :: Int = LT-_ :: Char `compare` 0 + 0 :: Int = LT-_ :: Char `compare` 0 + id _ :: Int = LT-_ :: Char `compare` id _ + x :: Int = LT-_ :: Char `compare` id _ + 0 :: Int = LT-_ :: Char `compare` id _ + id _ :: Int = LT-_ :: Char `compare` _ * x :: Int = LT-_ :: Char `compare` _ * 0 :: Int = LT-_ :: Char `compare` _ * id _ :: Int = LT-_ :: Char `compare` f x :: Int = LT-_ :: Char `compare` f 0 :: Int = LT-_ :: Char `compare` f (id _) :: Int = LT-_ :: Char `compare` y + _ :: Int = LT-_ :: Char `compare` 1 + _ :: Int = LT-_ :: Char `compare` id x + _ :: Int = LT-_ :: Char `compare` id 0 + _ :: Int = LT-_ :: Char `compare` id (id _) + _ :: Int = LT-_ :: Char `compare` negate _ + _ :: Int = LT-_ :: Char `compare` abs _ + _ :: Int = LT-_ :: Char `compare` (_ + _) + _ :: Int = LT-_ :: Char `compare` head _ + _ :: Int = LT-_ :: Char `compare` ord _ + _ :: Int = LT-_ :: Char `compare` x * _ :: Int = LT-_ :: Char `compare` 0 * _ :: Int = LT-_ :: Char `compare` id _ * _ :: Int = LT-_ :: Char `compare` g _ :: Int = LT-_ :: Char `compare` head ys :: Int = LT-_ :: Char `compare` head [0] :: Int = LT-_ :: Char `compare` head (_:xs) :: Int = LT-_ :: Char `compare` head [_] :: Int = LT-_ :: Char `compare` head (_:_:_) :: Int = LT-_ :: Char `compare` head (x:_) :: Int = LT-_ :: Char `compare` head (0:_) :: Int = LT-_ :: Char `compare` head (id _:_) :: Int = LT-_ :: Char `compare` head (tail _) :: Int = LT-_ :: Char `compare` head (_ ++ _) :: Int = LT-_ :: Char `compare` ord d :: Int = LT-_ :: Char `compare` ord ' ' :: Int = LT-_ :: Char `compare` r :: Bool = GT-_ :: Char `compare` not q :: Bool = LT-_ :: Char `compare` not (not p) :: Bool = LT-_ :: Char `compare` not (not False) :: Bool = LT-_ :: Char `compare` not (not True) :: Bool = LT-_ :: Char `compare` not (not (not _)) :: Bool = LT-_ :: Char `compare` not (_ || _) :: Bool = LT-_ :: Char `compare` _ || p :: Bool = LT-_ :: Char `compare` _ || False :: Bool = LT-_ :: Char `compare` _ || True :: Bool = LT-_ :: Char `compare` _ || not _ :: Bool = LT-_ :: Char `compare` p || _ :: Bool = LT-_ :: Char `compare` False || _ :: Bool = LT-_ :: Char `compare` True || _ :: Bool = LT-_ :: Char `compare` not _ || _ :: Bool = LT-_ :: Char `compare` _ && _ :: Bool = LT-_ :: Char `compare` _ == _ :: Bool = LT-_ :: Char `compare` _ == _ :: Bool = LT-_ :: Char `compare` odd _ :: Bool = LT-_ :: Char `compare` even _ :: Bool = LT-_ :: Char `compare` elem _ _ :: Bool = LT-_ :: Char `compare` e :: Char = LT-_ :: Char `compare` 'b' :: Char = LT-_ :: Char `compare` zs :: [Int] = LT-_ :: Char `compare` [0,0] :: [Int] = LT-_ :: Char `compare` [1] :: [Int] = LT-_ :: Char `compare` _:ys :: [Int] = LT-_ :: Char `compare` [_,0] :: [Int] = LT-_ :: Char `compare` _:_:xs :: [Int] = LT-_ :: Char `compare` [_,_] :: [Int] = LT-_ :: Char `compare` _:_:_:_ :: [Int] = LT-_ :: Char `compare` _:x:_ :: [Int] = LT-_ :: Char `compare` _:0:_ :: [Int] = LT-_ :: Char `compare` _:id _:_ :: [Int] = LT-_ :: Char `compare` _:tail _ :: [Int] = LT-_ :: Char `compare` _:(_ ++ _) :: [Int] = LT-_ :: Char `compare` x:xs :: [Int] = LT-_ :: Char `compare` [x] :: [Int] = LT-_ :: Char `compare` x:_:_ :: [Int] = LT-_ :: Char `compare` 0:xs :: [Int] = LT-_ :: Char `compare` [0] :: [Int] = LT-_ :: Char `compare` 0:_:_ :: [Int] = LT-_ :: Char `compare` id _:xs :: [Int] = LT-_ :: Char `compare` [id _] :: [Int] = LT-_ :: Char `compare` id _:_:_ :: [Int] = LT-_ :: Char `compare` y:_ :: [Int] = LT-_ :: Char `compare` 1:_ :: [Int] = LT-_ :: Char `compare` id x:_ :: [Int] = LT-_ :: Char `compare` id 0:_ :: [Int] = LT-_ :: Char `compare` id (id _):_ :: [Int] = LT-_ :: Char `compare` negate _:_ :: [Int] = LT-_ :: Char `compare` abs _:_ :: [Int] = LT-_ :: Char `compare` _ + _:_ :: [Int] = LT-_ :: Char `compare` head _:_ :: [Int] = LT-_ :: Char `compare` ord _:_ :: [Int] = LT-_ :: Char `compare` tail xs :: [Int] = LT-_ :: Char `compare` tail [] :: [Int] = LT-_ :: Char `compare` tail (_:_) :: [Int] = LT-_ :: Char `compare` _ ++ xs :: [Int] = LT-_ :: Char `compare` _ ++ [] :: [Int] = LT-_ :: Char `compare` _ ++ (_:_) :: [Int] = LT-_ :: Char `compare` xs ++ _ :: [Int] = LT-_ :: Char `compare` [] ++ _ :: [Int] = LT-_ :: Char `compare` (_:_) ++ _ :: [Int] = LT-_ :: Char `compare` sort _ :: [Int] = LT-_ :: Char `compare` insert _ _ :: [Int] = LT-_ :: Char `compare` (x +) :: Int -> Int = LT-_ :: Char `compare` (0 +) :: Int -> Int = LT-_ :: Char `compare` (id _ +) :: Int -> Int = LT-_ :: Char `compare` (_ *) :: Int -> Int = LT-_ :: Char `compare` f :: Int -> Int = LT-_ :: Char `compare` (_ ||) :: Bool -> Bool = LT-_ :: Char `compare` (&&) :: Bool -> Bool -> Bool = LT-_ :: [Int] `compare` x' :: Int = GT-_ :: [Int] `compare` 2 :: Int = LT-_ :: [Int] `compare` id z :: Int = LT-_ :: [Int] `compare` id (-1) :: Int = LT-_ :: [Int] `compare` id (id y) :: Int = LT-_ :: [Int] `compare` id (id 1) :: Int = LT-_ :: [Int] `compare` id (id (id x)) :: Int = LT-_ :: [Int] `compare` id (id (id 0)) :: Int = LT-_ :: [Int] `compare` id (id (id (id _))) :: Int = LT-_ :: [Int] `compare` id (id (negate _)) :: Int = LT-_ :: [Int] `compare` id (id (abs _)) :: Int = LT-_ :: [Int] `compare` id (id (_ + _)) :: Int = LT-_ :: [Int] `compare` id (id (head _)) :: Int = LT-_ :: [Int] `compare` id (id (ord _)) :: Int = LT-_ :: [Int] `compare` id (negate x) :: Int = LT-_ :: [Int] `compare` id (negate 0) :: Int = LT-_ :: [Int] `compare` id (negate (id _)) :: Int = LT-_ :: [Int] `compare` id (abs x) :: Int = LT-_ :: [Int] `compare` id (abs 0) :: Int = LT-_ :: [Int] `compare` id (abs (id _)) :: Int = LT-_ :: [Int] `compare` id (_ + x) :: Int = LT-_ :: [Int] `compare` id (_ + 0) :: Int = LT-_ :: [Int] `compare` id (_ + id _) :: Int = LT-_ :: [Int] `compare` id (x + _) :: Int = LT-_ :: [Int] `compare` id (0 + _) :: Int = LT-_ :: [Int] `compare` id (id _ + _) :: Int = LT-_ :: [Int] `compare` id (_ * _) :: Int = LT-_ :: [Int] `compare` id (f _) :: Int = LT-_ :: [Int] `compare` id (head xs) :: Int = LT-_ :: [Int] `compare` id (head []) :: Int = LT-_ :: [Int] `compare` id (head (_:_)) :: Int = LT-_ :: [Int] `compare` id (ord c) :: Int = LT-_ :: [Int] `compare` id (ord 'a') :: Int = LT-_ :: [Int] `compare` negate y :: Int = LT-_ :: [Int] `compare` negate 1 :: Int = LT-_ :: [Int] `compare` negate (id x) :: Int = LT-_ :: [Int] `compare` negate (id 0) :: Int = LT-_ :: [Int] `compare` negate (id (id _)) :: Int = LT-_ :: [Int] `compare` negate (negate _) :: Int = LT-_ :: [Int] `compare` negate (abs _) :: Int = LT-_ :: [Int] `compare` negate (_ + _) :: Int = LT-_ :: [Int] `compare` negate (head _) :: Int = LT-_ :: [Int] `compare` negate (ord _) :: Int = LT-_ :: [Int] `compare` abs y :: Int = LT-_ :: [Int] `compare` abs 1 :: Int = LT-_ :: [Int] `compare` abs (id x) :: Int = LT-_ :: [Int] `compare` abs (id 0) :: Int = LT-_ :: [Int] `compare` abs (id (id _)) :: Int = LT-_ :: [Int] `compare` abs (negate _) :: Int = LT-_ :: [Int] `compare` abs (abs _) :: Int = LT-_ :: [Int] `compare` abs (_ + _) :: Int = LT-_ :: [Int] `compare` abs (head _) :: Int = LT-_ :: [Int] `compare` abs (ord _) :: Int = LT-_ :: [Int] `compare` _ + y :: Int = LT-_ :: [Int] `compare` _ + 1 :: Int = LT-_ :: [Int] `compare` _ + id x :: Int = LT-_ :: [Int] `compare` _ + id 0 :: Int = LT-_ :: [Int] `compare` _ + id (id _) :: Int = LT-_ :: [Int] `compare` _ + negate _ :: Int = LT-_ :: [Int] `compare` _ + abs _ :: Int = LT-_ :: [Int] `compare` _ + (_ + _) :: Int = LT-_ :: [Int] `compare` _ + head _ :: Int = LT-_ :: [Int] `compare` _ + ord _ :: Int = LT-_ :: [Int] `compare` x + x :: Int = LT-_ :: [Int] `compare` x + 0 :: Int = LT-_ :: [Int] `compare` x + id _ :: Int = LT-_ :: [Int] `compare` 0 + x :: Int = LT-_ :: [Int] `compare` 0 + 0 :: Int = LT-_ :: [Int] `compare` 0 + id _ :: Int = LT-_ :: [Int] `compare` id _ + x :: Int = LT-_ :: [Int] `compare` id _ + 0 :: Int = LT-_ :: [Int] `compare` id _ + id _ :: Int = LT-_ :: [Int] `compare` _ * x :: Int = LT-_ :: [Int] `compare` _ * 0 :: Int = LT-_ :: [Int] `compare` _ * id _ :: Int = LT-_ :: [Int] `compare` f x :: Int = LT-_ :: [Int] `compare` f 0 :: Int = LT-_ :: [Int] `compare` f (id _) :: Int = LT-_ :: [Int] `compare` y + _ :: Int = LT-_ :: [Int] `compare` 1 + _ :: Int = LT-_ :: [Int] `compare` id x + _ :: Int = LT-_ :: [Int] `compare` id 0 + _ :: Int = LT-_ :: [Int] `compare` id (id _) + _ :: Int = LT-_ :: [Int] `compare` negate _ + _ :: Int = LT-_ :: [Int] `compare` abs _ + _ :: Int = LT-_ :: [Int] `compare` (_ + _) + _ :: Int = LT-_ :: [Int] `compare` head _ + _ :: Int = LT-_ :: [Int] `compare` ord _ + _ :: Int = LT-_ :: [Int] `compare` x * _ :: Int = LT-_ :: [Int] `compare` 0 * _ :: Int = LT-_ :: [Int] `compare` id _ * _ :: Int = LT-_ :: [Int] `compare` g _ :: Int = LT-_ :: [Int] `compare` head ys :: Int = LT-_ :: [Int] `compare` head [0] :: Int = LT-_ :: [Int] `compare` head (_:xs) :: Int = LT-_ :: [Int] `compare` head [_] :: Int = LT-_ :: [Int] `compare` head (_:_:_) :: Int = LT-_ :: [Int] `compare` head (x:_) :: Int = LT-_ :: [Int] `compare` head (0:_) :: Int = LT-_ :: [Int] `compare` head (id _:_) :: Int = LT-_ :: [Int] `compare` head (tail _) :: Int = LT-_ :: [Int] `compare` head (_ ++ _) :: Int = LT-_ :: [Int] `compare` ord d :: Int = LT-_ :: [Int] `compare` ord ' ' :: Int = LT-_ :: [Int] `compare` r :: Bool = GT-_ :: [Int] `compare` not q :: Bool = LT-_ :: [Int] `compare` not (not p) :: Bool = LT-_ :: [Int] `compare` not (not False) :: Bool = LT-_ :: [Int] `compare` not (not True) :: Bool = LT-_ :: [Int] `compare` not (not (not _)) :: Bool = LT-_ :: [Int] `compare` not (_ || _) :: Bool = LT-_ :: [Int] `compare` _ || p :: Bool = LT-_ :: [Int] `compare` _ || False :: Bool = LT-_ :: [Int] `compare` _ || True :: Bool = LT-_ :: [Int] `compare` _ || not _ :: Bool = LT-_ :: [Int] `compare` p || _ :: Bool = LT-_ :: [Int] `compare` False || _ :: Bool = LT-_ :: [Int] `compare` True || _ :: Bool = LT-_ :: [Int] `compare` not _ || _ :: Bool = LT-_ :: [Int] `compare` _ && _ :: Bool = LT-_ :: [Int] `compare` _ == _ :: Bool = LT-_ :: [Int] `compare` _ == _ :: Bool = LT-_ :: [Int] `compare` odd _ :: Bool = LT-_ :: [Int] `compare` even _ :: Bool = LT-_ :: [Int] `compare` elem _ _ :: Bool = LT-_ :: [Int] `compare` e :: Char = GT-_ :: [Int] `compare` 'b' :: Char = LT-_ :: [Int] `compare` zs :: [Int] = LT-_ :: [Int] `compare` [0,0] :: [Int] = LT-_ :: [Int] `compare` [1] :: [Int] = LT-_ :: [Int] `compare` _:ys :: [Int] = LT-_ :: [Int] `compare` [_,0] :: [Int] = LT-_ :: [Int] `compare` _:_:xs :: [Int] = LT-_ :: [Int] `compare` [_,_] :: [Int] = LT-_ :: [Int] `compare` _:_:_:_ :: [Int] = LT-_ :: [Int] `compare` _:x:_ :: [Int] = LT-_ :: [Int] `compare` _:0:_ :: [Int] = LT-_ :: [Int] `compare` _:id _:_ :: [Int] = LT-_ :: [Int] `compare` _:tail _ :: [Int] = LT-_ :: [Int] `compare` _:(_ ++ _) :: [Int] = LT-_ :: [Int] `compare` x:xs :: [Int] = LT-_ :: [Int] `compare` [x] :: [Int] = LT-_ :: [Int] `compare` x:_:_ :: [Int] = LT-_ :: [Int] `compare` 0:xs :: [Int] = LT-_ :: [Int] `compare` [0] :: [Int] = LT-_ :: [Int] `compare` 0:_:_ :: [Int] = LT-_ :: [Int] `compare` id _:xs :: [Int] = LT-_ :: [Int] `compare` [id _] :: [Int] = LT-_ :: [Int] `compare` id _:_:_ :: [Int] = LT-_ :: [Int] `compare` y:_ :: [Int] = LT-_ :: [Int] `compare` 1:_ :: [Int] = LT-_ :: [Int] `compare` id x:_ :: [Int] = LT-_ :: [Int] `compare` id 0:_ :: [Int] = LT-_ :: [Int] `compare` id (id _):_ :: [Int] = LT-_ :: [Int] `compare` negate _:_ :: [Int] = LT-_ :: [Int] `compare` abs _:_ :: [Int] = LT-_ :: [Int] `compare` _ + _:_ :: [Int] = LT-_ :: [Int] `compare` head _:_ :: [Int] = LT-_ :: [Int] `compare` ord _:_ :: [Int] = LT-_ :: [Int] `compare` tail xs :: [Int] = LT-_ :: [Int] `compare` tail [] :: [Int] = LT-_ :: [Int] `compare` tail (_:_) :: [Int] = LT-_ :: [Int] `compare` _ ++ xs :: [Int] = LT-_ :: [Int] `compare` _ ++ [] :: [Int] = LT-_ :: [Int] `compare` _ ++ (_:_) :: [Int] = LT-_ :: [Int] `compare` xs ++ _ :: [Int] = LT-_ :: [Int] `compare` [] ++ _ :: [Int] = LT-_ :: [Int] `compare` (_:_) ++ _ :: [Int] = LT-_ :: [Int] `compare` sort _ :: [Int] = LT-_ :: [Int] `compare` insert _ _ :: [Int] = LT-_ :: [Int] `compare` (x +) :: Int -> Int = LT-_ :: [Int] `compare` (0 +) :: Int -> Int = LT-_ :: [Int] `compare` (id _ +) :: Int -> Int = LT-_ :: [Int] `compare` (_ *) :: Int -> Int = LT-_ :: [Int] `compare` f :: Int -> Int = LT-_ :: [Int] `compare` (_ ||) :: Bool -> Bool = LT-_ :: [Int] `compare` (&&) :: Bool -> Bool -> Bool = LT-y :: Int `compare` z :: Int = LT-y :: Int `compare` -1 :: Int = LT-y :: Int `compare` id y :: Int = LT-y :: Int `compare` id 1 :: Int = LT-y :: Int `compare` id (id x) :: Int = LT-y :: Int `compare` id (id 0) :: Int = LT-y :: Int `compare` id (id (id _)) :: Int = LT-y :: Int `compare` id (negate _) :: Int = LT-y :: Int `compare` id (abs _) :: Int = LT-y :: Int `compare` id (_ + _) :: Int = LT-y :: Int `compare` id (head _) :: Int = LT-y :: Int `compare` id (ord _) :: Int = LT-y :: Int `compare` negate x :: Int = LT-y :: Int `compare` negate 0 :: Int = LT-y :: Int `compare` negate (id _) :: Int = LT-y :: Int `compare` abs x :: Int = LT-y :: Int `compare` abs 0 :: Int = LT-y :: Int `compare` abs (id _) :: Int = LT-y :: Int `compare` _ + x :: Int = LT-y :: Int `compare` _ + 0 :: Int = LT-y :: Int `compare` _ + id _ :: Int = LT-y :: Int `compare` x + _ :: Int = LT-y :: Int `compare` 0 + _ :: Int = LT-y :: Int `compare` id _ + _ :: Int = LT-y :: Int `compare` _ * _ :: Int = LT-y :: Int `compare` f _ :: Int = LT-y :: Int `compare` head xs :: Int = LT-y :: Int `compare` head [] :: Int = LT-y :: Int `compare` head (_:_) :: Int = LT-y :: Int `compare` ord c :: Int = LT-y :: Int `compare` ord 'a' :: Int = LT-y :: Int `compare` q :: Bool = GT-y :: Int `compare` not p :: Bool = LT-y :: Int `compare` not False :: Bool = LT-y :: Int `compare` not True :: Bool = LT-y :: Int `compare` not (not _) :: Bool = LT-y :: Int `compare` _ || _ :: Bool = LT-y :: Int `compare` d :: Char = GT-y :: Int `compare` ' ' :: Char = LT-y :: Int `compare` ys :: [Int] = LT-y :: Int `compare` [0] :: [Int] = LT-y :: Int `compare` _:xs :: [Int] = LT-y :: Int `compare` [_] :: [Int] = LT-y :: Int `compare` _:_:_ :: [Int] = LT-y :: Int `compare` x:_ :: [Int] = LT-y :: Int `compare` 0:_ :: [Int] = LT-y :: Int `compare` id _:_ :: [Int] = LT-y :: Int `compare` tail _ :: [Int] = LT-y :: Int `compare` _ ++ _ :: [Int] = LT-y :: Int `compare` negate :: Int -> Int = LT-y :: Int `compare` abs :: Int -> Int = LT-y :: Int `compare` (_ +) :: Int -> Int = LT-y :: Int `compare` (*) :: Int -> Int -> Int = LT-y :: Int `compare` not :: Bool -> Bool = LT-y :: Int `compare` (||) :: Bool -> Bool -> Bool = LT-1 :: Int `compare` z :: Int = GT-1 :: Int `compare` -1 :: Int = LT-1 :: Int `compare` id y :: Int = LT-1 :: Int `compare` id 1 :: Int = LT-1 :: Int `compare` id (id x) :: Int = LT-1 :: Int `compare` id (id 0) :: Int = LT-1 :: Int `compare` id (id (id _)) :: Int = LT-1 :: Int `compare` id (negate _) :: Int = LT-1 :: Int `compare` id (abs _) :: Int = LT-1 :: Int `compare` id (_ + _) :: Int = LT-1 :: Int `compare` id (head _) :: Int = LT-1 :: Int `compare` id (ord _) :: Int = LT-1 :: Int `compare` negate x :: Int = LT-1 :: Int `compare` negate 0 :: Int = LT-1 :: Int `compare` negate (id _) :: Int = LT-1 :: Int `compare` abs x :: Int = LT-1 :: Int `compare` abs 0 :: Int = LT-1 :: Int `compare` abs (id _) :: Int = LT-1 :: Int `compare` _ + x :: Int = LT-1 :: Int `compare` _ + 0 :: Int = LT-1 :: Int `compare` _ + id _ :: Int = LT-1 :: Int `compare` x + _ :: Int = LT-1 :: Int `compare` 0 + _ :: Int = LT-1 :: Int `compare` id _ + _ :: Int = LT-1 :: Int `compare` _ * _ :: Int = LT-1 :: Int `compare` f _ :: Int = LT-1 :: Int `compare` head xs :: Int = LT-1 :: Int `compare` head [] :: Int = LT-1 :: Int `compare` head (_:_) :: Int = LT-1 :: Int `compare` ord c :: Int = LT-1 :: Int `compare` ord 'a' :: Int = LT-1 :: Int `compare` q :: Bool = GT-1 :: Int `compare` not p :: Bool = LT-1 :: Int `compare` not False :: Bool = LT-1 :: Int `compare` not True :: Bool = LT-1 :: Int `compare` not (not _) :: Bool = LT-1 :: Int `compare` _ || _ :: Bool = LT-1 :: Int `compare` d :: Char = GT-1 :: Int `compare` ' ' :: Char = GT-1 :: Int `compare` ys :: [Int] = GT-1 :: Int `compare` [0] :: [Int] = LT-1 :: Int `compare` _:xs :: [Int] = LT-1 :: Int `compare` [_] :: [Int] = LT-1 :: Int `compare` _:_:_ :: [Int] = LT-1 :: Int `compare` x:_ :: [Int] = LT-1 :: Int `compare` 0:_ :: [Int] = LT-1 :: Int `compare` id _:_ :: [Int] = LT-1 :: Int `compare` tail _ :: [Int] = LT-1 :: Int `compare` _ ++ _ :: [Int] = LT-1 :: Int `compare` negate :: Int -> Int = LT-1 :: Int `compare` abs :: Int -> Int = LT-1 :: Int `compare` (_ +) :: Int -> Int = LT-1 :: Int `compare` (*) :: Int -> Int -> Int = LT-1 :: Int `compare` not :: Bool -> Bool = LT-1 :: Int `compare` (||) :: Bool -> Bool -> Bool = LT-id x :: Int `compare` z :: Int = GT-id x :: Int `compare` -1 :: Int = GT-id x :: Int `compare` id y :: Int = LT-id x :: Int `compare` id 1 :: Int = LT-id x :: Int `compare` id (id x) :: Int = LT-id x :: Int `compare` id (id 0) :: Int = LT-id x :: Int `compare` id (id (id _)) :: Int = LT-id x :: Int `compare` id (negate _) :: Int = LT-id x :: Int `compare` id (abs _) :: Int = LT-id x :: Int `compare` id (_ + _) :: Int = LT-id x :: Int `compare` id (head _) :: Int = LT-id x :: Int `compare` id (ord _) :: Int = LT-id x :: Int `compare` negate x :: Int = LT-id x :: Int `compare` negate 0 :: Int = LT-id x :: Int `compare` negate (id _) :: Int = LT-id x :: Int `compare` abs x :: Int = LT-id x :: Int `compare` abs 0 :: Int = LT-id x :: Int `compare` abs (id _) :: Int = LT-id x :: Int `compare` _ + x :: Int = LT-id x :: Int `compare` _ + 0 :: Int = LT-id x :: Int `compare` _ + id _ :: Int = LT-id x :: Int `compare` x + _ :: Int = LT-id x :: Int `compare` 0 + _ :: Int = LT-id x :: Int `compare` id _ + _ :: Int = LT-id x :: Int `compare` _ * _ :: Int = LT-id x :: Int `compare` f _ :: Int = GT-id x :: Int `compare` head xs :: Int = LT-id x :: Int `compare` head [] :: Int = LT-id x :: Int `compare` head (_:_) :: Int = LT-id x :: Int `compare` ord c :: Int = GT-id x :: Int `compare` ord 'a' :: Int = LT-id x :: Int `compare` q :: Bool = GT-id x :: Int `compare` not p :: Bool = GT-id x :: Int `compare` not False :: Bool = LT-id x :: Int `compare` not True :: Bool = LT-id x :: Int `compare` not (not _) :: Bool = LT-id x :: Int `compare` _ || _ :: Bool = LT-id x :: Int `compare` d :: Char = GT-id x :: Int `compare` ' ' :: Char = GT-id x :: Int `compare` ys :: [Int] = GT-id x :: Int `compare` [0] :: [Int] = GT-id x :: Int `compare` _:xs :: [Int] = LT-id x :: Int `compare` [_] :: [Int] = LT-id x :: Int `compare` _:_:_ :: [Int] = LT-id x :: Int `compare` x:_ :: [Int] = LT-id x :: Int `compare` 0:_ :: [Int] = LT-id x :: Int `compare` id _:_ :: [Int] = LT-id x :: Int `compare` tail _ :: [Int] = LT-id x :: Int `compare` _ ++ _ :: [Int] = LT-id x :: Int `compare` negate :: Int -> Int = GT-id x :: Int `compare` abs :: Int -> Int = GT-id x :: Int `compare` (_ +) :: Int -> Int = LT-id x :: Int `compare` (*) :: Int -> Int -> Int = GT-id x :: Int `compare` not :: Bool -> Bool = GT-id x :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-id 0 :: Int `compare` z :: Int = GT-id 0 :: Int `compare` -1 :: Int = GT-id 0 :: Int `compare` id y :: Int = GT-id 0 :: Int `compare` id 1 :: Int = LT-id 0 :: Int `compare` id (id x) :: Int = LT-id 0 :: Int `compare` id (id 0) :: Int = LT-id 0 :: Int `compare` id (id (id _)) :: Int = LT-id 0 :: Int `compare` id (negate _) :: Int = LT-id 0 :: Int `compare` id (abs _) :: Int = LT-id 0 :: Int `compare` id (_ + _) :: Int = LT-id 0 :: Int `compare` id (head _) :: Int = LT-id 0 :: Int `compare` id (ord _) :: Int = LT-id 0 :: Int `compare` negate x :: Int = GT-id 0 :: Int `compare` negate 0 :: Int = LT-id 0 :: Int `compare` negate (id _) :: Int = LT-id 0 :: Int `compare` abs x :: Int = GT-id 0 :: Int `compare` abs 0 :: Int = LT-id 0 :: Int `compare` abs (id _) :: Int = LT-id 0 :: Int `compare` _ + x :: Int = LT-id 0 :: Int `compare` _ + 0 :: Int = LT-id 0 :: Int `compare` _ + id _ :: Int = LT-id 0 :: Int `compare` x + _ :: Int = LT-id 0 :: Int `compare` 0 + _ :: Int = LT-id 0 :: Int `compare` id _ + _ :: Int = LT-id 0 :: Int `compare` _ * _ :: Int = LT-id 0 :: Int `compare` f _ :: Int = GT-id 0 :: Int `compare` head xs :: Int = GT-id 0 :: Int `compare` head [] :: Int = LT-id 0 :: Int `compare` head (_:_) :: Int = LT-id 0 :: Int `compare` ord c :: Int = GT-id 0 :: Int `compare` ord 'a' :: Int = GT-id 0 :: Int `compare` q :: Bool = GT-id 0 :: Int `compare` not p :: Bool = GT-id 0 :: Int `compare` not False :: Bool = GT-id 0 :: Int `compare` not True :: Bool = GT-id 0 :: Int `compare` not (not _) :: Bool = LT-id 0 :: Int `compare` _ || _ :: Bool = LT-id 0 :: Int `compare` d :: Char = GT-id 0 :: Int `compare` ' ' :: Char = GT-id 0 :: Int `compare` ys :: [Int] = GT-id 0 :: Int `compare` [0] :: [Int] = GT-id 0 :: Int `compare` _:xs :: [Int] = LT-id 0 :: Int `compare` [_] :: [Int] = LT-id 0 :: Int `compare` _:_:_ :: [Int] = LT-id 0 :: Int `compare` x:_ :: [Int] = LT-id 0 :: Int `compare` 0:_ :: [Int] = LT-id 0 :: Int `compare` id _:_ :: [Int] = LT-id 0 :: Int `compare` tail _ :: [Int] = GT-id 0 :: Int `compare` _ ++ _ :: [Int] = LT-id 0 :: Int `compare` negate :: Int -> Int = GT-id 0 :: Int `compare` abs :: Int -> Int = GT-id 0 :: Int `compare` (_ +) :: Int -> Int = GT-id 0 :: Int `compare` (*) :: Int -> Int -> Int = GT-id 0 :: Int `compare` not :: Bool -> Bool = GT-id 0 :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-id (id _) :: Int `compare` z :: Int = GT-id (id _) :: Int `compare` -1 :: Int = GT-id (id _) :: Int `compare` id y :: Int = GT-id (id _) :: Int `compare` id 1 :: Int = GT-id (id _) :: Int `compare` id (id x) :: Int = LT-id (id _) :: Int `compare` id (id 0) :: Int = LT-id (id _) :: Int `compare` id (id (id _)) :: Int = LT-id (id _) :: Int `compare` id (negate _) :: Int = LT-id (id _) :: Int `compare` id (abs _) :: Int = LT-id (id _) :: Int `compare` id (_ + _) :: Int = LT-id (id _) :: Int `compare` id (head _) :: Int = LT-id (id _) :: Int `compare` id (ord _) :: Int = LT-id (id _) :: Int `compare` negate x :: Int = GT-id (id _) :: Int `compare` negate 0 :: Int = GT-id (id _) :: Int `compare` negate (id _) :: Int = LT-id (id _) :: Int `compare` abs x :: Int = GT-id (id _) :: Int `compare` abs 0 :: Int = GT-id (id _) :: Int `compare` abs (id _) :: Int = LT-id (id _) :: Int `compare` _ + x :: Int = GT-id (id _) :: Int `compare` _ + 0 :: Int = LT-id (id _) :: Int `compare` _ + id _ :: Int = LT-id (id _) :: Int `compare` x + _ :: Int = GT-id (id _) :: Int `compare` 0 + _ :: Int = LT-id (id _) :: Int `compare` id _ + _ :: Int = LT-id (id _) :: Int `compare` _ * _ :: Int = GT-id (id _) :: Int `compare` f _ :: Int = GT-id (id _) :: Int `compare` head xs :: Int = GT-id (id _) :: Int `compare` head [] :: Int = GT-id (id _) :: Int `compare` head (_:_) :: Int = LT-id (id _) :: Int `compare` ord c :: Int = GT-id (id _) :: Int `compare` ord 'a' :: Int = GT-id (id _) :: Int `compare` q :: Bool = GT-id (id _) :: Int `compare` not p :: Bool = GT-id (id _) :: Int `compare` not False :: Bool = GT-id (id _) :: Int `compare` not True :: Bool = GT-id (id _) :: Int `compare` not (not _) :: Bool = GT-id (id _) :: Int `compare` _ || _ :: Bool = GT-id (id _) :: Int `compare` d :: Char = GT-id (id _) :: Int `compare` ' ' :: Char = GT-id (id _) :: Int `compare` ys :: [Int] = GT-id (id _) :: Int `compare` [0] :: [Int] = GT-id (id _) :: Int `compare` _:xs :: [Int] = GT-id (id _) :: Int `compare` [_] :: [Int] = LT-id (id _) :: Int `compare` _:_:_ :: [Int] = LT-id (id _) :: Int `compare` x:_ :: [Int] = GT-id (id _) :: Int `compare` 0:_ :: [Int] = LT-id (id _) :: Int `compare` id _:_ :: [Int] = LT-id (id _) :: Int `compare` tail _ :: [Int] = GT-id (id _) :: Int `compare` _ ++ _ :: [Int] = GT-id (id _) :: Int `compare` negate :: Int -> Int = GT-id (id _) :: Int `compare` abs :: Int -> Int = GT-id (id _) :: Int `compare` (_ +) :: Int -> Int = GT-id (id _) :: Int `compare` (*) :: Int -> Int -> Int = GT-id (id _) :: Int `compare` not :: Bool -> Bool = GT-id (id _) :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-negate _ :: Int `compare` z :: Int = GT-negate _ :: Int `compare` -1 :: Int = GT-negate _ :: Int `compare` id y :: Int = GT-negate _ :: Int `compare` id 1 :: Int = LT-negate _ :: Int `compare` id (id x) :: Int = LT-negate _ :: Int `compare` id (id 0) :: Int = LT-negate _ :: Int `compare` id (id (id _)) :: Int = LT-negate _ :: Int `compare` id (negate _) :: Int = LT-negate _ :: Int `compare` id (abs _) :: Int = LT-negate _ :: Int `compare` id (_ + _) :: Int = LT-negate _ :: Int `compare` id (head _) :: Int = LT-negate _ :: Int `compare` id (ord _) :: Int = LT-negate _ :: Int `compare` negate x :: Int = LT-negate _ :: Int `compare` negate 0 :: Int = LT-negate _ :: Int `compare` negate (id _) :: Int = LT-negate _ :: Int `compare` abs x :: Int = GT-negate _ :: Int `compare` abs 0 :: Int = LT-negate _ :: Int `compare` abs (id _) :: Int = LT-negate _ :: Int `compare` _ + x :: Int = LT-negate _ :: Int `compare` _ + 0 :: Int = LT-negate _ :: Int `compare` _ + id _ :: Int = LT-negate _ :: Int `compare` x + _ :: Int = LT-negate _ :: Int `compare` 0 + _ :: Int = LT-negate _ :: Int `compare` id _ + _ :: Int = LT-negate _ :: Int `compare` _ * _ :: Int = LT-negate _ :: Int `compare` f _ :: Int = GT-negate _ :: Int `compare` head xs :: Int = LT-negate _ :: Int `compare` head [] :: Int = LT-negate _ :: Int `compare` head (_:_) :: Int = LT-negate _ :: Int `compare` ord c :: Int = GT-negate _ :: Int `compare` ord 'a' :: Int = LT-negate _ :: Int `compare` q :: Bool = GT-negate _ :: Int `compare` not p :: Bool = GT-negate _ :: Int `compare` not False :: Bool = LT-negate _ :: Int `compare` not True :: Bool = LT-negate _ :: Int `compare` not (not _) :: Bool = LT-negate _ :: Int `compare` _ || _ :: Bool = LT-negate _ :: Int `compare` d :: Char = GT-negate _ :: Int `compare` ' ' :: Char = GT-negate _ :: Int `compare` ys :: [Int] = GT-negate _ :: Int `compare` [0] :: [Int] = GT-negate _ :: Int `compare` _:xs :: [Int] = LT-negate _ :: Int `compare` [_] :: [Int] = LT-negate _ :: Int `compare` _:_:_ :: [Int] = LT-negate _ :: Int `compare` x:_ :: [Int] = LT-negate _ :: Int `compare` 0:_ :: [Int] = LT-negate _ :: Int `compare` id _:_ :: [Int] = LT-negate _ :: Int `compare` tail _ :: [Int] = LT-negate _ :: Int `compare` _ ++ _ :: [Int] = LT-negate _ :: Int `compare` negate :: Int -> Int = GT-negate _ :: Int `compare` abs :: Int -> Int = GT-negate _ :: Int `compare` (_ +) :: Int -> Int = LT-negate _ :: Int `compare` (*) :: Int -> Int -> Int = GT-negate _ :: Int `compare` not :: Bool -> Bool = GT-negate _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-abs _ :: Int `compare` z :: Int = GT-abs _ :: Int `compare` -1 :: Int = GT-abs _ :: Int `compare` id y :: Int = GT-abs _ :: Int `compare` id 1 :: Int = LT-abs _ :: Int `compare` id (id x) :: Int = LT-abs _ :: Int `compare` id (id 0) :: Int = LT-abs _ :: Int `compare` id (id (id _)) :: Int = LT-abs _ :: Int `compare` id (negate _) :: Int = LT-abs _ :: Int `compare` id (abs _) :: Int = LT-abs _ :: Int `compare` id (_ + _) :: Int = LT-abs _ :: Int `compare` id (head _) :: Int = LT-abs _ :: Int `compare` id (ord _) :: Int = LT-abs _ :: Int `compare` negate x :: Int = LT-abs _ :: Int `compare` negate 0 :: Int = LT-abs _ :: Int `compare` negate (id _) :: Int = LT-abs _ :: Int `compare` abs x :: Int = LT-abs _ :: Int `compare` abs 0 :: Int = LT-abs _ :: Int `compare` abs (id _) :: Int = LT-abs _ :: Int `compare` _ + x :: Int = LT-abs _ :: Int `compare` _ + 0 :: Int = LT-abs _ :: Int `compare` _ + id _ :: Int = LT-abs _ :: Int `compare` x + _ :: Int = LT-abs _ :: Int `compare` 0 + _ :: Int = LT-abs _ :: Int `compare` id _ + _ :: Int = LT-abs _ :: Int `compare` _ * _ :: Int = LT-abs _ :: Int `compare` f _ :: Int = GT-abs _ :: Int `compare` head xs :: Int = LT-abs _ :: Int `compare` head [] :: Int = LT-abs _ :: Int `compare` head (_:_) :: Int = LT-abs _ :: Int `compare` ord c :: Int = GT-abs _ :: Int `compare` ord 'a' :: Int = LT-abs _ :: Int `compare` q :: Bool = GT-abs _ :: Int `compare` not p :: Bool = GT-abs _ :: Int `compare` not False :: Bool = LT-abs _ :: Int `compare` not True :: Bool = LT-abs _ :: Int `compare` not (not _) :: Bool = LT-abs _ :: Int `compare` _ || _ :: Bool = LT-abs _ :: Int `compare` d :: Char = GT-abs _ :: Int `compare` ' ' :: Char = GT-abs _ :: Int `compare` ys :: [Int] = GT-abs _ :: Int `compare` [0] :: [Int] = GT-abs _ :: Int `compare` _:xs :: [Int] = LT-abs _ :: Int `compare` [_] :: [Int] = LT-abs _ :: Int `compare` _:_:_ :: [Int] = LT-abs _ :: Int `compare` x:_ :: [Int] = LT-abs _ :: Int `compare` 0:_ :: [Int] = LT-abs _ :: Int `compare` id _:_ :: [Int] = LT-abs _ :: Int `compare` tail _ :: [Int] = LT-abs _ :: Int `compare` _ ++ _ :: [Int] = LT-abs _ :: Int `compare` negate :: Int -> Int = GT-abs _ :: Int `compare` abs :: Int -> Int = GT-abs _ :: Int `compare` (_ +) :: Int -> Int = LT-abs _ :: Int `compare` (*) :: Int -> Int -> Int = GT-abs _ :: Int `compare` not :: Bool -> Bool = GT-abs _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-_ + _ :: Int `compare` z :: Int = GT-_ + _ :: Int `compare` -1 :: Int = GT-_ + _ :: Int `compare` id y :: Int = GT-_ + _ :: Int `compare` id 1 :: Int = GT-_ + _ :: Int `compare` id (id x) :: Int = LT-_ + _ :: Int `compare` id (id 0) :: Int = LT-_ + _ :: Int `compare` id (id (id _)) :: Int = LT-_ + _ :: Int `compare` id (negate _) :: Int = LT-_ + _ :: Int `compare` id (abs _) :: Int = LT-_ + _ :: Int `compare` id (_ + _) :: Int = LT-_ + _ :: Int `compare` id (head _) :: Int = LT-_ + _ :: Int `compare` id (ord _) :: Int = LT-_ + _ :: Int `compare` negate x :: Int = GT-_ + _ :: Int `compare` negate 0 :: Int = GT-_ + _ :: Int `compare` negate (id _) :: Int = LT-_ + _ :: Int `compare` abs x :: Int = GT-_ + _ :: Int `compare` abs 0 :: Int = GT-_ + _ :: Int `compare` abs (id _) :: Int = LT-_ + _ :: Int `compare` _ + x :: Int = GT-_ + _ :: Int `compare` _ + 0 :: Int = LT-_ + _ :: Int `compare` _ + id _ :: Int = LT-_ + _ :: Int `compare` x + _ :: Int = GT-_ + _ :: Int `compare` 0 + _ :: Int = LT-_ + _ :: Int `compare` id _ + _ :: Int = LT-_ + _ :: Int `compare` _ * _ :: Int = GT-_ + _ :: Int `compare` f _ :: Int = GT-_ + _ :: Int `compare` head xs :: Int = GT-_ + _ :: Int `compare` head [] :: Int = GT-_ + _ :: Int `compare` head (_:_) :: Int = LT-_ + _ :: Int `compare` ord c :: Int = GT-_ + _ :: Int `compare` ord 'a' :: Int = GT-_ + _ :: Int `compare` q :: Bool = GT-_ + _ :: Int `compare` not p :: Bool = GT-_ + _ :: Int `compare` not False :: Bool = GT-_ + _ :: Int `compare` not True :: Bool = GT-_ + _ :: Int `compare` not (not _) :: Bool = LT-_ + _ :: Int `compare` _ || _ :: Bool = GT-_ + _ :: Int `compare` d :: Char = GT-_ + _ :: Int `compare` ' ' :: Char = GT-_ + _ :: Int `compare` ys :: [Int] = GT-_ + _ :: Int `compare` [0] :: [Int] = GT-_ + _ :: Int `compare` _:xs :: [Int] = GT-_ + _ :: Int `compare` [_] :: [Int] = LT-_ + _ :: Int `compare` _:_:_ :: [Int] = LT-_ + _ :: Int `compare` x:_ :: [Int] = GT-_ + _ :: Int `compare` 0:_ :: [Int] = LT-_ + _ :: Int `compare` id _:_ :: [Int] = LT-_ + _ :: Int `compare` tail _ :: [Int] = GT-_ + _ :: Int `compare` _ ++ _ :: [Int] = LT-_ + _ :: Int `compare` negate :: Int -> Int = GT-_ + _ :: Int `compare` abs :: Int -> Int = GT-_ + _ :: Int `compare` (_ +) :: Int -> Int = GT-_ + _ :: Int `compare` (*) :: Int -> Int -> Int = GT-_ + _ :: Int `compare` not :: Bool -> Bool = GT-_ + _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-head _ :: Int `compare` z :: Int = GT-head _ :: Int `compare` -1 :: Int = GT-head _ :: Int `compare` id y :: Int = GT-head _ :: Int `compare` id 1 :: Int = LT-head _ :: Int `compare` id (id x) :: Int = LT-head _ :: Int `compare` id (id 0) :: Int = LT-head _ :: Int `compare` id (id (id _)) :: Int = LT-head _ :: Int `compare` id (negate _) :: Int = LT-head _ :: Int `compare` id (abs _) :: Int = LT-head _ :: Int `compare` id (_ + _) :: Int = LT-head _ :: Int `compare` id (head _) :: Int = LT-head _ :: Int `compare` id (ord _) :: Int = LT-head _ :: Int `compare` negate x :: Int = GT-head _ :: Int `compare` negate 0 :: Int = LT-head _ :: Int `compare` negate (id _) :: Int = LT-head _ :: Int `compare` abs x :: Int = GT-head _ :: Int `compare` abs 0 :: Int = LT-head _ :: Int `compare` abs (id _) :: Int = LT-head _ :: Int `compare` _ + x :: Int = LT-head _ :: Int `compare` _ + 0 :: Int = LT-head _ :: Int `compare` _ + id _ :: Int = LT-head _ :: Int `compare` x + _ :: Int = LT-head _ :: Int `compare` 0 + _ :: Int = LT-head _ :: Int `compare` id _ + _ :: Int = LT-head _ :: Int `compare` _ * _ :: Int = LT-head _ :: Int `compare` f _ :: Int = GT-head _ :: Int `compare` head xs :: Int = LT-head _ :: Int `compare` head [] :: Int = LT-head _ :: Int `compare` head (_:_) :: Int = LT-head _ :: Int `compare` ord c :: Int = GT-head _ :: Int `compare` ord 'a' :: Int = LT-head _ :: Int `compare` q :: Bool = GT-head _ :: Int `compare` not p :: Bool = GT-head _ :: Int `compare` not False :: Bool = LT-head _ :: Int `compare` not True :: Bool = LT-head _ :: Int `compare` not (not _) :: Bool = LT-head _ :: Int `compare` _ || _ :: Bool = LT-head _ :: Int `compare` d :: Char = GT-head _ :: Int `compare` ' ' :: Char = GT-head _ :: Int `compare` ys :: [Int] = GT-head _ :: Int `compare` [0] :: [Int] = GT-head _ :: Int `compare` _:xs :: [Int] = LT-head _ :: Int `compare` [_] :: [Int] = LT-head _ :: Int `compare` _:_:_ :: [Int] = LT-head _ :: Int `compare` x:_ :: [Int] = LT-head _ :: Int `compare` 0:_ :: [Int] = LT-head _ :: Int `compare` id _:_ :: [Int] = LT-head _ :: Int `compare` tail _ :: [Int] = LT-head _ :: Int `compare` _ ++ _ :: [Int] = LT-head _ :: Int `compare` negate :: Int -> Int = GT-head _ :: Int `compare` abs :: Int -> Int = GT-head _ :: Int `compare` (_ +) :: Int -> Int = LT-head _ :: Int `compare` (*) :: Int -> Int -> Int = GT-head _ :: Int `compare` not :: Bool -> Bool = GT-head _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-ord _ :: Int `compare` z :: Int = GT-ord _ :: Int `compare` -1 :: Int = GT-ord _ :: Int `compare` id y :: Int = LT-ord _ :: Int `compare` id 1 :: Int = LT-ord _ :: Int `compare` id (id x) :: Int = LT-ord _ :: Int `compare` id (id 0) :: Int = LT-ord _ :: Int `compare` id (id (id _)) :: Int = LT-ord _ :: Int `compare` id (negate _) :: Int = LT-ord _ :: Int `compare` id (abs _) :: Int = LT-ord _ :: Int `compare` id (_ + _) :: Int = LT-ord _ :: Int `compare` id (head _) :: Int = LT-ord _ :: Int `compare` id (ord _) :: Int = LT-ord _ :: Int `compare` negate x :: Int = LT-ord _ :: Int `compare` negate 0 :: Int = LT-ord _ :: Int `compare` negate (id _) :: Int = LT-ord _ :: Int `compare` abs x :: Int = LT-ord _ :: Int `compare` abs 0 :: Int = LT-ord _ :: Int `compare` abs (id _) :: Int = LT-ord _ :: Int `compare` _ + x :: Int = LT-ord _ :: Int `compare` _ + 0 :: Int = LT-ord _ :: Int `compare` _ + id _ :: Int = LT-ord _ :: Int `compare` x + _ :: Int = LT-ord _ :: Int `compare` 0 + _ :: Int = LT-ord _ :: Int `compare` id _ + _ :: Int = LT-ord _ :: Int `compare` _ * _ :: Int = LT-ord _ :: Int `compare` f _ :: Int = GT-ord _ :: Int `compare` head xs :: Int = LT-ord _ :: Int `compare` head [] :: Int = LT-ord _ :: Int `compare` head (_:_) :: Int = LT-ord _ :: Int `compare` ord c :: Int = LT-ord _ :: Int `compare` ord 'a' :: Int = LT-ord _ :: Int `compare` q :: Bool = GT-ord _ :: Int `compare` not p :: Bool = GT-ord _ :: Int `compare` not False :: Bool = LT-ord _ :: Int `compare` not True :: Bool = LT-ord _ :: Int `compare` not (not _) :: Bool = LT-ord _ :: Int `compare` _ || _ :: Bool = LT-ord _ :: Int `compare` d :: Char = GT-ord _ :: Int `compare` ' ' :: Char = GT-ord _ :: Int `compare` ys :: [Int] = GT-ord _ :: Int `compare` [0] :: [Int] = GT-ord _ :: Int `compare` _:xs :: [Int] = LT-ord _ :: Int `compare` [_] :: [Int] = LT-ord _ :: Int `compare` _:_:_ :: [Int] = LT-ord _ :: Int `compare` x:_ :: [Int] = LT-ord _ :: Int `compare` 0:_ :: [Int] = LT-ord _ :: Int `compare` id _:_ :: [Int] = LT-ord _ :: Int `compare` tail _ :: [Int] = LT-ord _ :: Int `compare` _ ++ _ :: [Int] = LT-ord _ :: Int `compare` negate :: Int -> Int = GT-ord _ :: Int `compare` abs :: Int -> Int = GT-ord _ :: Int `compare` (_ +) :: Int -> Int = LT-ord _ :: Int `compare` (*) :: Int -> Int -> Int = GT-ord _ :: Int `compare` not :: Bool -> Bool = GT-ord _ :: Int `compare` (||) :: Bool -> Bool -> Bool = GT-p :: Bool `compare` z :: Int = LT-p :: Bool `compare` -1 :: Int = LT-p :: Bool `compare` id y :: Int = LT-p :: Bool `compare` id 1 :: Int = LT-p :: Bool `compare` id (id x) :: Int = LT-p :: Bool `compare` id (id 0) :: Int = LT-p :: Bool `compare` id (id (id _)) :: Int = LT-p :: Bool `compare` id (negate _) :: Int = LT-p :: Bool `compare` id (abs _) :: Int = LT-p :: Bool `compare` id (_ + _) :: Int = LT-p :: Bool `compare` id (head _) :: Int = LT-p :: Bool `compare` id (ord _) :: Int = LT-p :: Bool `compare` negate x :: Int = LT-p :: Bool `compare` negate 0 :: Int = LT-p :: Bool `compare` negate (id _) :: Int = LT-p :: Bool `compare` abs x :: Int = LT-p :: Bool `compare` abs 0 :: Int = LT-p :: Bool `compare` abs (id _) :: Int = LT-p :: Bool `compare` _ + x :: Int = LT-p :: Bool `compare` _ + 0 :: Int = LT-p :: Bool `compare` _ + id _ :: Int = LT-p :: Bool `compare` x + _ :: Int = LT-p :: Bool `compare` 0 + _ :: Int = LT-p :: Bool `compare` id _ + _ :: Int = LT-p :: Bool `compare` _ * _ :: Int = LT-p :: Bool `compare` f _ :: Int = LT-p :: Bool `compare` head xs :: Int = LT-p :: Bool `compare` head [] :: Int = LT-p :: Bool `compare` head (_:_) :: Int = LT-p :: Bool `compare` ord c :: Int = LT-p :: Bool `compare` ord 'a' :: Int = LT-p :: Bool `compare` q :: Bool = LT-p :: Bool `compare` not p :: Bool = LT-p :: Bool `compare` not False :: Bool = LT-p :: Bool `compare` not True :: Bool = LT-p :: Bool `compare` not (not _) :: Bool = LT-p :: Bool `compare` _ || _ :: Bool = LT-p :: Bool `compare` d :: Char = LT-p :: Bool `compare` ' ' :: Char = LT-p :: Bool `compare` ys :: [Int] = LT-p :: Bool `compare` [0] :: [Int] = LT-p :: Bool `compare` _:xs :: [Int] = LT-p :: Bool `compare` [_] :: [Int] = LT-p :: Bool `compare` _:_:_ :: [Int] = LT-p :: Bool `compare` x:_ :: [Int] = LT-p :: Bool `compare` 0:_ :: [Int] = LT-p :: Bool `compare` id _:_ :: [Int] = LT-p :: Bool `compare` tail _ :: [Int] = LT-p :: Bool `compare` _ ++ _ :: [Int] = LT-p :: Bool `compare` negate :: Int -> Int = LT-p :: Bool `compare` abs :: Int -> Int = LT-p :: Bool `compare` (_ +) :: Int -> Int = LT-p :: Bool `compare` (*) :: Int -> Int -> Int = LT-p :: Bool `compare` not :: Bool -> Bool = LT-p :: Bool `compare` (||) :: Bool -> Bool -> Bool = LT-False :: Bool `compare` z :: Int = GT-False :: Bool `compare` -1 :: Int = LT-False :: Bool `compare` id y :: Int = LT-False :: Bool `compare` id 1 :: Int = LT-False :: Bool `compare` id (id x) :: Int = LT-False :: Bool `compare` id (id 0) :: Int = LT-False :: Bool `compare` id (id (id _)) :: Int = LT-False :: Bool `compare` id (negate _) :: Int = LT-False :: Bool `compare` id (abs _) :: Int = LT-False :: Bool `compare` id (_ + _) :: Int = LT-False :: Bool `compare` id (head _) :: Int = LT-False :: Bool `compare` id (ord _) :: Int = LT-False :: Bool `compare` negate x :: Int = LT-False :: Bool `compare` negate 0 :: Int = LT-False :: Bool `compare` negate (id _) :: Int = LT-False :: Bool `compare` abs x :: Int = LT-False :: Bool `compare` abs 0 :: Int = LT-False :: Bool `compare` abs (id _) :: Int = LT-False :: Bool `compare` _ + x :: Int = LT-False :: Bool `compare` _ + 0 :: Int = LT-False :: Bool `compare` _ + id _ :: Int = LT-False :: Bool `compare` x + _ :: Int = LT-False :: Bool `compare` 0 + _ :: Int = LT-False :: Bool `compare` id _ + _ :: Int = LT-False :: Bool `compare` _ * _ :: Int = LT-False :: Bool `compare` f _ :: Int = LT-False :: Bool `compare` head xs :: Int = LT-False :: Bool `compare` head [] :: Int = LT-False :: Bool `compare` head (_:_) :: Int = LT-False :: Bool `compare` ord c :: Int = LT-False :: Bool `compare` ord 'a' :: Int = LT-False :: Bool `compare` q :: Bool = GT-False :: Bool `compare` not p :: Bool = LT-False :: Bool `compare` not False :: Bool = LT-False :: Bool `compare` not True :: Bool = LT-False :: Bool `compare` not (not _) :: Bool = LT-False :: Bool `compare` _ || _ :: Bool = LT-False :: Bool `compare` d :: Char = GT-False :: Bool `compare` ' ' :: Char = LT-False :: Bool `compare` ys :: [Int] = GT-False :: Bool `compare` [0] :: [Int] = LT-False :: Bool `compare` _:xs :: [Int] = LT-False :: Bool `compare` [_] :: [Int] = LT-False :: Bool `compare` _:_:_ :: [Int] = LT-False :: Bool `compare` x:_ :: [Int] = LT-False :: Bool `compare` 0:_ :: [Int] = LT-False :: Bool `compare` id _:_ :: [Int] = LT-False :: Bool `compare` tail _ :: [Int] = LT-False :: Bool `compare` _ ++ _ :: [Int] = LT-False :: Bool `compare` negate :: Int -> Int = LT-False :: Bool `compare` abs :: Int -> Int = LT-False :: Bool `compare` (_ +) :: Int -> Int = LT-False :: Bool `compare` (*) :: Int -> Int -> Int = LT-False :: Bool `compare` not :: Bool -> Bool = LT-False :: Bool `compare` (||) :: Bool -> Bool -> Bool = LT-True :: Bool `compare` z :: Int = GT-True :: Bool `compare` -1 :: Int = LT-True :: Bool `compare` id y :: Int = LT-True :: Bool `compare` id 1 :: Int = LT-True :: Bool `compare` id (id x) :: Int = LT-True :: Bool `compare` id (id 0) :: Int = LT-True :: Bool `compare` id (id (id _)) :: Int = LT-True :: Bool `compare` id (negate _) :: Int = LT-True :: Bool `compare` id (abs _) :: Int = LT-True :: Bool `compare` id (_ + _) :: Int = LT-True :: Bool `compare` id (head _) :: Int = LT-True :: Bool `compare` id (ord _) :: Int = LT-True :: Bool `compare` negate x :: Int = LT-True :: Bool `compare` negate 0 :: Int = LT-True :: Bool `compare` negate (id _) :: Int = LT-True :: Bool `compare` abs x :: Int = LT-True :: Bool `compare` abs 0 :: Int = LT-True :: Bool `compare` abs (id _) :: Int = LT-True :: Bool `compare` _ + x :: Int = LT-True :: Bool `compare` _ + 0 :: Int = LT-True :: Bool `compare` _ + id _ :: Int = LT-True :: Bool `compare` x + _ :: Int = LT-True :: Bool `compare` 0 + _ :: Int = LT-True :: Bool `compare` id _ + _ :: Int = LT-True :: Bool `compare` _ * _ :: Int = LT-True :: Bool `compare` f _ :: Int = LT-True :: Bool `compare` head xs :: Int = LT-True :: Bool `compare` head [] :: Int = LT-True :: Bool `compare` head (_:_) :: Int = LT-True :: Bool `compare` ord c :: Int = LT-True :: Bool `compare` ord 'a' :: Int = LT-True :: Bool `compare` q :: Bool = GT-True :: Bool `compare` not p :: Bool = LT-True :: Bool `compare` not False :: Bool = LT-True :: Bool `compare` not True :: Bool = LT-True :: Bool `compare` not (not _) :: Bool = LT-True :: Bool `compare` _ || _ :: Bool = LT-True :: Bool `compare` d :: Char = GT-True :: Bool `compare` ' ' :: Char = LT-True :: Bool `compare` ys :: [Int] = GT-True :: Bool `compare` [0] :: [Int] = LT-True :: Bool `compare` _:xs :: [Int] = LT-True :: Bool `compare` [_] :: [Int] = LT-True :: Bool `compare` _:_:_ :: [Int] = LT-True :: Bool `compare` x:_ :: [Int] = LT-True :: Bool `compare` 0:_ :: [Int] = LT-True :: Bool `compare` id _:_ :: [Int] = LT-True :: Bool `compare` tail _ :: [Int] = LT-True :: Bool `compare` _ ++ _ :: [Int] = LT-True :: Bool `compare` negate :: Int -> Int = LT-True :: Bool `compare` abs :: Int -> Int = LT-True :: Bool `compare` (_ +) :: Int -> Int = LT-True :: Bool `compare` (*) :: Int -> Int -> Int = LT-True :: Bool `compare` not :: Bool -> Bool = LT-True :: Bool `compare` (||) :: Bool -> Bool -> Bool = LT-not _ :: Bool `compare` z :: Int = GT-not _ :: Bool `compare` -1 :: Int = GT-not _ :: Bool `compare` id y :: Int = LT-not _ :: Bool `compare` id 1 :: Int = LT-not _ :: Bool `compare` id (id x) :: Int = LT-not _ :: Bool `compare` id (id 0) :: Int = LT-not _ :: Bool `compare` id (id (id _)) :: Int = LT-not _ :: Bool `compare` id (negate _) :: Int = LT-not _ :: Bool `compare` id (abs _) :: Int = LT-not _ :: Bool `compare` id (_ + _) :: Int = LT-not _ :: Bool `compare` id (head _) :: Int = LT-not _ :: Bool `compare` id (ord _) :: Int = LT-not _ :: Bool `compare` negate x :: Int = LT-not _ :: Bool `compare` negate 0 :: Int = LT-not _ :: Bool `compare` negate (id _) :: Int = LT-not _ :: Bool `compare` abs x :: Int = LT-not _ :: Bool `compare` abs 0 :: Int = LT-not _ :: Bool `compare` abs (id _) :: Int = LT-not _ :: Bool `compare` _ + x :: Int = LT-not _ :: Bool `compare` _ + 0 :: Int = LT-not _ :: Bool `compare` _ + id _ :: Int = LT-not _ :: Bool `compare` x + _ :: Int = LT-not _ :: Bool `compare` 0 + _ :: Int = LT-not _ :: Bool `compare` id _ + _ :: Int = LT-not _ :: Bool `compare` _ * _ :: Int = LT-not _ :: Bool `compare` f _ :: Int = GT-not _ :: Bool `compare` head xs :: Int = LT-not _ :: Bool `compare` head [] :: Int = LT-not _ :: Bool `compare` head (_:_) :: Int = LT-not _ :: Bool `compare` ord c :: Int = LT-not _ :: Bool `compare` ord 'a' :: Int = LT-not _ :: Bool `compare` q :: Bool = GT-not _ :: Bool `compare` not p :: Bool = LT-not _ :: Bool `compare` not False :: Bool = LT-not _ :: Bool `compare` not True :: Bool = LT-not _ :: Bool `compare` not (not _) :: Bool = LT-not _ :: Bool `compare` _ || _ :: Bool = LT-not _ :: Bool `compare` d :: Char = GT-not _ :: Bool `compare` ' ' :: Char = GT-not _ :: Bool `compare` ys :: [Int] = GT-not _ :: Bool `compare` [0] :: [Int] = GT-not _ :: Bool `compare` _:xs :: [Int] = LT-not _ :: Bool `compare` [_] :: [Int] = LT-not _ :: Bool `compare` _:_:_ :: [Int] = LT-not _ :: Bool `compare` x:_ :: [Int] = LT-not _ :: Bool `compare` 0:_ :: [Int] = LT-not _ :: Bool `compare` id _:_ :: [Int] = LT-not _ :: Bool `compare` tail _ :: [Int] = LT-not _ :: Bool `compare` _ ++ _ :: [Int] = LT-not _ :: Bool `compare` negate :: Int -> Int = GT-not _ :: Bool `compare` abs :: Int -> Int = GT-not _ :: Bool `compare` (_ +) :: Int -> Int = LT-not _ :: Bool `compare` (*) :: Int -> Int -> Int = GT-not _ :: Bool `compare` not :: Bool -> Bool = GT-not _ :: Bool `compare` (||) :: Bool -> Bool -> Bool = GT-c :: Char `compare` z :: Int = LT-c :: Char `compare` -1 :: Int = LT-c :: Char `compare` id y :: Int = LT-c :: Char `compare` id 1 :: Int = LT-c :: Char `compare` id (id x) :: Int = LT-c :: Char `compare` id (id 0) :: Int = LT-c :: Char `compare` id (id (id _)) :: Int = LT-c :: Char `compare` id (negate _) :: Int = LT-c :: Char `compare` id (abs _) :: Int = LT-c :: Char `compare` id (_ + _) :: Int = LT-c :: Char `compare` id (head _) :: Int = LT-c :: Char `compare` id (ord _) :: Int = LT-c :: Char `compare` negate x :: Int = LT-c :: Char `compare` negate 0 :: Int = LT-c :: Char `compare` negate (id _) :: Int = LT-c :: Char `compare` abs x :: Int = LT-c :: Char `compare` abs 0 :: Int = LT-c :: Char `compare` abs (id _) :: Int = LT-c :: Char `compare` _ + x :: Int = LT-c :: Char `compare` _ + 0 :: Int = LT-c :: Char `compare` _ + id _ :: Int = LT-c :: Char `compare` x + _ :: Int = LT-c :: Char `compare` 0 + _ :: Int = LT-c :: Char `compare` id _ + _ :: Int = LT-c :: Char `compare` _ * _ :: Int = LT-c :: Char `compare` f _ :: Int = LT-c :: Char `compare` head xs :: Int = LT-c :: Char `compare` head [] :: Int = LT-c :: Char `compare` head (_:_) :: Int = LT-c :: Char `compare` ord c :: Int = LT-c :: Char `compare` ord 'a' :: Int = LT-c :: Char `compare` q :: Bool = GT-c :: Char `compare` not p :: Bool = LT-c :: Char `compare` not False :: Bool = LT-c :: Char `compare` not True :: Bool = LT-c :: Char `compare` not (not _) :: Bool = LT-c :: Char `compare` _ || _ :: Bool = LT-c :: Char `compare` d :: Char = LT-c :: Char `compare` ' ' :: Char = LT-c :: Char `compare` ys :: [Int] = LT-c :: Char `compare` [0] :: [Int] = LT-c :: Char `compare` _:xs :: [Int] = LT-c :: Char `compare` [_] :: [Int] = LT-c :: Char `compare` _:_:_ :: [Int] = LT-c :: Char `compare` x:_ :: [Int] = LT-c :: Char `compare` 0:_ :: [Int] = LT-c :: Char `compare` id _:_ :: [Int] = LT-c :: Char `compare` tail _ :: [Int] = LT-c :: Char `compare` _ ++ _ :: [Int] = LT-c :: Char `compare` negate :: Int -> Int = LT-c :: Char `compare` abs :: Int -> Int = LT-c :: Char `compare` (_ +) :: Int -> Int = LT-c :: Char `compare` (*) :: Int -> Int -> Int = LT-c :: Char `compare` not :: Bool -> Bool = LT-c :: Char `compare` (||) :: Bool -> Bool -> Bool = LT-'a' :: Char `compare` z :: Int = GT-'a' :: Char `compare` -1 :: Int = LT-'a' :: Char `compare` id y :: Int = LT-'a' :: Char `compare` id 1 :: Int = LT-'a' :: Char `compare` id (id x) :: Int = LT-'a' :: Char `compare` id (id 0) :: Int = LT-'a' :: Char `compare` id (id (id _)) :: Int = LT-'a' :: Char `compare` id (negate _) :: Int = LT-'a' :: Char `compare` id (abs _) :: Int = LT-'a' :: Char `compare` id (_ + _) :: Int = LT-'a' :: Char `compare` id (head _) :: Int = LT-'a' :: Char `compare` id (ord _) :: Int = LT-'a' :: Char `compare` negate x :: Int = LT-'a' :: Char `compare` negate 0 :: Int = LT-'a' :: Char `compare` negate (id _) :: Int = LT-'a' :: Char `compare` abs x :: Int = LT-'a' :: Char `compare` abs 0 :: Int = LT-'a' :: Char `compare` abs (id _) :: Int = LT-'a' :: Char `compare` _ + x :: Int = LT-'a' :: Char `compare` _ + 0 :: Int = LT-'a' :: Char `compare` _ + id _ :: Int = LT-'a' :: Char `compare` x + _ :: Int = LT-'a' :: Char `compare` 0 + _ :: Int = LT-'a' :: Char `compare` id _ + _ :: Int = LT-'a' :: Char `compare` _ * _ :: Int = LT-'a' :: Char `compare` f _ :: Int = LT-'a' :: Char `compare` head xs :: Int = LT-'a' :: Char `compare` head [] :: Int = LT-'a' :: Char `compare` head (_:_) :: Int = LT-'a' :: Char `compare` ord c :: Int = LT-'a' :: Char `compare` ord 'a' :: Int = LT-'a' :: Char `compare` q :: Bool = GT-'a' :: Char `compare` not p :: Bool = LT-'a' :: Char `compare` not False :: Bool = LT-'a' :: Char `compare` not True :: Bool = LT-'a' :: Char `compare` not (not _) :: Bool = LT-'a' :: Char `compare` _ || _ :: Bool = LT-'a' :: Char `compare` d :: Char = GT-'a' :: Char `compare` ' ' :: Char = GT-'a' :: Char `compare` ys :: [Int] = GT-'a' :: Char `compare` [0] :: [Int] = LT-'a' :: Char `compare` _:xs :: [Int] = LT-'a' :: Char `compare` [_] :: [Int] = LT-'a' :: Char `compare` _:_:_ :: [Int] = LT-'a' :: Char `compare` x:_ :: [Int] = LT-'a' :: Char `compare` 0:_ :: [Int] = LT-'a' :: Char `compare` id _:_ :: [Int] = LT-'a' :: Char `compare` tail _ :: [Int] = LT-'a' :: Char `compare` _ ++ _ :: [Int] = LT-'a' :: Char `compare` negate :: Int -> Int = LT-'a' :: Char `compare` abs :: Int -> Int = LT-'a' :: Char `compare` (_ +) :: Int -> Int = LT-'a' :: Char `compare` (*) :: Int -> Int -> Int = LT-'a' :: Char `compare` not :: Bool -> Bool = LT-'a' :: Char `compare` (||) :: Bool -> Bool -> Bool = LT-xs :: [Int] `compare` z :: Int = GT-xs :: [Int] `compare` -1 :: Int = LT-xs :: [Int] `compare` id y :: Int = LT-xs :: [Int] `compare` id 1 :: Int = LT-xs :: [Int] `compare` id (id x) :: Int = LT-xs :: [Int] `compare` id (id 0) :: Int = LT-xs :: [Int] `compare` id (id (id _)) :: Int = LT-xs :: [Int] `compare` id (negate _) :: Int = LT-xs :: [Int] `compare` id (abs _) :: Int = LT-xs :: [Int] `compare` id (_ + _) :: Int = LT-xs :: [Int] `compare` id (head _) :: Int = LT-xs :: [Int] `compare` id (ord _) :: Int = LT-xs :: [Int] `compare` negate x :: Int = LT-xs :: [Int] `compare` negate 0 :: Int = LT-xs :: [Int] `compare` negate (id _) :: Int = LT-xs :: [Int] `compare` abs x :: Int = LT-xs :: [Int] `compare` abs 0 :: Int = LT-xs :: [Int] `compare` abs (id _) :: Int = LT-xs :: [Int] `compare` _ + x :: Int = LT-xs :: [Int] `compare` _ + 0 :: Int = LT-xs :: [Int] `compare` _ + id _ :: Int = LT-xs :: [Int] `compare` x + _ :: Int = LT-xs :: [Int] `compare` 0 + _ :: Int = LT-xs :: [Int] `compare` id _ + _ :: Int = LT-xs :: [Int] `compare` _ * _ :: Int = LT-xs :: [Int] `compare` f _ :: Int = LT-xs :: [Int] `compare` head xs :: Int = LT-xs :: [Int] `compare` head [] :: Int = LT-xs :: [Int] `compare` head (_:_) :: Int = LT-xs :: [Int] `compare` ord c :: Int = LT-xs :: [Int] `compare` ord 'a' :: Int = LT-xs :: [Int] `compare` q :: Bool = GT-xs :: [Int] `compare` not p :: Bool = LT-xs :: [Int] `compare` not False :: Bool = LT-xs :: [Int] `compare` not True :: Bool = LT-xs :: [Int] `compare` not (not _) :: Bool = LT-xs :: [Int] `compare` _ || _ :: Bool = LT-xs :: [Int] `compare` d :: Char = GT-xs :: [Int] `compare` ' ' :: Char = LT-xs :: [Int] `compare` ys :: [Int] = LT-xs :: [Int] `compare` [0] :: [Int] = LT-xs :: [Int] `compare` _:xs :: [Int] = LT-xs :: [Int] `compare` [_] :: [Int] = LT-xs :: [Int] `compare` _:_:_ :: [Int] = LT-xs :: [Int] `compare` x:_ :: [Int] = LT-xs :: [Int] `compare` 0:_ :: [Int] = LT-xs :: [Int] `compare` id _:_ :: [Int] = LT-xs :: [Int] `compare` tail _ :: [Int] = LT-xs :: [Int] `compare` _ ++ _ :: [Int] = LT-xs :: [Int] `compare` negate :: Int -> Int = LT-xs :: [Int] `compare` abs :: Int -> Int = LT-xs :: [Int] `compare` (_ +) :: Int -> Int = LT-xs :: [Int] `compare` (*) :: Int -> Int -> Int = LT-xs :: [Int] `compare` not :: Bool -> Bool = LT-xs :: [Int] `compare` (||) :: Bool -> Bool -> Bool = LT-[] :: [Int] `compare` z :: Int = GT-[] :: [Int] `compare` -1 :: Int = GT-[] :: [Int] `compare` id y :: Int = LT-[] :: [Int] `compare` id 1 :: Int = LT-[] :: [Int] `compare` id (id x) :: Int = LT-[] :: [Int] `compare` id (id 0) :: Int = LT-[] :: [Int] `compare` id (id (id _)) :: Int = LT-[] :: [Int] `compare` id (negate _) :: Int = LT-[] :: [Int] `compare` id (abs _) :: Int = LT-[] :: [Int] `compare` id (_ + _) :: Int = LT-[] :: [Int] `compare` id (head _) :: Int = LT-[] :: [Int] `compare` id (ord _) :: Int = LT-[] :: [Int] `compare` negate x :: Int = LT-[] :: [Int] `compare` negate 0 :: Int = LT-[] :: [Int] `compare` negate (id _) :: Int = LT-[] :: [Int] `compare` abs x :: Int = LT-[] :: [Int] `compare` abs 0 :: Int = LT-[] :: [Int] `compare` abs (id _) :: Int = LT-[] :: [Int] `compare` _ + x :: Int = LT-[] :: [Int] `compare` _ + 0 :: Int = LT-[] :: [Int] `compare` _ + id _ :: Int = LT-[] :: [Int] `compare` x + _ :: Int = LT-[] :: [Int] `compare` 0 + _ :: Int = LT-[] :: [Int] `compare` id _ + _ :: Int = LT-[] :: [Int] `compare` _ * _ :: Int = LT-[] :: [Int] `compare` f _ :: Int = LT-[] :: [Int] `compare` head xs :: Int = LT-[] :: [Int] `compare` head [] :: Int = LT-[] :: [Int] `compare` head (_:_) :: Int = LT-[] :: [Int] `compare` ord c :: Int = LT-[] :: [Int] `compare` ord 'a' :: Int = LT-[] :: [Int] `compare` q :: Bool = GT-[] :: [Int] `compare` not p :: Bool = LT-[] :: [Int] `compare` not False :: Bool = LT-[] :: [Int] `compare` not True :: Bool = LT-[] :: [Int] `compare` not (not _) :: Bool = LT-[] :: [Int] `compare` _ || _ :: Bool = LT-[] :: [Int] `compare` d :: Char = GT-[] :: [Int] `compare` ' ' :: Char = GT-[] :: [Int] `compare` ys :: [Int] = GT-[] :: [Int] `compare` [0] :: [Int] = LT-[] :: [Int] `compare` _:xs :: [Int] = LT-[] :: [Int] `compare` [_] :: [Int] = LT-[] :: [Int] `compare` _:_:_ :: [Int] = LT-[] :: [Int] `compare` x:_ :: [Int] = LT-[] :: [Int] `compare` 0:_ :: [Int] = LT-[] :: [Int] `compare` id _:_ :: [Int] = LT-[] :: [Int] `compare` tail _ :: [Int] = LT-[] :: [Int] `compare` _ ++ _ :: [Int] = LT-[] :: [Int] `compare` negate :: Int -> Int = LT-[] :: [Int] `compare` abs :: Int -> Int = LT-[] :: [Int] `compare` (_ +) :: Int -> Int = LT-[] :: [Int] `compare` (*) :: Int -> Int -> Int = LT-[] :: [Int] `compare` not :: Bool -> Bool = LT-[] :: [Int] `compare` (||) :: Bool -> Bool -> Bool = LT-_:_ :: [Int] `compare` z :: Int = GT-_:_ :: [Int] `compare` -1 :: Int = GT-_:_ :: [Int] `compare` id y :: Int = GT-_:_ :: [Int] `compare` id 1 :: Int = GT-_:_ :: [Int] `compare` id (id x) :: Int = LT-_:_ :: [Int] `compare` id (id 0) :: Int = LT-_:_ :: [Int] `compare` id (id (id _)) :: Int = LT-_:_ :: [Int] `compare` id (negate _) :: Int = LT-_:_ :: [Int] `compare` id (abs _) :: Int = LT-_:_ :: [Int] `compare` id (_ + _) :: Int = LT-_:_ :: [Int] `compare` id (head _) :: Int = LT-_:_ :: [Int] `compare` id (ord _) :: Int = LT-_:_ :: [Int] `compare` negate x :: Int = GT-_:_ :: [Int] `compare` negate 0 :: Int = GT-_:_ :: [Int] `compare` negate (id _) :: Int = LT-_:_ :: [Int] `compare` abs x :: Int = GT-_:_ :: [Int] `compare` abs 0 :: Int = GT-_:_ :: [Int] `compare` abs (id _) :: Int = LT-_:_ :: [Int] `compare` _ + x :: Int = GT-_:_ :: [Int] `compare` _ + 0 :: Int = LT-_:_ :: [Int] `compare` _ + id _ :: Int = LT-_:_ :: [Int] `compare` x + _ :: Int = GT-_:_ :: [Int] `compare` 0 + _ :: Int = LT-_:_ :: [Int] `compare` id _ + _ :: Int = LT-_:_ :: [Int] `compare` _ * _ :: Int = LT-_:_ :: [Int] `compare` f _ :: Int = GT-_:_ :: [Int] `compare` head xs :: Int = GT-_:_ :: [Int] `compare` head [] :: Int = GT-_:_ :: [Int] `compare` head (_:_) :: Int = LT-_:_ :: [Int] `compare` ord c :: Int = GT-_:_ :: [Int] `compare` ord 'a' :: Int = GT-_:_ :: [Int] `compare` q :: Bool = GT-_:_ :: [Int] `compare` not p :: Bool = GT-_:_ :: [Int] `compare` not False :: Bool = GT-_:_ :: [Int] `compare` not True :: Bool = GT-_:_ :: [Int] `compare` not (not _) :: Bool = LT-_:_ :: [Int] `compare` _ || _ :: Bool = LT-_:_ :: [Int] `compare` d :: Char = GT-_:_ :: [Int] `compare` ' ' :: Char = GT-_:_ :: [Int] `compare` ys :: [Int] = GT-_:_ :: [Int] `compare` [0] :: [Int] = GT-_:_ :: [Int] `compare` _:xs :: [Int] = LT-_:_ :: [Int] `compare` [_] :: [Int] = LT-_:_ :: [Int] `compare` _:_:_ :: [Int] = LT-_:_ :: [Int] `compare` x:_ :: [Int] = LT-_:_ :: [Int] `compare` 0:_ :: [Int] = LT-_:_ :: [Int] `compare` id _:_ :: [Int] = LT-_:_ :: [Int] `compare` tail _ :: [Int] = GT-_:_ :: [Int] `compare` _ ++ _ :: [Int] = LT-_:_ :: [Int] `compare` negate :: Int -> Int = GT-_:_ :: [Int] `compare` abs :: Int -> Int = GT-_:_ :: [Int] `compare` (_ +) :: Int -> Int = GT-_:_ :: [Int] `compare` (*) :: Int -> Int -> Int = GT-_:_ :: [Int] `compare` not :: Bool -> Bool = GT-_:_ :: [Int] `compare` (||) :: Bool -> Bool -> Bool = GT-id :: Int -> Int `compare` z :: Int = GT-id :: Int -> Int `compare` -1 :: Int = GT-id :: Int -> Int `compare` id y :: Int = LT-id :: Int -> Int `compare` id 1 :: Int = LT-id :: Int -> Int `compare` id (id x) :: Int = LT-id :: Int -> Int `compare` id (id 0) :: Int = LT-id :: Int -> Int `compare` id (id (id _)) :: Int = LT-id :: Int -> Int `compare` id (negate _) :: Int = LT-id :: Int -> Int `compare` id (abs _) :: Int = LT-id :: Int -> Int `compare` id (_ + _) :: Int = LT-id :: Int -> Int `compare` id (head _) :: Int = LT-id :: Int -> Int `compare` id (ord _) :: Int = LT-id :: Int -> Int `compare` negate x :: Int = LT-id :: Int -> Int `compare` negate 0 :: Int = LT-id :: Int -> Int `compare` negate (id _) :: Int = LT-id :: Int -> Int `compare` abs x :: Int = LT-id :: Int -> Int `compare` abs 0 :: Int = LT-id :: Int -> Int `compare` abs (id _) :: Int = LT-id :: Int -> Int `compare` _ + x :: Int = LT-id :: Int -> Int `compare` _ + 0 :: Int = LT-id :: Int -> Int `compare` _ + id _ :: Int = LT-id :: Int -> Int `compare` x + _ :: Int = LT-id :: Int -> Int `compare` 0 + _ :: Int = LT-id :: Int -> Int `compare` id _ + _ :: Int = LT-id :: Int -> Int `compare` _ * _ :: Int = LT-id :: Int -> Int `compare` f _ :: Int = LT-id :: Int -> Int `compare` head xs :: Int = LT-id :: Int -> Int `compare` head [] :: Int = LT-id :: Int -> Int `compare` head (_:_) :: Int = LT-id :: Int -> Int `compare` ord c :: Int = LT-id :: Int -> Int `compare` ord 'a' :: Int = LT-id :: Int -> Int `compare` q :: Bool = GT-id :: Int -> Int `compare` not p :: Bool = LT-id :: Int -> Int `compare` not False :: Bool = LT-id :: Int -> Int `compare` not True :: Bool = LT-id :: Int -> Int `compare` not (not _) :: Bool = LT-id :: Int -> Int `compare` _ || _ :: Bool = LT-id :: Int -> Int `compare` d :: Char = GT-id :: Int -> Int `compare` ' ' :: Char = GT-id :: Int -> Int `compare` ys :: [Int] = GT-id :: Int -> Int `compare` [0] :: [Int] = GT-id :: Int -> Int `compare` _:xs :: [Int] = LT-id :: Int -> Int `compare` [_] :: [Int] = LT-id :: Int -> Int `compare` _:_:_ :: [Int] = LT-id :: Int -> Int `compare` x:_ :: [Int] = LT-id :: Int -> Int `compare` 0:_ :: [Int] = LT-id :: Int -> Int `compare` id _:_ :: [Int] = LT-id :: Int -> Int `compare` tail _ :: [Int] = LT-id :: Int -> Int `compare` _ ++ _ :: [Int] = LT-id :: Int -> Int `compare` negate :: Int -> Int = LT-id :: Int -> Int `compare` abs :: Int -> Int = LT-id :: Int -> Int `compare` (_ +) :: Int -> Int = LT-id :: Int -> Int `compare` (*) :: Int -> Int -> Int = LT-id :: Int -> Int `compare` not :: Bool -> Bool = GT-id :: Int -> Int `compare` (||) :: Bool -> Bool -> Bool = LT-(+) :: Int -> Int -> Int `compare` z :: Int = GT-(+) :: Int -> Int -> Int `compare` -1 :: Int = GT-(+) :: Int -> Int -> Int `compare` id y :: Int = LT-(+) :: Int -> Int -> Int `compare` id 1 :: Int = LT-(+) :: Int -> Int -> Int `compare` id (id x) :: Int = LT-(+) :: Int -> Int -> Int `compare` id (id 0) :: Int = LT-(+) :: Int -> Int -> Int `compare` id (id (id _)) :: Int = LT-(+) :: Int -> Int -> Int `compare` id (negate _) :: Int = LT-(+) :: Int -> Int -> Int `compare` id (abs _) :: Int = LT-(+) :: Int -> Int -> Int `compare` id (_ + _) :: Int = LT-(+) :: Int -> Int -> Int `compare` id (head _) :: Int = LT-(+) :: Int -> Int -> Int `compare` id (ord _) :: Int = LT-(+) :: Int -> Int -> Int `compare` negate x :: Int = LT-(+) :: Int -> Int -> Int `compare` negate 0 :: Int = LT-(+) :: Int -> Int -> Int `compare` negate (id _) :: Int = LT-(+) :: Int -> Int -> Int `compare` abs x :: Int = LT-(+) :: Int -> Int -> Int `compare` abs 0 :: Int = LT-(+) :: Int -> Int -> Int `compare` abs (id _) :: Int = LT-(+) :: Int -> Int -> Int `compare` _ + x :: Int = LT-(+) :: Int -> Int -> Int `compare` _ + 0 :: Int = LT-(+) :: Int -> Int -> Int `compare` _ + id _ :: Int = LT-(+) :: Int -> Int -> Int `compare` x + _ :: Int = LT-(+) :: Int -> Int -> Int `compare` 0 + _ :: Int = LT-(+) :: Int -> Int -> Int `compare` id _ + _ :: Int = LT-(+) :: Int -> Int -> Int `compare` _ * _ :: Int = LT-(+) :: Int -> Int -> Int `compare` f _ :: Int = LT-(+) :: Int -> Int -> Int `compare` head xs :: Int = LT-(+) :: Int -> Int -> Int `compare` head [] :: Int = LT-(+) :: Int -> Int -> Int `compare` head (_:_) :: Int = LT-(+) :: Int -> Int -> Int `compare` ord c :: Int = LT-(+) :: Int -> Int -> Int `compare` ord 'a' :: Int = LT-(+) :: Int -> Int -> Int `compare` q :: Bool = GT-(+) :: Int -> Int -> Int `compare` not p :: Bool = LT-(+) :: Int -> Int -> Int `compare` not False :: Bool = LT-(+) :: Int -> Int -> Int `compare` not True :: Bool = LT-(+) :: Int -> Int -> Int `compare` not (not _) :: Bool = LT-(+) :: Int -> Int -> Int `compare` _ || _ :: Bool = LT-(+) :: Int -> Int -> Int `compare` d :: Char = GT-(+) :: Int -> Int -> Int `compare` ' ' :: Char = GT-(+) :: Int -> Int -> Int `compare` ys :: [Int] = GT-(+) :: Int -> Int -> Int `compare` [0] :: [Int] = GT-(+) :: Int -> Int -> Int `compare` _:xs :: [Int] = LT-(+) :: Int -> Int -> Int `compare` [_] :: [Int] = LT-(+) :: Int -> Int -> Int `compare` _:_:_ :: [Int] = LT-(+) :: Int -> Int -> Int `compare` x:_ :: [Int] = LT-(+) :: Int -> Int -> Int `compare` 0:_ :: [Int] = LT-(+) :: Int -> Int -> Int `compare` id _:_ :: [Int] = LT-(+) :: Int -> Int -> Int `compare` tail _ :: [Int] = LT-(+) :: Int -> Int -> Int `compare` _ ++ _ :: [Int] = LT-(+) :: Int -> Int -> Int `compare` negate :: Int -> Int = GT-(+) :: Int -> Int -> Int `compare` abs :: Int -> Int = GT-(+) :: Int -> Int -> Int `compare` (_ +) :: Int -> Int = LT-(+) :: Int -> Int -> Int `compare` (*) :: Int -> Int -> Int = GT-(+) :: Int -> Int -> Int `compare` not :: Bool -> Bool = GT-(+) :: Int -> Int -> Int `compare` (||) :: Bool -> Bool -> Bool = GT-z :: Int `compare` y :: Int = GT-z :: Int `compare` 1 :: Int = LT-z :: Int `compare` id x :: Int = LT-z :: Int `compare` id 0 :: Int = LT-z :: Int `compare` id (id _) :: Int = LT-z :: Int `compare` negate _ :: Int = LT-z :: Int `compare` abs _ :: Int = LT-z :: Int `compare` _ + _ :: Int = LT-z :: Int `compare` head _ :: Int = LT-z :: Int `compare` ord _ :: Int = LT-z :: Int `compare` p :: Bool = GT-z :: Int `compare` False :: Bool = LT-z :: Int `compare` True :: Bool = LT-z :: Int `compare` not _ :: Bool = LT-z :: Int `compare` c :: Char = GT-z :: Int `compare` 'a' :: Char = LT-z :: Int `compare` xs :: [Int] = LT-z :: Int `compare` [] :: [Int] = LT-z :: Int `compare` _:_ :: [Int] = LT-z :: Int `compare` id :: Int -> Int = LT-z :: Int `compare` (+) :: Int -> Int -> Int = LT--1 :: Int `compare` y :: Int = GT--1 :: Int `compare` 1 :: Int = GT--1 :: Int `compare` id x :: Int = LT--1 :: Int `compare` id 0 :: Int = LT--1 :: Int `compare` id (id _) :: Int = LT--1 :: Int `compare` negate _ :: Int = LT--1 :: Int `compare` abs _ :: Int = LT--1 :: Int `compare` _ + _ :: Int = LT--1 :: Int `compare` head _ :: Int = LT--1 :: Int `compare` ord _ :: Int = LT--1 :: Int `compare` p :: Bool = GT--1 :: Int `compare` False :: Bool = GT--1 :: Int `compare` True :: Bool = GT--1 :: Int `compare` not _ :: Bool = LT--1 :: Int `compare` c :: Char = GT--1 :: Int `compare` 'a' :: Char = GT--1 :: Int `compare` xs :: [Int] = GT--1 :: Int `compare` [] :: [Int] = LT--1 :: Int `compare` _:_ :: [Int] = LT--1 :: Int `compare` id :: Int -> Int = LT--1 :: Int `compare` (+) :: Int -> Int -> Int = LT-id y :: Int `compare` y :: Int = GT-id y :: Int `compare` 1 :: Int = GT-id y :: Int `compare` id x :: Int = GT-id y :: Int `compare` id 0 :: Int = LT-id y :: Int `compare` id (id _) :: Int = LT-id y :: Int `compare` negate _ :: Int = LT-id y :: Int `compare` abs _ :: Int = LT-id y :: Int `compare` _ + _ :: Int = LT-id y :: Int `compare` head _ :: Int = LT-id y :: Int `compare` ord _ :: Int = GT-id y :: Int `compare` p :: Bool = GT-id y :: Int `compare` False :: Bool = GT-id y :: Int `compare` True :: Bool = GT-id y :: Int `compare` not _ :: Bool = GT-id y :: Int `compare` c :: Char = GT-id y :: Int `compare` 'a' :: Char = GT-id y :: Int `compare` xs :: [Int] = GT-id y :: Int `compare` [] :: [Int] = GT-id y :: Int `compare` _:_ :: [Int] = LT-id y :: Int `compare` id :: Int -> Int = GT-id y :: Int `compare` (+) :: Int -> Int -> Int = GT-id 1 :: Int `compare` y :: Int = GT-id 1 :: Int `compare` 1 :: Int = GT-id 1 :: Int `compare` id x :: Int = GT-id 1 :: Int `compare` id 0 :: Int = GT-id 1 :: Int `compare` id (id _) :: Int = LT-id 1 :: Int `compare` negate _ :: Int = GT-id 1 :: Int `compare` abs _ :: Int = GT-id 1 :: Int `compare` _ + _ :: Int = LT-id 1 :: Int `compare` head _ :: Int = GT-id 1 :: Int `compare` ord _ :: Int = GT-id 1 :: Int `compare` p :: Bool = GT-id 1 :: Int `compare` False :: Bool = GT-id 1 :: Int `compare` True :: Bool = GT-id 1 :: Int `compare` not _ :: Bool = GT-id 1 :: Int `compare` c :: Char = GT-id 1 :: Int `compare` 'a' :: Char = GT-id 1 :: Int `compare` xs :: [Int] = GT-id 1 :: Int `compare` [] :: [Int] = GT-id 1 :: Int `compare` _:_ :: [Int] = LT-id 1 :: Int `compare` id :: Int -> Int = GT-id 1 :: Int `compare` (+) :: Int -> Int -> Int = GT-id (id x) :: Int `compare` y :: Int = GT-id (id x) :: Int `compare` 1 :: Int = GT-id (id x) :: Int `compare` id x :: Int = GT-id (id x) :: Int `compare` id 0 :: Int = GT-id (id x) :: Int `compare` id (id _) :: Int = GT-id (id x) :: Int `compare` negate _ :: Int = GT-id (id x) :: Int `compare` abs _ :: Int = GT-id (id x) :: Int `compare` _ + _ :: Int = GT-id (id x) :: Int `compare` head _ :: Int = GT-id (id x) :: Int `compare` ord _ :: Int = GT-id (id x) :: Int `compare` p :: Bool = GT-id (id x) :: Int `compare` False :: Bool = GT-id (id x) :: Int `compare` True :: Bool = GT-id (id x) :: Int `compare` not _ :: Bool = GT-id (id x) :: Int `compare` c :: Char = GT-id (id x) :: Int `compare` 'a' :: Char = GT-id (id x) :: Int `compare` xs :: [Int] = GT-id (id x) :: Int `compare` [] :: [Int] = GT-id (id x) :: Int `compare` _:_ :: [Int] = GT-id (id x) :: Int `compare` id :: Int -> Int = GT-id (id x) :: Int `compare` (+) :: Int -> Int -> Int = GT-id (id 0) :: Int `compare` y :: Int = GT-id (id 0) :: Int `compare` 1 :: Int = GT-id (id 0) :: Int `compare` id x :: Int = GT-id (id 0) :: Int `compare` id 0 :: Int = GT-id (id 0) :: Int `compare` id (id _) :: Int = GT-id (id 0) :: Int `compare` negate _ :: Int = GT-id (id 0) :: Int `compare` abs _ :: Int = GT-id (id 0) :: Int `compare` _ + _ :: Int = GT-id (id 0) :: Int `compare` head _ :: Int = GT-id (id 0) :: Int `compare` ord _ :: Int = GT-id (id 0) :: Int `compare` p :: Bool = GT-id (id 0) :: Int `compare` False :: Bool = GT-id (id 0) :: Int `compare` True :: Bool = GT-id (id 0) :: Int `compare` not _ :: Bool = GT-id (id 0) :: Int `compare` c :: Char = GT-id (id 0) :: Int `compare` 'a' :: Char = GT-id (id 0) :: Int `compare` xs :: [Int] = GT-id (id 0) :: Int `compare` [] :: [Int] = GT-id (id 0) :: Int `compare` _:_ :: [Int] = GT-id (id 0) :: Int `compare` id :: Int -> Int = GT-id (id 0) :: Int `compare` (+) :: Int -> Int -> Int = GT-id (id (id _)) :: Int `compare` y :: Int = GT-id (id (id _)) :: Int `compare` 1 :: Int = GT-id (id (id _)) :: Int `compare` id x :: Int = GT-id (id (id _)) :: Int `compare` id 0 :: Int = GT-id (id (id _)) :: Int `compare` id (id _) :: Int = GT-id (id (id _)) :: Int `compare` negate _ :: Int = GT-id (id (id _)) :: Int `compare` abs _ :: Int = GT-id (id (id _)) :: Int `compare` _ + _ :: Int = GT-id (id (id _)) :: Int `compare` head _ :: Int = GT-id (id (id _)) :: Int `compare` ord _ :: Int = GT-id (id (id _)) :: Int `compare` p :: Bool = GT-id (id (id _)) :: Int `compare` False :: Bool = GT-id (id (id _)) :: Int `compare` True :: Bool = GT-id (id (id _)) :: Int `compare` not _ :: Bool = GT-id (id (id _)) :: Int `compare` c :: Char = GT-id (id (id _)) :: Int `compare` 'a' :: Char = GT-id (id (id _)) :: Int `compare` xs :: [Int] = GT-id (id (id _)) :: Int `compare` [] :: [Int] = GT-id (id (id _)) :: Int `compare` _:_ :: [Int] = GT-id (id (id _)) :: Int `compare` id :: Int -> Int = GT-id (id (id _)) :: Int `compare` (+) :: Int -> Int -> Int = GT-id (negate _) :: Int `compare` y :: Int = GT-id (negate _) :: Int `compare` 1 :: Int = GT-id (negate _) :: Int `compare` id x :: Int = GT-id (negate _) :: Int `compare` id 0 :: Int = GT-id (negate _) :: Int `compare` id (id _) :: Int = GT-id (negate _) :: Int `compare` negate _ :: Int = GT-id (negate _) :: Int `compare` abs _ :: Int = GT-id (negate _) :: Int `compare` _ + _ :: Int = GT-id (negate _) :: Int `compare` head _ :: Int = GT-id (negate _) :: Int `compare` ord _ :: Int = GT-id (negate _) :: Int `compare` p :: Bool = GT-id (negate _) :: Int `compare` False :: Bool = GT-id (negate _) :: Int `compare` True :: Bool = GT-id (negate _) :: Int `compare` not _ :: Bool = GT-id (negate _) :: Int `compare` c :: Char = GT-id (negate _) :: Int `compare` 'a' :: Char = GT-id (negate _) :: Int `compare` xs :: [Int] = GT-id (negate _) :: Int `compare` [] :: [Int] = GT-id (negate _) :: Int `compare` _:_ :: [Int] = GT-id (negate _) :: Int `compare` id :: Int -> Int = GT-id (negate _) :: Int `compare` (+) :: Int -> Int -> Int = GT-id (abs _) :: Int `compare` y :: Int = GT-id (abs _) :: Int `compare` 1 :: Int = GT-id (abs _) :: Int `compare` id x :: Int = GT-id (abs _) :: Int `compare` id 0 :: Int = GT-id (abs _) :: Int `compare` id (id _) :: Int = GT-id (abs _) :: Int `compare` negate _ :: Int = GT-id (abs _) :: Int `compare` abs _ :: Int = GT-id (abs _) :: Int `compare` _ + _ :: Int = GT-id (abs _) :: Int `compare` head _ :: Int = GT-id (abs _) :: Int `compare` ord _ :: Int = GT-id (abs _) :: Int `compare` p :: Bool = GT-id (abs _) :: Int `compare` False :: Bool = GT-id (abs _) :: Int `compare` True :: Bool = GT-id (abs _) :: Int `compare` not _ :: Bool = GT-id (abs _) :: Int `compare` c :: Char = GT-id (abs _) :: Int `compare` 'a' :: Char = GT-id (abs _) :: Int `compare` xs :: [Int] = GT-id (abs _) :: Int `compare` [] :: [Int] = GT-id (abs _) :: Int `compare` _:_ :: [Int] = GT-id (abs _) :: Int `compare` id :: Int -> Int = GT-id (abs _) :: Int `compare` (+) :: Int -> Int -> Int = GT-id (_ + _) :: Int `compare` y :: Int = GT-id (_ + _) :: Int `compare` 1 :: Int = GT-id (_ + _) :: Int `compare` id x :: Int = GT-id (_ + _) :: Int `compare` id 0 :: Int = GT-id (_ + _) :: Int `compare` id (id _) :: Int = GT-id (_ + _) :: Int `compare` negate _ :: Int = GT-id (_ + _) :: Int `compare` abs _ :: Int = GT-id (_ + _) :: Int `compare` _ + _ :: Int = GT-id (_ + _) :: Int `compare` head _ :: Int = GT-id (_ + _) :: Int `compare` ord _ :: Int = GT-id (_ + _) :: Int `compare` p :: Bool = GT-id (_ + _) :: Int `compare` False :: Bool = GT-id (_ + _) :: Int `compare` True :: Bool = GT-id (_ + _) :: Int `compare` not _ :: Bool = GT-id (_ + _) :: Int `compare` c :: Char = GT-id (_ + _) :: Int `compare` 'a' :: Char = GT-id (_ + _) :: Int `compare` xs :: [Int] = GT-id (_ + _) :: Int `compare` [] :: [Int] = GT-id (_ + _) :: Int `compare` _:_ :: [Int] = GT-id (_ + _) :: Int `compare` id :: Int -> Int = GT-id (_ + _) :: Int `compare` (+) :: Int -> Int -> Int = GT-id (head _) :: Int `compare` y :: Int = GT-id (head _) :: Int `compare` 1 :: Int = GT-id (head _) :: Int `compare` id x :: Int = GT-id (head _) :: Int `compare` id 0 :: Int = GT-id (head _) :: Int `compare` id (id _) :: Int = GT-id (head _) :: Int `compare` negate _ :: Int = GT-id (head _) :: Int `compare` abs _ :: Int = GT-id (head _) :: Int `compare` _ + _ :: Int = GT-id (head _) :: Int `compare` head _ :: Int = GT-id (head _) :: Int `compare` ord _ :: Int = GT-id (head _) :: Int `compare` p :: Bool = GT-id (head _) :: Int `compare` False :: Bool = GT-id (head _) :: Int `compare` True :: Bool = GT-id (head _) :: Int `compare` not _ :: Bool = GT-id (head _) :: Int `compare` c :: Char = GT-id (head _) :: Int `compare` 'a' :: Char = GT-id (head _) :: Int `compare` xs :: [Int] = GT-id (head _) :: Int `compare` [] :: [Int] = GT-id (head _) :: Int `compare` _:_ :: [Int] = GT-id (head _) :: Int `compare` id :: Int -> Int = GT-id (head _) :: Int `compare` (+) :: Int -> Int -> Int = GT-id (ord _) :: Int `compare` y :: Int = GT-id (ord _) :: Int `compare` 1 :: Int = GT-id (ord _) :: Int `compare` id x :: Int = GT-id (ord _) :: Int `compare` id 0 :: Int = GT-id (ord _) :: Int `compare` id (id _) :: Int = GT-id (ord _) :: Int `compare` negate _ :: Int = GT-id (ord _) :: Int `compare` abs _ :: Int = GT-id (ord _) :: Int `compare` _ + _ :: Int = GT-id (ord _) :: Int `compare` head _ :: Int = GT-id (ord _) :: Int `compare` ord _ :: Int = GT-
− test/model/bench/match-list.out
@@ -1,795 +0,0 @@-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)-(id x :: Int,[(x :: Int,id _ :: Int)],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)-(id x :: Int,[(x :: Int,id x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + _ :: Int)],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 || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)-(id x :: Int,[(x :: Int,z :: Int)],x :: Int)-(id x :: Int,[(x :: Int,-1 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id y :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id 1 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (ord _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + id _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,x + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,0 + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id _ + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ * _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,f _ :: 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,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 && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],q && 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)-(id x :: Int,[(x :: Int,id z :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (-1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id y) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id 1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id x)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id 0)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (id _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (negate _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (abs _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (_ + _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (head _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (ord _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (x + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (0 + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id _ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ * _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (f _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head xs) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head []) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head (_:_)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (ord c) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (ord 'a') :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate y :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate 1 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (negate _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (abs _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (_ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (head _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (ord _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs y :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs 1 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (negate _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (abs _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (_ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (head _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (ord _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + y :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + 1 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + id x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + id 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + id (id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + negate _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + abs _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + (_ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + head _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ + ord _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,x + x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,x + 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,x + id _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,0 + x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,0 + 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,0 + id _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id _ + x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id _ + 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id _ + id _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ * x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ * 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,_ * id _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,f x :: Int)],x :: Int)-(id x :: Int,[(x :: Int,f 0 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,f (id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,y + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,1 + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id x + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id 0 + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id _) + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate _ + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs _ + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,(_ + _) + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,head _ + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,ord _ + _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,x * _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,0 * _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id _ * _ :: Int)],x :: Int)-(id x :: Int,[(x :: Int,g _ :: Int)],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 || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,p :: Bool)],q || 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 || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,False :: Bool)],q || 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 || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,True :: Bool)],q || 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 || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,not _ :: Bool)],q || 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)-(id x :: Int,[(x :: Int,id x' :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id 2 :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id z) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (-1)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id y)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id 1)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (id x))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (id 0))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (id (id _)))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (negate _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (abs _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (_ + _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (head _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id (ord _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (negate x)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (negate 0)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (negate (id _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (abs x)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (abs 0)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (abs (id _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (_ + x)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (_ + 0)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (_ + id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (x + _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (0 + _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id _ + _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (_ * _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (f _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (head xs)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (head [])) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (head (_:_))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (ord c)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (ord 'a')) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate y) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate 1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (id x)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (id 0)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (id (id _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (negate _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (abs _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (_ + _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (head _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate (ord _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs y) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs 1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (id x)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (id 0)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (id (id _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (negate _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (abs _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (_ + _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (head _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs (ord _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + y) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + 1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + id x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + id 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + id (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + negate _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + abs _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + (_ + _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + head _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ + ord _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (x + x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (x + 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (x + id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (0 + x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (0 + 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (0 + id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id _ + x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id _ + 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id _ + id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ * x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ * 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (_ * id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (f x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (f 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (f (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (y + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (1 + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id x + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id 0 + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id (id _) + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (negate _ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (abs _ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id ((_ + _) + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head _ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (ord _ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (x * _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (0 * _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (id _ * _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (g _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head ys) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head [0]) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head (_:xs)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head [_]) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head (_:_:_)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head (x:_)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head (0:_)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head (id _:_)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head (tail _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (head (_ ++ _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (ord d) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,id (ord ' ') :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate z :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (-1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id y) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id 1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (id x)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (id 0)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (id (id _))) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (negate _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (abs _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (_ + _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (head _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id (ord _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (negate x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (negate 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (negate (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (abs x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (abs 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (abs (id _)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (_ + x) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (_ + 0) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (_ + id _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (x + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (0 + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (id _ + _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (_ * _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (f _) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (head xs) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (head []) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (head (_:_)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (ord c) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,negate (ord 'a') :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs z :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (-1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id y) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id 1) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id (id x)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id (id 0)) :: Int)],x :: Int)-(id x :: Int,[(x :: Int,abs (id (id (id _))) :: Int)],x :: Int)--True
− test/model/bench/match-noop.out
@@ -1,1182 +0,0 @@-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--(_ :: Int,[],_ :: Int)-(x :: Int,[],x :: Int)-(0 :: Int,[],0 :: Int)-(id _ :: Int,[],id _ :: Int)-(_ :: Bool,[],_ :: Bool)-(_ :: Char,[],_ :: Char)-(_ :: [Int],[],_ :: [Int])-(y :: Int,[],y :: Int)-(1 :: Int,[],1 :: Int)-(id x :: Int,[],id x :: Int)-(id 0 :: Int,[],id 0 :: Int)-(id (id _) :: Int,[],id (id _) :: Int)-(negate _ :: Int,[],negate _ :: Int)-(abs _ :: Int,[],abs _ :: Int)-(_ + _ :: Int,[],_ + _ :: Int)-(head _ :: Int,[],head _ :: Int)-(ord _ :: Int,[],ord _ :: Int)-(p :: Bool,[],p :: Bool)-(False :: Bool,[],False :: Bool)-(True :: Bool,[],True :: Bool)-(not _ :: Bool,[],not _ :: Bool)-(c :: Char,[],c :: Char)-('a' :: Char,[],'a' :: Char)-(xs :: [Int],[],xs :: [Int])-([] :: [Int],[],[] :: [Int])-(_:_ :: [Int],[],_:_ :: [Int])-(id :: Int -> Int,[],id :: Int -> Int)-((+) :: Int -> Int -> Int,[],(+) :: Int -> Int -> Int)-(z :: Int,[],z :: Int)-(-1 :: Int,[],-1 :: Int)-(id y :: Int,[],id y :: Int)-(id 1 :: Int,[],id 1 :: Int)-(id (id x) :: Int,[],id (id x) :: Int)-(id (id 0) :: Int,[],id (id 0) :: Int)-(id (id (id _)) :: Int,[],id (id (id _)) :: Int)-(id (negate _) :: Int,[],id (negate _) :: Int)-(id (abs _) :: Int,[],id (abs _) :: Int)-(id (_ + _) :: Int,[],id (_ + _) :: Int)-(id (head _) :: Int,[],id (head _) :: Int)-(id (ord _) :: Int,[],id (ord _) :: Int)-(negate x :: Int,[],negate x :: Int)-(negate 0 :: Int,[],negate 0 :: Int)-(negate (id _) :: Int,[],negate (id _) :: Int)-(abs x :: Int,[],abs x :: Int)-(abs 0 :: Int,[],abs 0 :: Int)-(abs (id _) :: Int,[],abs (id _) :: Int)-(_ + x :: Int,[],_ + x :: Int)-(_ + 0 :: Int,[],_ + 0 :: Int)-(_ + id _ :: Int,[],_ + id _ :: Int)-(x + _ :: Int,[],x + _ :: Int)-(0 + _ :: Int,[],0 + _ :: Int)-(id _ + _ :: Int,[],id _ + _ :: Int)-(_ * _ :: Int,[],_ * _ :: Int)-(f _ :: Int,[],f _ :: Int)-(head xs :: Int,[],head xs :: Int)-(head [] :: Int,[],head [] :: Int)-(head (_:_) :: Int,[],head (_:_) :: Int)-(ord c :: Int,[],ord c :: Int)-(ord 'a' :: Int,[],ord 'a' :: Int)-(q :: Bool,[],q :: Bool)-(not p :: Bool,[],not p :: Bool)-(not False :: Bool,[],not False :: Bool)-(not True :: Bool,[],not True :: Bool)-(not (not _) :: Bool,[],not (not _) :: Bool)-(_ || _ :: Bool,[],_ || _ :: Bool)-(d :: Char,[],d :: Char)-(' ' :: Char,[],' ' :: Char)-(ys :: [Int],[],ys :: [Int])-([0] :: [Int],[],[0] :: [Int])-(_:xs :: [Int],[],_:xs :: [Int])-([_] :: [Int],[],[_] :: [Int])-(_:_:_ :: [Int],[],_:_:_ :: [Int])-(x:_ :: [Int],[],x:_ :: [Int])-(0:_ :: [Int],[],0:_ :: [Int])-(id _:_ :: [Int],[],id _:_ :: [Int])-(tail _ :: [Int],[],tail _ :: [Int])-(_ ++ _ :: [Int],[],_ ++ _ :: [Int])-(negate :: Int -> Int,[],negate :: Int -> Int)-(abs :: Int -> Int,[],abs :: Int -> Int)-((_ +) :: Int -> Int,[],(_ +) :: Int -> Int)-((*) :: Int -> Int -> Int,[],(*) :: Int -> Int -> Int)-(not :: Bool -> Bool,[],not :: Bool -> Bool)-((||) :: Bool -> Bool -> Bool,[],(||) :: Bool -> Bool -> Bool)-(x' :: Int,[],x' :: Int)-(2 :: Int,[],2 :: Int)-(id z :: Int,[],id z :: Int)-(id (-1) :: Int,[],id (-1) :: Int)-(id (id y) :: Int,[],id (id y) :: Int)-(id (id 1) :: Int,[],id (id 1) :: Int)-(id (id (id x)) :: Int,[],id (id (id x)) :: Int)-(id (id (id 0)) :: Int,[],id (id (id 0)) :: Int)-(id (id (id (id _))) :: Int,[],id (id (id (id _))) :: Int)-(id (id (negate _)) :: Int,[],id (id (negate _)) :: Int)-(id (id (abs _)) :: Int,[],id (id (abs _)) :: Int)-(id (id (_ + _)) :: Int,[],id (id (_ + _)) :: Int)-(id (id (head _)) :: Int,[],id (id (head _)) :: Int)-(id (id (ord _)) :: Int,[],id (id (ord _)) :: Int)-(id (negate x) :: Int,[],id (negate x) :: Int)-(id (negate 0) :: Int,[],id (negate 0) :: Int)-(id (negate (id _)) :: Int,[],id (negate (id _)) :: Int)-(id (abs x) :: Int,[],id (abs x) :: Int)-(id (abs 0) :: Int,[],id (abs 0) :: Int)-(id (abs (id _)) :: Int,[],id (abs (id _)) :: Int)-(id (_ + x) :: Int,[],id (_ + x) :: Int)-(id (_ + 0) :: Int,[],id (_ + 0) :: Int)-(id (_ + id _) :: Int,[],id (_ + id _) :: Int)-(id (x + _) :: Int,[],id (x + _) :: Int)-(id (0 + _) :: Int,[],id (0 + _) :: Int)-(id (id _ + _) :: Int,[],id (id _ + _) :: Int)-(id (_ * _) :: Int,[],id (_ * _) :: Int)-(id (f _) :: Int,[],id (f _) :: Int)-(id (head xs) :: Int,[],id (head xs) :: Int)-(id (head []) :: Int,[],id (head []) :: Int)-(id (head (_:_)) :: Int,[],id (head (_:_)) :: Int)-(id (ord c) :: Int,[],id (ord c) :: Int)-(id (ord 'a') :: Int,[],id (ord 'a') :: Int)-(negate y :: Int,[],negate y :: Int)-(negate 1 :: Int,[],negate 1 :: Int)-(negate (id x) :: Int,[],negate (id x) :: Int)-(negate (id 0) :: Int,[],negate (id 0) :: Int)-(negate (id (id _)) :: Int,[],negate (id (id _)) :: Int)-(negate (negate _) :: Int,[],negate (negate _) :: Int)-(negate (abs _) :: Int,[],negate (abs _) :: Int)-(negate (_ + _) :: Int,[],negate (_ + _) :: Int)-(negate (head _) :: Int,[],negate (head _) :: Int)-(negate (ord _) :: Int,[],negate (ord _) :: Int)-(abs y :: Int,[],abs y :: Int)-(abs 1 :: Int,[],abs 1 :: Int)-(abs (id x) :: Int,[],abs (id x) :: Int)-(abs (id 0) :: Int,[],abs (id 0) :: Int)-(abs (id (id _)) :: Int,[],abs (id (id _)) :: Int)-(abs (negate _) :: Int,[],abs (negate _) :: Int)-(abs (abs _) :: Int,[],abs (abs _) :: Int)-(abs (_ + _) :: Int,[],abs (_ + _) :: Int)-(abs (head _) :: Int,[],abs (head _) :: Int)-(abs (ord _) :: Int,[],abs (ord _) :: Int)-(_ + y :: Int,[],_ + y :: Int)-(_ + 1 :: Int,[],_ + 1 :: Int)-(_ + id x :: Int,[],_ + id x :: Int)-(_ + id 0 :: Int,[],_ + id 0 :: Int)-(_ + id (id _) :: Int,[],_ + id (id _) :: Int)-(_ + negate _ :: Int,[],_ + negate _ :: Int)-(_ + abs _ :: Int,[],_ + abs _ :: Int)-(_ + (_ + _) :: Int,[],_ + (_ + _) :: Int)-(_ + head _ :: Int,[],_ + head _ :: Int)-(_ + ord _ :: Int,[],_ + ord _ :: Int)-(x + x :: Int,[],x + x :: Int)-(x + 0 :: Int,[],x + 0 :: Int)-(x + id _ :: Int,[],x + id _ :: Int)-(0 + x :: Int,[],0 + x :: Int)-(0 + 0 :: Int,[],0 + 0 :: Int)-(0 + id _ :: Int,[],0 + id _ :: Int)-(id _ + x :: Int,[],id _ + x :: Int)-(id _ + 0 :: Int,[],id _ + 0 :: Int)-(id _ + id _ :: Int,[],id _ + id _ :: Int)-(_ * x :: Int,[],_ * x :: Int)-(_ * 0 :: Int,[],_ * 0 :: Int)-(_ * id _ :: Int,[],_ * id _ :: Int)-(f x :: Int,[],f x :: Int)-(f 0 :: Int,[],f 0 :: Int)-(f (id _) :: Int,[],f (id _) :: Int)-(y + _ :: Int,[],y + _ :: Int)-(1 + _ :: Int,[],1 + _ :: Int)-(id x + _ :: Int,[],id x + _ :: Int)-(id 0 + _ :: Int,[],id 0 + _ :: Int)-(id (id _) + _ :: Int,[],id (id _) + _ :: Int)-(negate _ + _ :: Int,[],negate _ + _ :: Int)-(abs _ + _ :: Int,[],abs _ + _ :: Int)-((_ + _) + _ :: Int,[],(_ + _) + _ :: Int)-(head _ + _ :: Int,[],head _ + _ :: Int)-(ord _ + _ :: Int,[],ord _ + _ :: Int)-(x * _ :: Int,[],x * _ :: Int)-(0 * _ :: Int,[],0 * _ :: Int)-(id _ * _ :: Int,[],id _ * _ :: Int)-(g _ :: Int,[],g _ :: Int)-(head ys :: Int,[],head ys :: Int)-(head [0] :: Int,[],head [0] :: Int)-(head (_:xs) :: Int,[],head (_:xs) :: Int)-(head [_] :: Int,[],head [_] :: Int)-(head (_:_:_) :: Int,[],head (_:_:_) :: Int)-(head (x:_) :: Int,[],head (x:_) :: Int)-(head (0:_) :: Int,[],head (0:_) :: Int)-(head (id _:_) :: Int,[],head (id _:_) :: Int)-(head (tail _) :: Int,[],head (tail _) :: Int)-(head (_ ++ _) :: Int,[],head (_ ++ _) :: Int)-(ord d :: Int,[],ord d :: Int)-(ord ' ' :: Int,[],ord ' ' :: Int)-(r :: Bool,[],r :: Bool)-(not q :: Bool,[],not q :: Bool)-(not (not p) :: Bool,[],not (not p) :: Bool)-(not (not False) :: Bool,[],not (not False) :: Bool)-(not (not True) :: Bool,[],not (not True) :: Bool)-(not (not (not _)) :: Bool,[],not (not (not _)) :: Bool)-(not (_ || _) :: Bool,[],not (_ || _) :: Bool)-(_ || p :: Bool,[],_ || p :: Bool)-(_ || False :: Bool,[],_ || False :: Bool)-(_ || True :: Bool,[],_ || True :: Bool)-(_ || not _ :: Bool,[],_ || not _ :: Bool)-(p || _ :: Bool,[],p || _ :: Bool)-(False || _ :: Bool,[],False || _ :: Bool)-(True || _ :: Bool,[],True || _ :: Bool)-(not _ || _ :: Bool,[],not _ || _ :: Bool)-(_ && _ :: Bool,[],_ && _ :: Bool)-(_ == _ :: Bool,[],_ == _ :: Bool)-(_ == _ :: Bool,[],_ == _ :: Bool)-(odd _ :: Bool,[],odd _ :: Bool)-(even _ :: Bool,[],even _ :: Bool)-(elem _ _ :: Bool,[],elem _ _ :: Bool)-(e :: Char,[],e :: Char)-('b' :: Char,[],'b' :: Char)-(zs :: [Int],[],zs :: [Int])-([0,0] :: [Int],[],[0,0] :: [Int])-([1] :: [Int],[],[1] :: [Int])-(_:ys :: [Int],[],_:ys :: [Int])-([_,0] :: [Int],[],[_,0] :: [Int])-(_:_:xs :: [Int],[],_:_:xs :: [Int])-([_,_] :: [Int],[],[_,_] :: [Int])-(_:_:_:_ :: [Int],[],_:_:_:_ :: [Int])-(_:x:_ :: [Int],[],_:x:_ :: [Int])-(_:0:_ :: [Int],[],_:0:_ :: [Int])-(_:id _:_ :: [Int],[],_:id _:_ :: [Int])-(_:tail _ :: [Int],[],_:tail _ :: [Int])-(_:(_ ++ _) :: [Int],[],_:(_ ++ _) :: [Int])-(x:xs :: [Int],[],x:xs :: [Int])-([x] :: [Int],[],[x] :: [Int])-(x:_:_ :: [Int],[],x:_:_ :: [Int])-(0:xs :: [Int],[],0:xs :: [Int])-([0] :: [Int],[],[0] :: [Int])-(0:_:_ :: [Int],[],0:_:_ :: [Int])-(id _:xs :: [Int],[],id _:xs :: [Int])-([id _] :: [Int],[],[id _] :: [Int])-(id _:_:_ :: [Int],[],id _:_:_ :: [Int])-(y:_ :: [Int],[],y:_ :: [Int])-(1:_ :: [Int],[],1:_ :: [Int])-(id x:_ :: [Int],[],id x:_ :: [Int])-(id 0:_ :: [Int],[],id 0:_ :: [Int])-(id (id _):_ :: [Int],[],id (id _):_ :: [Int])-(negate _:_ :: [Int],[],negate _:_ :: [Int])-(abs _:_ :: [Int],[],abs _:_ :: [Int])-(_ + _:_ :: [Int],[],_ + _:_ :: [Int])-(head _:_ :: [Int],[],head _:_ :: [Int])-(ord _:_ :: [Int],[],ord _:_ :: [Int])-(tail xs :: [Int],[],tail xs :: [Int])-(tail [] :: [Int],[],tail [] :: [Int])-(tail (_:_) :: [Int],[],tail (_:_) :: [Int])-(_ ++ xs :: [Int],[],_ ++ xs :: [Int])-(_ ++ [] :: [Int],[],_ ++ [] :: [Int])-(_ ++ (_:_) :: [Int],[],_ ++ (_:_) :: [Int])-(xs ++ _ :: [Int],[],xs ++ _ :: [Int])-([] ++ _ :: [Int],[],[] ++ _ :: [Int])-((_:_) ++ _ :: [Int],[],(_:_) ++ _ :: [Int])-(sort _ :: [Int],[],sort _ :: [Int])-(insert _ _ :: [Int],[],insert _ _ :: [Int])-((x +) :: Int -> Int,[],(x +) :: Int -> Int)-((0 +) :: Int -> Int,[],(0 +) :: Int -> Int)-((id _ +) :: Int -> Int,[],(id _ +) :: Int -> Int)-((_ *) :: Int -> Int,[],(_ *) :: Int -> Int)-(f :: Int -> Int,[],f :: Int -> Int)-((_ ||) :: Bool -> Bool,[],(_ ||) :: Bool -> Bool)-((&&) :: Bool -> Bool -> Bool,[],(&&) :: Bool -> Bool -> Bool)-(y' :: Int,[],y' :: Int)-(-2 :: Int,[],-2 :: Int)-(id x' :: Int,[],id x' :: Int)-(id 2 :: Int,[],id 2 :: Int)-(id (id z) :: Int,[],id (id z) :: Int)-(id (id (-1)) :: Int,[],id (id (-1)) :: Int)-(id (id (id y)) :: Int,[],id (id (id y)) :: Int)-(id (id (id 1)) :: Int,[],id (id (id 1)) :: Int)-(id (id (id (id x))) :: Int,[],id (id (id (id x))) :: Int)-(id (id (id (id 0))) :: Int,[],id (id (id (id 0))) :: Int)-(id (id (id (id (id _)))) :: Int,[],id (id (id (id (id _)))) :: Int)-(id (id (id (negate _))) :: Int,[],id (id (id (negate _))) :: Int)-(id (id (id (abs _))) :: Int,[],id (id (id (abs _))) :: Int)-(id (id (id (_ + _))) :: Int,[],id (id (id (_ + _))) :: Int)-(id (id (id (head _))) :: Int,[],id (id (id (head _))) :: Int)-(id (id (id (ord _))) :: Int,[],id (id (id (ord _))) :: Int)-(id (id (negate x)) :: Int,[],id (id (negate x)) :: Int)-(id (id (negate 0)) :: Int,[],id (id (negate 0)) :: Int)-(id (id (negate (id _))) :: Int,[],id (id (negate (id _))) :: Int)-(id (id (abs x)) :: Int,[],id (id (abs x)) :: Int)-(id (id (abs 0)) :: Int,[],id (id (abs 0)) :: Int)-(id (id (abs (id _))) :: Int,[],id (id (abs (id _))) :: Int)-(id (id (_ + x)) :: Int,[],id (id (_ + x)) :: Int)-(id (id (_ + 0)) :: Int,[],id (id (_ + 0)) :: Int)-(id (id (_ + id _)) :: Int,[],id (id (_ + id _)) :: Int)-(id (id (x + _)) :: Int,[],id (id (x + _)) :: Int)-(id (id (0 + _)) :: Int,[],id (id (0 + _)) :: Int)-(id (id (id _ + _)) :: Int,[],id (id (id _ + _)) :: Int)-(id (id (_ * _)) :: Int,[],id (id (_ * _)) :: Int)-(id (id (f _)) :: Int,[],id (id (f _)) :: Int)-(id (id (head xs)) :: Int,[],id (id (head xs)) :: Int)-(id (id (head [])) :: Int,[],id (id (head [])) :: Int)-(id (id (head (_:_))) :: Int,[],id (id (head (_:_))) :: Int)-(id (id (ord c)) :: Int,[],id (id (ord c)) :: Int)-(id (id (ord 'a')) :: Int,[],id (id (ord 'a')) :: Int)-(id (negate y) :: Int,[],id (negate y) :: Int)-(id (negate 1) :: Int,[],id (negate 1) :: Int)-(id (negate (id x)) :: Int,[],id (negate (id x)) :: Int)-(id (negate (id 0)) :: Int,[],id (negate (id 0)) :: Int)-(id (negate (id (id _))) :: Int,[],id (negate (id (id _))) :: Int)-(id (negate (negate _)) :: Int,[],id (negate (negate _)) :: Int)-(id (negate (abs _)) :: Int,[],id (negate (abs _)) :: Int)-(id (negate (_ + _)) :: Int,[],id (negate (_ + _)) :: Int)-(id (negate (head _)) :: Int,[],id (negate (head _)) :: Int)-(id (negate (ord _)) :: Int,[],id (negate (ord _)) :: Int)-(id (abs y) :: Int,[],id (abs y) :: Int)-(id (abs 1) :: Int,[],id (abs 1) :: Int)-(id (abs (id x)) :: Int,[],id (abs (id x)) :: Int)-(id (abs (id 0)) :: Int,[],id (abs (id 0)) :: Int)-(id (abs (id (id _))) :: Int,[],id (abs (id (id _))) :: Int)-(id (abs (negate _)) :: Int,[],id (abs (negate _)) :: Int)-(id (abs (abs _)) :: Int,[],id (abs (abs _)) :: Int)-(id (abs (_ + _)) :: Int,[],id (abs (_ + _)) :: Int)-(id (abs (head _)) :: Int,[],id (abs (head _)) :: Int)-(id (abs (ord _)) :: Int,[],id (abs (ord _)) :: Int)-(id (_ + y) :: Int,[],id (_ + y) :: Int)-(id (_ + 1) :: Int,[],id (_ + 1) :: Int)-(id (_ + id x) :: Int,[],id (_ + id x) :: Int)-(id (_ + id 0) :: Int,[],id (_ + id 0) :: Int)-(id (_ + id (id _)) :: Int,[],id (_ + id (id _)) :: Int)-(id (_ + negate _) :: Int,[],id (_ + negate _) :: Int)-(id (_ + abs _) :: Int,[],id (_ + abs _) :: Int)-(id (_ + (_ + _)) :: Int,[],id (_ + (_ + _)) :: Int)-(id (_ + head _) :: Int,[],id (_ + head _) :: Int)-(id (_ + ord _) :: Int,[],id (_ + ord _) :: Int)-(id (x + x) :: Int,[],id (x + x) :: Int)-(id (x + 0) :: Int,[],id (x + 0) :: Int)-(id (x + id _) :: Int,[],id (x + id _) :: Int)-(id (0 + x) :: Int,[],id (0 + x) :: Int)-(id (0 + 0) :: Int,[],id (0 + 0) :: Int)-(id (0 + id _) :: Int,[],id (0 + id _) :: Int)-(id (id _ + x) :: Int,[],id (id _ + x) :: Int)-(id (id _ + 0) :: Int,[],id (id _ + 0) :: Int)-(id (id _ + id _) :: Int,[],id (id _ + id _) :: Int)-(id (_ * x) :: Int,[],id (_ * x) :: Int)-(id (_ * 0) :: Int,[],id (_ * 0) :: Int)-(id (_ * id _) :: Int,[],id (_ * id _) :: Int)-(id (f x) :: Int,[],id (f x) :: Int)-(id (f 0) :: Int,[],id (f 0) :: Int)-(id (f (id _)) :: Int,[],id (f (id _)) :: Int)-(id (y + _) :: Int,[],id (y + _) :: Int)-(id (1 + _) :: Int,[],id (1 + _) :: Int)-(id (id x + _) :: Int,[],id (id x + _) :: Int)-(id (id 0 + _) :: Int,[],id (id 0 + _) :: Int)-(id (id (id _) + _) :: Int,[],id (id (id _) + _) :: Int)-(id (negate _ + _) :: Int,[],id (negate _ + _) :: Int)-(id (abs _ + _) :: Int,[],id (abs _ + _) :: Int)-(id ((_ + _) + _) :: Int,[],id ((_ + _) + _) :: Int)-(id (head _ + _) :: Int,[],id (head _ + _) :: Int)-(id (ord _ + _) :: Int,[],id (ord _ + _) :: Int)-(id (x * _) :: Int,[],id (x * _) :: Int)-(id (0 * _) :: Int,[],id (0 * _) :: Int)-(id (id _ * _) :: Int,[],id (id _ * _) :: Int)-(id (g _) :: Int,[],id (g _) :: Int)-(id (head ys) :: Int,[],id (head ys) :: Int)-(id (head [0]) :: Int,[],id (head [0]) :: Int)-(id (head (_:xs)) :: Int,[],id (head (_:xs)) :: Int)-(id (head [_]) :: Int,[],id (head [_]) :: Int)-(id (head (_:_:_)) :: Int,[],id (head (_:_:_)) :: Int)-(id (head (x:_)) :: Int,[],id (head (x:_)) :: Int)-(id (head (0:_)) :: Int,[],id (head (0:_)) :: Int)-(id (head (id _:_)) :: Int,[],id (head (id _:_)) :: Int)-(id (head (tail _)) :: Int,[],id (head (tail _)) :: Int)-(id (head (_ ++ _)) :: Int,[],id (head (_ ++ _)) :: Int)-(id (ord d) :: Int,[],id (ord d) :: Int)-(id (ord ' ') :: Int,[],id (ord ' ') :: Int)-(negate z :: Int,[],negate z :: Int)-(negate (-1) :: Int,[],negate (-1) :: Int)-(negate (id y) :: Int,[],negate (id y) :: Int)-(negate (id 1) :: Int,[],negate (id 1) :: Int)-(negate (id (id x)) :: Int,[],negate (id (id x)) :: Int)-(negate (id (id 0)) :: Int,[],negate (id (id 0)) :: Int)-(negate (id (id (id _))) :: Int,[],negate (id (id (id _))) :: Int)-(negate (id (negate _)) :: Int,[],negate (id (negate _)) :: Int)-(negate (id (abs _)) :: Int,[],negate (id (abs _)) :: Int)-(negate (id (_ + _)) :: Int,[],negate (id (_ + _)) :: Int)-(negate (id (head _)) :: Int,[],negate (id (head _)) :: Int)-(negate (id (ord _)) :: Int,[],negate (id (ord _)) :: Int)-(negate (negate x) :: Int,[],negate (negate x) :: Int)-(negate (negate 0) :: Int,[],negate (negate 0) :: Int)-(negate (negate (id _)) :: Int,[],negate (negate (id _)) :: Int)-(negate (abs x) :: Int,[],negate (abs x) :: Int)-(negate (abs 0) :: Int,[],negate (abs 0) :: Int)-(negate (abs (id _)) :: Int,[],negate (abs (id _)) :: Int)-(negate (_ + x) :: Int,[],negate (_ + x) :: Int)-(negate (_ + 0) :: Int,[],negate (_ + 0) :: Int)-(negate (_ + id _) :: Int,[],negate (_ + id _) :: Int)-(negate (x + _) :: Int,[],negate (x + _) :: Int)-(negate (0 + _) :: Int,[],negate (0 + _) :: Int)-(negate (id _ + _) :: Int,[],negate (id _ + _) :: Int)-(negate (_ * _) :: Int,[],negate (_ * _) :: Int)-(negate (f _) :: Int,[],negate (f _) :: Int)-(negate (head xs) :: Int,[],negate (head xs) :: Int)-(negate (head []) :: Int,[],negate (head []) :: Int)-(negate (head (_:_)) :: Int,[],negate (head (_:_)) :: Int)-(negate (ord c) :: Int,[],negate (ord c) :: Int)-(negate (ord 'a') :: Int,[],negate (ord 'a') :: Int)-(abs z :: Int,[],abs z :: Int)-(abs (-1) :: Int,[],abs (-1) :: Int)-(abs (id y) :: Int,[],abs (id y) :: Int)-(abs (id 1) :: Int,[],abs (id 1) :: Int)-(abs (id (id x)) :: Int,[],abs (id (id x)) :: Int)-(abs (id (id 0)) :: Int,[],abs (id (id 0)) :: Int)-(abs (id (id (id _))) :: Int,[],abs (id (id (id _))) :: Int)-(abs (id (negate _)) :: Int,[],abs (id (negate _)) :: Int)-(abs (id (abs _)) :: Int,[],abs (id (abs _)) :: Int)-(abs (id (_ + _)) :: Int,[],abs (id (_ + _)) :: Int)-(abs (id (head _)) :: Int,[],abs (id (head _)) :: Int)-(abs (id (ord _)) :: Int,[],abs (id (ord _)) :: Int)-(abs (negate x) :: Int,[],abs (negate x) :: Int)-(abs (negate 0) :: Int,[],abs (negate 0) :: Int)-(abs (negate (id _)) :: Int,[],abs (negate (id _)) :: Int)-(abs (abs x) :: Int,[],abs (abs x) :: Int)-(abs (abs 0) :: Int,[],abs (abs 0) :: Int)-(abs (abs (id _)) :: Int,[],abs (abs (id _)) :: Int)-(abs (_ + x) :: Int,[],abs (_ + x) :: Int)-(abs (_ + 0) :: Int,[],abs (_ + 0) :: Int)-(abs (_ + id _) :: Int,[],abs (_ + id _) :: Int)-(abs (x + _) :: Int,[],abs (x + _) :: Int)-(abs (0 + _) :: Int,[],abs (0 + _) :: Int)-(abs (id _ + _) :: Int,[],abs (id _ + _) :: Int)-(abs (_ * _) :: Int,[],abs (_ * _) :: Int)-(abs (f _) :: Int,[],abs (f _) :: Int)-(abs (head xs) :: Int,[],abs (head xs) :: Int)-(abs (head []) :: Int,[],abs (head []) :: Int)-(abs (head (_:_)) :: Int,[],abs (head (_:_)) :: Int)-(abs (ord c) :: Int,[],abs (ord c) :: Int)-(abs (ord 'a') :: Int,[],abs (ord 'a') :: Int)-(_ + z :: Int,[],_ + z :: Int)-(_ + (-1) :: Int,[],_ + (-1) :: Int)-(_ + id y :: Int,[],_ + id y :: Int)-(_ + id 1 :: Int,[],_ + id 1 :: Int)-(_ + id (id x) :: Int,[],_ + id (id x) :: Int)-(_ + id (id 0) :: Int,[],_ + id (id 0) :: Int)-(_ + id (id (id _)) :: Int,[],_ + id (id (id _)) :: Int)-(_ + id (negate _) :: Int,[],_ + id (negate _) :: Int)-(_ + id (abs _) :: Int,[],_ + id (abs _) :: Int)-(_ + id (_ + _) :: Int,[],_ + id (_ + _) :: Int)-(_ + id (head _) :: Int,[],_ + id (head _) :: Int)-(_ + id (ord _) :: Int,[],_ + id (ord _) :: Int)-(_ + negate x :: Int,[],_ + negate x :: Int)-(_ + negate 0 :: Int,[],_ + negate 0 :: Int)-(_ + negate (id _) :: Int,[],_ + negate (id _) :: Int)-(_ + abs x :: Int,[],_ + abs x :: Int)-(_ + abs 0 :: Int,[],_ + abs 0 :: Int)-(_ + abs (id _) :: Int,[],_ + abs (id _) :: Int)-(_ + (_ + x) :: Int,[],_ + (_ + x) :: Int)-(_ + (_ + 0) :: Int,[],_ + (_ + 0) :: Int)-(_ + (_ + id _) :: Int,[],_ + (_ + id _) :: Int)-(_ + (x + _) :: Int,[],_ + (x + _) :: Int)-(_ + (0 + _) :: Int,[],_ + (0 + _) :: Int)-(_ + (id _ + _) :: Int,[],_ + (id _ + _) :: Int)-(_ + _ * _ :: Int,[],_ + _ * _ :: Int)-(_ + f _ :: Int,[],_ + f _ :: Int)-(_ + head xs :: Int,[],_ + head xs :: Int)-(_ + head [] :: Int,[],_ + head [] :: Int)-(_ + head (_:_) :: Int,[],_ + head (_:_) :: Int)-(_ + ord c :: Int,[],_ + ord c :: Int)-(_ + ord 'a' :: Int,[],_ + ord 'a' :: Int)-(x + y :: Int,[],x + y :: Int)-(x + 1 :: Int,[],x + 1 :: Int)-(x + id x :: Int,[],x + id x :: Int)-(x + id 0 :: Int,[],x + id 0 :: Int)-(x + id (id _) :: Int,[],x + id (id _) :: Int)-(x + negate _ :: Int,[],x + negate _ :: Int)-(x + abs _ :: Int,[],x + abs _ :: Int)-(x + (_ + _) :: Int,[],x + (_ + _) :: Int)-(x + head _ :: Int,[],x + head _ :: Int)-(x + ord _ :: Int,[],x + ord _ :: Int)-(0 + y :: Int,[],0 + y :: Int)-(0 + 1 :: Int,[],0 + 1 :: Int)-(0 + id x :: Int,[],0 + id x :: Int)-(0 + id 0 :: Int,[],0 + id 0 :: Int)-(0 + id (id _) :: Int,[],0 + id (id _) :: Int)-(0 + negate _ :: Int,[],0 + negate _ :: Int)-(0 + abs _ :: Int,[],0 + abs _ :: Int)-(0 + (_ + _) :: Int,[],0 + (_ + _) :: Int)-(0 + head _ :: Int,[],0 + head _ :: Int)-(0 + ord _ :: Int,[],0 + ord _ :: Int)-(id _ + y :: Int,[],id _ + y :: Int)-(id _ + 1 :: Int,[],id _ + 1 :: Int)-(id _ + id x :: Int,[],id _ + id x :: Int)-(id _ + id 0 :: Int,[],id _ + id 0 :: Int)-(id _ + id (id _) :: Int,[],id _ + id (id _) :: Int)-(id _ + negate _ :: Int,[],id _ + negate _ :: Int)-(id _ + abs _ :: Int,[],id _ + abs _ :: Int)-(id _ + (_ + _) :: Int,[],id _ + (_ + _) :: Int)-(id _ + head _ :: Int,[],id _ + head _ :: Int)-(id _ + ord _ :: Int,[],id _ + ord _ :: Int)-(_ * y :: Int,[],_ * y :: Int)-(_ * 1 :: Int,[],_ * 1 :: Int)-(_ * id x :: Int,[],_ * id x :: Int)-(_ * id 0 :: Int,[],_ * id 0 :: Int)-(_ * id (id _) :: Int,[],_ * id (id _) :: Int)-(_ * negate _ :: Int,[],_ * negate _ :: Int)-(_ * abs _ :: Int,[],_ * abs _ :: Int)-(_ * (_ + _) :: Int,[],_ * (_ + _) :: Int)-(_ * head _ :: Int,[],_ * head _ :: Int)-(_ * ord _ :: Int,[],_ * ord _ :: Int)-(f y :: Int,[],f y :: Int)-(f 1 :: Int,[],f 1 :: Int)-(f (id x) :: Int,[],f (id x) :: Int)-(f (id 0) :: Int,[],f (id 0) :: Int)-(f (id (id _)) :: Int,[],f (id (id _)) :: Int)-(f (negate _) :: Int,[],f (negate _) :: Int)-(f (abs _) :: Int,[],f (abs _) :: Int)-(f (_ + _) :: Int,[],f (_ + _) :: Int)-(f (head _) :: Int,[],f (head _) :: Int)-(f (ord _) :: Int,[],f (ord _) :: Int)-(y + x :: Int,[],y + x :: Int)-(y + 0 :: Int,[],y + 0 :: Int)-(y + id _ :: Int,[],y + id _ :: Int)-(1 + x :: Int,[],1 + x :: Int)-(1 + 0 :: Int,[],1 + 0 :: Int)-(1 + id _ :: Int,[],1 + id _ :: Int)-(id x + x :: Int,[],id x + x :: Int)-(id x + 0 :: Int,[],id x + 0 :: Int)-(id x + id _ :: Int,[],id x + id _ :: Int)-(id 0 + x :: Int,[],id 0 + x :: Int)-(id 0 + 0 :: Int,[],id 0 + 0 :: Int)-(id 0 + id _ :: Int,[],id 0 + id _ :: Int)-(id (id _) + x :: Int,[],id (id _) + x :: Int)-(id (id _) + 0 :: Int,[],id (id _) + 0 :: Int)-(id (id _) + id _ :: Int,[],id (id _) + id _ :: Int)-(negate _ + x :: Int,[],negate _ + x :: Int)-(negate _ + 0 :: Int,[],negate _ + 0 :: Int)-(negate _ + id _ :: Int,[],negate _ + id _ :: Int)-(abs _ + x :: Int,[],abs _ + x :: Int)-(abs _ + 0 :: Int,[],abs _ + 0 :: Int)-(abs _ + id _ :: Int,[],abs _ + id _ :: Int)-((_ + _) + x :: Int,[],(_ + _) + x :: Int)-((_ + _) + 0 :: Int,[],(_ + _) + 0 :: Int)-((_ + _) + id _ :: Int,[],(_ + _) + id _ :: Int)-(head _ + x :: Int,[],head _ + x :: Int)-(head _ + 0 :: Int,[],head _ + 0 :: Int)-(head _ + id _ :: Int,[],head _ + id _ :: Int)-(ord _ + x :: Int,[],ord _ + x :: Int)-(ord _ + 0 :: Int,[],ord _ + 0 :: Int)-(ord _ + id _ :: Int,[],ord _ + id _ :: Int)-(x * x :: Int,[],x * x :: Int)-(x * 0 :: Int,[],x * 0 :: Int)-(x * id _ :: Int,[],x * id _ :: Int)-(0 * x :: Int,[],0 * x :: Int)-(0 * 0 :: Int,[],0 * 0 :: Int)-(0 * id _ :: Int,[],0 * id _ :: Int)-(id _ * x :: Int,[],id _ * x :: Int)-(id _ * 0 :: Int,[],id _ * 0 :: Int)-(id _ * id _ :: Int,[],id _ * id _ :: Int)-(g x :: Int,[],g x :: Int)-(g 0 :: Int,[],g 0 :: Int)-(g (id _) :: Int,[],g (id _) :: Int)-(z + _ :: Int,[],z + _ :: Int)-((-1) + _ :: Int,[],(-1) + _ :: Int)-(id y + _ :: Int,[],id y + _ :: Int)-(id 1 + _ :: Int,[],id 1 + _ :: Int)-(id (id x) + _ :: Int,[],id (id x) + _ :: Int)-(id (id 0) + _ :: Int,[],id (id 0) + _ :: Int)-(id (id (id _)) + _ :: Int,[],id (id (id _)) + _ :: Int)-(id (negate _) + _ :: Int,[],id (negate _) + _ :: Int)-(id (abs _) + _ :: Int,[],id (abs _) + _ :: Int)-(id (_ + _) + _ :: Int,[],id (_ + _) + _ :: Int)-(id (head _) + _ :: Int,[],id (head _) + _ :: Int)-(id (ord _) + _ :: Int,[],id (ord _) + _ :: Int)-(negate x + _ :: Int,[],negate x + _ :: Int)-(negate 0 + _ :: Int,[],negate 0 + _ :: Int)-(negate (id _) + _ :: Int,[],negate (id _) + _ :: Int)-(abs x + _ :: Int,[],abs x + _ :: Int)-(abs 0 + _ :: Int,[],abs 0 + _ :: Int)-(abs (id _) + _ :: Int,[],abs (id _) + _ :: Int)-((_ + x) + _ :: Int,[],(_ + x) + _ :: Int)-((_ + 0) + _ :: Int,[],(_ + 0) + _ :: Int)-((_ + id _) + _ :: Int,[],(_ + id _) + _ :: Int)-((x + _) + _ :: Int,[],(x + _) + _ :: Int)-((0 + _) + _ :: Int,[],(0 + _) + _ :: Int)-((id _ + _) + _ :: Int,[],(id _ + _) + _ :: Int)-(_ * _ + _ :: Int,[],_ * _ + _ :: Int)-(f _ + _ :: Int,[],f _ + _ :: Int)-(head xs + _ :: Int,[],head xs + _ :: Int)-(head [] + _ :: Int,[],head [] + _ :: Int)-(head (_:_) + _ :: Int,[],head (_:_) + _ :: Int)-(ord c + _ :: Int,[],ord c + _ :: Int)-(ord 'a' + _ :: Int,[],ord 'a' + _ :: Int)-(y * _ :: Int,[],y * _ :: Int)-(1 * _ :: Int,[],1 * _ :: Int)-(id x * _ :: Int,[],id x * _ :: Int)-(id 0 * _ :: Int,[],id 0 * _ :: Int)-(id (id _) * _ :: Int,[],id (id _) * _ :: Int)-(negate _ * _ :: Int,[],negate _ * _ :: Int)-(abs _ * _ :: Int,[],abs _ * _ :: Int)-((_ + _) * _ :: Int,[],(_ + _) * _ :: Int)-(head _ * _ :: Int,[],head _ * _ :: Int)-(ord _ * _ :: Int,[],ord _ * _ :: Int)-(h _ :: Int,[],h _ :: Int)-(head zs :: Int,[],head zs :: Int)-(head [0,0] :: Int,[],head [0,0] :: Int)-(head [1] :: Int,[],head [1] :: Int)-(head (_:ys) :: Int,[],head (_:ys) :: Int)-(head [_,0] :: Int,[],head [_,0] :: Int)-(head (_:_:xs) :: Int,[],head (_:_:xs) :: Int)-(head [_,_] :: Int,[],head [_,_] :: Int)-(head (_:_:_:_) :: Int,[],head (_:_:_:_) :: Int)-(head (_:x:_) :: Int,[],head (_:x:_) :: Int)-(head (_:0:_) :: Int,[],head (_:0:_) :: Int)-(head (_:id _:_) :: Int,[],head (_:id _:_) :: Int)-(head (_:tail _) :: Int,[],head (_:tail _) :: Int)-(head (_:(_ ++ _)) :: Int,[],head (_:(_ ++ _)) :: Int)-(head (x:xs) :: Int,[],head (x:xs) :: Int)-(head [x] :: Int,[],head [x] :: Int)-(head (x:_:_) :: Int,[],head (x:_:_) :: Int)-(head (0:xs) :: Int,[],head (0:xs) :: Int)-(head [0] :: Int,[],head [0] :: Int)-(head (0:_:_) :: Int,[],head (0:_:_) :: Int)-(head (id _:xs) :: Int,[],head (id _:xs) :: Int)-(head [id _] :: Int,[],head [id _] :: Int)-(head (id _:_:_) :: Int,[],head (id _:_:_) :: Int)-(head (y:_) :: Int,[],head (y:_) :: Int)-(head (1:_) :: Int,[],head (1:_) :: Int)-(head (id x:_) :: Int,[],head (id x:_) :: Int)-(head (id 0:_) :: Int,[],head (id 0:_) :: Int)-(head (id (id _):_) :: Int,[],head (id (id _):_) :: Int)-(head (negate _:_) :: Int,[],head (negate _:_) :: Int)-(head (abs _:_) :: Int,[],head (abs _:_) :: Int)-(head (_ + _:_) :: Int,[],head (_ + _:_) :: Int)-(head (head _:_) :: Int,[],head (head _:_) :: Int)-(head (ord _:_) :: Int,[],head (ord _:_) :: Int)-(head (tail xs) :: Int,[],head (tail xs) :: Int)-(head (tail []) :: Int,[],head (tail []) :: Int)-(head (tail (_:_)) :: Int,[],head (tail (_:_)) :: Int)-(head (_ ++ xs) :: Int,[],head (_ ++ xs) :: Int)-(head (_ ++ []) :: Int,[],head (_ ++ []) :: Int)-(head (_ ++ (_:_)) :: Int,[],head (_ ++ (_:_)) :: Int)-(head (xs ++ _) :: Int,[],head (xs ++ _) :: Int)-(head ([] ++ _) :: Int,[],head ([] ++ _) :: Int)-(head ((_:_) ++ _) :: Int,[],head ((_:_) ++ _) :: Int)-(head (sort _) :: Int,[],head (sort _) :: Int)-(head (insert _ _) :: Int,[],head (insert _ _) :: Int)-(ord e :: Int,[],ord e :: Int)-(ord 'b' :: Int,[],ord 'b' :: Int)-(p' :: Bool,[],p' :: Bool)-(not r :: Bool,[],not r :: Bool)-(not (not q) :: Bool,[],not (not q) :: Bool)-(not (not (not p)) :: Bool,[],not (not (not p)) :: Bool)-(not (not (not False)) :: Bool,[],not (not (not False)) :: Bool)-(not (not (not True)) :: Bool,[],not (not (not True)) :: Bool)-(not (not (not (not _))) :: Bool,[],not (not (not (not _))) :: Bool)-(not (not (_ || _)) :: Bool,[],not (not (_ || _)) :: Bool)-(not (_ || p) :: Bool,[],not (_ || p) :: Bool)-(not (_ || False) :: Bool,[],not (_ || False) :: Bool)-(not (_ || True) :: Bool,[],not (_ || True) :: Bool)-(not (_ || not _) :: Bool,[],not (_ || not _) :: Bool)-(not (p || _) :: Bool,[],not (p || _) :: Bool)-(not (False || _) :: Bool,[],not (False || _) :: Bool)-(not (True || _) :: Bool,[],not (True || _) :: Bool)-(not (not _ || _) :: Bool,[],not (not _ || _) :: Bool)-(not (_ && _) :: Bool,[],not (_ && _) :: Bool)-(not (_ == _) :: Bool,[],not (_ == _) :: Bool)-(not (_ == _) :: Bool,[],not (_ == _) :: Bool)-(not (odd _) :: Bool,[],not (odd _) :: Bool)-(not (even _) :: Bool,[],not (even _) :: Bool)-(not (elem _ _) :: Bool,[],not (elem _ _) :: Bool)-(_ || q :: Bool,[],_ || q :: Bool)-(_ || not p :: Bool,[],_ || not p :: Bool)-(_ || not False :: Bool,[],_ || not False :: Bool)-(_ || not True :: Bool,[],_ || not True :: Bool)-(_ || not (not _) :: Bool,[],_ || not (not _) :: Bool)-(_ || (_ || _) :: Bool,[],_ || (_ || _) :: Bool)-(p || p :: Bool,[],p || p :: Bool)-(p || False :: Bool,[],p || False :: Bool)-(p || True :: Bool,[],p || True :: Bool)-(p || not _ :: Bool,[],p || not _ :: Bool)-(False || p :: Bool,[],False || p :: Bool)-(False || False :: Bool,[],False || False :: Bool)-(False || True :: Bool,[],False || True :: Bool)-(False || not _ :: Bool,[],False || not _ :: Bool)-(True || p :: Bool,[],True || p :: Bool)-(True || False :: Bool,[],True || False :: Bool)-(True || True :: Bool,[],True || True :: Bool)-(True || not _ :: Bool,[],True || not _ :: Bool)-(not _ || p :: Bool,[],not _ || p :: Bool)-(not _ || False :: Bool,[],not _ || False :: Bool)-(not _ || True :: Bool,[],not _ || True :: Bool)-(not _ || not _ :: Bool,[],not _ || not _ :: Bool)-(_ && p :: Bool,[],_ && p :: Bool)-(_ && False :: Bool,[],_ && False :: Bool)-(_ && True :: Bool,[],_ && True :: Bool)-(_ && not _ :: Bool,[],_ && not _ :: Bool)-(q || _ :: Bool,[],q || _ :: Bool)-(not p || _ :: Bool,[],not p || _ :: Bool)-(not False || _ :: Bool,[],not False || _ :: Bool)-(not True || _ :: Bool,[],not True || _ :: Bool)-(not (not _) || _ :: Bool,[],not (not _) || _ :: Bool)-((_ || _) || _ :: Bool,[],(_ || _) || _ :: Bool)-(p && _ :: Bool,[],p && _ :: Bool)-(False && _ :: Bool,[],False && _ :: Bool)-(True && _ :: Bool,[],True && _ :: Bool)-(not _ && _ :: Bool,[],not _ && _ :: Bool)-(_ ==> _ :: Bool,[],_ ==> _ :: Bool)-(_ == x :: Bool,[],_ == x :: Bool)-(_ == 0 :: Bool,[],_ == 0 :: Bool)-(_ == id _ :: Bool,[],_ == id _ :: Bool)-(x == _ :: Bool,[],x == _ :: Bool)-(0 == _ :: Bool,[],0 == _ :: Bool)-(id _ == _ :: Bool,[],id _ == _ :: Bool)-(_ == p :: Bool,[],_ == p :: Bool)-(_ == False :: Bool,[],_ == False :: Bool)-(_ == True :: Bool,[],_ == True :: Bool)-(_ == not _ :: Bool,[],_ == not _ :: Bool)-(p == _ :: Bool,[],p == _ :: Bool)-(False == _ :: Bool,[],False == _ :: Bool)-(True == _ :: Bool,[],True == _ :: Bool)-(not _ == _ :: Bool,[],not _ == _ :: Bool)-(_ <= _ :: Bool,[],_ <= _ :: Bool)-(_ <= _ :: Bool,[],_ <= _ :: Bool)-(odd x :: Bool,[],odd x :: Bool)-(odd 0 :: Bool,[],odd 0 :: Bool)-(odd (id _) :: Bool,[],odd (id _) :: Bool)-(even x :: Bool,[],even x :: Bool)-(even 0 :: Bool,[],even 0 :: Bool)-(even (id _) :: Bool,[],even (id _) :: Bool)-(elem _ xs :: Bool,[],elem _ xs :: Bool)-(elem _ [] :: Bool,[],elem _ [] :: Bool)-(elem _ (_:_) :: Bool,[],elem _ (_:_) :: Bool)-(elem x _ :: Bool,[],elem x _ :: Bool)-(elem 0 _ :: Bool,[],elem 0 _ :: Bool)-(elem (id _) _ :: Bool,[],elem (id _) _ :: Bool)-(c' :: Char,[],c' :: Char)-('A' :: Char,[],'A' :: Char)-(xs' :: [Int],[],xs' :: [Int])-([0,0,0] :: [Int],[],[0,0,0] :: [Int])-([0,1] :: [Int],[],[0,1] :: [Int])-([1,0] :: [Int],[],[1,0] :: [Int])-([-1] :: [Int],[],[-1] :: [Int])-(_:zs :: [Int],[],_:zs :: [Int])-([_,0,0] :: [Int],[],[_,0,0] :: [Int])-([_,1] :: [Int],[],[_,1] :: [Int])-(_:_:ys :: [Int],[],_:_:ys :: [Int])-([_,_,0] :: [Int],[],[_,_,0] :: [Int])-(_:_:_:xs :: [Int],[],_:_:_:xs :: [Int])-([_,_,_] :: [Int],[],[_,_,_] :: [Int])-(_:_:_:_:_ :: [Int],[],_:_:_:_:_ :: [Int])-(_:_:x:_ :: [Int],[],_:_:x:_ :: [Int])-(_:_:0:_ :: [Int],[],_:_:0:_ :: [Int])-(_:_:id _:_ :: [Int],[],_:_:id _:_ :: [Int])-(_:_:tail _ :: [Int],[],_:_:tail _ :: [Int])-(_:_:(_ ++ _) :: [Int],[],_:_:(_ ++ _) :: [Int])-(_:x:xs :: [Int],[],_:x:xs :: [Int])-([_,x] :: [Int],[],[_,x] :: [Int])-(_:x:_:_ :: [Int],[],_:x:_:_ :: [Int])-(_:0:xs :: [Int],[],_:0:xs :: [Int])-([_,0] :: [Int],[],[_,0] :: [Int])-(_:0:_:_ :: [Int],[],_:0:_:_ :: [Int])-(_:id _:xs :: [Int],[],_:id _:xs :: [Int])-([_,id _] :: [Int],[],[_,id _] :: [Int])-(_:id _:_:_ :: [Int],[],_:id _:_:_ :: [Int])-(_:y:_ :: [Int],[],_:y:_ :: [Int])-(_:1:_ :: [Int],[],_:1:_ :: [Int])-(_:id x:_ :: [Int],[],_:id x:_ :: [Int])-(_:id 0:_ :: [Int],[],_:id 0:_ :: [Int])-(_:id (id _):_ :: [Int],[],_:id (id _):_ :: [Int])-(_:negate _:_ :: [Int],[],_:negate _:_ :: [Int])-(_:abs _:_ :: [Int],[],_:abs _:_ :: [Int])-(_:_ + _:_ :: [Int],[],_:_ + _:_ :: [Int])-(_:head _:_ :: [Int],[],_:head _:_ :: [Int])-(_:ord _:_ :: [Int],[],_:ord _:_ :: [Int])-(_:tail xs :: [Int],[],_:tail xs :: [Int])-(_:tail [] :: [Int],[],_:tail [] :: [Int])-(_:tail (_:_) :: [Int],[],_:tail (_:_) :: [Int])-(_:(_ ++ xs) :: [Int],[],_:(_ ++ xs) :: [Int])-(_:(_ ++ []) :: [Int],[],_:(_ ++ []) :: [Int])-(_:(_ ++ (_:_)) :: [Int],[],_:(_ ++ (_:_)) :: [Int])-(_:(xs ++ _) :: [Int],[],_:(xs ++ _) :: [Int])-(_:([] ++ _) :: [Int],[],_:([] ++ _) :: [Int])-(_:((_:_) ++ _) :: [Int],[],_:((_:_) ++ _) :: [Int])-(_:sort _ :: [Int],[],_:sort _ :: [Int])-(_:insert _ _ :: [Int],[],_:insert _ _ :: [Int])-(x:ys :: [Int],[],x:ys :: [Int])-([x,0] :: [Int],[],[x,0] :: [Int])-(x:_:xs :: [Int],[],x:_:xs :: [Int])-([x,_] :: [Int],[],[x,_] :: [Int])-(x:_:_:_ :: [Int],[],x:_:_:_ :: [Int])-(x:x:_ :: [Int],[],x:x:_ :: [Int])-(x:0:_ :: [Int],[],x:0:_ :: [Int])-(x:id _:_ :: [Int],[],x:id _:_ :: [Int])-(x:tail _ :: [Int],[],x:tail _ :: [Int])-(x:(_ ++ _) :: [Int],[],x:(_ ++ _) :: [Int])-(0:ys :: [Int],[],0:ys :: [Int])-([0,0] :: [Int],[],[0,0] :: [Int])-(0:_:xs :: [Int],[],0:_:xs :: [Int])-([0,_] :: [Int],[],[0,_] :: [Int])-(0:_:_:_ :: [Int],[],0:_:_:_ :: [Int])-(0:x:_ :: [Int],[],0:x:_ :: [Int])-(0:0:_ :: [Int],[],0:0:_ :: [Int])-(0:id _:_ :: [Int],[],0:id _:_ :: [Int])-(0:tail _ :: [Int],[],0:tail _ :: [Int])-(0:(_ ++ _) :: [Int],[],0:(_ ++ _) :: [Int])-(id _:ys :: [Int],[],id _:ys :: [Int])-([id _,0] :: [Int],[],[id _,0] :: [Int])-(id _:_:xs :: [Int],[],id _:_:xs :: [Int])-([id _,_] :: [Int],[],[id _,_] :: [Int])-(id _:_:_:_ :: [Int],[],id _:_:_:_ :: [Int])-(id _:x:_ :: [Int],[],id _:x:_ :: [Int])-(id _:0:_ :: [Int],[],id _:0:_ :: [Int])-(id _:id _:_ :: [Int],[],id _:id _:_ :: [Int])-(id _:tail _ :: [Int],[],id _:tail _ :: [Int])-(id _:(_ ++ _) :: [Int],[],id _:(_ ++ _) :: [Int])-(y:xs :: [Int],[],y:xs :: [Int])-([y] :: [Int],[],[y] :: [Int])-(y:_:_ :: [Int],[],y:_:_ :: [Int])-(1:xs :: [Int],[],1:xs :: [Int])-([1] :: [Int],[],[1] :: [Int])-(1:_:_ :: [Int],[],1:_:_ :: [Int])-(id x:xs :: [Int],[],id x:xs :: [Int])-([id x] :: [Int],[],[id x] :: [Int])-(id x:_:_ :: [Int],[],id x:_:_ :: [Int])-(id 0:xs :: [Int],[],id 0:xs :: [Int])-([id 0] :: [Int],[],[id 0] :: [Int])-(id 0:_:_ :: [Int],[],id 0:_:_ :: [Int])-(id (id _):xs :: [Int],[],id (id _):xs :: [Int])-([id (id _)] :: [Int],[],[id (id _)] :: [Int])-(id (id _):_:_ :: [Int],[],id (id _):_:_ :: [Int])-(negate _:xs :: [Int],[],negate _:xs :: [Int])-([negate _] :: [Int],[],[negate _] :: [Int])-(negate _:_:_ :: [Int],[],negate _:_:_ :: [Int])-(abs _:xs :: [Int],[],abs _:xs :: [Int])-([abs _] :: [Int],[],[abs _] :: [Int])-(abs _:_:_ :: [Int],[],abs _:_:_ :: [Int])-(_ + _:xs :: [Int],[],_ + _:xs :: [Int])-([_ + _] :: [Int],[],[_ + _] :: [Int])-(_ + _:_:_ :: [Int],[],_ + _:_:_ :: [Int])-(head _:xs :: [Int],[],head _:xs :: [Int])-([head _] :: [Int],[],[head _] :: [Int])-(head _:_:_ :: [Int],[],head _:_:_ :: [Int])-(ord _:xs :: [Int],[],ord _:xs :: [Int])-([ord _] :: [Int],[],[ord _] :: [Int])-(ord _:_:_ :: [Int],[],ord _:_:_ :: [Int])-(z:_ :: [Int],[],z:_ :: [Int])-((-1):_ :: [Int],[],(-1):_ :: [Int])-(id y:_ :: [Int],[],id y:_ :: [Int])-(id 1:_ :: [Int],[],id 1:_ :: [Int])-(id (id x):_ :: [Int],[],id (id x):_ :: [Int])-(id (id 0):_ :: [Int],[],id (id 0):_ :: [Int])-(id (id (id _)):_ :: [Int],[],id (id (id _)):_ :: [Int])-(id (negate _):_ :: [Int],[],id (negate _):_ :: [Int])-(id (abs _):_ :: [Int],[],id (abs _):_ :: [Int])-(id (_ + _):_ :: [Int],[],id (_ + _):_ :: [Int])-(id (head _):_ :: [Int],[],id (head _):_ :: [Int])-(id (ord _):_ :: [Int],[],id (ord _):_ :: [Int])-(negate x:_ :: [Int],[],negate x:_ :: [Int])-(negate 0:_ :: [Int],[],negate 0:_ :: [Int])-(negate (id _):_ :: [Int],[],negate (id _):_ :: [Int])-(abs x:_ :: [Int],[],abs x:_ :: [Int])-(abs 0:_ :: [Int],[],abs 0:_ :: [Int])-(abs (id _):_ :: [Int],[],abs (id _):_ :: [Int])-(_ + x:_ :: [Int],[],_ + x:_ :: [Int])-(_ + 0:_ :: [Int],[],_ + 0:_ :: [Int])-(_ + id _:_ :: [Int],[],_ + id _:_ :: [Int])-(x + _:_ :: [Int],[],x + _:_ :: [Int])-(0 + _:_ :: [Int],[],0 + _:_ :: [Int])-(id _ + _:_ :: [Int],[],id _ + _:_ :: [Int])-(_ * _:_ :: [Int],[],_ * _:_ :: [Int])-(f _:_ :: [Int],[],f _:_ :: [Int])-(head xs:_ :: [Int],[],head xs:_ :: [Int])-(head []:_ :: [Int],[],head []:_ :: [Int])-(head (_:_):_ :: [Int],[],head (_:_):_ :: [Int])-(ord c:_ :: [Int],[],ord c:_ :: [Int])-(ord 'a':_ :: [Int],[],ord 'a':_ :: [Int])-(tail ys :: [Int],[],tail ys :: [Int])-(tail [0] :: [Int],[],tail [0] :: [Int])-(tail (_:xs) :: [Int],[],tail (_:xs) :: [Int])-(tail [_] :: [Int],[],tail [_] :: [Int])-(tail (_:_:_) :: [Int],[],tail (_:_:_) :: [Int])-(tail (x:_) :: [Int],[],tail (x:_) :: [Int])-(tail (0:_) :: [Int],[],tail (0:_) :: [Int])-(tail (id _:_) :: [Int],[],tail (id _:_) :: [Int])-(tail (tail _) :: [Int],[],tail (tail _) :: [Int])-(tail (_ ++ _) :: [Int],[],tail (_ ++ _) :: [Int])-(_ ++ ys :: [Int],[],_ ++ ys :: [Int])-(_ ++ [0] :: [Int],[],_ ++ [0] :: [Int])-(_ ++ (_:xs) :: [Int],[],_ ++ (_:xs) :: [Int])-(_ ++ [_] :: [Int],[],_ ++ [_] :: [Int])-(_ ++ (_:_:_) :: [Int],[],_ ++ (_:_:_) :: [Int])-(_ ++ (x:_) :: [Int],[],_ ++ (x:_) :: [Int])-(_ ++ (0:_) :: [Int],[],_ ++ (0:_) :: [Int])-(_ ++ (id _:_) :: [Int],[],_ ++ (id _:_) :: [Int])-(_ ++ tail _ :: [Int],[],_ ++ tail _ :: [Int])-(_ ++ (_ ++ _) :: [Int],[],_ ++ (_ ++ _) :: [Int])-(xs ++ xs :: [Int],[],xs ++ xs :: [Int])-(xs ++ [] :: [Int],[],xs ++ [] :: [Int])-(xs ++ (_:_) :: [Int],[],xs ++ (_:_) :: [Int])-([] ++ xs :: [Int],[],[] ++ xs :: [Int])-([] ++ [] :: [Int],[],[] ++ [] :: [Int])-([] ++ (_:_) :: [Int],[],[] ++ (_:_) :: [Int])-((_:_) ++ xs :: [Int],[],(_:_) ++ xs :: [Int])-((_:_) ++ [] :: [Int],[],(_:_) ++ [] :: [Int])-((_:_) ++ (_:_) :: [Int],[],(_:_) ++ (_:_) :: [Int])-(ys ++ _ :: [Int],[],ys ++ _ :: [Int])-([0] ++ _ :: [Int],[],[0] ++ _ :: [Int])-((_:xs) ++ _ :: [Int],[],(_:xs) ++ _ :: [Int])-([_] ++ _ :: [Int],[],[_] ++ _ :: [Int])-((_:_:_) ++ _ :: [Int],[],(_:_:_) ++ _ :: [Int])-((x:_) ++ _ :: [Int],[],(x:_) ++ _ :: [Int])-((0:_) ++ _ :: [Int],[],(0:_) ++ _ :: [Int])-((id _:_) ++ _ :: [Int],[],(id _:_) ++ _ :: [Int])-(tail _ ++ _ :: [Int],[],tail _ ++ _ :: [Int])-((_ ++ _) ++ _ :: [Int],[],(_ ++ _) ++ _ :: [Int])-(sort xs :: [Int],[],sort xs :: [Int])-(sort [] :: [Int],[],sort [] :: [Int])-(sort (_:_) :: [Int],[],sort (_:_) :: [Int])-(insert _ xs :: [Int],[],insert _ xs :: [Int])-(insert _ [] :: [Int],[],insert _ [] :: [Int])-(insert _ (_:_) :: [Int],[],insert _ (_:_) :: [Int])-(insert x _ :: [Int],[],insert x _ :: [Int])-(insert 0 _ :: [Int],[],insert 0 _ :: [Int])-(insert (id _) _ :: [Int],[],insert (id _) _ :: [Int])-((y +) :: Int -> Int,[],(y +) :: Int -> Int)-((1 +) :: Int -> Int,[],(1 +) :: Int -> Int)-((id x +) :: Int -> Int,[],(id x +) :: Int -> Int)-((id 0 +) :: Int -> Int,[],(id 0 +) :: Int -> Int)-((id (id _) +) :: Int -> Int,[],(id (id _) +) :: Int -> Int)-((negate _ +) :: Int -> Int,[],(negate _ +) :: Int -> Int)-((abs _ +) :: Int -> Int,[],(abs _ +) :: Int -> Int)-(((_ + _) +) :: Int -> Int,[],((_ + _) +) :: Int -> Int)-((head _ +) :: Int -> Int,[],(head _ +) :: Int -> Int)-((ord _ +) :: Int -> Int,[],(ord _ +) :: Int -> Int)-((x *) :: Int -> Int,[],(x *) :: Int -> Int)-((0 *) :: Int -> Int,[],(0 *) :: Int -> Int)-((id _ *) :: Int -> Int,[],(id _ *) :: Int -> Int)-(g :: Int -> Int,[],g :: Int -> Int)-((p ||) :: Bool -> Bool,[],(p ||) :: Bool -> Bool)-((False ||) :: Bool -> Bool,[],(False ||) :: Bool -> Bool)-((True ||) :: Bool -> Bool,[],(True ||) :: Bool -> Bool)-((not _ ||) :: Bool -> Bool,[],(not _ ||) :: Bool -> Bool)-((_ &&) :: Bool -> Bool,[],(_ &&) :: Bool -> Bool)-((==>) :: Bool -> Bool -> Bool,[],(==>) :: Bool -> Bool -> Bool)-(z' :: Int,[],z' :: Int)-(3 :: Int,[],3 :: Int)-(id y' :: Int,[],id y' :: Int)-(id (-2) :: Int,[],id (-2) :: Int)-(id (id x') :: Int,[],id (id x') :: Int)-(id (id 2) :: Int,[],id (id 2) :: Int)-(id (id (id z)) :: Int,[],id (id (id z)) :: Int)-(id (id (id (-1))) :: Int,[],id (id (id (-1))) :: Int)-(id (id (id (id y))) :: Int,[],id (id (id (id y))) :: Int)-(id (id (id (id 1))) :: Int,[],id (id (id (id 1))) :: Int)-(id (id (id (id (id x)))) :: Int,[],id (id (id (id (id x)))) :: Int)-(id (id (id (id (id 0)))) :: Int,[],id (id (id (id (id 0)))) :: Int)-(id (id (id (id (id (id _))))) :: Int,[],id (id (id (id (id (id _))))) :: Int)-(id (id (id (id (negate _)))) :: Int,[],id (id (id (id (negate _)))) :: Int)-(id (id (id (id (abs _)))) :: Int,[],id (id (id (id (abs _)))) :: Int)-(id (id (id (id (_ + _)))) :: Int,[],id (id (id (id (_ + _)))) :: Int)-(id (id (id (id (head _)))) :: Int,[],id (id (id (id (head _)))) :: Int)-(id (id (id (id (ord _)))) :: Int,[],id (id (id (id (ord _)))) :: Int)-(id (id (id (negate x))) :: Int,[],id (id (id (negate x))) :: Int)-(id (id (id (negate 0))) :: Int,[],id (id (id (negate 0))) :: Int)-(id (id (id (negate (id _)))) :: Int,[],id (id (id (negate (id _)))) :: Int)-(id (id (id (abs x))) :: Int,[],id (id (id (abs x))) :: Int)-(id (id (id (abs 0))) :: Int,[],id (id (id (abs 0))) :: Int)-(id (id (id (abs (id _)))) :: Int,[],id (id (id (abs (id _)))) :: Int)-(id (id (id (_ + x))) :: Int,[],id (id (id (_ + x))) :: Int)-(id (id (id (_ + 0))) :: Int,[],id (id (id (_ + 0))) :: Int)-(id (id (id (_ + id _))) :: Int,[],id (id (id (_ + id _))) :: Int)-(id (id (id (x + _))) :: Int,[],id (id (id (x + _))) :: Int)-(id (id (id (0 + _))) :: Int,[],id (id (id (0 + _))) :: Int)-(id (id (id (id _ + _))) :: Int,[],id (id (id (id _ + _))) :: Int)-(id (id (id (_ * _))) :: Int,[],id (id (id (_ * _))) :: Int)-(id (id (id (f _))) :: Int,[],id (id (id (f _))) :: Int)-(id (id (id (head xs))) :: Int,[],id (id (id (head xs))) :: Int)-(id (id (id (head []))) :: Int,[],id (id (id (head []))) :: Int)-(id (id (id (head (_:_)))) :: Int,[],id (id (id (head (_:_)))) :: Int)-(id (id (id (ord c))) :: Int,[],id (id (id (ord c))) :: Int)-(id (id (id (ord 'a'))) :: Int,[],id (id (id (ord 'a'))) :: Int)-(id (id (negate y)) :: Int,[],id (id (negate y)) :: Int)-(id (id (negate 1)) :: Int,[],id (id (negate 1)) :: Int)-(id (id (negate (id x))) :: Int,[],id (id (negate (id x))) :: Int)-(id (id (negate (id 0))) :: Int,[],id (id (negate (id 0))) :: Int)-(id (id (negate (id (id _)))) :: Int,[],id (id (negate (id (id _)))) :: Int)-(id (id (negate (negate _))) :: Int,[],id (id (negate (negate _))) :: Int)-(id (id (negate (abs _))) :: Int,[],id (id (negate (abs _))) :: Int)-(id (id (negate (_ + _))) :: Int,[],id (id (negate (_ + _))) :: Int)-(id (id (negate (head _))) :: Int,[],id (id (negate (head _))) :: Int)-(id (id (negate (ord _))) :: Int,[],id (id (negate (ord _))) :: Int)-(id (id (abs y)) :: Int,[],id (id (abs y)) :: Int)-(id (id (abs 1)) :: Int,[],id (id (abs 1)) :: Int)-(id (id (abs (id x))) :: Int,[],id (id (abs (id x))) :: Int)-(id (id (abs (id 0))) :: Int,[],id (id (abs (id 0))) :: Int)-(id (id (abs (id (id _)))) :: Int,[],id (id (abs (id (id _)))) :: Int)-(id (id (abs (negate _))) :: Int,[],id (id (abs (negate _))) :: Int)-(id (id (abs (abs _))) :: Int,[],id (id (abs (abs _))) :: Int)-(id (id (abs (_ + _))) :: Int,[],id (id (abs (_ + _))) :: Int)-(id (id (abs (head _))) :: Int,[],id (id (abs (head _))) :: Int)-(id (id (abs (ord _))) :: Int,[],id (id (abs (ord _))) :: Int)-(id (id (_ + y)) :: Int,[],id (id (_ + y)) :: Int)-(id (id (_ + 1)) :: Int,[],id (id (_ + 1)) :: Int)-(id (id (_ + id x)) :: Int,[],id (id (_ + id x)) :: Int)-(id (id (_ + id 0)) :: Int,[],id (id (_ + id 0)) :: Int)-(id (id (_ + id (id _))) :: Int,[],id (id (_ + id (id _))) :: Int)-(id (id (_ + negate _)) :: Int,[],id (id (_ + negate _)) :: Int)-(id (id (_ + abs _)) :: Int,[],id (id (_ + abs _)) :: Int)-(id (id (_ + (_ + _))) :: Int,[],id (id (_ + (_ + _))) :: Int)-(id (id (_ + head _)) :: Int,[],id (id (_ + head _)) :: Int)-(id (id (_ + ord _)) :: Int,[],id (id (_ + ord _)) :: Int)-(id (id (x + x)) :: Int,[],id (id (x + x)) :: Int)-(id (id (x + 0)) :: Int,[],id (id (x + 0)) :: Int)-(id (id (x + id _)) :: Int,[],id (id (x + id _)) :: Int)-(id (id (0 + x)) :: Int,[],id (id (0 + x)) :: Int)-(id (id (0 + 0)) :: Int,[],id (id (0 + 0)) :: Int)-(id (id (0 + id _)) :: Int,[],id (id (0 + id _)) :: Int)-(id (id (id _ + x)) :: Int,[],id (id (id _ + x)) :: Int)-(id (id (id _ + 0)) :: Int,[],id (id (id _ + 0)) :: Int)-(id (id (id _ + id _)) :: Int,[],id (id (id _ + id _)) :: Int)-(id (id (_ * x)) :: Int,[],id (id (_ * x)) :: Int)-(id (id (_ * 0)) :: Int,[],id (id (_ * 0)) :: Int)-(id (id (_ * id _)) :: Int,[],id (id (_ * id _)) :: Int)-(id (id (f x)) :: Int,[],id (id (f x)) :: Int)-(id (id (f 0)) :: Int,[],id (id (f 0)) :: Int)-(id (id (f (id _))) :: Int,[],id (id (f (id _))) :: Int)-(id (id (y + _)) :: Int,[],id (id (y + _)) :: Int)-(id (id (1 + _)) :: Int,[],id (id (1 + _)) :: Int)-(id (id (id x + _)) :: Int,[],id (id (id x + _)) :: Int)-(id (id (id 0 + _)) :: Int,[],id (id (id 0 + _)) :: Int)-(id (id (id (id _) + _)) :: Int,[],id (id (id (id _) + _)) :: Int)-(id (id (negate _ + _)) :: Int,[],id (id (negate _ + _)) :: Int)-(id (id (abs _ + _)) :: Int,[],id (id (abs _ + _)) :: Int)-(id (id ((_ + _) + _)) :: Int,[],id (id ((_ + _) + _)) :: Int)-(id (id (head _ + _)) :: Int,[],id (id (head _ + _)) :: Int)-(id (id (ord _ + _)) :: Int,[],id (id (ord _ + _)) :: Int)-(id (id (x * _)) :: Int,[],id (id (x * _)) :: Int)-(id (id (0 * _)) :: Int,[],id (id (0 * _)) :: Int)-(id (id (id _ * _)) :: Int,[],id (id (id _ * _)) :: Int)-(id (id (g _)) :: Int,[],id (id (g _)) :: Int)-(id (id (head ys)) :: Int,[],id (id (head ys)) :: Int)-(id (id (head [0])) :: Int,[],id (id (head [0])) :: Int)-(id (id (head (_:xs))) :: Int,[],id (id (head (_:xs))) :: Int)-(id (id (head [_])) :: Int,[],id (id (head [_])) :: Int)-(id (id (head (_:_:_))) :: Int,[],id (id (head (_:_:_))) :: Int)-(id (id (head (x:_))) :: Int,[],id (id (head (x:_))) :: Int)-(id (id (head (0:_))) :: Int,[],id (id (head (0:_))) :: Int)-(id (id (head (id _:_))) :: Int,[],id (id (head (id _:_))) :: Int)-(id (id (head (tail _))) :: Int,[],id (id (head (tail _))) :: Int)-(id (id (head (_ ++ _))) :: Int,[],id (id (head (_ ++ _))) :: Int)-(id (id (ord d)) :: Int,[],id (id (ord d)) :: Int)-(id (id (ord ' ')) :: Int,[],id (id (ord ' ')) :: Int)-(id (negate z) :: Int,[],id (negate z) :: Int)-(id (negate (-1)) :: Int,[],id (negate (-1)) :: Int)-(id (negate (id y)) :: Int,[],id (negate (id y)) :: Int)-(id (negate (id 1)) :: Int,[],id (negate (id 1)) :: Int)-(id (negate (id (id x))) :: Int,[],id (negate (id (id x))) :: Int)-(id (negate (id (id 0))) :: Int,[],id (negate (id (id 0))) :: Int)-(id (negate (id (id (id _)))) :: Int,[],id (negate (id (id (id _)))) :: Int)-(id (negate (id (negate _))) :: Int,[],id (negate (id (negate _))) :: Int)-(id (negate (id (abs _))) :: Int,[],id (negate (id (abs _))) :: Int)-(id (negate (id (_ + _))) :: Int,[],id (negate (id (_ + _))) :: Int)-(id (negate (id (head _))) :: Int,[],id (negate (id (head _))) :: Int)-(id (negate (id (ord _))) :: Int,[],id (negate (id (ord _))) :: Int)-(id (negate (negate x)) :: Int,[],id (negate (negate x)) :: Int)-(id (negate (negate 0)) :: Int,[],id (negate (negate 0)) :: Int)-(id (negate (negate (id _))) :: Int,[],id (negate (negate (id _))) :: Int)-(id (negate (abs x)) :: Int,[],id (negate (abs x)) :: Int)-(id (negate (abs 0)) :: Int,[],id (negate (abs 0)) :: Int)-(id (negate (abs (id _))) :: Int,[],id (negate (abs (id _))) :: Int)-(id (negate (_ + x)) :: Int,[],id (negate (_ + x)) :: Int)-(id (negate (_ + 0)) :: Int,[],id (negate (_ + 0)) :: Int)-(id (negate (_ + id _)) :: Int,[],id (negate (_ + id _)) :: Int)-(id (negate (x + _)) :: Int,[],id (negate (x + _)) :: Int)-(id (negate (0 + _)) :: Int,[],id (negate (0 + _)) :: Int)-(id (negate (id _ + _)) :: Int,[],id (negate (id _ + _)) :: Int)-(id (negate (_ * _)) :: Int,[],id (negate (_ * _)) :: Int)-(id (negate (f _)) :: Int,[],id (negate (f _)) :: Int)-(id (negate (head xs)) :: Int,[],id (negate (head xs)) :: Int)-(id (negate (head [])) :: Int,[],id (negate (head [])) :: Int)-(id (negate (head (_:_))) :: Int,[],id (negate (head (_:_))) :: Int)-(id (negate (ord c)) :: Int,[],id (negate (ord c)) :: Int)-(id (negate (ord 'a')) :: Int,[],id (negate (ord 'a')) :: Int)-(id (abs z) :: Int,[],id (abs z) :: Int)-(id (abs (-1)) :: Int,[],id (abs (-1)) :: Int)-(id (abs (id y)) :: Int,[],id (abs (id y)) :: Int)-(id (abs (id 1)) :: Int,[],id (abs (id 1)) :: Int)-(id (abs (id (id x))) :: Int,[],id (abs (id (id x))) :: Int)-(id (abs (id (id 0))) :: Int,[],id (abs (id (id 0))) :: Int)-(id (abs (id (id (id _)))) :: Int,[],id (abs (id (id (id _)))) :: Int)--True
− test/model/bench/match-triexpr.out
@@ -1,795 +0,0 @@-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
− test/model/bench/pairs.out
@@ -1,1001 +0,0 @@-(_ :: Int,_ :: Int)-(_ :: Int,x :: Int)-(_ :: Int,0 :: Int)-(_ :: Int,id _ :: Int)-(_ :: Int,_ :: Bool)-(_ :: Int,_ :: Char)-(_ :: Int,_ :: [Int])-(x :: Int,_ :: Int)-(0 :: Int,_ :: Int)-(id _ :: Int,_ :: Int)-(_ :: Bool,_ :: Int)-(_ :: Char,_ :: Int)-(_ :: [Int],_ :: Int)-(_ :: Int,y :: Int)-(_ :: Int,1 :: Int)-(_ :: Int,id x :: Int)-(_ :: Int,id 0 :: Int)-(_ :: Int,id (id _) :: Int)-(_ :: Int,negate _ :: Int)-(_ :: Int,abs _ :: Int)-(_ :: Int,_ + _ :: Int)-(_ :: Int,head _ :: Int)-(_ :: Int,ord _ :: Int)-(_ :: Int,p :: Bool)-(_ :: Int,False :: Bool)-(_ :: Int,True :: Bool)-(_ :: Int,not _ :: Bool)-(_ :: Int,c :: Char)-(_ :: Int,'a' :: Char)-(_ :: Int,xs :: [Int])-(_ :: Int,[] :: [Int])-(_ :: Int,_:_ :: [Int])-(_ :: Int,id :: Int -> Int)-(_ :: Int,(+) :: Int -> Int -> Int)-(x :: Int,x :: Int)-(x :: Int,0 :: Int)-(x :: Int,id _ :: Int)-(x :: Int,_ :: Bool)-(x :: Int,_ :: Char)-(x :: Int,_ :: [Int])-(0 :: Int,x :: Int)-(0 :: Int,0 :: Int)-(0 :: Int,id _ :: Int)-(0 :: Int,_ :: Bool)-(0 :: Int,_ :: Char)-(0 :: Int,_ :: [Int])-(id _ :: Int,x :: Int)-(id _ :: Int,0 :: Int)-(id _ :: Int,id _ :: Int)-(id _ :: Int,_ :: Bool)-(id _ :: Int,_ :: Char)-(id _ :: Int,_ :: [Int])-(_ :: Bool,x :: Int)-(_ :: Bool,0 :: Int)-(_ :: Bool,id _ :: Int)-(_ :: Bool,_ :: Bool)-(_ :: Bool,_ :: Char)-(_ :: Bool,_ :: [Int])-(_ :: Char,x :: Int)-(_ :: Char,0 :: Int)-(_ :: Char,id _ :: Int)-(_ :: Char,_ :: Bool)-(_ :: Char,_ :: Char)-(_ :: Char,_ :: [Int])-(_ :: [Int],x :: Int)-(_ :: [Int],0 :: Int)-(_ :: [Int],id _ :: Int)-(_ :: [Int],_ :: Bool)-(_ :: [Int],_ :: Char)-(_ :: [Int],_ :: [Int])-(y :: Int,_ :: Int)-(1 :: Int,_ :: Int)-(id x :: Int,_ :: Int)-(id 0 :: Int,_ :: Int)-(id (id _) :: Int,_ :: Int)-(negate _ :: Int,_ :: Int)-(abs _ :: Int,_ :: Int)-(_ + _ :: Int,_ :: Int)-(head _ :: Int,_ :: Int)-(ord _ :: Int,_ :: Int)-(p :: Bool,_ :: Int)-(False :: Bool,_ :: Int)-(True :: Bool,_ :: Int)-(not _ :: Bool,_ :: Int)-(c :: Char,_ :: Int)-('a' :: Char,_ :: Int)-(xs :: [Int],_ :: Int)-([] :: [Int],_ :: Int)-(_:_ :: [Int],_ :: Int)-(id :: Int -> Int,_ :: Int)-((+) :: Int -> Int -> Int,_ :: 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,id (id (id _)) :: Int)-(_ :: Int,id (negate _) :: Int)-(_ :: Int,id (abs _) :: Int)-(_ :: Int,id (_ + _) :: Int)-(_ :: Int,id (head _) :: Int)-(_ :: Int,id (ord _) :: Int)-(_ :: Int,negate x :: Int)-(_ :: Int,negate 0 :: Int)-(_ :: Int,negate (id _) :: Int)-(_ :: Int,abs x :: Int)-(_ :: Int,abs 0 :: Int)-(_ :: Int,abs (id _) :: Int)-(_ :: Int,_ + x :: Int)-(_ :: Int,_ + 0 :: Int)-(_ :: Int,_ + id _ :: Int)-(_ :: Int,x + _ :: Int)-(_ :: Int,0 + _ :: Int)-(_ :: Int,id _ + _ :: Int)-(_ :: Int,_ * _ :: Int)-(_ :: Int,f _ :: Int)-(_ :: Int,head xs :: Int)-(_ :: Int,head [] :: Int)-(_ :: Int,head (_:_) :: Int)-(_ :: Int,ord c :: Int)-(_ :: Int,ord 'a' :: Int)-(_ :: Int,q :: Bool)-(_ :: Int,not p :: Bool)-(_ :: Int,not False :: Bool)-(_ :: Int,not True :: Bool)-(_ :: Int,not (not _) :: Bool)-(_ :: Int,_ || _ :: Bool)-(_ :: Int,d :: Char)-(_ :: Int,' ' :: Char)-(_ :: Int,ys :: [Int])-(_ :: Int,[0] :: [Int])-(_ :: Int,_:xs :: [Int])-(_ :: Int,[_] :: [Int])-(_ :: Int,_:_:_ :: [Int])-(_ :: Int,x:_ :: [Int])-(_ :: Int,0:_ :: [Int])-(_ :: Int,id _:_ :: [Int])-(_ :: Int,tail _ :: [Int])-(_ :: Int,_ ++ _ :: [Int])-(_ :: Int,negate :: Int -> Int)-(_ :: Int,abs :: Int -> Int)-(_ :: Int,(_ +) :: Int -> Int)-(_ :: Int,(*) :: Int -> Int -> Int)-(_ :: Int,not :: Bool -> Bool)-(_ :: Int,(||) :: Bool -> Bool -> Bool)-(x :: Int,y :: Int)-(x :: Int,1 :: Int)-(x :: Int,id x :: Int)-(x :: Int,id 0 :: Int)-(x :: Int,id (id _) :: Int)-(x :: Int,negate _ :: Int)-(x :: Int,abs _ :: Int)-(x :: Int,_ + _ :: Int)-(x :: Int,head _ :: Int)-(x :: Int,ord _ :: Int)-(x :: Int,p :: Bool)-(x :: Int,False :: Bool)-(x :: Int,True :: Bool)-(x :: Int,not _ :: Bool)-(x :: Int,c :: Char)-(x :: Int,'a' :: Char)-(x :: Int,xs :: [Int])-(x :: Int,[] :: [Int])-(x :: Int,_:_ :: [Int])-(x :: Int,id :: Int -> Int)-(x :: Int,(+) :: Int -> Int -> Int)-(0 :: Int,y :: Int)-(0 :: Int,1 :: Int)-(0 :: Int,id x :: Int)-(0 :: Int,id 0 :: Int)-(0 :: Int,id (id _) :: Int)-(0 :: Int,negate _ :: Int)-(0 :: Int,abs _ :: Int)-(0 :: Int,_ + _ :: Int)-(0 :: Int,head _ :: Int)-(0 :: Int,ord _ :: Int)-(0 :: Int,p :: Bool)-(0 :: Int,False :: Bool)-(0 :: Int,True :: Bool)-(0 :: Int,not _ :: Bool)-(0 :: Int,c :: Char)-(0 :: Int,'a' :: Char)-(0 :: Int,xs :: [Int])-(0 :: Int,[] :: [Int])-(0 :: Int,_:_ :: [Int])-(0 :: Int,id :: Int -> Int)-(0 :: Int,(+) :: Int -> Int -> Int)-(id _ :: Int,y :: Int)-(id _ :: Int,1 :: Int)-(id _ :: Int,id x :: Int)-(id _ :: Int,id 0 :: Int)-(id _ :: Int,id (id _) :: Int)-(id _ :: Int,negate _ :: Int)-(id _ :: Int,abs _ :: Int)-(id _ :: Int,_ + _ :: Int)-(id _ :: Int,head _ :: Int)-(id _ :: Int,ord _ :: Int)-(id _ :: Int,p :: Bool)-(id _ :: Int,False :: Bool)-(id _ :: Int,True :: Bool)-(id _ :: Int,not _ :: Bool)-(id _ :: Int,c :: Char)-(id _ :: Int,'a' :: Char)-(id _ :: Int,xs :: [Int])-(id _ :: Int,[] :: [Int])-(id _ :: Int,_:_ :: [Int])-(id _ :: Int,id :: Int -> Int)-(id _ :: Int,(+) :: Int -> Int -> Int)-(_ :: Bool,y :: Int)-(_ :: Bool,1 :: Int)-(_ :: Bool,id x :: Int)-(_ :: Bool,id 0 :: Int)-(_ :: Bool,id (id _) :: Int)-(_ :: Bool,negate _ :: Int)-(_ :: Bool,abs _ :: Int)-(_ :: Bool,_ + _ :: Int)-(_ :: Bool,head _ :: Int)-(_ :: Bool,ord _ :: Int)-(_ :: Bool,p :: Bool)-(_ :: Bool,False :: Bool)-(_ :: Bool,True :: Bool)-(_ :: Bool,not _ :: Bool)-(_ :: Bool,c :: Char)-(_ :: Bool,'a' :: Char)-(_ :: Bool,xs :: [Int])-(_ :: Bool,[] :: [Int])-(_ :: Bool,_:_ :: [Int])-(_ :: Bool,id :: Int -> Int)-(_ :: Bool,(+) :: Int -> Int -> Int)-(_ :: Char,y :: Int)-(_ :: Char,1 :: Int)-(_ :: Char,id x :: Int)-(_ :: Char,id 0 :: Int)-(_ :: Char,id (id _) :: Int)-(_ :: Char,negate _ :: Int)-(_ :: Char,abs _ :: Int)-(_ :: Char,_ + _ :: Int)-(_ :: Char,head _ :: Int)-(_ :: Char,ord _ :: Int)-(_ :: Char,p :: Bool)-(_ :: Char,False :: Bool)-(_ :: Char,True :: Bool)-(_ :: Char,not _ :: Bool)-(_ :: Char,c :: Char)-(_ :: Char,'a' :: Char)-(_ :: Char,xs :: [Int])-(_ :: Char,[] :: [Int])-(_ :: Char,_:_ :: [Int])-(_ :: Char,id :: Int -> Int)-(_ :: Char,(+) :: Int -> Int -> Int)-(_ :: [Int],y :: Int)-(_ :: [Int],1 :: Int)-(_ :: [Int],id x :: Int)-(_ :: [Int],id 0 :: Int)-(_ :: [Int],id (id _) :: Int)-(_ :: [Int],negate _ :: Int)-(_ :: [Int],abs _ :: Int)-(_ :: [Int],_ + _ :: Int)-(_ :: [Int],head _ :: Int)-(_ :: [Int],ord _ :: Int)-(_ :: [Int],p :: Bool)-(_ :: [Int],False :: Bool)-(_ :: [Int],True :: Bool)-(_ :: [Int],not _ :: Bool)-(_ :: [Int],c :: Char)-(_ :: [Int],'a' :: Char)-(_ :: [Int],xs :: [Int])-(_ :: [Int],[] :: [Int])-(_ :: [Int],_:_ :: [Int])-(_ :: [Int],id :: Int -> Int)-(_ :: [Int],(+) :: Int -> Int -> Int)-(y :: Int,x :: Int)-(y :: Int,0 :: Int)-(y :: Int,id _ :: Int)-(y :: Int,_ :: Bool)-(y :: Int,_ :: Char)-(y :: Int,_ :: [Int])-(1 :: Int,x :: Int)-(1 :: Int,0 :: Int)-(1 :: Int,id _ :: Int)-(1 :: Int,_ :: Bool)-(1 :: Int,_ :: Char)-(1 :: Int,_ :: [Int])-(id x :: Int,x :: Int)-(id x :: Int,0 :: Int)-(id x :: Int,id _ :: Int)-(id x :: Int,_ :: Bool)-(id x :: Int,_ :: Char)-(id x :: Int,_ :: [Int])-(id 0 :: Int,x :: Int)-(id 0 :: Int,0 :: Int)-(id 0 :: Int,id _ :: Int)-(id 0 :: Int,_ :: Bool)-(id 0 :: Int,_ :: Char)-(id 0 :: Int,_ :: [Int])-(id (id _) :: Int,x :: Int)-(id (id _) :: Int,0 :: Int)-(id (id _) :: Int,id _ :: Int)-(id (id _) :: Int,_ :: Bool)-(id (id _) :: Int,_ :: Char)-(id (id _) :: Int,_ :: [Int])-(negate _ :: Int,x :: Int)-(negate _ :: Int,0 :: Int)-(negate _ :: Int,id _ :: Int)-(negate _ :: Int,_ :: Bool)-(negate _ :: Int,_ :: Char)-(negate _ :: Int,_ :: [Int])-(abs _ :: Int,x :: Int)-(abs _ :: Int,0 :: Int)-(abs _ :: Int,id _ :: Int)-(abs _ :: Int,_ :: Bool)-(abs _ :: Int,_ :: Char)-(abs _ :: Int,_ :: [Int])-(_ + _ :: Int,x :: Int)-(_ + _ :: Int,0 :: Int)-(_ + _ :: Int,id _ :: Int)-(_ + _ :: Int,_ :: Bool)-(_ + _ :: Int,_ :: Char)-(_ + _ :: Int,_ :: [Int])-(head _ :: Int,x :: Int)-(head _ :: Int,0 :: Int)-(head _ :: Int,id _ :: Int)-(head _ :: Int,_ :: Bool)-(head _ :: Int,_ :: Char)-(head _ :: Int,_ :: [Int])-(ord _ :: Int,x :: Int)-(ord _ :: Int,0 :: Int)-(ord _ :: Int,id _ :: Int)-(ord _ :: Int,_ :: Bool)-(ord _ :: Int,_ :: Char)-(ord _ :: Int,_ :: [Int])-(p :: Bool,x :: Int)-(p :: Bool,0 :: Int)-(p :: Bool,id _ :: Int)-(p :: Bool,_ :: Bool)-(p :: Bool,_ :: Char)-(p :: Bool,_ :: [Int])-(False :: Bool,x :: Int)-(False :: Bool,0 :: Int)-(False :: Bool,id _ :: Int)-(False :: Bool,_ :: Bool)-(False :: Bool,_ :: Char)-(False :: Bool,_ :: [Int])-(True :: Bool,x :: Int)-(True :: Bool,0 :: Int)-(True :: Bool,id _ :: Int)-(True :: Bool,_ :: Bool)-(True :: Bool,_ :: Char)-(True :: Bool,_ :: [Int])-(not _ :: Bool,x :: Int)-(not _ :: Bool,0 :: Int)-(not _ :: Bool,id _ :: Int)-(not _ :: Bool,_ :: Bool)-(not _ :: Bool,_ :: Char)-(not _ :: Bool,_ :: [Int])-(c :: Char,x :: Int)-(c :: Char,0 :: Int)-(c :: Char,id _ :: Int)-(c :: Char,_ :: Bool)-(c :: Char,_ :: Char)-(c :: Char,_ :: [Int])-('a' :: Char,x :: Int)-('a' :: Char,0 :: Int)-('a' :: Char,id _ :: Int)-('a' :: Char,_ :: Bool)-('a' :: Char,_ :: Char)-('a' :: Char,_ :: [Int])-(xs :: [Int],x :: Int)-(xs :: [Int],0 :: Int)-(xs :: [Int],id _ :: Int)-(xs :: [Int],_ :: Bool)-(xs :: [Int],_ :: Char)-(xs :: [Int],_ :: [Int])-([] :: [Int],x :: Int)-([] :: [Int],0 :: Int)-([] :: [Int],id _ :: Int)-([] :: [Int],_ :: Bool)-([] :: [Int],_ :: Char)-([] :: [Int],_ :: [Int])-(_:_ :: [Int],x :: Int)-(_:_ :: [Int],0 :: Int)-(_:_ :: [Int],id _ :: Int)-(_:_ :: [Int],_ :: Bool)-(_:_ :: [Int],_ :: Char)-(_:_ :: [Int],_ :: [Int])-(id :: Int -> Int,x :: Int)-(id :: Int -> Int,0 :: Int)-(id :: Int -> Int,id _ :: Int)-(id :: Int -> Int,_ :: Bool)-(id :: Int -> Int,_ :: Char)-(id :: Int -> Int,_ :: [Int])-((+) :: Int -> Int -> Int,x :: Int)-((+) :: Int -> Int -> Int,0 :: Int)-((+) :: Int -> Int -> Int,id _ :: Int)-((+) :: Int -> Int -> Int,_ :: Bool)-((+) :: Int -> Int -> Int,_ :: Char)-((+) :: Int -> Int -> 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)-(id (id (id _)) :: Int,_ :: Int)-(id (negate _) :: Int,_ :: Int)-(id (abs _) :: Int,_ :: Int)-(id (_ + _) :: Int,_ :: Int)-(id (head _) :: Int,_ :: Int)-(id (ord _) :: Int,_ :: Int)-(negate x :: Int,_ :: Int)-(negate 0 :: Int,_ :: Int)-(negate (id _) :: Int,_ :: Int)-(abs x :: Int,_ :: Int)-(abs 0 :: Int,_ :: Int)-(abs (id _) :: Int,_ :: Int)-(_ + x :: Int,_ :: Int)-(_ + 0 :: Int,_ :: Int)-(_ + id _ :: Int,_ :: Int)-(x + _ :: Int,_ :: Int)-(0 + _ :: Int,_ :: Int)-(id _ + _ :: Int,_ :: Int)-(_ * _ :: Int,_ :: Int)-(f _ :: Int,_ :: Int)-(head xs :: Int,_ :: Int)-(head [] :: Int,_ :: Int)-(head (_:_) :: Int,_ :: Int)-(ord c :: Int,_ :: Int)-(ord 'a' :: Int,_ :: Int)-(q :: Bool,_ :: Int)-(not p :: Bool,_ :: Int)-(not False :: Bool,_ :: Int)-(not True :: Bool,_ :: Int)-(not (not _) :: Bool,_ :: Int)-(_ || _ :: Bool,_ :: Int)-(d :: Char,_ :: Int)-(' ' :: Char,_ :: Int)-(ys :: [Int],_ :: Int)-([0] :: [Int],_ :: Int)-(_:xs :: [Int],_ :: Int)-([_] :: [Int],_ :: Int)-(_:_:_ :: [Int],_ :: Int)-(x:_ :: [Int],_ :: Int)-(0:_ :: [Int],_ :: Int)-(id _:_ :: [Int],_ :: Int)-(tail _ :: [Int],_ :: Int)-(_ ++ _ :: [Int],_ :: Int)-(negate :: Int -> Int,_ :: Int)-(abs :: Int -> Int,_ :: Int)-((_ +) :: Int -> Int,_ :: Int)-((*) :: Int -> Int -> Int,_ :: Int)-(not :: Bool -> Bool,_ :: Int)-((||) :: Bool -> Bool -> Bool,_ :: Int)-(_ :: 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 (id (id (id _))) :: Int)-(_ :: Int,id (id (negate _)) :: Int)-(_ :: Int,id (id (abs _)) :: Int)-(_ :: Int,id (id (_ + _)) :: Int)-(_ :: Int,id (id (head _)) :: Int)-(_ :: Int,id (id (ord _)) :: Int)-(_ :: Int,id (negate x) :: Int)-(_ :: Int,id (negate 0) :: Int)-(_ :: Int,id (negate (id _)) :: Int)-(_ :: Int,id (abs x) :: Int)-(_ :: Int,id (abs 0) :: Int)-(_ :: Int,id (abs (id _)) :: Int)-(_ :: Int,id (_ + x) :: Int)-(_ :: Int,id (_ + 0) :: Int)-(_ :: Int,id (_ + id _) :: Int)-(_ :: Int,id (x + _) :: Int)-(_ :: Int,id (0 + _) :: Int)-(_ :: Int,id (id _ + _) :: Int)-(_ :: Int,id (_ * _) :: Int)-(_ :: Int,id (f _) :: Int)-(_ :: Int,id (head xs) :: Int)-(_ :: Int,id (head []) :: 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,negate (id (id _)) :: Int)-(_ :: Int,negate (negate _) :: Int)-(_ :: Int,negate (abs _) :: Int)-(_ :: Int,negate (_ + _) :: Int)-(_ :: Int,negate (head _) :: Int)-(_ :: Int,negate (ord _) :: Int)-(_ :: Int,abs y :: Int)-(_ :: Int,abs 1 :: Int)-(_ :: Int,abs (id x) :: Int)-(_ :: Int,abs (id 0) :: Int)-(_ :: Int,abs (id (id _)) :: Int)-(_ :: Int,abs (negate _) :: Int)-(_ :: Int,abs (abs _) :: Int)-(_ :: Int,abs (_ + _) :: Int)-(_ :: Int,abs (head _) :: Int)-(_ :: Int,abs (ord _) :: Int)-(_ :: Int,_ + y :: Int)-(_ :: Int,_ + 1 :: Int)-(_ :: Int,_ + id x :: Int)-(_ :: Int,_ + id 0 :: Int)-(_ :: Int,_ + id (id _) :: Int)-(_ :: Int,_ + negate _ :: Int)-(_ :: Int,_ + abs _ :: Int)-(_ :: Int,_ + (_ + _) :: Int)-(_ :: Int,_ + head _ :: Int)-(_ :: Int,_ + ord _ :: Int)-(_ :: Int,x + x :: Int)-(_ :: Int,x + 0 :: Int)-(_ :: Int,x + id _ :: Int)-(_ :: Int,0 + x :: Int)-(_ :: Int,0 + 0 :: Int)-(_ :: Int,0 + id _ :: Int)-(_ :: Int,id _ + x :: Int)-(_ :: Int,id _ + 0 :: Int)-(_ :: Int,id _ + id _ :: Int)-(_ :: Int,_ * x :: Int)-(_ :: Int,_ * 0 :: Int)-(_ :: Int,_ * id _ :: Int)-(_ :: Int,f x :: Int)-(_ :: Int,f 0 :: Int)-(_ :: Int,f (id _) :: Int)-(_ :: Int,y + _ :: Int)-(_ :: Int,1 + _ :: Int)-(_ :: Int,id x + _ :: Int)-(_ :: Int,id 0 + _ :: Int)-(_ :: Int,id (id _) + _ :: Int)-(_ :: Int,negate _ + _ :: Int)-(_ :: Int,abs _ + _ :: Int)-(_ :: Int,(_ + _) + _ :: Int)-(_ :: Int,head _ + _ :: Int)-(_ :: Int,ord _ + _ :: Int)-(_ :: Int,x * _ :: Int)-(_ :: Int,0 * _ :: Int)-(_ :: Int,id _ * _ :: Int)-(_ :: Int,g _ :: Int)-(_ :: Int,head ys :: Int)-(_ :: Int,head [0] :: Int)-(_ :: Int,head (_:xs) :: Int)-(_ :: Int,head [_] :: Int)-(_ :: Int,head (_:_:_) :: Int)-(_ :: Int,head (x:_) :: Int)-(_ :: Int,head (0:_) :: Int)-(_ :: Int,head (id _:_) :: Int)-(_ :: Int,head (tail _) :: Int)-(_ :: Int,head (_ ++ _) :: Int)-(_ :: Int,ord d :: Int)-(_ :: Int,ord ' ' :: Int)-(_ :: Int,r :: Bool)-(_ :: Int,not q :: Bool)-(_ :: Int,not (not p) :: Bool)-(_ :: Int,not (not False) :: Bool)-(_ :: Int,not (not True) :: Bool)-(_ :: Int,not (not (not _)) :: Bool)-(_ :: Int,not (_ || _) :: Bool)-(_ :: Int,_ || p :: Bool)-(_ :: Int,_ || False :: Bool)-(_ :: Int,_ || True :: Bool)-(_ :: Int,_ || not _ :: Bool)-(_ :: Int,p || _ :: Bool)-(_ :: Int,False || _ :: Bool)-(_ :: Int,True || _ :: Bool)-(_ :: Int,not _ || _ :: Bool)-(_ :: Int,_ && _ :: Bool)-(_ :: Int,_ == _ :: Bool)-(_ :: Int,_ == _ :: Bool)-(_ :: Int,odd _ :: Bool)-(_ :: Int,even _ :: Bool)-(_ :: Int,elem _ _ :: Bool)-(_ :: Int,e :: Char)-(_ :: Int,'b' :: Char)-(_ :: Int,zs :: [Int])-(_ :: Int,[0,0] :: [Int])-(_ :: Int,[1] :: [Int])-(_ :: Int,_:ys :: [Int])-(_ :: Int,[_,0] :: [Int])-(_ :: Int,_:_:xs :: [Int])-(_ :: Int,[_,_] :: [Int])-(_ :: Int,_:_:_:_ :: [Int])-(_ :: Int,_:x:_ :: [Int])-(_ :: Int,_:0:_ :: [Int])-(_ :: Int,_:id _:_ :: [Int])-(_ :: Int,_:tail _ :: [Int])-(_ :: Int,_:(_ ++ _) :: [Int])-(_ :: Int,x:xs :: [Int])-(_ :: Int,[x] :: [Int])-(_ :: Int,x:_:_ :: [Int])-(_ :: Int,0:xs :: [Int])-(_ :: Int,[0] :: [Int])-(_ :: Int,0:_:_ :: [Int])-(_ :: Int,id _:xs :: [Int])-(_ :: Int,[id _] :: [Int])-(_ :: Int,id _:_:_ :: [Int])-(_ :: Int,y:_ :: [Int])-(_ :: Int,1:_ :: [Int])-(_ :: Int,id x:_ :: [Int])-(_ :: Int,id 0:_ :: [Int])-(_ :: Int,id (id _):_ :: [Int])-(_ :: Int,negate _:_ :: [Int])-(_ :: Int,abs _:_ :: [Int])-(_ :: Int,_ + _:_ :: [Int])-(_ :: Int,head _:_ :: [Int])-(_ :: Int,ord _:_ :: [Int])-(_ :: Int,tail xs :: [Int])-(_ :: Int,tail [] :: [Int])-(_ :: Int,tail (_:_) :: [Int])-(_ :: Int,_ ++ xs :: [Int])-(_ :: Int,_ ++ [] :: [Int])-(_ :: Int,_ ++ (_:_) :: [Int])-(_ :: Int,xs ++ _ :: [Int])-(_ :: Int,[] ++ _ :: [Int])-(_ :: Int,(_:_) ++ _ :: [Int])-(_ :: Int,sort _ :: [Int])-(_ :: Int,insert _ _ :: [Int])-(_ :: Int,(x +) :: Int -> Int)-(_ :: Int,(0 +) :: Int -> Int)-(_ :: Int,(id _ +) :: Int -> Int)-(_ :: Int,(_ *) :: Int -> Int)-(_ :: Int,f :: Int -> Int)-(_ :: Int,(_ ||) :: Bool -> Bool)-(_ :: Int,(&&) :: Bool -> Bool -> Bool)-(x :: Int,z :: Int)-(x :: Int,-1 :: Int)-(x :: Int,id y :: Int)-(x :: Int,id 1 :: Int)-(x :: Int,id (id x) :: Int)-(x :: Int,id (id 0) :: Int)-(x :: Int,id (id (id _)) :: Int)-(x :: Int,id (negate _) :: Int)-(x :: Int,id (abs _) :: Int)-(x :: Int,id (_ + _) :: Int)-(x :: Int,id (head _) :: Int)-(x :: Int,id (ord _) :: Int)-(x :: Int,negate x :: Int)-(x :: Int,negate 0 :: Int)-(x :: Int,negate (id _) :: Int)-(x :: Int,abs x :: Int)-(x :: Int,abs 0 :: Int)-(x :: Int,abs (id _) :: Int)-(x :: Int,_ + x :: Int)-(x :: Int,_ + 0 :: Int)-(x :: Int,_ + id _ :: Int)-(x :: Int,x + _ :: Int)-(x :: Int,0 + _ :: Int)-(x :: Int,id _ + _ :: Int)-(x :: Int,_ * _ :: Int)-(x :: Int,f _ :: Int)-(x :: Int,head xs :: Int)-(x :: Int,head [] :: Int)-(x :: Int,head (_:_) :: Int)-(x :: Int,ord c :: Int)-(x :: Int,ord 'a' :: Int)-(x :: Int,q :: Bool)-(x :: Int,not p :: Bool)-(x :: Int,not False :: Bool)-(x :: Int,not True :: Bool)-(x :: Int,not (not _) :: Bool)-(x :: Int,_ || _ :: Bool)-(x :: Int,d :: Char)-(x :: Int,' ' :: Char)-(x :: Int,ys :: [Int])-(x :: Int,[0] :: [Int])-(x :: Int,_:xs :: [Int])-(x :: Int,[_] :: [Int])-(x :: Int,_:_:_ :: [Int])-(x :: Int,x:_ :: [Int])-(x :: Int,0:_ :: [Int])-(x :: Int,id _:_ :: [Int])-(x :: Int,tail _ :: [Int])-(x :: Int,_ ++ _ :: [Int])-(x :: Int,negate :: Int -> Int)-(x :: Int,abs :: Int -> Int)-(x :: Int,(_ +) :: Int -> Int)-(x :: Int,(*) :: Int -> Int -> Int)-(x :: Int,not :: Bool -> Bool)-(x :: Int,(||) :: Bool -> Bool -> Bool)-(0 :: Int,z :: Int)-(0 :: Int,-1 :: Int)-(0 :: Int,id y :: Int)-(0 :: Int,id 1 :: Int)-(0 :: Int,id (id x) :: Int)-(0 :: Int,id (id 0) :: Int)-(0 :: Int,id (id (id _)) :: Int)-(0 :: Int,id (negate _) :: Int)-(0 :: Int,id (abs _) :: Int)-(0 :: Int,id (_ + _) :: Int)-(0 :: Int,id (head _) :: Int)-(0 :: Int,id (ord _) :: Int)-(0 :: Int,negate x :: Int)-(0 :: Int,negate 0 :: Int)-(0 :: Int,negate (id _) :: Int)-(0 :: Int,abs x :: Int)-(0 :: Int,abs 0 :: Int)-(0 :: Int,abs (id _) :: Int)-(0 :: Int,_ + x :: Int)-(0 :: Int,_ + 0 :: Int)-(0 :: Int,_ + id _ :: Int)-(0 :: Int,x + _ :: Int)-(0 :: Int,0 + _ :: Int)-(0 :: Int,id _ + _ :: Int)-(0 :: Int,_ * _ :: Int)-(0 :: Int,f _ :: Int)-(0 :: Int,head xs :: Int)-(0 :: Int,head [] :: Int)-(0 :: Int,head (_:_) :: Int)-(0 :: Int,ord c :: Int)-(0 :: Int,ord 'a' :: Int)-(0 :: Int,q :: Bool)-(0 :: Int,not p :: Bool)-(0 :: Int,not False :: Bool)-(0 :: Int,not True :: Bool)-(0 :: Int,not (not _) :: Bool)-(0 :: Int,_ || _ :: Bool)-(0 :: Int,d :: Char)-(0 :: Int,' ' :: Char)-(0 :: Int,ys :: [Int])-(0 :: Int,[0] :: [Int])-(0 :: Int,_:xs :: [Int])-(0 :: Int,[_] :: [Int])-(0 :: Int,_:_:_ :: [Int])-(0 :: Int,x:_ :: [Int])-(0 :: Int,0:_ :: [Int])-(0 :: Int,id _:_ :: [Int])-(0 :: Int,tail _ :: [Int])-(0 :: Int,_ ++ _ :: [Int])-(0 :: Int,negate :: Int -> Int)-(0 :: Int,abs :: Int -> Int)-(0 :: Int,(_ +) :: Int -> Int)-(0 :: Int,(*) :: Int -> Int -> Int)-(0 :: Int,not :: Bool -> Bool)-(0 :: Int,(||) :: Bool -> Bool -> Bool)-(id _ :: Int,z :: Int)-(id _ :: Int,-1 :: Int)-(id _ :: Int,id y :: Int)-(id _ :: Int,id 1 :: Int)-(id _ :: Int,id (id x) :: Int)-(id _ :: Int,id (id 0) :: Int)-(id _ :: Int,id (id (id _)) :: Int)-(id _ :: Int,id (negate _) :: Int)-(id _ :: Int,id (abs _) :: Int)-(id _ :: Int,id (_ + _) :: Int)-(id _ :: Int,id (head _) :: Int)-(id _ :: Int,id (ord _) :: Int)-(id _ :: Int,negate x :: Int)-(id _ :: Int,negate 0 :: Int)-(id _ :: Int,negate (id _) :: Int)-(id _ :: Int,abs x :: Int)-(id _ :: Int,abs 0 :: Int)-(id _ :: Int,abs (id _) :: Int)-(id _ :: Int,_ + x :: Int)-(id _ :: Int,_ + 0 :: Int)-(id _ :: Int,_ + id _ :: Int)-(id _ :: Int,x + _ :: Int)-(id _ :: Int,0 + _ :: Int)-(id _ :: Int,id _ + _ :: Int)-(id _ :: Int,_ * _ :: Int)-(id _ :: Int,f _ :: Int)-(id _ :: Int,head xs :: Int)-(id _ :: Int,head [] :: Int)-(id _ :: Int,head (_:_) :: Int)-(id _ :: Int,ord c :: Int)-(id _ :: Int,ord 'a' :: Int)-(id _ :: Int,q :: Bool)-(id _ :: Int,not p :: Bool)-(id _ :: Int,not False :: Bool)-(id _ :: Int,not True :: Bool)-(id _ :: Int,not (not _) :: Bool)-(id _ :: Int,_ || _ :: Bool)-(id _ :: Int,d :: Char)-(id _ :: Int,' ' :: Char)-(id _ :: Int,ys :: [Int])-(id _ :: Int,[0] :: [Int])-(id _ :: Int,_:xs :: [Int])-(id _ :: Int,[_] :: [Int])-(id _ :: Int,_:_:_ :: [Int])-(id _ :: Int,x:_ :: [Int])-(id _ :: Int,0:_ :: [Int])-(id _ :: Int,id _:_ :: [Int])-(id _ :: Int,tail _ :: [Int])-(id _ :: Int,_ ++ _ :: [Int])-(id _ :: Int,negate :: Int -> Int)-(id _ :: Int,abs :: Int -> Int)-(id _ :: Int,(_ +) :: Int -> Int)-(id _ :: Int,(*) :: Int -> Int -> Int)-(id _ :: Int,not :: Bool -> Bool)-(id _ :: Int,(||) :: Bool -> Bool -> Bool)-(_ :: Bool,z :: Int)-(_ :: Bool,-1 :: Int)-(_ :: Bool,id y :: Int)-(_ :: Bool,id 1 :: Int)-(_ :: Bool,id (id x) :: Int)-(_ :: Bool,id (id 0) :: Int)-(_ :: Bool,id (id (id _)) :: Int)-(_ :: Bool,id (negate _) :: Int)-(_ :: Bool,id (abs _) :: Int)-(_ :: Bool,id (_ + _) :: Int)-(_ :: Bool,id (head _) :: Int)-(_ :: Bool,id (ord _) :: Int)-(_ :: Bool,negate x :: Int)-(_ :: Bool,negate 0 :: Int)-(_ :: Bool,negate (id _) :: Int)-(_ :: Bool,abs x :: Int)-(_ :: Bool,abs 0 :: Int)-(_ :: Bool,abs (id _) :: Int)-(_ :: Bool,_ + x :: Int)-(_ :: Bool,_ + 0 :: Int)-(_ :: Bool,_ + id _ :: Int)-(_ :: Bool,x + _ :: Int)-(_ :: Bool,0 + _ :: Int)-(_ :: Bool,id _ + _ :: Int)-(_ :: Bool,_ * _ :: Int)-(_ :: Bool,f _ :: Int)-(_ :: Bool,head xs :: Int)-(_ :: Bool,head [] :: Int)-(_ :: Bool,head (_:_) :: Int)-(_ :: Bool,ord c :: Int)-(_ :: Bool,ord 'a' :: Int)-(_ :: Bool,q :: Bool)-(_ :: Bool,not p :: Bool)-(_ :: Bool,not False :: Bool)-(_ :: Bool,not True :: Bool)-(_ :: Bool,not (not _) :: Bool)-(_ :: Bool,_ || _ :: Bool)-(_ :: Bool,d :: Char)-(_ :: Bool,' ' :: Char)-(_ :: Bool,ys :: [Int])-(_ :: Bool,[0] :: [Int])-(_ :: Bool,_:xs :: [Int])-(_ :: Bool,[_] :: [Int])-(_ :: Bool,_:_:_ :: [Int])-(_ :: Bool,x:_ :: [Int])-(_ :: Bool,0:_ :: [Int])-(_ :: Bool,id _:_ :: [Int])-(_ :: Bool,tail _ :: [Int])-(_ :: Bool,_ ++ _ :: [Int])-(_ :: Bool,negate :: Int -> Int)-(_ :: Bool,abs :: Int -> Int)-(_ :: Bool,(_ +) :: Int -> Int)-(_ :: Bool,(*) :: Int -> Int -> Int)-(_ :: Bool,not :: Bool -> Bool)-(_ :: Bool,(||) :: Bool -> Bool -> Bool)-(_ :: Char,z :: Int)-(_ :: Char,-1 :: Int)-(_ :: Char,id y :: Int)-(_ :: Char,id 1 :: Int)-(_ :: Char,id (id x) :: Int)-(_ :: Char,id (id 0) :: Int)-(_ :: Char,id (id (id _)) :: Int)-(_ :: Char,id (negate _) :: Int)-(_ :: Char,id (abs _) :: Int)-(_ :: Char,id (_ + _) :: Int)-(_ :: Char,id (head _) :: Int)-(_ :: Char,id (ord _) :: Int)-(_ :: Char,negate x :: Int)-(_ :: Char,negate 0 :: Int)-(_ :: Char,negate (id _) :: Int)-(_ :: Char,abs x :: Int)-(_ :: Char,abs 0 :: Int)-(_ :: Char,abs (id _) :: Int)-(_ :: Char,_ + x :: Int)-(_ :: Char,_ + 0 :: Int)-(_ :: Char,_ + id _ :: Int)-(_ :: Char,x + _ :: Int)-(_ :: Char,0 + _ :: Int)-(_ :: Char,id _ + _ :: Int)-(_ :: Char,_ * _ :: Int)-(_ :: Char,f _ :: Int)-(_ :: Char,head xs :: Int)-(_ :: Char,head [] :: Int)-(_ :: Char,head (_:_) :: Int)-(_ :: Char,ord c :: Int)-(_ :: Char,ord 'a' :: Int)-(_ :: Char,q :: Bool)-(_ :: Char,not p :: Bool)-(_ :: Char,not False :: Bool)-(_ :: Char,not True :: Bool)-(_ :: Char,not (not _) :: Bool)-(_ :: Char,_ || _ :: Bool)-(_ :: Char,d :: Char)-(_ :: Char,' ' :: Char)-(_ :: Char,ys :: [Int])-(_ :: Char,[0] :: [Int])-(_ :: Char,_:xs :: [Int])-(_ :: Char,[_] :: [Int])-(_ :: Char,_:_:_ :: [Int])-(_ :: Char,x:_ :: [Int])-(_ :: Char,0:_ :: [Int])-(_ :: Char,id _:_ :: [Int])-(_ :: Char,tail _ :: [Int])-(_ :: Char,_ ++ _ :: [Int])-(_ :: Char,negate :: Int -> Int)-(_ :: Char,abs :: Int -> Int)-(_ :: Char,(_ +) :: Int -> Int)-(_ :: Char,(*) :: Int -> Int -> Int)-(_ :: Char,not :: Bool -> Bool)-(_ :: Char,(||) :: Bool -> Bool -> Bool)-(_ :: [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],id (id (id _)) :: Int)-(_ :: [Int],id (negate _) :: Int)-(_ :: [Int],id (abs _) :: Int)-(_ :: [Int],id (_ + _) :: Int)-(_ :: [Int],id (head _) :: Int)-(_ :: [Int],id (ord _) :: Int)-(_ :: [Int],negate x :: Int)-(_ :: [Int],negate 0 :: Int)-(_ :: [Int],negate (id _) :: Int)-(_ :: [Int],abs x :: Int)-(_ :: [Int],abs 0 :: Int)-(_ :: [Int],abs (id _) :: Int)-(_ :: [Int],_ + x :: Int)-(_ :: [Int],_ + 0 :: Int)-(_ :: [Int],_ + id _ :: Int)-(_ :: [Int],x + _ :: Int)-(_ :: [Int],0 + _ :: Int)-(_ :: [Int],id _ + _ :: Int)-(_ :: [Int],_ * _ :: Int)-(_ :: [Int],f _ :: Int)-(_ :: [Int],head xs :: Int)-(_ :: [Int],head [] :: Int)-(_ :: [Int],head (_:_) :: Int)-(_ :: [Int],ord c :: Int)-(_ :: [Int],ord 'a' :: Int)-(_ :: [Int],q :: Bool)-(_ :: [Int],not p :: Bool)-(_ :: [Int],not False :: Bool)-(_ :: [Int],not True :: Bool)-(_ :: [Int],not (not _) :: Bool)-(_ :: [Int],_ || _ :: Bool)-(_ :: [Int],d :: Char)-(_ :: [Int],' ' :: Char)-(_ :: [Int],ys :: [Int])-(_ :: [Int],[0] :: [Int])-(_ :: [Int],_:xs :: [Int])-(_ :: [Int],[_] :: [Int])-(_ :: [Int],_:_:_ :: [Int])-(_ :: [Int],x:_ :: [Int])-(_ :: [Int],0:_ :: [Int])-(_ :: [Int],id _:_ :: [Int])-(_ :: [Int],tail _ :: [Int])-(_ :: [Int],_ ++ _ :: [Int])-(_ :: [Int],negate :: Int -> Int)-(_ :: [Int],abs :: Int -> Int)-(_ :: [Int],(_ +) :: Int -> Int)-(_ :: [Int],(*) :: Int -> Int -> Int)-(_ :: [Int],not :: Bool -> Bool)-(_ :: [Int],(||) :: Bool -> Bool -> Bool)-(y :: Int,y :: Int)-(y :: Int,1 :: Int)-(y :: Int,id x :: Int)-(y :: Int,id 0 :: Int)-(y :: Int,id (id _) :: Int)-(y :: Int,negate _ :: Int)-(y :: Int,abs _ :: Int)-(y :: Int,_ + _ :: Int)-(y :: Int,head _ :: Int)-(y :: Int,ord _ :: Int)-(y :: Int,p :: Bool)-(y :: Int,False :: Bool)-(y :: Int,True :: Bool)-(y :: Int,not _ :: Bool)-(y :: Int,c :: Char)-(y :: Int,'a' :: Char)-(y :: Int,xs :: [Int])-(y :: Int,[] :: [Int])-(y :: Int,_:_ :: [Int])-(y :: Int,id :: Int -> Int)-(y :: Int,(+) :: Int -> Int -> Int)-(1 :: Int,y :: Int)-(1 :: Int,1 :: Int)-(1 :: Int,id x :: Int)-(1 :: Int,id 0 :: Int)-(1 :: Int,id (id _) :: Int)-(1 :: Int,negate _ :: Int)-(1 :: Int,abs _ :: Int)-(1 :: Int,_ + _ :: Int)-(1 :: Int,head _ :: Int)-(1 :: Int,ord _ :: Int)-(1 :: Int,p :: Bool)-(1 :: Int,False :: Bool)-(1 :: Int,True :: Bool)-(1 :: Int,not _ :: Bool)-(1 :: Int,c :: Char)-(1 :: Int,'a' :: Char)-(1 :: Int,xs :: [Int])-(1 :: Int,[] :: [Int])-(1 :: Int,_:_ :: [Int])-
− test/model/bench/sort.out
@@ -1,15129 +0,0 @@-sort $ take 5040 $ list :: [ Expr ] =- [ _ :: Bool- , p :: Bool- , q :: Bool- , r :: Bool- , p' :: Bool- , q' :: Bool- , _ :: Char- , c :: Char- , d :: Char- , e :: Char- , c' :: Char- , d' :: Char- , _ :: Int- , x :: Int- , y :: Int- , z :: Int- , x' :: Int- , y' :: Int- , z' :: Int- , x'' :: Int- , _ :: [Int]- , xs :: [Int]- , ys :: [Int]- , zs :: [Int]- , xs' :: [Int]- , ys' :: [Int]- , f :: Int -> Int- , g :: Int -> Int- , h :: Int -> Int- , False :: Bool- , True :: Bool- , ' ' :: Char- , 'A' :: Char- , 'a' :: Char- , 'b' :: Char- , 'c' :: Char- , 0 :: Int- , 1 :: Int- , 2 :: Int- , 3 :: Int- , -1 :: Int- , -2 :: Int- , -3 :: Int- , [] :: [Int]- , [0] :: [Int]- , [1] :: [Int]- , [2] :: [Int]- , [-1] :: [Int]- , [0,0] :: [Int]- , [0,1] :: [Int]- , [1,0] :: [Int]- , [1,1] :: [Int]- , [-1,0] :: [Int]- , [0,-1] :: [Int]- , [0,0,0] :: [Int]- , [0,0,1] :: [Int]- , [0,1,0] :: [Int]- , [1,0,0] :: [Int]- , [0,0,0,0] :: [Int]- , not :: Bool -> Bool- , id :: Int -> Int- , abs :: Int -> Int- , negate :: Int -> Int- , (&&) :: Bool -> Bool -> Bool- , (||) :: Bool -> Bool -> Bool- , (==>) :: Bool -> Bool -> Bool- , (*) :: Int -> Int -> Int- , (+) :: Int -> Int -> Int- , f _ :: Int- , f x :: Int- , f y :: Int- , f z :: Int- , g _ :: Int- , g x :: Int- , g y :: Int- , h _ :: Int- , h x :: Int- , f' _ :: Int- , f 0 :: Int- , f 1 :: Int- , f (-1) :: Int- , g 0 :: Int- , g 1 :: Int- , h 0 :: Int- , not _ :: Bool- , not p :: Bool- , not q :: Bool- , not r :: Bool- , not p' :: Bool- , ord _ :: Int- , ord c :: Int- , ord d :: Int- , ord e :: Int- , ord c' :: Int- , odd _ :: Bool- , odd x :: Bool- , odd y :: Bool- , even _ :: Bool- , even x :: Bool- , even y :: Bool- , id _ :: Int- , id x :: Int- , id y :: Int- , id z :: Int- , id x' :: Int- , id y' :: Int- , id z' :: Int- , abs _ :: Int- , abs x :: Int- , abs y :: Int- , abs z :: Int- , abs x' :: Int- , negate _ :: Int- , negate x :: Int- , negate y :: Int- , negate z :: Int- , negate x' :: Int- , head _ :: Int- , head xs :: Int- , head ys :: Int- , head zs :: Int- , head xs' :: Int- , sort _ :: [Int]- , sort xs :: [Int]- , sort ys :: [Int]- , tail _ :: [Int]- , tail xs :: [Int]- , tail ys :: [Int]- , tail zs :: [Int]- , (_ &&) :: Bool -> Bool- , (p &&) :: Bool -> Bool- , (_ ||) :: Bool -> Bool- , (p ||) :: Bool -> Bool- , (q ||) :: Bool -> Bool- , (_ ==>) :: Bool -> Bool- , (_ *) :: Int -> Int- , (x *) :: Int -> Int- , (y *) :: Int -> Int- , (_ +) :: Int -> Int- , (x +) :: Int -> Int- , (y +) :: Int -> Int- , (z +) :: Int -> Int- , not False :: Bool- , not True :: Bool- , ord ' ' :: Int- , ord 'A' :: Int- , ord 'a' :: Int- , ord 'b' :: Int- , odd 0 :: Bool- , odd 1 :: Bool- , even 0 :: Bool- , even 1 :: Bool- , id 0 :: Int- , id 1 :: Int- , id 2 :: Int- , id 3 :: Int- , id (-1) :: Int- , id (-2) :: Int- , abs 0 :: Int- , abs 1 :: Int- , abs 2 :: Int- , abs (-1) :: Int- , negate 0 :: Int- , negate 1 :: Int- , negate 2 :: Int- , negate (-1) :: Int- , head [] :: Int- , head [0] :: Int- , head [1] :: Int- , head [-1] :: Int- , head [0,0] :: Int- , head [0,1] :: Int- , head [1,0] :: Int- , head [0,0,0] :: Int- , sort [] :: [Int]- , sort [0] :: [Int]- , tail [] :: [Int]- , tail [0] :: [Int]- , tail [1] :: [Int]- , tail [0,0] :: [Int]- , (False &&) :: Bool -> Bool- , (True &&) :: Bool -> Bool- , (False ||) :: Bool -> Bool- , (True ||) :: Bool -> Bool- , (0 *) :: Int -> Int- , (1 *) :: Int -> Int- , (0 +) :: Int -> Int- , (1 +) :: Int -> Int- , ((-1) +) :: Int -> Int- , f (f _) :: Int- , f (ord _) :: Int- , f (ord c) :: Int- , f (id _) :: Int- , f (id x) :: Int- , f (id y) :: Int- , f (abs _) :: Int- , f (abs x) :: Int- , f (negate _) :: Int- , f (negate x) :: Int- , f (head _) :: Int- , f (head xs) :: Int- , g (ord _) :: Int- , g (id _) :: Int- , g (id x) :: Int- , g (abs _) :: Int- , g (negate _) :: Int- , g (head _) :: Int- , h (id _) :: Int- , id (f _) :: Int- , id (f x) :: Int- , id (f y) :: Int- , id (f z) :: Int- , id (g _) :: Int- , id (g x) :: Int- , id (g y) :: Int- , id (h _) :: Int- , id (h x) :: Int- , id (f' _) :: Int- , abs (f _) :: Int- , abs (f x) :: Int- , abs (g _) :: Int- , negate (f _) :: Int- , negate (f x) :: Int- , negate (g _) :: Int- , (f _ +) :: Int -> Int- , _ && p :: Bool- , _ && q :: Bool- , p && _ :: Bool- , q && _ :: Bool- , _ <= p :: Bool- , p <= _ :: Bool- , _ == p :: Bool- , _ == q :: Bool- , p == _ :: Bool- , q == _ :: Bool- , _ || p :: Bool- , _ || q :: Bool- , _ || r :: Bool- , p || _ :: Bool- , p || q :: Bool- , q || _ :: Bool- , q || p :: Bool- , r || _ :: Bool- , _ ==> p :: Bool- , p ==> _ :: Bool- , _ <= x :: Bool- , x <= _ :: Bool- , _ == x :: Bool- , _ == y :: Bool- , x == _ :: Bool- , y == _ :: Bool- , _ * x :: Int- , _ * y :: Int- , _ * z :: Int- , x * _ :: Int- , x * y :: Int- , y * _ :: Int- , y * x :: Int- , z * _ :: Int- , _ + x :: Int- , _ + y :: Int- , _ + z :: Int- , _ + x' :: Int- , x + _ :: Int- , x + y :: Int- , x + z :: Int- , y + _ :: Int- , y + x :: Int- , z + _ :: Int- , z + x :: Int- , x' + _ :: Int- , elem _ _ :: Bool- , elem _ xs :: Bool- , elem _ ys :: Bool- , elem x _ :: Bool- , elem x xs :: Bool- , elem y _ :: Bool- , _:_ :: [Int]- , _:xs :: [Int]- , _:ys :: [Int]- , _:zs :: [Int]- , _:xs' :: [Int]- , x:_ :: [Int]- , x:xs :: [Int]- , x:ys :: [Int]- , x:zs :: [Int]- , y:_ :: [Int]- , y:xs :: [Int]- , y:ys :: [Int]- , z:_ :: [Int]- , z:xs :: [Int]- , x':_ :: [Int]- , insert _ _ :: [Int]- , insert _ xs :: [Int]- , insert _ ys :: [Int]- , insert x _ :: [Int]- , insert x xs :: [Int]- , insert y _ :: [Int]- , _ ++ xs :: [Int]- , _ ++ ys :: [Int]- , _ ++ zs :: [Int]- , xs ++ _ :: [Int]- , xs ++ ys :: [Int]- , ys ++ _ :: [Int]- , ys ++ xs :: [Int]- , zs ++ _ :: [Int]- , _ < _ :: Bool- , _ && _ :: Bool- , p && p :: Bool- , _ <= _ :: Bool- , _ == _ :: Bool- , p == p :: Bool- , _ || _ :: Bool- , p || p :: Bool- , _ ==> _ :: Bool- , _ < _ :: Bool- , _ <= _ :: Bool- , _ == _ :: Bool- , x == x :: Bool- , _ * _ :: Int- , x * x :: Int- , _ + _ :: Int- , x + x :: Int- , y + y :: Int- , _ ++ _ :: [Int]- , xs ++ xs :: [Int]- , not (not _) :: Bool- , not (not p) :: Bool- , not (not q) :: Bool- , not (not r) :: Bool- , id (id _) :: Int- , id (id x) :: Int- , id (id y) :: Int- , id (id z) :: Int- , id (id x') :: Int- , id (id y') :: Int- , abs (abs _) :: Int- , abs (abs x) :: Int- , abs (abs y) :: Int- , negate (negate _) :: Int- , negate (negate x) :: Int- , negate (negate y) :: Int- , tail (tail _) :: [Int]- , tail (tail xs) :: [Int]- , f (ord 'a') :: Int- , f (id 0) :: Int- , f (id 1) :: Int- , f (abs 0) :: Int- , f (negate 0) :: Int- , f (head []) :: Int- , g (id 0) :: Int- , not (odd _) :: Bool- , not (odd x) :: Bool- , not (even _) :: Bool- , not (even x) :: Bool- , odd (ord _) :: Bool- , odd (id _) :: Bool- , odd (id x) :: Bool- , odd (abs _) :: Bool- , odd (negate _) :: Bool- , odd (head _) :: Bool- , even (ord _) :: Bool- , even (id _) :: Bool- , even (id x) :: Bool- , even (abs _) :: Bool- , even (negate _) :: Bool- , even (head _) :: Bool- , id (f 0) :: Int- , id (f 1) :: Int- , id (f (-1)) :: Int- , id (g 0) :: Int- , id (g 1) :: Int- , id (h 0) :: Int- , id (ord _) :: Int- , id (ord c) :: Int- , id (ord d) :: Int- , id (ord e) :: Int- , id (abs _) :: Int- , id (abs x) :: Int- , id (abs y) :: Int- , id (abs z) :: Int- , id (abs x') :: Int- , id (negate _) :: Int- , id (negate x) :: Int- , id (negate y) :: Int- , id (negate z) :: Int- , id (negate x') :: Int- , id (head _) :: Int- , id (head xs) :: Int- , id (head ys) :: Int- , id (head zs) :: Int- , id (head xs') :: Int- , abs (f 0) :: Int- , abs (ord _) :: Int- , abs (ord c) :: Int- , abs (ord d) :: Int- , abs (id _) :: Int- , abs (id x) :: Int- , abs (id y) :: Int- , abs (id z) :: Int- , abs (negate _) :: Int- , abs (negate x) :: Int- , abs (negate y) :: Int- , abs (head _) :: Int- , abs (head xs) :: Int- , abs (head ys) :: Int- , negate (f 0) :: Int- , negate (ord _) :: Int- , negate (ord c) :: Int- , negate (ord d) :: Int- , negate (id _) :: Int- , negate (id x) :: Int- , negate (id y) :: Int- , negate (id z) :: Int- , negate (abs _) :: Int- , negate (abs x) :: Int- , negate (abs y) :: Int- , negate (head _) :: Int- , negate (head xs) :: Int- , negate (head ys) :: Int- , head (sort _) :: Int- , head (sort xs) :: Int- , head (tail _) :: Int- , head (tail xs) :: Int- , head (tail ys) :: Int- , sort (tail _) :: [Int]- , tail (sort _) :: [Int]- , (not _ &&) :: Bool -> Bool- , (not _ ||) :: Bool -> Bool- , (not p ||) :: Bool -> Bool- , (ord _ *) :: Int -> Int- , (id _ *) :: Int -> Int- , (id x *) :: Int -> Int- , (abs _ *) :: Int -> Int- , (negate _ *) :: Int -> Int- , (head _ *) :: Int -> Int- , (ord _ +) :: Int -> Int- , (ord c +) :: Int -> Int- , (id _ +) :: Int -> Int- , (id x +) :: Int -> Int- , (id y +) :: Int -> Int- , (abs _ +) :: Int -> Int- , (abs x +) :: Int -> Int- , (negate _ +) :: Int -> Int- , (negate x +) :: Int -> Int- , (head _ +) :: Int -> Int- , (head xs +) :: Int -> Int- , _ && False :: Bool- , _ && True :: Bool- , p && False :: Bool- , p && True :: Bool- , False && _ :: Bool- , False && p :: Bool- , True && _ :: Bool- , True && p :: Bool- , _ <= False :: Bool- , _ <= True :: Bool- , False <= _ :: Bool- , True <= _ :: Bool- , _ == False :: Bool- , _ == True :: Bool- , p == False :: Bool- , p == True :: Bool- , False == _ :: Bool- , False == p :: Bool- , True == _ :: Bool- , True == p :: Bool- , _ || False :: Bool- , _ || True :: Bool- , p || False :: Bool- , p || True :: Bool- , q || False :: Bool- , q || True :: Bool- , False || _ :: Bool- , False || p :: Bool- , False || q :: Bool- , True || _ :: Bool- , True || p :: Bool- , True || q :: Bool- , _ ==> False :: Bool- , _ ==> True :: Bool- , False ==> _ :: Bool- , True ==> _ :: Bool- , _ <= 0 :: Bool- , 0 <= _ :: Bool- , _ == 0 :: Bool- , _ == 1 :: Bool- , x == 0 :: Bool- , 0 == _ :: Bool- , 0 == x :: Bool- , 1 == _ :: Bool- , _ * 0 :: Int- , _ * 1 :: Int- , _ * (-1) :: Int- , x * 0 :: Int- , x * 1 :: Int- , y * 0 :: Int- , 0 * _ :: Int- , 0 * x :: Int- , 0 * y :: Int- , 1 * _ :: Int- , 1 * x :: Int- , (-1) * _ :: Int- , _ + 0 :: Int- , _ + 1 :: Int- , _ + 2 :: Int- , _ + (-1) :: Int- , x + 0 :: Int- , x + 1 :: Int- , x + (-1) :: Int- , y + 0 :: Int- , y + 1 :: Int- , z + 0 :: Int- , 0 + _ :: Int- , 0 + x :: Int- , 0 + y :: Int- , 0 + z :: Int- , 1 + _ :: Int- , 1 + x :: Int- , 1 + y :: Int- , 2 + _ :: Int- , (-1) + _ :: Int- , (-1) + x :: Int- , elem _ [] :: Bool- , elem _ [0] :: Bool- , elem x [] :: Bool- , elem 0 _ :: Bool- , elem 0 xs :: Bool- , elem 1 _ :: Bool- , [_] :: [Int]- , [_,0] :: [Int]- , [_,1] :: [Int]- , [_,-1] :: [Int]- , [_,0,0] :: [Int]- , [_,0,1] :: [Int]- , [_,1,0] :: [Int]- , [_,0,0,0] :: [Int]- , [x] :: [Int]- , [x,0] :: [Int]- , [x,1] :: [Int]- , [x,0,0] :: [Int]- , [y] :: [Int]- , [y,0] :: [Int]- , [z] :: [Int]- , 0:_ :: [Int]- , 0:xs :: [Int]- , 0:ys :: [Int]- , 0:zs :: [Int]- , 1:_ :: [Int]- , 1:xs :: [Int]- , 1:ys :: [Int]- , 2:_ :: [Int]- , (-1):_ :: [Int]- , (-1):xs :: [Int]- , insert _ [] :: [Int]- , insert _ [0] :: [Int]- , insert x [] :: [Int]- , insert 0 _ :: [Int]- , insert 0 xs :: [Int]- , insert 1 _ :: [Int]- , _ ++ [] :: [Int]- , _ ++ [0] :: [Int]- , _ ++ [1] :: [Int]- , _ ++ [0,0] :: [Int]- , xs ++ [] :: [Int]- , xs ++ [0] :: [Int]- , ys ++ [] :: [Int]- , [] ++ _ :: [Int]- , [] ++ xs :: [Int]- , [] ++ ys :: [Int]- , [0] ++ _ :: [Int]- , [0] ++ xs :: [Int]- , [1] ++ _ :: [Int]- , [0,0] ++ _ :: [Int]- , not (not False) :: Bool- , not (not True) :: Bool- , id (id 0) :: Int- , id (id 1) :: Int- , id (id 2) :: Int- , id (id (-1)) :: Int- , id (id (-2)) :: Int- , abs (abs 0) :: Int- , abs (abs 1) :: Int- , negate (negate 0) :: Int- , negate (negate 1) :: Int- , tail (tail []) :: [Int]- , False && False :: Bool- , True && True :: Bool- , False == False :: Bool- , True == True :: Bool- , False || False :: Bool- , True || True :: Bool- , 0 == 0 :: Bool- , 0 * 0 :: Int- , 0 + 0 :: Int- , 1 + 1 :: Int- , [] ++ [] :: [Int]- , not (odd 0) :: Bool- , not (even 0) :: Bool- , odd (id 0) :: Bool- , even (id 0) :: Bool- , id (ord ' ') :: Int- , id (ord 'a') :: Int- , id (ord 'b') :: Int- , id (abs 0) :: Int- , id (abs 1) :: Int- , id (abs 2) :: Int- , id (abs (-1)) :: Int- , id (negate 0) :: Int- , id (negate 1) :: Int- , id (negate 2) :: Int- , id (negate (-1)) :: Int- , id (head []) :: Int- , id (head [0]) :: Int- , id (head [1]) :: Int- , id (head [-1]) :: Int- , id (head [0,0]) :: Int- , id (head [0,1]) :: Int- , id (head [1,0]) :: Int- , id (head [0,0,0]) :: Int- , abs (ord ' ') :: Int- , abs (ord 'a') :: Int- , abs (id 0) :: Int- , abs (id 1) :: Int- , abs (id (-1)) :: Int- , abs (negate 0) :: Int- , abs (negate 1) :: Int- , abs (head []) :: Int- , abs (head [0]) :: Int- , negate (ord ' ') :: Int- , negate (ord 'a') :: Int- , negate (id 0) :: Int- , negate (id 1) :: Int- , negate (id (-1)) :: Int- , negate (abs 0) :: Int- , negate (abs 1) :: Int- , negate (head []) :: Int- , negate (head [0]) :: Int- , head (sort []) :: Int- , head (tail []) :: Int- , head (tail [0]) :: Int- , (not False ||) :: Bool -> Bool- , (not True ||) :: Bool -> Bool- , (id 0 *) :: Int -> Int- , (ord 'a' +) :: Int -> Int- , (id 0 +) :: Int -> Int- , (id 1 +) :: Int -> Int- , (abs 0 +) :: Int -> Int- , (negate 0 +) :: Int -> Int- , (head [] +) :: Int -> Int- , False && True :: Bool- , True && False :: Bool- , False == True :: Bool- , True == False :: Bool- , False || True :: Bool- , True || False :: Bool- , 0 * 1 :: Int- , 1 * 0 :: Int- , 0 + 1 :: Int- , 0 + (-1) :: Int- , 1 + 0 :: Int- , (-1) + 0 :: Int- , elem 0 [] :: Bool- , [0] :: [Int]- , [0,0] :: [Int]- , [0,1] :: [Int]- , [0,0,0] :: [Int]- , [1] :: [Int]- , [1,0] :: [Int]- , [-1] :: [Int]- , insert 0 [] :: [Int]- , [] ++ [0] :: [Int]- , [0] ++ [] :: [Int]- , f (_ + x) :: Int- , f (x + _) :: Int- , _ + f x :: Int- , x + f _ :: Int- , f _ + x :: Int- , f x + _ :: Int- , f _:_ :: [Int]- , f _:xs :: [Int]- , f x:_ :: [Int]- , g _:_ :: [Int]- , f (_ * _) :: Int- , f (_ + _) :: Int- , g (_ + _) :: Int- , id (f (f _)) :: Int- , _ * f _ :: Int- , f _ * _ :: Int- , _ + f _ :: Int- , _ + g _ :: Int- , f _ + _ :: Int- , g _ + _ :: Int- , f (id (id _)) :: Int- , f (id (id x)) :: Int- , g (id (id _)) :: Int- , id (f (id _)) :: Int- , id (f (id x)) :: Int- , id (f (id y)) :: Int- , id (g (id _)) :: Int- , id (g (id x)) :: Int- , id (h (id _)) :: Int- , id (id (f _)) :: Int- , id (id (f x)) :: Int- , id (id (f y)) :: Int- , id (id (g _)) :: Int- , id (id (g x)) :: Int- , id (id (h _)) :: Int- , ((_ + x) +) :: Int -> Int- , ((x + _) +) :: Int -> Int- , f (id (ord _)) :: Int- , f (id (abs _)) :: Int- , f (id (negate _)) :: Int- , f (id (head _)) :: Int- , f (abs (id _)) :: Int- , f (negate (id _)) :: Int- , f (_ + 0) :: Int- , f (0 + _) :: Int- , not (_ && p) :: Bool- , not (p && _) :: Bool- , not (_ == p) :: Bool- , not (p == _) :: Bool- , not (_ || p) :: Bool- , not (_ || q) :: Bool- , not (p || _) :: Bool- , not (q || _) :: Bool- , not (_ == x) :: Bool- , not (x == _) :: Bool- , not (elem _ _) :: Bool- , not (elem _ xs) :: Bool- , not (elem x _) :: Bool- , id (f (ord _)) :: Int- , id (f (ord c)) :: Int- , id (f (abs _)) :: Int- , id (f (abs x)) :: Int- , id (f (negate _)) :: Int- , id (f (negate x)) :: Int- , id (f (head _)) :: Int- , id (f (head xs)) :: Int- , id (g (ord _)) :: Int- , id (g (abs _)) :: Int- , id (g (negate _)) :: Int- , id (g (head _)) :: Int- , id (abs (f _)) :: Int- , id (abs (f x)) :: Int- , id (abs (g _)) :: Int- , id (negate (f _)) :: Int- , id (negate (f x)) :: Int- , id (negate (g _)) :: Int- , id (_ * x) :: Int- , id (_ * y) :: Int- , id (_ * z) :: Int- , id (x * _) :: Int- , id (x * y) :: Int- , id (y * _) :: Int- , id (y * x) :: Int- , id (z * _) :: Int- , id (_ + x) :: Int- , id (_ + y) :: Int- , id (_ + z) :: Int- , id (_ + x') :: Int- , id (x + _) :: Int- , id (x + y) :: Int- , id (x + z) :: Int- , id (y + _) :: Int- , id (y + x) :: Int- , id (z + _) :: Int- , id (z + x) :: Int- , id (x' + _) :: Int- , abs (f (id _)) :: Int- , abs (id (f _)) :: Int- , abs (_ * x) :: Int- , abs (x * _) :: Int- , abs (_ + x) :: Int- , abs (_ + y) :: Int- , abs (x + _) :: Int- , abs (y + _) :: Int- , negate (f (id _)) :: Int- , negate (id (f _)) :: Int- , negate (_ * x) :: Int- , negate (x * _) :: Int- , negate (_ + x) :: Int- , negate (_ + y) :: Int- , negate (x + _) :: Int- , negate (y + _) :: Int- , head (_:_) :: Int- , head (_:xs) :: Int- , head (_:ys) :: Int- , head (_:zs) :: Int- , head (x:_) :: Int- , head (x:xs) :: Int- , head (x:ys) :: Int- , head (y:_) :: Int- , head (y:xs) :: Int- , head (z:_) :: Int- , head (insert _ _) :: Int- , head (insert _ xs) :: Int- , head (insert x _) :: Int- , head (_ ++ xs) :: Int- , head (_ ++ ys) :: Int- , head (xs ++ _) :: Int- , head (ys ++ _) :: Int- , sort (_:_) :: [Int]- , sort (_:xs) :: [Int]- , sort (x:_) :: [Int]- , tail (_:_) :: [Int]- , tail (_:xs) :: [Int]- , tail (_:ys) :: [Int]- , tail (x:_) :: [Int]- , tail (x:xs) :: [Int]- , tail (y:_) :: [Int]- , tail (insert _ _) :: [Int]- , tail (_ ++ xs) :: [Int]- , tail (xs ++ _) :: [Int]- , _ && not p :: Bool- , p && not _ :: Bool- , not _ && p :: Bool- , not p && _ :: Bool- , _ == not p :: Bool- , p == not _ :: Bool- , not _ == p :: Bool- , not p == _ :: Bool- , _ || not p :: Bool- , _ || not q :: Bool- , _ || odd _ :: Bool- , _ || even _ :: Bool- , p || not _ :: Bool- , q || not _ :: Bool- , not _ || p :: Bool- , not _ || q :: Bool- , not p || _ :: Bool- , not q || _ :: Bool- , odd _ || _ :: Bool- , even _ || _ :: Bool- , _ == ord _ :: Bool- , _ == id x :: Bool- , _ == head _ :: Bool- , x == id _ :: Bool- , ord _ == _ :: Bool- , id _ == x :: Bool- , id x == _ :: Bool- , head _ == _ :: Bool- , _ * ord _ :: Int- , _ * ord c :: Int- , _ * id x :: Int- , _ * id y :: Int- , _ * abs x :: Int- , _ * negate x :: Int- , _ * head _ :: Int- , _ * head xs :: Int- , x * ord _ :: Int- , x * id _ :: Int- , x * abs _ :: Int- , x * negate _ :: Int- , x * head _ :: Int- , y * id _ :: Int- , ord _ * _ :: Int- , ord _ * x :: Int- , ord c * _ :: Int- , id _ * x :: Int- , id _ * y :: Int- , id x * _ :: Int- , id y * _ :: Int- , abs _ * x :: Int- , abs x * _ :: Int- , negate _ * x :: Int- , negate x * _ :: Int- , head _ * _ :: Int- , head _ * x :: Int- , head xs * _ :: Int- , _ + f 0 :: Int- , _ + ord _ :: Int- , _ + ord c :: Int- , _ + ord d :: Int- , _ + id x :: Int- , _ + id y :: Int- , _ + id z :: Int- , _ + abs x :: Int- , _ + abs y :: Int- , _ + negate x :: Int- , _ + negate y :: Int- , _ + head _ :: Int- , _ + head xs :: Int- , _ + head ys :: Int- , x + ord _ :: Int- , x + ord c :: Int- , x + id _ :: Int- , x + id y :: Int- , x + abs _ :: Int- , x + negate _ :: Int- , x + head _ :: Int- , x + head xs :: Int- , y + ord _ :: Int- , y + id _ :: Int- , y + id x :: Int- , y + abs _ :: Int- , y + negate _ :: Int- , y + head _ :: Int- , z + id _ :: Int- , 0 + f _ :: Int- , f _ + 0 :: Int- , f 0 + _ :: Int- , ord _ + _ :: Int- , ord _ + x :: Int- , ord _ + y :: Int- , ord c + _ :: Int- , ord c + x :: Int- , ord d + _ :: Int- , id _ + x :: Int- , id _ + y :: Int- , id _ + z :: Int- , id x + _ :: Int- , id x + y :: Int- , id y + _ :: Int- , id y + x :: Int- , id z + _ :: Int- , abs _ + x :: Int- , abs _ + y :: Int- , abs x + _ :: Int- , abs y + _ :: Int- , negate _ + x :: Int- , negate _ + y :: Int- , negate x + _ :: Int- , negate y + _ :: Int- , head _ + _ :: Int- , head _ + x :: Int- , head _ + y :: Int- , head xs + _ :: Int- , head xs + x :: Int- , head ys + _ :: Int- , elem _ (tail _) :: Bool- , elem (ord _) _ :: Bool- , elem (id _) _ :: Bool- , elem (id _) xs :: Bool- , elem (id x) _ :: Bool- , elem (abs _) _ :: Bool- , elem (negate _) _ :: Bool- , _:sort _ :: [Int]- , _:sort xs :: [Int]- , _:tail _ :: [Int]- , _:tail xs :: [Int]- , _:tail ys :: [Int]- , x:sort _ :: [Int]- , x:tail _ :: [Int]- , x:tail xs :: [Int]- , y:tail _ :: [Int]- , [f _] :: [Int]- , f 0:_ :: [Int]- , ord _:_ :: [Int]- , ord _:xs :: [Int]- , ord _:ys :: [Int]- , ord c:_ :: [Int]- , ord c:xs :: [Int]- , ord d:_ :: [Int]- , id _:_ :: [Int]- , id _:xs :: [Int]- , id _:ys :: [Int]- , id _:zs :: [Int]- , id x:_ :: [Int]- , id x:xs :: [Int]- , id x:ys :: [Int]- , id y:_ :: [Int]- , id y:xs :: [Int]- , id z:_ :: [Int]- , abs _:_ :: [Int]- , abs _:xs :: [Int]- , abs _:ys :: [Int]- , abs x:_ :: [Int]- , abs x:xs :: [Int]- , abs y:_ :: [Int]- , negate _:_ :: [Int]- , negate _:xs :: [Int]- , negate _:ys :: [Int]- , negate x:_ :: [Int]- , negate x:xs :: [Int]- , negate y:_ :: [Int]- , head _:xs :: [Int]- , head _:ys :: [Int]- , head xs:_ :: [Int]- , head ys:_ :: [Int]- , insert _ (tail _) :: [Int]- , insert (ord _) _ :: [Int]- , insert (id _) _ :: [Int]- , insert (id _) xs :: [Int]- , insert (id x) _ :: [Int]- , insert (abs _) _ :: [Int]- , insert (negate _) _ :: [Int]- , _ ++ tail xs :: [Int]- , xs ++ tail _ :: [Int]- , tail _ ++ xs :: [Int]- , tail xs ++ _ :: [Int]- , ((_ || _) ||) :: Bool -> Bool- , ((_ + _) +) :: Int -> Int- , not (_ && _) :: Bool- , not (_ <= _) :: Bool- , not (_ == _) :: Bool- , not (_ || _) :: Bool- , not (p || p) :: Bool- , not (_ ==> _) :: Bool- , not (_ <= _) :: Bool- , not (_ == _) :: Bool- , odd (_ + _) :: Bool- , even (_ + _) :: Bool- , id (_ * _) :: Int- , id (x * x) :: Int- , id (_ + _) :: Int- , id (x + x) :: Int- , id (y + y) :: Int- , abs (_ * _) :: Int- , abs (_ + _) :: Int- , abs (x + x) :: Int- , negate (_ * _) :: Int- , negate (_ + _) :: Int- , negate (x + x) :: Int- , head (_ ++ _) :: Int- , head (xs ++ xs) :: Int- , sort (_ ++ _) :: [Int]- , tail (_ ++ _) :: [Int]- , ((_ + _) *) :: Int -> Int- , (_ * _ +) :: Int -> Int- , _ && not _ :: Bool- , not _ && _ :: Bool- , _ <= not _ :: Bool- , not _ <= _ :: Bool- , _ == not _ :: Bool- , not _ == _ :: Bool- , _ || not _ :: Bool- , p || not p :: Bool- , not _ || _ :: Bool- , not p || p :: Bool- , _ ==> not _ :: Bool- , not _ ==> _ :: Bool- , _ <= id _ :: Bool- , id _ <= _ :: Bool- , _ == id _ :: Bool- , _ == abs _ :: Bool- , _ == negate _ :: Bool- , id _ == _ :: Bool- , abs _ == _ :: Bool- , negate _ == _ :: Bool- , _ * id _ :: Int- , _ * abs _ :: Int- , _ * negate _ :: Int- , x * id x :: Int- , id _ * _ :: Int- , id x * x :: Int- , abs _ * _ :: Int- , negate _ * _ :: Int- , _ + id _ :: Int- , _ + abs _ :: Int- , _ + negate _ :: Int- , x + id x :: Int- , x + abs x :: Int- , x + negate x :: Int- , id _ + _ :: Int- , id x + x :: Int- , abs _ + _ :: Int- , abs x + x :: Int- , negate _ + _ :: Int- , negate x + x :: Int- , elem (head _) _ :: Bool- , head _:_ :: [Int]- , head xs:xs :: [Int]- , insert (head _) _ :: [Int]- , _ ++ sort _ :: [Int]- , _ ++ tail _ :: [Int]- , sort _ ++ _ :: [Int]- , tail _ ++ _ :: [Int]- , not (not (not _)) :: Bool- , not (not (not p)) :: Bool- , not (not (not q)) :: Bool- , id (id (id _)) :: Int- , id (id (id x)) :: Int- , id (id (id y)) :: Int- , id (id (id z)) :: Int- , id (id (id x')) :: Int- , abs (abs (abs _)) :: Int- , negate (negate (negate _)) :: Int- , f (id (id 0)) :: Int- , not (not (odd _)) :: Bool- , not (not (even _)) :: Bool- , odd (id (id _)) :: Bool- , even (id (id _)) :: Bool- , id (f (id 0)) :: Int- , id (f (id 1)) :: Int- , id (g (id 0)) :: Int- , id (id (f 0)) :: Int- , id (id (f 1)) :: Int- , id (id (g 0)) :: Int- , id (id (ord _)) :: Int- , id (id (ord c)) :: Int- , id (id (ord d)) :: Int- , id (id (ord e)) :: Int- , id (id (abs _)) :: Int- , id (id (abs x)) :: Int- , id (id (abs y)) :: Int- , id (id (abs z)) :: Int- , id (id (negate _)) :: Int- , id (id (negate x)) :: Int- , id (id (negate y)) :: Int- , id (id (negate z)) :: Int- , id (id (head _)) :: Int- , id (id (head xs)) :: Int- , id (id (head ys)) :: Int- , id (id (head zs)) :: Int- , id (abs (id _)) :: Int- , id (abs (id x)) :: Int- , id (abs (id y)) :: Int- , id (abs (id z)) :: Int- , id (abs (abs _)) :: Int- , id (abs (abs x)) :: Int- , id (abs (abs y)) :: Int- , id (negate (id _)) :: Int- , id (negate (id x)) :: Int- , id (negate (id y)) :: Int- , id (negate (id z)) :: Int- , id (negate (negate _)) :: Int- , id (negate (negate x)) :: Int- , id (negate (negate y)) :: Int- , abs (id (id _)) :: Int- , abs (id (id x)) :: Int- , abs (id (id y)) :: Int- , abs (id (abs _)) :: Int- , abs (id (abs x)) :: Int- , abs (abs (ord _)) :: Int- , abs (abs (id _)) :: Int- , abs (abs (id x)) :: Int- , abs (abs (negate _)) :: Int- , abs (abs (head _)) :: Int- , abs (negate (abs _)) :: Int- , abs (negate (negate _)) :: Int- , negate (id (id _)) :: Int- , negate (id (id x)) :: Int- , negate (id (id y)) :: Int- , negate (id (negate _)) :: Int- , negate (id (negate x)) :: Int- , negate (abs (abs _)) :: Int- , negate (abs (negate _)) :: Int- , negate (negate (ord _)) :: Int- , negate (negate (id _)) :: Int- , negate (negate (id x)) :: Int- , negate (negate (abs _)) :: Int- , negate (negate (head _)) :: Int- , head (tail (tail _)) :: Int- , (not (not _) ||) :: Bool -> Bool- , (id (id _) *) :: Int -> Int- , (id (id _) +) :: Int -> Int- , (id (id x) +) :: Int -> Int- , ((_ + 0) +) :: Int -> Int- , ((0 + _) +) :: Int -> Int- , not (odd (id _)) :: Bool- , not (even (id _)) :: Bool- , not (_ && False) :: Bool- , not (_ && True) :: Bool- , not (False && _) :: Bool- , not (True && _) :: Bool- , not (_ == False) :: Bool- , not (_ == True) :: Bool- , not (False == _) :: Bool- , not (True == _) :: Bool- , not (_ || False) :: Bool- , not (_ || True) :: Bool- , not (p || False) :: Bool- , not (p || True) :: Bool- , not (False || _) :: Bool- , not (False || p) :: Bool- , not (True || _) :: Bool- , not (True || p) :: Bool- , not (_ == 0) :: Bool- , not (0 == _) :: Bool- , not (elem _ []) :: Bool- , not (elem 0 _) :: Bool- , id (f (ord 'a')) :: Int- , id (f (abs 0)) :: Int- , id (f (negate 0)) :: Int- , id (f (head [])) :: Int- , id (abs (f 0)) :: Int- , id (abs (ord _)) :: Int- , id (abs (ord c)) :: Int- , id (abs (ord d)) :: Int- , id (abs (negate _)) :: Int- , id (abs (negate x)) :: Int- , id (abs (negate y)) :: Int- , id (abs (head _)) :: Int- , id (abs (head xs)) :: Int- , id (abs (head ys)) :: Int- , id (negate (f 0)) :: Int- , id (negate (ord _)) :: Int- , id (negate (ord c)) :: Int- , id (negate (ord d)) :: Int- , id (negate (abs _)) :: Int- , id (negate (abs x)) :: Int- , id (negate (abs y)) :: Int- , id (negate (head _)) :: Int- , id (negate (head xs)) :: Int- , id (negate (head ys)) :: Int- , id (head (sort _)) :: Int- , id (head (tail _)) :: Int- , id (head (tail xs)) :: Int- , id (head (tail ys)) :: Int- , id (_ * 0) :: Int- , id (_ * 1) :: Int- , id (_ * (-1)) :: Int- , id (x * 0) :: Int- , id (x * 1) :: Int- , id (y * 0) :: Int- , id (0 * _) :: Int- , id (0 * x) :: Int- , id (0 * y) :: Int- , id (1 * _) :: Int- , id (1 * x) :: Int- , id ((-1) * _) :: Int- , id (_ + 0) :: Int- , id (_ + 1) :: Int- , id (_ + 2) :: Int- , id (_ + (-1)) :: Int- , id (x + 0) :: Int- , id (x + 1) :: Int- , id (x + (-1)) :: Int- , id (y + 0) :: Int- , id (y + 1) :: Int- , id (z + 0) :: Int- , id (0 + _) :: Int- , id (0 + x) :: Int- , id (0 + y) :: Int- , id (0 + z) :: Int- , id (1 + _) :: Int- , id (1 + x) :: Int- , id (1 + y) :: Int- , id (2 + _) :: Int- , id ((-1) + _) :: Int- , id ((-1) + x) :: Int- , abs (id (ord _)) :: Int- , abs (id (ord c)) :: Int- , abs (id (negate _)) :: Int- , abs (id (negate x)) :: Int- , abs (id (head _)) :: Int- , abs (id (head xs)) :: Int- , abs (negate (ord _)) :: Int- , abs (negate (id _)) :: Int- , abs (negate (id x)) :: Int- , abs (negate (head _)) :: Int- , abs (head (tail _)) :: Int- , abs (_ * 0) :: Int- , abs (0 * _) :: Int- , abs (_ + 0) :: Int- , abs (_ + 1) :: Int- , abs (x + 0) :: Int- , abs (0 + _) :: Int- , abs (0 + x) :: Int- , abs (1 + _) :: Int- , negate (id (ord _)) :: Int- , negate (id (ord c)) :: Int- , negate (id (abs _)) :: Int- , negate (id (abs x)) :: Int- , negate (id (head _)) :: Int- , negate (id (head xs)) :: Int- , negate (abs (ord _)) :: Int- , negate (abs (id _)) :: Int- , negate (abs (id x)) :: Int- , negate (abs (head _)) :: Int- , negate (head (tail _)) :: Int- , negate (_ * 0) :: Int- , negate (0 * _) :: Int- , negate (_ + 0) :: Int- , negate (_ + 1) :: Int- , negate (x + 0) :: Int- , negate (0 + _) :: Int- , negate (0 + x) :: Int- , negate (1 + _) :: Int- , head [_] :: Int- , head [_,0] :: Int- , head [_,1] :: Int- , head [_,0,0] :: Int- , head [x] :: Int- , head [x,0] :: Int- , head [y] :: Int- , head (0:_) :: Int- , head (0:xs) :: Int- , head (0:ys) :: Int- , head (1:_) :: Int- , head (1:xs) :: Int- , head ((-1):_) :: Int- , head (insert _ []) :: Int- , head (insert 0 _) :: Int- , head (_ ++ []) :: Int- , head (_ ++ [0]) :: Int- , head (xs ++ []) :: Int- , head ([] ++ _) :: Int- , head ([] ++ xs) :: Int- , head ([0] ++ _) :: Int- , sort [_] :: [Int]- , sort (0:_) :: [Int]- , tail [_] :: [Int]- , tail [_,0] :: [Int]- , tail [x] :: [Int]- , tail (0:_) :: [Int]- , tail (0:xs) :: [Int]- , tail (1:_) :: [Int]- , tail (_ ++ []) :: [Int]- , tail ([] ++ _) :: [Int]- , (id (ord _) +) :: Int -> Int- , (id (abs _) +) :: Int -> Int- , (id (negate _) +) :: Int -> Int- , (id (head _) +) :: Int -> Int- , (abs (id _) +) :: Int -> Int- , (negate (id _) +) :: Int -> Int- , _ && not False :: Bool- , _ && not True :: Bool- , False && not _ :: Bool- , True && not _ :: Bool- , not _ && False :: Bool- , not _ && True :: Bool- , not False && _ :: Bool- , not True && _ :: Bool- , _ == not False :: Bool- , _ == not True :: Bool- , False == not _ :: Bool- , True == not _ :: Bool- , not _ == False :: Bool- , not _ == True :: Bool- , not False == _ :: Bool- , not True == _ :: Bool- , _ || not False :: Bool- , _ || not True :: Bool- , p || not False :: Bool- , p || not True :: Bool- , False || not _ :: Bool- , False || not p :: Bool- , True || not _ :: Bool- , True || not p :: Bool- , not _ || False :: Bool- , not _ || True :: Bool- , not p || False :: Bool- , not p || True :: Bool- , not False || _ :: Bool- , not False || p :: Bool- , not True || _ :: Bool- , not True || p :: Bool- , _ == id 0 :: Bool- , 0 == id _ :: Bool- , id _ == 0 :: Bool- , id 0 == _ :: Bool- , _ * ord 'a' :: Int- , _ * id 0 :: Int- , _ * id 1 :: Int- , _ * abs 0 :: Int- , _ * negate 0 :: Int- , _ * head [] :: Int- , x * id 0 :: Int- , 0 * ord _ :: Int- , 0 * id _ :: Int- , 0 * id x :: Int- , 0 * abs _ :: Int- , 0 * negate _ :: Int- , 0 * head _ :: Int- , 1 * id _ :: Int- , ord _ * 0 :: Int- , ord 'a' * _ :: Int- , id _ * 0 :: Int- , id _ * 1 :: Int- , id x * 0 :: Int- , id 0 * _ :: Int- , id 0 * x :: Int- , id 1 * _ :: Int- , abs _ * 0 :: Int- , abs 0 * _ :: Int- , negate _ * 0 :: Int- , negate 0 * _ :: Int- , head _ * 0 :: Int- , head [] * _ :: Int- , _ + ord ' ' :: Int- , _ + ord 'a' :: Int- , _ + id 0 :: Int- , _ + id 1 :: Int- , _ + id (-1) :: Int- , _ + abs 0 :: Int- , _ + abs 1 :: Int- , _ + negate 0 :: Int- , _ + negate 1 :: Int- , _ + head [] :: Int- , _ + head [0] :: Int- , x + ord 'a' :: Int- , x + id 0 :: Int- , x + id 1 :: Int- , x + abs 0 :: Int- , x + negate 0 :: Int- , x + head [] :: Int- , y + id 0 :: Int- , 0 + ord _ :: Int- , 0 + ord c :: Int- , 0 + id _ :: Int- , 0 + id x :: Int- , 0 + id y :: Int- , 0 + abs _ :: Int- , 0 + abs x :: Int- , 0 + negate _ :: Int- , 0 + negate x :: Int- , 0 + head _ :: Int- , 0 + head xs :: Int- , 1 + ord _ :: Int- , 1 + id _ :: Int- , 1 + id x :: Int- , 1 + abs _ :: Int- , 1 + negate _ :: Int- , 1 + head _ :: Int- , (-1) + id _ :: Int- , ord _ + 0 :: Int- , ord _ + 1 :: Int- , ord c + 0 :: Int- , ord ' ' + _ :: Int- , ord 'a' + _ :: Int- , ord 'a' + x :: Int- , id _ + 0 :: Int- , id _ + 1 :: Int- , id _ + (-1) :: Int- , id x + 0 :: Int- , id x + 1 :: Int- , id y + 0 :: Int- , id 0 + _ :: Int- , id 0 + x :: Int- , id 0 + y :: Int- , id 1 + _ :: Int- , id 1 + x :: Int- , id (-1) + _ :: Int- , abs _ + 0 :: Int- , abs _ + 1 :: Int- , abs x + 0 :: Int- , abs 0 + _ :: Int- , abs 0 + x :: Int- , abs 1 + _ :: Int- , negate _ + 0 :: Int- , negate _ + 1 :: Int- , negate x + 0 :: Int- , negate 0 + _ :: Int- , negate 0 + x :: Int- , negate 1 + _ :: Int- , head _ + 0 :: Int- , head _ + 1 :: Int- , head xs + 0 :: Int- , head [] + _ :: Int- , head [] + x :: Int- , head [0] + _ :: Int- , elem (id _) [] :: Bool- , elem (id 0) _ :: Bool- , _:sort [] :: [Int]- , _:tail [] :: [Int]- , _:tail [0] :: [Int]- , x:tail [] :: [Int]- , 0:sort _ :: [Int]- , 0:tail _ :: [Int]- , 0:tail xs :: [Int]- , 1:tail _ :: [Int]- , [ord _] :: [Int]- , [ord _,0] :: [Int]- , [ord c] :: [Int]- , ord ' ':_ :: [Int]- , ord 'a':_ :: [Int]- , ord 'a':xs :: [Int]- , [id _] :: [Int]- , [id _,0] :: [Int]- , [id _,1] :: [Int]- , [id _,0,0] :: [Int]- , [id x] :: [Int]- , [id x,0] :: [Int]- , [id y] :: [Int]- , id 0:_ :: [Int]- , id 0:xs :: [Int]- , id 0:ys :: [Int]- , id 1:_ :: [Int]- , id 1:xs :: [Int]- , id (-1):_ :: [Int]- , [abs _] :: [Int]- , [abs _,0] :: [Int]- , [abs x] :: [Int]- , abs 0:_ :: [Int]- , abs 0:xs :: [Int]- , abs 1:_ :: [Int]- , [negate _] :: [Int]- , [negate _,0] :: [Int]- , [negate x] :: [Int]- , negate 0:_ :: [Int]- , negate 0:xs :: [Int]- , negate 1:_ :: [Int]- , [head _] :: [Int]- , [head _,0] :: [Int]- , [head xs] :: [Int]- , head []:_ :: [Int]- , head []:xs :: [Int]- , head [0]:_ :: [Int]- , insert (id _) [] :: [Int]- , insert (id 0) _ :: [Int]- , _ ++ tail [] :: [Int]- , [] ++ tail _ :: [Int]- , tail _ ++ [] :: [Int]- , tail [] ++ _ :: [Int]- , not (not (not False)) :: Bool- , not (not (not True)) :: Bool- , id (id (id 0)) :: Int- , id (id (id 1)) :: Int- , id (id (id 2)) :: Int- , id (id (id (-1))) :: Int- , not (False || False) :: Bool- , not (True || True) :: Bool- , id (id (ord ' ')) :: Int- , id (id (ord 'a')) :: Int- , id (id (ord 'b')) :: Int- , id (id (abs 0)) :: Int- , id (id (abs 1)) :: Int- , id (id (abs (-1))) :: Int- , id (id (negate 0)) :: Int- , id (id (negate 1)) :: Int- , id (id (negate (-1))) :: Int- , id (id (head [])) :: Int- , id (id (head [0])) :: Int- , id (id (head [1])) :: Int- , id (id (head [0,0])) :: Int- , id (abs (id 0)) :: Int- , id (abs (id 1)) :: Int- , id (abs (id (-1))) :: Int- , id (abs (abs 0)) :: Int- , id (abs (abs 1)) :: Int- , id (negate (id 0)) :: Int- , id (negate (id 1)) :: Int- , id (negate (id (-1))) :: Int- , id (negate (negate 0)) :: Int- , id (negate (negate 1)) :: Int- , id (0 * 0) :: Int- , id (0 + 0) :: Int- , id (1 + 1) :: Int- , abs (id (id 0)) :: Int- , abs (id (id 1)) :: Int- , abs (id (abs 0)) :: Int- , abs (abs (id 0)) :: Int- , abs (0 + 0) :: Int- , negate (id (id 0)) :: Int- , negate (id (id 1)) :: Int- , negate (id (negate 0)) :: Int- , negate (negate (id 0)) :: Int- , negate (0 + 0) :: Int- , head ([] ++ []) :: Int- , (id (id 0) +) :: Int -> Int- , False || not False :: Bool- , True || not True :: Bool- , not False || False :: Bool- , not True || True :: Bool- , 0 * id 0 :: Int- , id 0 * 0 :: Int- , 0 + id 0 :: Int- , 0 + abs 0 :: Int- , 0 + negate 0 :: Int- , id 0 + 0 :: Int- , abs 0 + 0 :: Int- , negate 0 + 0 :: Int- , [head []] :: [Int]- , not (False || True) :: Bool- , not (True || False) :: Bool- , id (abs (ord ' ')) :: Int- , id (abs (ord 'a')) :: Int- , id (abs (negate 0)) :: Int- , id (abs (negate 1)) :: Int- , id (abs (head [])) :: Int- , id (abs (head [0])) :: Int- , id (negate (ord ' ')) :: Int- , id (negate (ord 'a')) :: Int- , id (negate (abs 0)) :: Int- , id (negate (abs 1)) :: Int- , id (negate (head [])) :: Int- , id (negate (head [0])) :: Int- , id (head (tail [])) :: Int- , id (head (tail [0])) :: Int- , id (0 * 1) :: Int- , id (1 * 0) :: Int- , id (0 + 1) :: Int- , id (0 + (-1)) :: Int- , id (1 + 0) :: Int- , id ((-1) + 0) :: Int- , abs (id (ord 'a')) :: Int- , abs (id (negate 0)) :: Int- , abs (id (head [])) :: Int- , abs (negate (id 0)) :: Int- , negate (id (ord 'a')) :: Int- , negate (id (abs 0)) :: Int- , negate (id (head [])) :: Int- , negate (abs (id 0)) :: Int- , head [0] :: Int- , head [0,0] :: Int- , head [1] :: Int- , tail [0] :: [Int]- , False || not True :: Bool- , True || not False :: Bool- , not False || True :: Bool- , not True || False :: Bool- , 0 + ord 'a' :: Int- , 0 + id 1 :: Int- , 0 + head [] :: Int- , 1 + id 0 :: Int- , ord 'a' + 0 :: Int- , id 0 + 1 :: Int- , id 1 + 0 :: Int- , head [] + 0 :: Int- , 0:tail [] :: [Int]- , [ord 'a'] :: [Int]- , [id 0] :: [Int]- , [id 0,0] :: [Int]- , [id 1] :: [Int]- , [abs 0] :: [Int]- , [negate 0] :: [Int]- , _:x:_ :: [Int]- , _:x:xs :: [Int]- , _:x:ys :: [Int]- , _:y:_ :: [Int]- , _:y:xs :: [Int]- , _:z:_ :: [Int]- , x:_:_ :: [Int]- , x:_:xs :: [Int]- , x:_:ys :: [Int]- , x:y:_ :: [Int]- , y:_:_ :: [Int]- , y:_:xs :: [Int]- , y:x:_ :: [Int]- , z:_:_ :: [Int]- , f (head (_:_)) :: Int- , id (f (_ + x)) :: Int- , id (f (x + _)) :: Int- , id (_ + f x) :: Int- , id (x + f _) :: Int- , id (f _ + x) :: Int- , id (f x + _) :: Int- , head (f _:_) :: Int- , _ || elem _ _ :: Bool- , elem _ _ || _ :: Bool- , elem _ (x:_) :: Bool- , elem x (_:_) :: Bool- , _:insert x _ :: [Int]- , _:(_ ++ xs) :: [Int]- , _:(_ ++ ys) :: [Int]- , _:(xs ++ _) :: [Int]- , _:(ys ++ _) :: [Int]- , x:insert _ _ :: [Int]- , x:(_ ++ xs) :: [Int]- , x:(xs ++ _) :: [Int]- , f (id _):_ :: [Int]- , id (f _):_ :: [Int]- , _ * x:_ :: [Int]- , x * _:_ :: [Int]- , _ + x:_ :: [Int]- , _ + x:xs :: [Int]- , _ + y:_ :: [Int]- , x + _:_ :: [Int]- , x + _:xs :: [Int]- , y + _:_ :: [Int]- , insert _ (x:_) :: [Int]- , insert x (_:_) :: [Int]- , _ ++ (_:xs) :: [Int]- , _ ++ (_:ys) :: [Int]- , _ ++ (x:xs) :: [Int]- , xs ++ (_:_) :: [Int]- , xs ++ (x:_) :: [Int]- , ys ++ (_:_) :: [Int]- , (_:_) ++ xs :: [Int]- , (_:_) ++ ys :: [Int]- , (_:xs) ++ _ :: [Int]- , (_:ys) ++ _ :: [Int]- , (x:_) ++ xs :: [Int]- , (x:xs) ++ _ :: [Int]- , _ || (_ || p) :: Bool- , _ || (p || _) :: Bool- , p || (_ || _) :: Bool- , (_ || _) || p :: Bool- , (_ || p) || _ :: Bool- , (p || _) || _ :: Bool- , _ + (_ + x) :: Int- , _ + (_ + y) :: Int- , _ + (x + _) :: Int- , _ + (x + x) :: Int- , _ + (y + _) :: Int- , x + (_ + _) :: Int- , x + (_ + x) :: Int- , x + (x + _) :: Int- , y + (_ + _) :: Int- , (_ + _) + x :: Int- , (_ + _) + y :: Int- , (_ + x) + _ :: Int- , (_ + x) + x :: Int- , (_ + y) + _ :: Int- , (x + _) + _ :: Int- , (x + _) + x :: Int- , (x + x) + _ :: Int- , (y + _) + _ :: Int- , _:_:_ :: [Int]- , _:_:xs :: [Int]- , _:_:ys :: [Int]- , _:_:zs :: [Int]- , x:x:_ :: [Int]- , x:x:xs :: [Int]- , _ ++ (_ ++ xs) :: [Int]- , _ ++ (xs ++ _) :: [Int]- , xs ++ (_ ++ _) :: [Int]- , (_ ++ _) ++ xs :: [Int]- , (_ ++ xs) ++ _ :: [Int]- , (xs ++ _) ++ _ :: [Int]- , f (id (_ + _)) :: Int- , f (_ + id _) :: Int- , f (id _ + _) :: Int- , id (f (_ * _)) :: Int- , id (f (_ + _)) :: Int- , id (g (_ + _)) :: Int- , id (_ * f _) :: Int- , id (f _ * _) :: Int- , id (_ + f _) :: Int- , id (_ + g _) :: Int- , id (f _ + _) :: Int- , id (g _ + _) :: Int- , _ || _ == _ :: Bool- , _ == _ || _ :: Bool- , _ * (_ + x) :: Int- , _ * (x + _) :: Int- , x * (_ + _) :: Int- , (_ + _) * x :: Int- , (_ + x) * _ :: Int- , (x + _) * _ :: Int- , _ + f (id _) :: Int- , _ + id (f _) :: Int- , _ + _ * x :: Int- , _ + x * _ :: Int- , x + _ * _ :: Int- , f _ + id _ :: Int- , f (id _) + _ :: Int- , id _ + f _ :: Int- , id (f _) + _ :: Int- , _ * _ + x :: Int- , _ * x + _ :: Int- , x * _ + _ :: Int- , elem _ (_:_) :: Bool- , elem _ (_:xs) :: Bool- , elem _ (_ ++ _) :: Bool- , elem (_ + _) _ :: Bool- , _:insert _ _ :: [Int]- , _:insert _ xs :: [Int]- , _:(_ ++ _) :: [Int]- , _:(xs ++ xs) :: [Int]- , x:(_ ++ _) :: [Int]- , y:(_ ++ _) :: [Int]- , _ * _:_ :: [Int]- , _ * _:xs :: [Int]- , _ + _:_ :: [Int]- , _ + _:xs :: [Int]- , _ + _:ys :: [Int]- , x + x:_ :: [Int]- , insert _ (_:_) :: [Int]- , insert _ (_:xs) :: [Int]- , insert _ (_ ++ _) :: [Int]- , insert (_ + _) _ :: [Int]- , _ ++ (_:_) :: [Int]- , _ ++ (x:_) :: [Int]- , _ ++ (y:_) :: [Int]- , _ ++ insert _ _ :: [Int]- , xs ++ (_:xs) :: [Int]- , (_:_) ++ _ :: [Int]- , (_:xs) ++ xs :: [Int]- , (x:_) ++ _ :: [Int]- , (y:_) ++ _ :: [Int]- , insert _ _ ++ _ :: [Int]- , f (id (id (id _))) :: Int- , id (f (id (id _))) :: Int- , id (f (id (id x))) :: Int- , id (g (id (id _))) :: Int- , id (id (f (id _))) :: Int- , id (id (f (id x))) :: Int- , id (id (g (id _))) :: Int- , id (id (id (f _))) :: Int- , id (id (id (f x))) :: Int- , id (id (id (g _))) :: Int- , not (not (_ || p)) :: Bool- , not (not (p || _)) :: Bool- , not (not (elem _ _)) :: Bool- , not (_ || not p) :: Bool- , not (p || not _) :: Bool- , not (not _ || p) :: Bool- , not (not p || _) :: Bool- , id (f (id (ord _))) :: Int- , id (f (id (abs _))) :: Int- , id (f (id (negate _))) :: Int- , id (f (id (head _))) :: Int- , id (f (abs (id _))) :: Int- , id (f (negate (id _))) :: Int- , id (id (f (ord _))) :: Int- , id (id (f (abs _))) :: Int- , id (id (f (negate _))) :: Int- , id (id (f (head _))) :: Int- , id (id (abs (f _))) :: Int- , id (id (negate (f _))) :: Int- , id (id (_ * x)) :: Int- , id (id (_ * y)) :: Int- , id (id (x * _)) :: Int- , id (id (y * _)) :: Int- , id (id (_ + x)) :: Int- , id (id (_ + y)) :: Int- , id (id (_ + z)) :: Int- , id (id (x + _)) :: Int- , id (id (x + y)) :: Int- , id (id (y + _)) :: Int- , id (id (y + x)) :: Int- , id (id (z + _)) :: Int- , id (abs (f (id _))) :: Int- , id (abs (id (f _))) :: Int- , id (negate (f (id _))) :: Int- , id (negate (id (f _))) :: Int- , id (_ * id x) :: Int- , id (_ * id y) :: Int- , id (x * id _) :: Int- , id (y * id _) :: Int- , id (id _ * x) :: Int- , id (id _ * y) :: Int- , id (id x * _) :: Int- , id (id y * _) :: Int- , id (_ + id x) :: Int- , id (_ + id y) :: Int- , id (_ + id z) :: Int- , id (x + id _) :: Int- , id (x + id y) :: Int- , id (y + id _) :: Int- , id (y + id x) :: Int- , id (z + id _) :: Int- , id (id _ + x) :: Int- , id (id _ + y) :: Int- , id (id _ + z) :: Int- , id (id x + _) :: Int- , id (id x + y) :: Int- , id (id y + _) :: Int- , id (id y + x) :: Int- , id (id z + _) :: Int- , head (head _:xs) :: Int- , head (head xs:_) :: Int- , tail (tail (_:_)) :: [Int]- , tail (_:tail _) :: [Int]- , _ || not (not p) :: Bool- , p || not (not _) :: Bool- , not _ || not p :: Bool- , not p || not _ :: Bool- , not (not _) || p :: Bool- , not (not p) || _ :: Bool- , _ * id (id x) :: Int- , x * id (id _) :: Int- , id _ * id x :: Int- , id x * id _ :: Int- , id (id _) * x :: Int- , id (id x) * _ :: Int- , _ + id (id x) :: Int- , _ + id (id y) :: Int- , _ + (x + 0) :: Int- , _ + (0 + x) :: Int- , x + id (id _) :: Int- , x + (_ + 0) :: Int- , x + (0 + _) :: Int- , y + id (id _) :: Int- , 0 + (_ + x) :: Int- , 0 + (x + _) :: Int- , id _ + id x :: Int- , id _ + id y :: Int- , id x + id _ :: Int- , id y + id _ :: Int- , id (id _) + x :: Int- , id (id _) + y :: Int- , id (id x) + _ :: Int- , id (id y) + _ :: Int- , (_ + x) + 0 :: Int- , (_ + 0) + x :: Int- , (x + _) + 0 :: Int- , (x + 0) + _ :: Int- , (0 + _) + x :: Int- , (0 + x) + _ :: Int- , elem (id (id _)) _ :: Bool- , _:tail (tail _) :: [Int]- , [_,x] :: [Int]- , [_,x,0] :: [Int]- , [_,y] :: [Int]- , _:0:_ :: [Int]- , _:0:xs :: [Int]- , _:0:ys :: [Int]- , _:1:_ :: [Int]- , _:1:xs :: [Int]- , _:(-1):_ :: [Int]- , [x,_] :: [Int]- , [x,_,0] :: [Int]- , x:0:_ :: [Int]- , x:0:xs :: [Int]- , x:1:_ :: [Int]- , [y,_] :: [Int]- , y:0:_ :: [Int]- , 0:_:_ :: [Int]- , 0:_:xs :: [Int]- , 0:_:ys :: [Int]- , 0:x:_ :: [Int]- , 0:x:xs :: [Int]- , 0:y:_ :: [Int]- , 1:_:_ :: [Int]- , 1:_:xs :: [Int]- , 1:x:_ :: [Int]- , (-1):_:_ :: [Int]- , id (id _):_ :: [Int]- , id (id _):xs :: [Int]- , id (id _):ys :: [Int]- , id (id x):_ :: [Int]- , id (id x):xs :: [Int]- , id (id y):_ :: [Int]- , abs (abs _):_ :: [Int]- , negate (negate _):_ :: [Int]- , insert (id (id _)) _ :: [Int]- , not (elem (id _) _) :: Bool- , id (f (_ + 0)) :: Int- , id (f (0 + _)) :: Int- , id (abs (_ * x)) :: Int- , id (abs (x * _)) :: Int- , id (abs (_ + x)) :: Int- , id (abs (_ + y)) :: Int- , id (abs (x + _)) :: Int- , id (abs (y + _)) :: Int- , id (negate (_ * x)) :: Int- , id (negate (x * _)) :: Int- , id (negate (_ + x)) :: Int- , id (negate (_ + y)) :: Int- , id (negate (x + _)) :: Int- , id (negate (y + _)) :: Int- , id (head (_:_)) :: Int- , id (head (_:xs)) :: Int- , id (head (_:ys)) :: Int- , id (head (_:zs)) :: Int- , id (head (x:_)) :: Int- , id (head (x:xs)) :: Int- , id (head (x:ys)) :: Int- , id (head (y:_)) :: Int- , id (head (y:xs)) :: Int- , id (head (z:_)) :: Int- , id (head (insert _ _)) :: Int- , id (head (_ ++ xs)) :: Int- , id (head (_ ++ ys)) :: Int- , id (head (xs ++ _)) :: Int- , id (head (ys ++ _)) :: Int- , id (_ * ord _) :: Int- , id (_ * ord c) :: Int- , id (_ * abs x) :: Int- , id (_ * negate x) :: Int- , id (_ * head _) :: Int- , id (_ * head xs) :: Int- , id (x * ord _) :: Int- , id (x * abs _) :: Int- , id (x * negate _) :: Int- , id (x * head _) :: Int- , id (ord _ * _) :: Int- , id (ord _ * x) :: Int- , id (ord c * _) :: Int- , id (abs _ * x) :: Int- , id (abs x * _) :: Int- , id (negate _ * x) :: Int- , id (negate x * _) :: Int- , id (head _ * _) :: Int- , id (head _ * x) :: Int- , id (head xs * _) :: Int- , id (_ + f 0) :: Int- , id (_ + ord _) :: Int- , id (_ + ord c) :: Int- , id (_ + ord d) :: Int- , id (_ + abs x) :: Int- , id (_ + abs y) :: Int- , id (_ + negate x) :: Int- , id (_ + negate y) :: Int- , id (_ + head _) :: Int- , id (_ + head xs) :: Int- , id (_ + head ys) :: Int- , id (x + ord _) :: Int- , id (x + ord c) :: Int- , id (x + abs _) :: Int- , id (x + negate _) :: Int- , id (x + head _) :: Int- , id (x + head xs) :: Int- , id (y + ord _) :: Int- , id (y + abs _) :: Int- , id (y + negate _) :: Int- , id (y + head _) :: Int- , id (0 + f _) :: Int- , id (f _ + 0) :: Int- , id (f 0 + _) :: Int- , id (ord _ + _) :: Int- , id (ord _ + x) :: Int- , id (ord _ + y) :: Int- , id (ord c + _) :: Int- , id (ord c + x) :: Int- , id (ord d + _) :: Int- , id (abs _ + x) :: Int- , id (abs _ + y) :: Int- , id (abs x + _) :: Int- , id (abs y + _) :: Int- , id (negate _ + x) :: Int- , id (negate _ + y) :: Int- , id (negate x + _) :: Int- , id (negate y + _) :: Int- , id (head _ + _) :: Int- , id (head _ + x) :: Int- , id (head _ + y) :: Int- , id (head xs + _) :: Int- , id (head xs + x) :: Int- , id (head ys + _) :: Int- , abs (id (_ + x)) :: Int- , abs (id (x + _)) :: Int- , abs (head (_:_)) :: Int- , abs (head (_:xs)) :: Int- , abs (head (x:_)) :: Int- , abs (_ + ord _) :: Int- , abs (_ + id x) :: Int- , abs (_ + head _) :: Int- , abs (x + id _) :: Int- , abs (ord _ + _) :: Int- , abs (id _ + x) :: Int- , abs (id x + _) :: Int- , abs (head _ + _) :: Int- , negate (id (_ + x)) :: Int- , negate (id (x + _)) :: Int- , negate (head (_:_)) :: Int- , negate (head (_:xs)) :: Int- , negate (head (x:_)) :: Int- , negate (_ + ord _) :: Int- , negate (_ + id x) :: Int- , negate (_ + head _) :: Int- , negate (x + id _) :: Int- , negate (ord _ + _) :: Int- , negate (id _ + x) :: Int- , negate (id x + _) :: Int- , negate (head _ + _) :: Int- , head (sort (_:_)) :: Int- , head (tail (_:_)) :: Int- , head (tail (_:xs)) :: Int- , head (tail (x:_)) :: Int- , head (_:sort _) :: Int- , head (_:tail _) :: Int- , head (_:tail xs) :: Int- , head (x:tail _) :: Int- , head (ord _:_) :: Int- , head (ord _:xs) :: Int- , head (ord c:_) :: Int- , head (id _:_) :: Int- , head (id _:xs) :: Int- , head (id _:ys) :: Int- , head (id x:_) :: Int- , head (id x:xs) :: Int- , head (id y:_) :: Int- , head (abs _:_) :: Int- , head (abs _:xs) :: Int- , head (abs x:_) :: Int- , head (negate _:_) :: Int- , head (negate _:xs) :: Int- , head (negate x:_) :: Int- , head (insert (id _) _) :: Int- , sort (id _:_) :: [Int]- , tail (ord _:_) :: [Int]- , tail (id _:_) :: [Int]- , tail (id _:xs) :: [Int]- , tail (id x:_) :: [Int]- , tail (abs _:_) :: [Int]- , tail (negate _:_) :: [Int]- , (head (_:_) +) :: Int -> Int- , _ * id (ord _) :: Int- , _ * id (head _) :: Int- , ord _ * id _ :: Int- , id _ * ord _ :: Int- , id _ * head _ :: Int- , id (ord _) * _ :: Int- , id (head _) * _ :: Int- , head _ * id _ :: Int- , _ + id (ord _) :: Int- , _ + id (ord c) :: Int- , _ + id (abs x) :: Int- , _ + id (negate x) :: Int- , _ + id (head _) :: Int- , _ + id (head xs) :: Int- , _ + abs (ord _) :: Int- , _ + abs (id x) :: Int- , _ + abs (head _) :: Int- , _ + negate (ord _) :: Int- , _ + negate (id x) :: Int- , _ + negate (head _) :: Int- , _ + head (tail _) :: Int- , x + id (ord _) :: Int- , x + id (abs _) :: Int- , x + id (negate _) :: Int- , x + id (head _) :: Int- , x + abs (id _) :: Int- , x + negate (id _) :: Int- , ord _ + id _ :: Int- , ord _ + id x :: Int- , ord _ + abs _ :: Int- , ord _ + negate _ :: Int- , ord _ + head _ :: Int- , ord c + id _ :: Int- , id _ + ord _ :: Int- , id _ + ord c :: Int- , id _ + abs x :: Int- , id _ + negate x :: Int- , id _ + head _ :: Int- , id _ + head xs :: Int- , id x + ord _ :: Int- , id x + abs _ :: Int- , id x + negate _ :: Int- , id x + head _ :: Int- , id (ord _) + _ :: Int- , id (ord _) + x :: Int- , id (ord c) + _ :: Int- , id (abs _) + x :: Int- , id (abs x) + _ :: Int- , id (negate _) + x :: Int- , id (negate x) + _ :: Int- , id (head _) + _ :: Int- , id (head _) + x :: Int- , id (head xs) + _ :: Int- , abs _ + ord _ :: Int- , abs _ + id x :: Int- , abs _ + head _ :: Int- , abs x + id _ :: Int- , abs (ord _) + _ :: Int- , abs (id _) + x :: Int- , abs (id x) + _ :: Int- , abs (head _) + _ :: Int- , negate _ + ord _ :: Int- , negate _ + id x :: Int- , negate _ + head _ :: Int- , negate x + id _ :: Int- , negate (ord _) + _ :: Int- , negate (id _) + x :: Int- , negate (id x) + _ :: Int- , negate (head _) + _ :: Int- , head _ + ord _ :: Int- , head _ + id _ :: Int- , head _ + id x :: Int- , head _ + abs _ :: Int- , head _ + negate _ :: Int- , head xs + id _ :: Int- , head (tail _) + _ :: Int- , elem _ (0:_) :: Bool- , elem 0 (_:_) :: Bool- , _:insert 0 _ :: [Int]- , _:(_ ++ []) :: [Int]- , _:(_ ++ [0]) :: [Int]- , _:(xs ++ []) :: [Int]- , _:([] ++ _) :: [Int]- , _:([] ++ xs) :: [Int]- , _:([0] ++ _) :: [Int]- , x:(_ ++ []) :: [Int]- , x:([] ++ _) :: [Int]- , 0:insert _ _ :: [Int]- , 0:(_ ++ xs) :: [Int]- , 0:(xs ++ _) :: [Int]- , ord _:tail _ :: [Int]- , id _:sort _ :: [Int]- , id _:tail _ :: [Int]- , id _:tail xs :: [Int]- , id x:tail _ :: [Int]- , id (ord _):_ :: [Int]- , id (ord _):xs :: [Int]- , id (ord c):_ :: [Int]- , id (abs _):_ :: [Int]- , id (abs _):xs :: [Int]- , id (abs x):_ :: [Int]- , id (negate _):_ :: [Int]- , id (negate _):xs :: [Int]- , id (negate x):_ :: [Int]- , id (head _):xs :: [Int]- , id (head xs):_ :: [Int]- , abs _:tail _ :: [Int]- , abs (ord _):_ :: [Int]- , abs (id _):_ :: [Int]- , abs (id _):xs :: [Int]- , abs (id x):_ :: [Int]- , abs (negate _):_ :: [Int]- , negate _:tail _ :: [Int]- , negate (ord _):_ :: [Int]- , negate (id _):_ :: [Int]- , negate (id _):xs :: [Int]- , negate (id x):_ :: [Int]- , negate (abs _):_ :: [Int]- , _ * 0:_ :: [Int]- , 0 * _:_ :: [Int]- , [_ + x] :: [Int]- , _ + 0:_ :: [Int]- , _ + 0:xs :: [Int]- , _ + 1:_ :: [Int]- , [x + _] :: [Int]- , x + 0:_ :: [Int]- , 0 + _:_ :: [Int]- , 0 + _:xs :: [Int]- , 0 + x:_ :: [Int]- , 1 + _:_ :: [Int]- , insert _ (0:_) :: [Int]- , insert 0 (_:_) :: [Int]- , _ ++ [_] :: [Int]- , _ ++ [_,0] :: [Int]- , _ ++ [x] :: [Int]- , _ ++ (0:xs) :: [Int]- , xs ++ [_] :: [Int]- , xs ++ (0:_) :: [Int]- , [] ++ (_:_) :: [Int]- , [] ++ (_:xs) :: [Int]- , [] ++ (x:_) :: [Int]- , [0] ++ (_:_) :: [Int]- , (_:_) ++ [] :: [Int]- , (_:_) ++ [0] :: [Int]- , (_:xs) ++ [] :: [Int]- , [_] ++ _ :: [Int]- , [_] ++ xs :: [Int]- , [_,0] ++ _ :: [Int]- , (x:_) ++ [] :: [Int]- , [x] ++ _ :: [Int]- , (0:_) ++ xs :: [Int]- , (0:xs) ++ _ :: [Int]- , _ || (_ || _) :: Bool- , (_ || _) || _ :: Bool- , _ * (_ * _) :: Int- , (_ * _) * _ :: Int- , _ + (_ + _) :: Int- , (_ + _) + _ :: Int- , _ ++ (_ ++ _) :: [Int]- , (_ ++ _) ++ _ :: [Int]- , _ && (_ || _) :: Bool- , (_ || _) && _ :: Bool- , _ == (_ || _) :: Bool- , (_ || _) == _ :: Bool- , _ || _ && _ :: Bool- , _ || _ == _ :: Bool- , _ && _ || _ :: Bool- , _ == _ || _ :: Bool- , _ == _ + _ :: Bool- , _ + _ == _ :: Bool- , _ * (_ + _) :: Int- , (_ + _) * _ :: Int- , _ + _ * _ :: Int- , _ * _ + _ :: Int- , not (not (_ && _)) :: Bool- , not (not (_ == _)) :: Bool- , not (not (_ || _)) :: Bool- , not (not (_ == _)) :: Bool- , not (_ && not _) :: Bool- , not (not _ && _) :: Bool- , not (_ == not _) :: Bool- , not (not _ == _) :: Bool- , not (_ || not _) :: Bool- , not (not _ || _) :: Bool- , id (id (_ * _)) :: Int- , id (id (x * x)) :: Int- , id (id (_ + _)) :: Int- , id (id (x + x)) :: Int- , id (_ * id _) :: Int- , id (x * id x) :: Int- , id (id _ * _) :: Int- , id (id x * x) :: Int- , id (_ + id _) :: Int- , id (x + id x) :: Int- , id (id _ + _) :: Int- , id (id x + x) :: Int- , abs (abs (_ + _)) :: Int- , abs (_ + abs _) :: Int- , abs (abs _ + _) :: Int- , negate (negate (_ + _)) :: Int- , negate (_ + negate _) :: Int- , negate (negate _ + _) :: Int- , head (head _:_) :: Int- , (id (_ + _) +) :: Int -> Int- , ((_ + id _) +) :: Int -> Int- , ((id _ + _) +) :: Int -> Int- , _ && not (not _) :: Bool- , not _ && not _ :: Bool- , not (not _) && _ :: Bool- , _ == not (not _) :: Bool- , not _ == not _ :: Bool- , not (not _) == _ :: Bool- , _ || not (not _) :: Bool- , _ || (_ || False) :: Bool- , _ || (_ || True) :: Bool- , _ || (False || _) :: Bool- , _ || (True || _) :: Bool- , False || (_ || _) :: Bool- , True || (_ || _) :: Bool- , not _ || not _ :: Bool- , not (not _) || _ :: Bool- , (_ || _) || False :: Bool- , (_ || _) || True :: Bool- , (_ || False) || _ :: Bool- , (_ || True) || _ :: Bool- , (False || _) || _ :: Bool- , (True || _) || _ :: Bool- , _ == id (id _) :: Bool- , id _ == id _ :: Bool- , id (id _) == _ :: Bool- , _ * id (id _) :: Int- , id _ * id _ :: Int- , id (id _) * _ :: Int- , _ + id (id _) :: Int- , _ + abs (abs _) :: Int- , _ + negate (negate _) :: Int- , _ + (_ + 0) :: Int- , _ + (_ + 1) :: Int- , _ + (0 + _) :: Int- , _ + (1 + _) :: Int- , x + id (id x) :: Int- , 0 + (_ + _) :: Int- , 1 + (_ + _) :: Int- , ord _ + ord _ :: Int- , id _ + id _ :: Int- , id x + id x :: Int- , id (id _) + _ :: Int- , id (id x) + x :: Int- , abs _ + abs _ :: Int- , abs (abs _) + _ :: Int- , negate _ + negate _ :: Int- , negate (negate _) + _ :: Int- , head _ + head _ :: Int- , (_ + _) + 0 :: Int- , (_ + _) + 1 :: Int- , (_ + 0) + _ :: Int- , (_ + 1) + _ :: Int- , (0 + _) + _ :: Int- , (1 + _) + _ :: Int- , [_,_] :: [Int]- , [_,_,0] :: [Int]- , [_,_,1] :: [Int]- , [_,_,0,0] :: [Int]- , [x,x] :: [Int]- , _ ++ (_ ++ []) :: [Int]- , _ ++ ([] ++ _) :: [Int]- , [] ++ (_ ++ _) :: [Int]- , (_ ++ _) ++ [] :: [Int]- , (_ ++ []) ++ _ :: [Int]- , ([] ++ _) ++ _ :: [Int]- , not (_ == id _) :: Bool- , not (id _ == _) :: Bool- , id (abs (_ * _)) :: Int- , id (abs (_ + _)) :: Int- , id (abs (x + x)) :: Int- , id (negate (_ * _)) :: Int- , id (negate (_ + _)) :: Int- , id (negate (x + x)) :: Int- , id (head (_ ++ _)) :: Int- , id (head (xs ++ xs)) :: Int- , id (_ * abs _) :: Int- , id (_ * negate _) :: Int- , id (abs _ * _) :: Int- , id (negate _ * _) :: Int- , id (_ + abs _) :: Int- , id (_ + negate _) :: Int- , id (x + abs x) :: Int- , id (x + negate x) :: Int- , id (abs _ + _) :: Int- , id (abs x + x) :: Int- , id (negate _ + _) :: Int- , id (negate x + x) :: Int- , abs (id (_ * _)) :: Int- , abs (id (_ + _)) :: Int- , abs (negate (_ + _)) :: Int- , abs (head (_ ++ _)) :: Int- , abs (_ * id _) :: Int- , abs (id _ * _) :: Int- , abs (_ + id _) :: Int- , abs (_ + negate _) :: Int- , abs (id _ + _) :: Int- , abs (negate _ + _) :: Int- , negate (id (_ * _)) :: Int- , negate (id (_ + _)) :: Int- , negate (abs (_ + _)) :: Int- , negate (head (_ ++ _)) :: Int- , negate (_ * id _) :: Int- , negate (id _ * _) :: Int- , negate (_ + id _) :: Int- , negate (_ + abs _) :: Int- , negate (id _ + _) :: Int- , negate (abs _ + _) :: Int- , head (tail (_ ++ _)) :: Int- , head (_ ++ tail _) :: Int- , head (tail _ ++ _) :: Int- , tail (head _:_) :: [Int]- , _ * id (abs _) :: Int- , _ * id (negate _) :: Int- , _ * abs (id _) :: Int- , _ * negate (id _) :: Int- , _ * (_ + 0) :: Int- , _ * (0 + _) :: Int- , 0 * (_ + _) :: Int- , id _ * abs _ :: Int- , id _ * negate _ :: Int- , id (abs _) * _ :: Int- , id (negate _) * _ :: Int- , abs _ * id _ :: Int- , abs (id _) * _ :: Int- , negate _ * id _ :: Int- , negate (id _) * _ :: Int- , (_ + _) * 0 :: Int- , (_ + 0) * _ :: Int- , (0 + _) * _ :: Int- , _ + id (abs _) :: Int- , _ + id (negate _) :: Int- , _ + abs (id _) :: Int- , _ + abs (negate _) :: Int- , _ + negate (id _) :: Int- , _ + negate (abs _) :: Int- , _ + _ * 0 :: Int- , _ + 0 * _ :: Int- , 0 + _ * _ :: Int- , id _ + abs _ :: Int- , id _ + negate _ :: Int- , id (abs _) + _ :: Int- , id (negate _) + _ :: Int- , abs _ + id _ :: Int- , abs _ + negate _ :: Int- , abs (id _) + _ :: Int- , abs (negate _) + _ :: Int- , negate _ + id _ :: Int- , negate _ + abs _ :: Int- , negate (id _) + _ :: Int- , negate (abs _) + _ :: Int- , _ * _ + 0 :: Int- , _ * 0 + _ :: Int- , 0 * _ + _ :: Int- , elem _ [_] :: Bool- , _:insert _ [] :: [Int]- , 0:(_ ++ _) :: [Int]- , 1:(_ ++ _) :: [Int]- , id (head _):_ :: [Int]- , abs (head _):_ :: [Int]- , negate (head _):_ :: [Int]- , head _:tail _ :: [Int]- , head (tail _):_ :: [Int]- , [_ * _] :: [Int]- , [_ + _] :: [Int]- , [_ + _,0] :: [Int]- , insert _ [_] :: [Int]- , _ ++ (0:_) :: [Int]- , _ ++ (1:_) :: [Int]- , (0:_) ++ _ :: [Int]- , (1:_) ++ _ :: [Int]- , not (not (not (not _))) :: Bool- , not (not (not (not p))) :: Bool- , id (id (id (id _))) :: Int- , id (id (id (id x))) :: Int- , id (id (id (id y))) :: Int- , id (id (id (id z))) :: Int- , id (f (id (id 0))) :: Int- , id (id (f (id 0))) :: Int- , id (id (id (f 0))) :: Int- , id (id (id (ord _))) :: Int- , id (id (id (ord c))) :: Int- , id (id (id (ord d))) :: Int- , id (id (id (abs _))) :: Int- , id (id (id (abs x))) :: Int- , id (id (id (abs y))) :: Int- , id (id (id (negate _))) :: Int- , id (id (id (negate x))) :: Int- , id (id (id (negate y))) :: Int- , id (id (id (head _))) :: Int- , id (id (id (head xs))) :: Int- , id (id (id (head ys))) :: Int- , id (id (abs (id _))) :: Int- , id (id (abs (id x))) :: Int- , id (id (abs (id y))) :: Int- , id (id (abs (abs _))) :: Int- , id (id (abs (abs x))) :: Int- , id (id (negate (id _))) :: Int- , id (id (negate (id x))) :: Int- , id (id (negate (id y))) :: Int- , id (id (negate (negate _))) :: Int- , id (id (negate (negate x))) :: Int- , id (abs (id (id _))) :: Int- , id (abs (id (id x))) :: Int- , id (abs (id (id y))) :: Int- , id (abs (id (abs _))) :: Int- , id (abs (id (abs x))) :: Int- , id (abs (abs (id _))) :: Int- , id (abs (abs (id x))) :: Int- , id (abs (abs (abs _))) :: Int- , id (negate (id (id _))) :: Int- , id (negate (id (id x))) :: Int- , id (negate (id (id y))) :: Int- , id (negate (id (negate _))) :: Int- , id (negate (id (negate x))) :: Int- , id (negate (negate (id _))) :: Int- , id (negate (negate (id x))) :: Int- , id (negate (negate (negate _))) :: Int- , abs (id (id (id _))) :: Int- , abs (id (id (id x))) :: Int- , abs (id (id (abs _))) :: Int- , abs (id (abs (id _))) :: Int- , abs (abs (id (id _))) :: Int- , negate (id (id (id _))) :: Int- , negate (id (id (id x))) :: Int- , negate (id (id (negate _))) :: Int- , negate (id (negate (id _))) :: Int- , negate (negate (id (id _))) :: Int- , (id (id (id _)) +) :: Int -> Int- , _ + (0 + 0) :: Int- , 0 + (_ + 0) :: Int- , 0 + (0 + _) :: Int- , (_ + 0) + 0 :: Int- , (0 + _) + 0 :: Int- , (0 + 0) + _ :: Int- , 0:0:_ :: [Int]- , 0:0:xs :: [Int]- , not (not (_ || False)) :: Bool- , not (not (_ || True)) :: Bool- , not (not (False || _)) :: Bool- , not (not (True || _)) :: Bool- , not (_ || not False) :: Bool- , not (_ || not True) :: Bool- , not (False || not _) :: Bool- , not (True || not _) :: Bool- , not (not _ || False) :: Bool- , not (not _ || True) :: Bool- , not (not False || _) :: Bool- , not (not True || _) :: Bool- , id (id (abs (ord _))) :: Int- , id (id (abs (ord c))) :: Int- , id (id (abs (negate _))) :: Int- , id (id (abs (negate x))) :: Int- , id (id (abs (head _))) :: Int- , id (id (abs (head xs))) :: Int- , id (id (negate (ord _))) :: Int- , id (id (negate (ord c))) :: Int- , id (id (negate (abs _))) :: Int- , id (id (negate (abs x))) :: Int- , id (id (negate (head _))) :: Int- , id (id (negate (head xs))) :: Int- , id (id (head (sort _))) :: Int- , id (id (head (tail _))) :: Int- , id (id (head (tail xs))) :: Int- , id (id (_ * 0)) :: Int- , id (id (_ * 1)) :: Int- , id (id (x * 0)) :: Int- , id (id (0 * _)) :: Int- , id (id (0 * x)) :: Int- , id (id (1 * _)) :: Int- , id (id (_ + 0)) :: Int- , id (id (_ + 1)) :: Int- , id (id (_ + (-1))) :: Int- , id (id (x + 0)) :: Int- , id (id (x + 1)) :: Int- , id (id (y + 0)) :: Int- , id (id (0 + _)) :: Int- , id (id (0 + x)) :: Int- , id (id (0 + y)) :: Int- , id (id (1 + _)) :: Int- , id (id (1 + x)) :: Int- , id (id ((-1) + _)) :: Int- , id (abs (id (ord _))) :: Int- , id (abs (id (ord c))) :: Int- , id (abs (id (negate _))) :: Int- , id (abs (id (negate x))) :: Int- , id (abs (id (head _))) :: Int- , id (abs (id (head xs))) :: Int- , id (abs (abs (ord _))) :: Int- , id (abs (abs (negate _))) :: Int- , id (abs (abs (head _))) :: Int- , id (abs (negate (id _))) :: Int- , id (abs (negate (id x))) :: Int- , id (abs (negate (abs _))) :: Int- , id (abs (negate (negate _))) :: Int- , id (negate (id (ord _))) :: Int- , id (negate (id (ord c))) :: Int- , id (negate (id (abs _))) :: Int- , id (negate (id (abs x))) :: Int- , id (negate (id (head _))) :: Int- , id (negate (id (head xs))) :: Int- , id (negate (abs (id _))) :: Int- , id (negate (abs (id x))) :: Int- , id (negate (abs (abs _))) :: Int- , id (negate (abs (negate _))) :: Int- , id (negate (negate (ord _))) :: Int- , id (negate (negate (abs _))) :: Int- , id (negate (negate (head _))) :: Int- , id (head (tail (tail _))) :: Int- , id (_ * id 0) :: Int- , id (_ * id 1) :: Int- , id (x * id 0) :: Int- , id (0 * id _) :: Int- , id (0 * id x) :: Int- , id (1 * id _) :: Int- , id (id _ * 0) :: Int- , id (id _ * 1) :: Int- , id (id x * 0) :: Int- , id (id 0 * _) :: Int- , id (id 0 * x) :: Int- , id (id 1 * _) :: Int- , id (_ + id 0) :: Int- , id (_ + id 1) :: Int- , id (_ + id (-1)) :: Int- , id (x + id 0) :: Int- , id (x + id 1) :: Int- , id (y + id 0) :: Int- , id (0 + id _) :: Int- , id (0 + id x) :: Int- , id (0 + id y) :: Int- , id (1 + id _) :: Int- , id (1 + id x) :: Int- , id ((-1) + id _) :: Int- , id (id _ + 0) :: Int- , id (id _ + 1) :: Int- , id (id _ + (-1)) :: Int- , id (id x + 0) :: Int- , id (id x + 1) :: Int- , id (id y + 0) :: Int- , id (id 0 + _) :: Int- , id (id 0 + x) :: Int- , id (id 0 + y) :: Int- , id (id 1 + _) :: Int- , id (id 1 + x) :: Int- , id (id (-1) + _) :: Int- , abs (id (id (ord _))) :: Int- , abs (id (id (negate _))) :: Int- , abs (id (id (head _))) :: Int- , abs (id (negate (id _))) :: Int- , abs (negate (id (id _))) :: Int- , negate (id (id (ord _))) :: Int- , negate (id (id (abs _))) :: Int- , negate (id (id (head _))) :: Int- , negate (id (abs (id _))) :: Int- , negate (abs (id (id _))) :: Int- , head [head _] :: Int- , head (head []:_) :: Int- , _ || not (not False) :: Bool- , _ || not (not True) :: Bool- , False || not (not _) :: Bool- , True || not (not _) :: Bool- , not _ || not False :: Bool- , not _ || not True :: Bool- , not False || not _ :: Bool- , not True || not _ :: Bool- , not (not _) || False :: Bool- , not (not _) || True :: Bool- , not (not False) || _ :: Bool- , not (not True) || _ :: Bool- , _ * id (id 0) :: Int- , 0 * id (id _) :: Int- , id _ * id 0 :: Int- , id 0 * id _ :: Int- , id (id _) * 0 :: Int- , id (id 0) * _ :: Int- , _ + id (id 0) :: Int- , _ + id (id 1) :: Int- , x + id (id 0) :: Int- , 0 + id (id _) :: Int- , 0 + id (id x) :: Int- , 1 + id (id _) :: Int- , id _ + id 0 :: Int- , id _ + id 1 :: Int- , id x + id 0 :: Int- , id 0 + id _ :: Int- , id 0 + id x :: Int- , id 1 + id _ :: Int- , id (id _) + 0 :: Int- , id (id _) + 1 :: Int- , id (id x) + 0 :: Int- , id (id 0) + _ :: Int- , id (id 0) + x :: Int- , id (id 1) + _ :: Int- , [_,0] :: [Int]- , [_,0,0] :: [Int]- , [_,1] :: [Int]- , _:([] ++ []) :: [Int]- , [x,0] :: [Int]- , [0,_] :: [Int]- , [0,_,0] :: [Int]- , [0,x] :: [Int]- , 0:1:_ :: [Int]- , [1,_] :: [Int]- , 1:0:_ :: [Int]- , [id (id _)] :: [Int]- , [id (id _),0] :: [Int]- , [id (id x)] :: [Int]- , id (id 0):_ :: [Int]- , id (id 0):xs :: [Int]- , id (id 1):_ :: [Int]- , 0 + 0:_ :: [Int]- , [] ++ [_] :: [Int]- , [_] ++ [] :: [Int]- , id (abs (negate (ord _))) :: Int- , id (abs (negate (head _))) :: Int- , id (abs (head (tail _))) :: Int- , id (abs (_ * 0)) :: Int- , id (abs (0 * _)) :: Int- , id (abs (_ + 0)) :: Int- , id (abs (_ + 1)) :: Int- , id (abs (x + 0)) :: Int- , id (abs (0 + _)) :: Int- , id (abs (0 + x)) :: Int- , id (abs (1 + _)) :: Int- , id (negate (abs (ord _))) :: Int- , id (negate (abs (head _))) :: Int- , id (negate (head (tail _))) :: Int- , id (negate (_ * 0)) :: Int- , id (negate (0 * _)) :: Int- , id (negate (_ + 0)) :: Int- , id (negate (_ + 1)) :: Int- , id (negate (x + 0)) :: Int- , id (negate (0 + _)) :: Int- , id (negate (0 + x)) :: Int- , id (negate (1 + _)) :: Int- , id (head [_]) :: Int- , id (head [_,0]) :: Int- , id (head [_,1]) :: Int- , id (head [_,0,0]) :: Int- , id (head [x]) :: Int- , id (head [x,0]) :: Int- , id (head [y]) :: Int- , id (head (0:_)) :: Int- , id (head (0:xs)) :: Int- , id (head (0:ys)) :: Int- , id (head (1:_)) :: Int- , id (head (1:xs)) :: Int- , id (head ((-1):_)) :: Int- , id (head (_ ++ [])) :: Int- , id (head (_ ++ [0])) :: Int- , id (head (xs ++ [])) :: Int- , id (head ([] ++ _)) :: Int- , id (head ([] ++ xs)) :: Int- , id (head ([0] ++ _)) :: Int- , id (_ * ord 'a') :: Int- , id (_ * abs 0) :: Int- , id (_ * negate 0) :: Int- , id (_ * head []) :: Int- , id (0 * ord _) :: Int- , id (0 * abs _) :: Int- , id (0 * negate _) :: Int- , id (0 * head _) :: Int- , id (ord _ * 0) :: Int- , id (ord 'a' * _) :: Int- , id (abs _ * 0) :: Int- , id (abs 0 * _) :: Int- , id (negate _ * 0) :: Int- , id (negate 0 * _) :: Int- , id (head _ * 0) :: Int- , id (head [] * _) :: Int- , id (_ + ord ' ') :: Int- , id (_ + ord 'a') :: Int- , id (_ + abs 0) :: Int- , id (_ + abs 1) :: Int- , id (_ + negate 0) :: Int- , id (_ + negate 1) :: Int- , id (_ + head []) :: Int- , id (_ + head [0]) :: Int- , id (x + ord 'a') :: Int- , id (x + abs 0) :: Int- , id (x + negate 0) :: Int- , id (x + head []) :: Int- , id (0 + ord _) :: Int- , id (0 + ord c) :: Int- , id (0 + abs _) :: Int- , id (0 + abs x) :: Int- , id (0 + negate _) :: Int- , id (0 + negate x) :: Int- , id (0 + head _) :: Int- , id (0 + head xs) :: Int- , id (1 + ord _) :: Int- , id (1 + abs _) :: Int- , id (1 + negate _) :: Int- , id (1 + head _) :: Int- , id (ord _ + 0) :: Int- , id (ord _ + 1) :: Int- , id (ord c + 0) :: Int- , id (ord ' ' + _) :: Int- , id (ord 'a' + _) :: Int- , id (ord 'a' + x) :: Int- , id (abs _ + 0) :: Int- , id (abs _ + 1) :: Int- , id (abs x + 0) :: Int- , id (abs 0 + _) :: Int- , id (abs 0 + x) :: Int- , id (abs 1 + _) :: Int- , id (negate _ + 0) :: Int- , id (negate _ + 1) :: Int- , id (negate x + 0) :: Int- , id (negate 0 + _) :: Int- , id (negate 0 + x) :: Int- , id (negate 1 + _) :: Int- , id (head _ + 0) :: Int- , id (head _ + 1) :: Int- , id (head xs + 0) :: Int- , id (head [] + _) :: Int- , id (head [] + x) :: Int- , id (head [0] + _) :: Int- , abs (id (_ + 0)) :: Int- , abs (id (0 + _)) :: Int- , abs (head [_]) :: Int- , abs (head (0:_)) :: Int- , abs (_ + id 0) :: Int- , abs (0 + id _) :: Int- , abs (id _ + 0) :: Int- , abs (id 0 + _) :: Int- , negate (id (_ + 0)) :: Int- , negate (id (0 + _)) :: Int- , negate (head [_]) :: Int- , negate (head (0:_)) :: Int- , negate (_ + id 0) :: Int- , negate (0 + id _) :: Int- , negate (id _ + 0) :: Int- , negate (id 0 + _) :: Int- , head (tail [_]) :: Int- , head (tail (0:_)) :: Int- , head (_:tail []) :: Int- , head (0:tail _) :: Int- , head [ord _] :: Int- , head (ord 'a':_) :: Int- , head [id _] :: Int- , head [id _,0] :: Int- , head [id x] :: Int- , head (id 0:_) :: Int- , head (id 0:xs) :: Int- , head (id 1:_) :: Int- , head [abs _] :: Int- , head (abs 0:_) :: Int- , head [negate _] :: Int- , head (negate 0:_) :: Int- , tail [id _] :: [Int]- , tail (id 0:_) :: [Int]- , _ + id (ord 'a') :: Int- , _ + id (abs 0) :: Int- , _ + id (negate 0) :: Int- , _ + id (head []) :: Int- , _ + abs (id 0) :: Int- , _ + negate (id 0) :: Int- , 0 + id (ord _) :: Int- , 0 + id (abs _) :: Int- , 0 + id (negate _) :: Int- , 0 + id (head _) :: Int- , 0 + abs (id _) :: Int- , 0 + negate (id _) :: Int- , ord _ + id 0 :: Int- , ord 'a' + id _ :: Int- , id _ + ord 'a' :: Int- , id _ + abs 0 :: Int- , id _ + negate 0 :: Int- , id _ + head [] :: Int- , id 0 + ord _ :: Int- , id 0 + abs _ :: Int- , id 0 + negate _ :: Int- , id 0 + head _ :: Int- , id (ord _) + 0 :: Int- , id (ord 'a') + _ :: Int- , id (abs _) + 0 :: Int- , id (abs 0) + _ :: Int- , id (negate _) + 0 :: Int- , id (negate 0) + _ :: Int- , id (head _) + 0 :: Int- , id (head []) + _ :: Int- , abs _ + id 0 :: Int- , abs 0 + id _ :: Int- , abs (id _) + 0 :: Int- , abs (id 0) + _ :: Int- , negate _ + id 0 :: Int- , negate 0 + id _ :: Int- , negate (id _) + 0 :: Int- , negate (id 0) + _ :: Int- , head _ + id 0 :: Int- , head [] + id _ :: Int- , 0:(_ ++ []) :: [Int]- , 0:([] ++ _) :: [Int]- , id _:tail [] :: [Int]- , id 0:tail _ :: [Int]- , [id (ord _)] :: [Int]- , id (ord 'a'):_ :: [Int]- , [id (abs _)] :: [Int]- , id (abs 0):_ :: [Int]- , [id (negate _)] :: [Int]- , id (negate 0):_ :: [Int]- , [id (head _)] :: [Int]- , id (head []):_ :: [Int]- , [abs (id _)] :: [Int]- , abs (id 0):_ :: [Int]- , [negate (id _)] :: [Int]- , negate (id 0):_ :: [Int]- , [_ + 0] :: [Int]- , [0 + _] :: [Int]- , _ ++ [0] :: [Int]- , [] ++ (0:_) :: [Int]- , (0:_) ++ [] :: [Int]- , [0] ++ _ :: [Int]- , not (not (not (not False))) :: Bool- , not (not (not (not True))) :: Bool- , id (id (id (id 0))) :: Int- , id (id (id (id 1))) :: Int- , id (id (id (id (-1)))) :: Int- , id (id (id (ord ' '))) :: Int- , id (id (id (ord 'a'))) :: Int- , id (id (id (abs 0))) :: Int- , id (id (id (abs 1))) :: Int- , id (id (id (negate 0))) :: Int- , id (id (id (negate 1))) :: Int- , id (id (id (head []))) :: Int- , id (id (id (head [0]))) :: Int- , id (id (abs (id 0))) :: Int- , id (id (abs (id 1))) :: Int- , id (id (abs (abs 0))) :: Int- , id (id (negate (id 0))) :: Int- , id (id (negate (id 1))) :: Int- , id (id (negate (negate 0))) :: Int- , id (id (0 * 0)) :: Int- , id (id (0 + 0)) :: Int- , id (abs (id (id 0))) :: Int- , id (abs (id (id 1))) :: Int- , id (abs (id (abs 0))) :: Int- , id (abs (abs (id 0))) :: Int- , id (negate (id (id 0))) :: Int- , id (negate (id (id 1))) :: Int- , id (negate (id (negate 0))) :: Int- , id (negate (negate (id 0))) :: Int- , id (0 * id 0) :: Int- , id (id 0 * 0) :: Int- , id (0 + id 0) :: Int- , id (id 0 + 0) :: Int- , abs (id (id (id 0))) :: Int- , negate (id (id (id 0))) :: Int- , 0 + id (id 0) :: Int- , id 0 + id 0 :: Int- , id (id 0) + 0 :: Int- , [0,0] :: [Int]- , id (id (abs (ord 'a'))) :: Int- , id (id (abs (negate 0))) :: Int- , id (id (abs (head []))) :: Int- , id (id (negate (ord 'a'))) :: Int- , id (id (negate (abs 0))) :: Int- , id (id (negate (head []))) :: Int- , id (id (head (tail []))) :: Int- , id (id (0 + 1)) :: Int- , id (id (1 + 0)) :: Int- , id (abs (id (ord 'a'))) :: Int- , id (abs (id (negate 0))) :: Int- , id (abs (id (head []))) :: Int- , id (abs (negate (id 0))) :: Int- , id (abs (0 + 0)) :: Int- , id (negate (id (ord 'a'))) :: Int- , id (negate (id (abs 0))) :: Int- , id (negate (id (head []))) :: Int- , id (negate (abs (id 0))) :: Int- , id (negate (0 + 0)) :: Int- , id (head ([] ++ [])) :: Int- , id (0 + id 1) :: Int- , id (0 + abs 0) :: Int- , id (0 + negate 0) :: Int- , id (1 + id 0) :: Int- , id (id 0 + 1) :: Int- , id (id 1 + 0) :: Int- , id (abs 0 + 0) :: Int- , id (negate 0 + 0) :: Int- , [id (id 0)] :: [Int]- , id (head [0]) :: Int- , id (head [0,0]) :: Int- , id (head [1]) :: Int- , id (0 + ord 'a') :: Int- , id (0 + head []) :: Int- , id (ord 'a' + 0) :: Int- , id (head [] + 0) :: Int- , head [id 0] :: Int- , _:f _:_ :: [Int]- , f _:_:_ :: [Int]- , head (_:x:_) :: Int- , head (_:x:xs) :: Int- , head (_:y:_) :: Int- , head (x:_:_) :: Int- , head (x:_:xs) :: Int- , head (y:_:_) :: Int- , tail (_:x:_) :: [Int]- , tail (x:_:_) :: [Int]- , _:tail (x:_) :: [Int]- , _:x:tail _ :: [Int]- , _:ord _:_ :: [Int]- , _:ord _:xs :: [Int]- , _:ord c:_ :: [Int]- , _:id x:_ :: [Int]- , _:id x:xs :: [Int]- , _:id y:_ :: [Int]- , _:abs x:_ :: [Int]- , _:negate x:_ :: [Int]- , _:head _:xs :: [Int]- , _:head xs:_ :: [Int]- , x:tail (_:_) :: [Int]- , x:_:tail _ :: [Int]- , x:ord _:_ :: [Int]- , x:id _:_ :: [Int]- , x:id _:xs :: [Int]- , x:abs _:_ :: [Int]- , x:negate _:_ :: [Int]- , y:id _:_ :: [Int]- , ord _:_:_ :: [Int]- , ord _:_:xs :: [Int]- , ord _:x:_ :: [Int]- , ord c:_:_ :: [Int]- , id _:x:_ :: [Int]- , id _:x:xs :: [Int]- , id _:y:_ :: [Int]- , id x:_:_ :: [Int]- , id x:_:xs :: [Int]- , id y:_:_ :: [Int]- , abs _:x:_ :: [Int]- , abs x:_:_ :: [Int]- , negate _:x:_ :: [Int]- , negate x:_:_ :: [Int]- , head _:_:xs :: [Int]- , head xs:_:_ :: [Int]- , head (_:_):xs :: [Int]- , head (_:xs):_ :: [Int]- , id (f (head (_:_))) :: Int- , id (head (f _:_)) :: Int- , head (_:(_ ++ xs)) :: Int- , head (_:(xs ++ _)) :: Int- , head (_ + x:_) :: Int- , head (x + _:_) :: Int- , head (_ ++ (_:xs)) :: Int- , head (xs ++ (_:_)) :: Int- , head ((_:_) ++ xs) :: Int- , head ((_:xs) ++ _) :: Int- , _ + head (x:_) :: Int- , x + head (_:_) :: Int- , head (_:_) + x :: Int- , head (x:_) + _ :: Int- , id _:(_ ++ xs) :: [Int]- , id _:(xs ++ _) :: [Int]- , id (_ + x):_ :: [Int]- , id (x + _):_ :: [Int]- , _ + ord _:_ :: [Int]- , _ + id x:_ :: [Int]- , x + id _:_ :: [Int]- , ord _ + _:_ :: [Int]- , id _ + x:_ :: [Int]- , id x + _:_ :: [Int]- , _ ++ (id _:xs) :: [Int]- , xs ++ (id _:_) :: [Int]- , (id _:_) ++ xs :: [Int]- , (id _:xs) ++ _ :: [Int]- , id (f (id (_ + _))) :: Int- , id (f (_ + id _)) :: Int- , id (f (id _ + _)) :: Int- , id (id (f (_ + _))) :: Int- , id (id (_ + f _)) :: Int- , id (id (f _ + _)) :: Int- , id (_ + f (id _)) :: Int- , id (_ + id (f _)) :: Int- , id (_ + (_ + x)) :: Int- , id (_ + (_ + y)) :: Int- , id (_ + (x + _)) :: Int- , id (_ + (x + x)) :: Int- , id (_ + (y + _)) :: Int- , id (x + (_ + _)) :: Int- , id (x + (_ + x)) :: Int- , id (x + (x + _)) :: Int- , id (y + (_ + _)) :: Int- , id (f _ + id _) :: Int- , id (f (id _) + _) :: Int- , id (id _ + f _) :: Int- , id (id (f _) + _) :: Int- , id ((_ + _) + x) :: Int- , id ((_ + _) + y) :: Int- , id ((_ + x) + _) :: Int- , id ((_ + x) + x) :: Int- , id ((_ + y) + _) :: Int- , id ((x + _) + _) :: Int- , id ((x + _) + x) :: Int- , id ((x + x) + _) :: Int- , id ((y + _) + _) :: Int- , head (_:_:_) :: Int- , head (_:_:xs) :: Int- , head (_:_:ys) :: Int- , head (x:x:_) :: Int- , sort (_:_:_) :: [Int]- , tail (_:_:_) :: [Int]- , tail (_:_:xs) :: [Int]- , _ + id (_ + x) :: Int- , _ + id (x + _) :: Int- , _ + (_ + ord _) :: Int- , _ + (_ + id x) :: Int- , _ + (_ + head _) :: Int- , _ + (x + id _) :: Int- , _ + (ord _ + _) :: Int- , _ + (id _ + x) :: Int- , _ + (id x + _) :: Int- , _ + (head _ + _) :: Int- , x + id (_ + _) :: Int- , x + (_ + id _) :: Int- , x + (id _ + _) :: Int- , ord _ + (_ + _) :: Int- , id _ + (_ + x) :: Int- , id _ + (x + _) :: Int- , id x + (_ + _) :: Int- , id (_ + _) + x :: Int- , id (_ + x) + _ :: Int- , id (x + _) + _ :: Int- , head _ + (_ + _) :: Int- , (_ + _) + ord _ :: Int- , (_ + _) + id x :: Int- , (_ + _) + head _ :: Int- , (_ + x) + id _ :: Int- , (_ + ord _) + _ :: Int- , (_ + id _) + x :: Int- , (_ + id x) + _ :: Int- , (_ + head _) + _ :: Int- , (x + _) + id _ :: Int- , (x + id _) + _ :: Int- , (ord _ + _) + _ :: Int- , (id _ + _) + x :: Int- , (id _ + x) + _ :: Int- , (id x + _) + _ :: Int- , (head _ + _) + _ :: Int- , _:sort (_:_) :: [Int]- , _:tail (_:_) :: [Int]- , _:tail (_:xs) :: [Int]- , _:_:sort _ :: [Int]- , _:_:tail _ :: [Int]- , _:_:tail xs :: [Int]- , _:id _:_ :: [Int]- , _:id _:xs :: [Int]- , _:id _:ys :: [Int]- , _:abs _:_ :: [Int]- , _:abs _:xs :: [Int]- , _:negate _:_ :: [Int]- , _:negate _:xs :: [Int]- , _:head _:_ :: [Int]- , x:id x:_ :: [Int]- , x:head _:_ :: [Int]- , id _:_:_ :: [Int]- , id _:_:xs :: [Int]- , id _:_:ys :: [Int]- , id x:x:_ :: [Int]- , abs _:_:_ :: [Int]- , abs _:_:xs :: [Int]- , negate _:_:_ :: [Int]- , negate _:_:xs :: [Int]- , head _:_:_ :: [Int]- , head _:x:_ :: [Int]- , head (_:_):_ :: [Int]- , head (x:_):_ :: [Int]- , not (elem _ (_:_)) :: Bool- , id (_ * (_ + x)) :: Int- , id (_ * (x + _)) :: Int- , id (x * (_ + _)) :: Int- , id ((_ + _) * x) :: Int- , id ((_ + x) * _) :: Int- , id ((x + _) * _) :: Int- , id (_ + _ * x) :: Int- , id (_ + x * _) :: Int- , id (x + _ * _) :: Int- , id (_ * _ + x) :: Int- , id (_ * x + _) :: Int- , id (x * _ + _) :: Int- , head (_:insert _ _) :: Int- , head (_:(_ ++ _)) :: Int- , head (x:(_ ++ _)) :: Int- , head (_ * _:_) :: Int- , head (_ + _:_) :: Int- , head (_ + _:xs) :: Int- , head (insert _ (_:_)) :: Int- , head (_ ++ (_:_)) :: Int- , head (_ ++ (x:_)) :: Int- , head ((_:_) ++ _) :: Int- , head ((x:_) ++ _) :: Int- , tail (_:(_ ++ _)) :: [Int]- , tail (_ + _:_) :: [Int]- , tail (_ ++ (_:_)) :: [Int]- , tail ((_:_) ++ _) :: [Int]- , _ * head (_:_) :: Int- , head (_:_) * _ :: Int- , _ + head (_:_) :: Int- , _ + head (_:xs) :: Int- , _ + head (_ ++ _) :: Int- , head (_:_) + _ :: Int- , head (_:xs) + _ :: Int- , head (_ ++ _) + _ :: Int- , elem _ (id _:_) :: Bool- , elem (id _) (_:_) :: Bool- , _:tail (_ ++ _) :: [Int]- , _:insert (id _) _ :: [Int]- , _:(_ ++ tail _) :: [Int]- , _:(tail _ ++ _) :: [Int]- , ord _:(_ ++ _) :: [Int]- , id _:insert _ _ :: [Int]- , id _:(_ ++ _) :: [Int]- , id x:(_ ++ _) :: [Int]- , id (_ * _):_ :: [Int]- , id (_ + _):_ :: [Int]- , id (_ + _):xs :: [Int]- , abs _:(_ ++ _) :: [Int]- , abs (_ + _):_ :: [Int]- , negate _:(_ ++ _) :: [Int]- , negate (_ + _):_ :: [Int]- , _ * id _:_ :: [Int]- , id _ * _:_ :: [Int]- , _ + _:tail _ :: [Int]- , _ + id _:_ :: [Int]- , _ + id _:xs :: [Int]- , _ + abs _:_ :: [Int]- , _ + negate _:_ :: [Int]- , _ + head _:_ :: [Int]- , id _ + _:_ :: [Int]- , id _ + _:xs :: [Int]- , abs _ + _:_ :: [Int]- , negate _ + _:_ :: [Int]- , head _ + _:_ :: [Int]- , insert _ (id _:_) :: [Int]- , insert (id _) (_:_) :: [Int]- , _ ++ tail (_:_) :: [Int]- , _ ++ (_:tail _) :: [Int]- , _ ++ (ord _:_) :: [Int]- , _ ++ (id _:_) :: [Int]- , _ ++ (id x:_) :: [Int]- , _ ++ (abs _:_) :: [Int]- , _ ++ (negate _:_) :: [Int]- , tail _ ++ (_:_) :: [Int]- , tail (_:_) ++ _ :: [Int]- , (_:_) ++ tail _ :: [Int]- , (_:tail _) ++ _ :: [Int]- , (ord _:_) ++ _ :: [Int]- , (id _:_) ++ _ :: [Int]- , (id x:_) ++ _ :: [Int]- , (abs _:_) ++ _ :: [Int]- , (negate _:_) ++ _ :: [Int]- , id (f (id (id (id _)))) :: Int- , id (id (f (id (id _)))) :: Int- , id (id (id (f (id _)))) :: Int- , id (id (id (id (f _)))) :: Int- , id (id (id (_ * x))) :: Int- , id (id (id (x * _))) :: Int- , id (id (id (_ + x))) :: Int- , id (id (id (_ + y))) :: Int- , id (id (id (x + _))) :: Int- , id (id (id (y + _))) :: Int- , id (id (_ * id x)) :: Int- , id (id (x * id _)) :: Int- , id (id (id _ * x)) :: Int- , id (id (id x * _)) :: Int- , id (id (_ + id x)) :: Int- , id (id (_ + id y)) :: Int- , id (id (x + id _)) :: Int- , id (id (y + id _)) :: Int- , id (id (id _ + x)) :: Int- , id (id (id _ + y)) :: Int- , id (id (id x + _)) :: Int- , id (id (id y + _)) :: Int- , id (_ * id (id x)) :: Int- , id (x * id (id _)) :: Int- , id (id _ * id x) :: Int- , id (id x * id _) :: Int- , id (id (id _) * x) :: Int- , id (id (id x) * _) :: Int- , id (_ + id (id x)) :: Int- , id (_ + id (id y)) :: Int- , id (x + id (id _)) :: Int- , id (y + id (id _)) :: Int- , id (id _ + id x) :: Int- , id (id _ + id y) :: Int- , id (id x + id _) :: Int- , id (id y + id _) :: Int- , id (id (id _) + x) :: Int- , id (id (id _) + y) :: Int- , id (id (id x) + _) :: Int- , id (id (id y) + _) :: Int- , _ + id (id (id x)) :: Int- , x + id (id (id _)) :: Int- , id _ + id (id x) :: Int- , id x + id (id _) :: Int- , id (id _) + id x :: Int- , id (id x) + id _ :: Int- , id (id (id _)) + x :: Int- , id (id (id x)) + _ :: Int- , id (id (id _)):_ :: [Int]- , id (id (id _)):xs :: [Int]- , id (id (id x)):_ :: [Int]- , id (id (abs (_ + x))) :: Int- , id (id (abs (x + _))) :: Int- , id (id (negate (_ + x))) :: Int- , id (id (negate (x + _))) :: Int- , id (id (head (_:_))) :: Int- , id (id (head (_:xs))) :: Int- , id (id (head (_:ys))) :: Int- , id (id (head (x:_))) :: Int- , id (id (head (x:xs))) :: Int- , id (id (head (y:_))) :: Int- , id (id (head (insert _ _))) :: Int- , id (id (head (_ ++ xs))) :: Int- , id (id (head (xs ++ _))) :: Int- , id (id (_ * ord _)) :: Int- , id (id (_ * head _)) :: Int- , id (id (ord _ * _)) :: Int- , id (id (head _ * _)) :: Int- , id (id (_ + ord _)) :: Int- , id (id (_ + ord c)) :: Int- , id (id (_ + abs x)) :: Int- , id (id (_ + negate x)) :: Int- , id (id (_ + head _)) :: Int- , id (id (_ + head xs)) :: Int- , id (id (x + ord _)) :: Int- , id (id (x + abs _)) :: Int- , id (id (x + negate _)) :: Int- , id (id (x + head _)) :: Int- , id (id (ord _ + _)) :: Int- , id (id (ord _ + x)) :: Int- , id (id (ord c + _)) :: Int- , id (id (abs _ + x)) :: Int- , id (id (abs x + _)) :: Int- , id (id (negate _ + x)) :: Int- , id (id (negate x + _)) :: Int- , id (id (head _ + _)) :: Int- , id (id (head _ + x)) :: Int- , id (id (head xs + _)) :: Int- , id (abs (id (_ + x))) :: Int- , id (abs (id (x + _))) :: Int- , id (abs (_ + id x)) :: Int- , id (abs (x + id _)) :: Int- , id (abs (id _ + x)) :: Int- , id (abs (id x + _)) :: Int- , id (negate (id (_ + x))) :: Int- , id (negate (id (x + _))) :: Int- , id (negate (_ + id x)) :: Int- , id (negate (x + id _)) :: Int- , id (negate (id _ + x)) :: Int- , id (negate (id x + _)) :: Int- , id (head (id _:_)) :: Int- , id (head (id _:xs)) :: Int- , id (head (id _:ys)) :: Int- , id (head (id x:_)) :: Int- , id (head (id x:xs)) :: Int- , id (head (id y:_)) :: Int- , id (head (head _:xs)) :: Int- , id (head (head xs:_)) :: Int- , id (_ * id (ord _)) :: Int- , id (_ * id (head _)) :: Int- , id (ord _ * id _) :: Int- , id (id _ * ord _) :: Int- , id (id _ * head _) :: Int- , id (id (ord _) * _) :: Int- , id (id (head _) * _) :: Int- , id (head _ * id _) :: Int- , id (_ + id (ord _)) :: Int- , id (_ + id (ord c)) :: Int- , id (_ + id (abs x)) :: Int- , id (_ + id (negate x)) :: Int- , id (_ + id (head _)) :: Int- , id (_ + id (head xs)) :: Int- , id (_ + abs (id x)) :: Int- , id (_ + negate (id x)) :: Int- , id (_ + (x + 0)) :: Int- , id (_ + (0 + x)) :: Int- , id (x + id (ord _)) :: Int- , id (x + id (abs _)) :: Int- , id (x + id (negate _)) :: Int- , id (x + id (head _)) :: Int- , id (x + abs (id _)) :: Int- , id (x + negate (id _)) :: Int- , id (x + (_ + 0)) :: Int- , id (x + (0 + _)) :: Int- , id (0 + (_ + x)) :: Int- , id (0 + (x + _)) :: Int- , id (ord _ + id _) :: Int- , id (ord _ + id x) :: Int- , id (ord c + id _) :: Int- , id (id _ + ord _) :: Int- , id (id _ + ord c) :: Int- , id (id _ + abs x) :: Int- , id (id _ + negate x) :: Int- , id (id _ + head _) :: Int- , id (id _ + head xs) :: Int- , id (id x + ord _) :: Int- , id (id x + abs _) :: Int- , id (id x + negate _) :: Int- , id (id x + head _) :: Int- , id (id (ord _) + _) :: Int- , id (id (ord _) + x) :: Int- , id (id (ord c) + _) :: Int- , id (id (abs _) + x) :: Int- , id (id (abs x) + _) :: Int- , id (id (negate _) + x) :: Int- , id (id (negate x) + _) :: Int- , id (id (head _) + _) :: Int- , id (id (head _) + x) :: Int- , id (id (head xs) + _) :: Int- , id (abs _ + id x) :: Int- , id (abs x + id _) :: Int- , id (abs (id _) + x) :: Int- , id (abs (id x) + _) :: Int- , id (negate _ + id x) :: Int- , id (negate x + id _) :: Int- , id (negate (id _) + x) :: Int- , id (negate (id x) + _) :: Int- , id (head _ + id _) :: Int- , id (head _ + id x) :: Int- , id (head xs + id _) :: Int- , id ((_ + x) + 0) :: Int- , id ((_ + 0) + x) :: Int- , id ((x + _) + 0) :: Int- , id ((x + 0) + _) :: Int- , id ((0 + _) + x) :: Int- , id ((0 + x) + _) :: Int- , head [_,x] :: Int- , head (_:0:_) :: Int- , head (_:0:xs) :: Int- , head (_:1:_) :: Int- , head [x,_] :: Int- , head (x:0:_) :: Int- , head (0:_:_) :: Int- , head (0:_:xs) :: Int- , head (0:x:_) :: Int- , head (1:_:_) :: Int- , head (id (id _):_) :: Int- , head (id (id _):xs) :: Int- , head (id (id x):_) :: Int- , tail (_:0:_) :: [Int]- , tail (0:_:_) :: [Int]- , tail (id (id _):_) :: [Int]- , _ + id (id (ord _)) :: Int- , _ + id (id (head _)) :: Int- , ord _ + id (id _) :: Int- , id _ + id (ord _) :: Int- , id _ + id (head _) :: Int- , id (ord _) + id _ :: Int- , id (id _) + ord _ :: Int- , id (id _) + head _ :: Int- , id (id (ord _)) + _ :: Int- , id (id (head _)) + _ :: Int- , id (head _) + id _ :: Int- , head _ + id (id _) :: Int- , _:tail (0:_) :: [Int]- , _:0:tail _ :: [Int]- , [_,ord _] :: [Int]- , _:ord 'a':_ :: [Int]- , [_,id x] :: [Int]- , _:id 0:_ :: [Int]- , _:id 0:xs :: [Int]- , _:id 1:_ :: [Int]- , _:abs 0:_ :: [Int]- , _:negate 0:_ :: [Int]- , [_,head _] :: [Int]- , _:head []:_ :: [Int]- , [x,id _] :: [Int]- , x:id 0:_ :: [Int]- , 0:tail (_:_) :: [Int]- , 0:_:tail _ :: [Int]- , 0:ord _:_ :: [Int]- , 0:id _:_ :: [Int]- , 0:id _:xs :: [Int]- , 0:id x:_ :: [Int]- , 0:abs _:_ :: [Int]- , 0:negate _:_ :: [Int]- , 1:id _:_ :: [Int]- , [ord _,_] :: [Int]- , ord _:0:_ :: [Int]- , ord 'a':_:_ :: [Int]- , [id _,x] :: [Int]- , id _:0:_ :: [Int]- , id _:0:xs :: [Int]- , id _:1:_ :: [Int]- , [id x,_] :: [Int]- , id x:0:_ :: [Int]- , id 0:_:_ :: [Int]- , id 0:_:xs :: [Int]- , id 0:x:_ :: [Int]- , id 1:_:_ :: [Int]- , id (id _):tail _ :: [Int]- , id (id (ord _)):_ :: [Int]- , id (id (abs _)):_ :: [Int]- , id (id (negate _)):_ :: [Int]- , id (abs (id _)):_ :: [Int]- , id (negate (id _)):_ :: [Int]- , abs _:0:_ :: [Int]- , abs 0:_:_ :: [Int]- , abs (id (id _)):_ :: [Int]- , negate _:0:_ :: [Int]- , negate 0:_:_ :: [Int]- , negate (id (id _)):_ :: [Int]- , [head _,_] :: [Int]- , head []:_:_ :: [Int]- , [head (_:_)] :: [Int]- , head [_]:_ :: [Int]- , id (abs (head (_:_))) :: Int- , id (abs (head (_:xs))) :: Int- , id (abs (head (x:_))) :: Int- , id (abs (_ + ord _)) :: Int- , id (abs (_ + head _)) :: Int- , id (abs (ord _ + _)) :: Int- , id (abs (head _ + _)) :: Int- , id (negate (head (_:_))) :: Int- , id (negate (head (_:xs))) :: Int- , id (negate (head (x:_))) :: Int- , id (negate (_ + ord _)) :: Int- , id (negate (_ + head _)) :: Int- , id (negate (ord _ + _)) :: Int- , id (negate (head _ + _)) :: Int- , id (head (tail (_:_))) :: Int- , id (head (tail (_:xs))) :: Int- , id (head (tail (x:_))) :: Int- , id (head (_:sort _)) :: Int- , id (head (_:tail _)) :: Int- , id (head (_:tail xs)) :: Int- , id (head (x:tail _)) :: Int- , id (head (ord _:_)) :: Int- , id (head (ord _:xs)) :: Int- , id (head (ord c:_)) :: Int- , id (head (abs _:_)) :: Int- , id (head (abs _:xs)) :: Int- , id (head (abs x:_)) :: Int- , id (head (negate _:_)) :: Int- , id (head (negate _:xs)) :: Int- , id (head (negate x:_)) :: Int- , id (_ + abs (ord _)) :: Int- , id (_ + abs (head _)) :: Int- , id (_ + negate (ord _)) :: Int- , id (_ + negate (head _)) :: Int- , id (_ + head (tail _)) :: Int- , id (ord _ + abs _) :: Int- , id (ord _ + negate _) :: Int- , id (ord _ + head _) :: Int- , id (abs _ + ord _) :: Int- , id (abs _ + head _) :: Int- , id (abs (ord _) + _) :: Int- , id (abs (head _) + _) :: Int- , id (negate _ + ord _) :: Int- , id (negate _ + head _) :: Int- , id (negate (ord _) + _) :: Int- , id (negate (head _) + _) :: Int- , id (head _ + ord _) :: Int- , id (head _ + abs _) :: Int- , id (head _ + negate _) :: Int- , id (head (tail _) + _) :: Int- , abs (id (head (_:_))) :: Int- , abs (head (id _:_)) :: Int- , negate (id (head (_:_))) :: Int- , negate (head (id _:_)) :: Int- , head (tail (id _:_)) :: Int- , head (_:(_ ++ [])) :: Int- , head (_:([] ++ _)) :: Int- , head (id _:tail _) :: Int- , head (id (ord _):_) :: Int- , head (id (abs _):_) :: Int- , head (id (negate _):_) :: Int- , head (abs (id _):_) :: Int- , head (negate (id _):_) :: Int- , head (_ + 0:_) :: Int- , head (0 + _:_) :: Int- , head (_ ++ [_]) :: Int- , head ([] ++ (_:_)) :: Int- , head ((_:_) ++ []) :: Int- , head ([_] ++ _) :: Int- , _ + head (0:_) :: Int- , 0 + head (_:_) :: Int- , head (_:_) + 0 :: Int- , head (0:_) + _ :: Int- , id _:(_ ++ []) :: [Int]- , id _:([] ++ _) :: [Int]- , id (_ + 0):_ :: [Int]- , id (0 + _):_ :: [Int]- , _ + id 0:_ :: [Int]- , 0 + id _:_ :: [Int]- , id _ + 0:_ :: [Int]- , id 0 + _:_ :: [Int]- , _ ++ [id _] :: [Int]- , [] ++ (id _:_) :: [Int]- , (id _:_) ++ [] :: [Int]- , [id _] ++ _ :: [Int]- , not (_ || (_ || _)) :: Bool- , not ((_ || _) || _) :: Bool- , id (_ * (_ * _)) :: Int- , id ((_ * _) * _) :: Int- , id (_ + (_ + _)) :: Int- , id ((_ + _) + _) :: Int- , abs (_ + (_ + _)) :: Int- , abs ((_ + _) + _) :: Int- , negate (_ + (_ + _)) :: Int- , negate ((_ + _) + _) :: Int- , head (_ ++ (_ ++ _)) :: Int- , head ((_ ++ _) ++ _) :: Int- , _ || not (_ || _) :: Bool- , _ || (_ || not _) :: Bool- , _ || (not _ || _) :: Bool- , not _ || (_ || _) :: Bool- , not (_ || _) || _ :: Bool- , (_ || _) || not _ :: Bool- , (_ || not _) || _ :: Bool- , (not _ || _) || _ :: Bool- , _ + id (_ + _) :: Int- , _ + abs (_ + _) :: Int- , _ + negate (_ + _) :: Int- , _ + (_ + id _) :: Int- , _ + (_ + abs _) :: Int- , _ + (_ + negate _) :: Int- , _ + (id _ + _) :: Int- , _ + (abs _ + _) :: Int- , _ + (negate _ + _) :: Int- , id _ + (_ + _) :: Int- , id (_ + _) + _ :: Int- , abs _ + (_ + _) :: Int- , abs (_ + _) + _ :: Int- , negate _ + (_ + _) :: Int- , negate (_ + _) + _ :: Int- , (_ + _) + id _ :: Int- , (_ + _) + abs _ :: Int- , (_ + _) + negate _ :: Int- , (_ + id _) + _ :: Int- , (_ + abs _) + _ :: Int- , (_ + negate _) + _ :: Int- , (id _ + _) + _ :: Int- , (abs _ + _) + _ :: Int- , (negate _ + _) + _ :: Int- , id (_ * (_ + _)) :: Int- , id ((_ + _) * _) :: Int- , id (_ + _ * _) :: Int- , id (_ * _ + _) :: Int- , _ * id (_ + _) :: Int- , _ * (_ + id _) :: Int- , _ * (id _ + _) :: Int- , id _ * (_ + _) :: Int- , id (_ + _) * _ :: Int- , (_ + _) * id _ :: Int- , (_ + id _) * _ :: Int- , (id _ + _) * _ :: Int- , _ + id (_ * _) :: Int- , _ + _ * id _ :: Int- , _ + id _ * _ :: Int- , id _ + _ * _ :: Int- , id (_ * _) + _ :: Int- , _ * _ + id _ :: Int- , _ * id _ + _ :: Int- , id _ * _ + _ :: Int- , head _:(_ ++ _) :: [Int]- , head (_ ++ _):_ :: [Int]- , _ ++ (head _:_) :: [Int]- , (head _:_) ++ _ :: [Int]- , not (not (not (_ || _))) :: Bool- , not (not (_ || not _)) :: Bool- , not (not (not _ || _)) :: Bool- , not (_ || not (not _)) :: Bool- , not (not _ || not _) :: Bool- , not (not (not _) || _) :: Bool- , id (id (id (_ * _))) :: Int- , id (id (id (_ + _))) :: Int- , id (id (id (x + x))) :: Int- , id (id (_ * id _)) :: Int- , id (id (id _ * _)) :: Int- , id (id (_ + id _)) :: Int- , id (id (x + id x)) :: Int- , id (id (id _ + _)) :: Int- , id (id (id x + x)) :: Int- , id (_ * id (id _)) :: Int- , id (id _ * id _) :: Int- , id (id (id _) * _) :: Int- , id (_ + id (id _)) :: Int- , id (x + id (id x)) :: Int- , id (id _ + id _) :: Int- , id (id x + id x) :: Int- , id (id (id _) + _) :: Int- , id (id (id x) + x) :: Int- , _ || not (not (not _)) :: Bool- , not _ || not (not _) :: Bool- , not (not _) || not _ :: Bool- , not (not (not _)) || _ :: Bool- , _ * id (id (id _)) :: Int- , id _ * id (id _) :: Int- , id (id _) * id _ :: Int- , id (id (id _)) * _ :: Int- , _ + id (id (id _)) :: Int- , id _ + id (id _) :: Int- , id (id _) + id _ :: Int- , id (id (id _)) + _ :: Int- , id (id (abs (_ * _))) :: Int- , id (id (abs (_ + _))) :: Int- , id (id (negate (_ * _))) :: Int- , id (id (negate (_ + _))) :: Int- , id (id (head (_ ++ _))) :: Int- , id (id (_ * abs _)) :: Int- , id (id (_ * negate _)) :: Int- , id (id (abs _ * _)) :: Int- , id (id (negate _ * _)) :: Int- , id (id (_ + abs _)) :: Int- , id (id (_ + negate _)) :: Int- , id (id (abs _ + _)) :: Int- , id (id (negate _ + _)) :: Int- , id (abs (id (_ * _))) :: Int- , id (abs (id (_ + _))) :: Int- , id (abs (abs (_ + _))) :: Int- , id (abs (_ * id _)) :: Int- , id (abs (id _ * _)) :: Int- , id (abs (_ + id _)) :: Int- , id (abs (_ + abs _)) :: Int- , id (abs (id _ + _)) :: Int- , id (abs (abs _ + _)) :: Int- , id (negate (id (_ * _))) :: Int- , id (negate (id (_ + _))) :: Int- , id (negate (negate (_ + _))) :: Int- , id (negate (_ * id _)) :: Int- , id (negate (id _ * _)) :: Int- , id (negate (_ + id _)) :: Int- , id (negate (_ + negate _)) :: Int- , id (negate (id _ + _)) :: Int- , id (negate (negate _ + _)) :: Int- , id (head (head _:_)) :: Int- , id (_ * id (abs _)) :: Int- , id (_ * id (negate _)) :: Int- , id (_ * abs (id _)) :: Int- , id (_ * negate (id _)) :: Int- , id (id _ * abs _) :: Int- , id (id _ * negate _) :: Int- , id (id (abs _) * _) :: Int- , id (id (negate _) * _) :: Int- , id (abs _ * id _) :: Int- , id (abs (id _) * _) :: Int- , id (negate _ * id _) :: Int- , id (negate (id _) * _) :: Int- , id (_ + id (abs _)) :: Int- , id (_ + id (negate _)) :: Int- , id (_ + abs (id _)) :: Int- , id (_ + abs (abs _)) :: Int- , id (_ + negate (id _)) :: Int- , id (_ + negate (negate _)) :: Int- , id (_ + (_ + 0)) :: Int- , id (_ + (_ + 1)) :: Int- , id (_ + (0 + _)) :: Int- , id (_ + (1 + _)) :: Int- , id (0 + (_ + _)) :: Int- , id (1 + (_ + _)) :: Int- , id (ord _ + ord _) :: Int- , id (id _ + abs _) :: Int- , id (id _ + negate _) :: Int- , id (id (abs _) + _) :: Int- , id (id (negate _) + _) :: Int- , id (abs _ + id _) :: Int- , id (abs _ + abs _) :: Int- , id (abs (id _) + _) :: Int- , id (abs (abs _) + _) :: Int- , id (negate _ + id _) :: Int- , id (negate _ + negate _) :: Int- , id (negate (id _) + _) :: Int- , id (negate (negate _) + _) :: Int- , id (head _ + head _) :: Int- , id ((_ + _) + 0) :: Int- , id ((_ + _) + 1) :: Int- , id ((_ + 0) + _) :: Int- , id ((_ + 1) + _) :: Int- , id ((0 + _) + _) :: Int- , id ((1 + _) + _) :: Int- , abs (id (id (_ + _))) :: Int- , abs (id (_ + id _)) :: Int- , abs (id (id _ + _)) :: Int- , abs (_ + id (id _)) :: Int- , abs (id _ + id _) :: Int- , abs (id (id _) + _) :: Int- , negate (id (id (_ + _))) :: Int- , negate (id (_ + id _)) :: Int- , negate (id (id _ + _)) :: Int- , negate (_ + id (id _)) :: Int- , negate (id _ + id _) :: Int- , negate (id (id _) + _) :: Int- , head [_,_] :: Int- , head [_,_,0] :: Int- , head (id (head _):_) :: Int- , tail [_,_] :: [Int]- , _ + id (id (abs _)) :: Int- , _ + id (id (negate _)) :: Int- , _ + id (abs (id _)) :: Int- , _ + id (negate (id _)) :: Int- , _ + id (_ + 0) :: Int- , _ + id (0 + _) :: Int- , _ + abs (id (id _)) :: Int- , _ + negate (id (id _)) :: Int- , _ + (_ + id 0) :: Int- , _ + (0 + id _) :: Int- , _ + (id _ + 0) :: Int- , _ + (id 0 + _) :: Int- , 0 + id (_ + _) :: Int- , 0 + (_ + id _) :: Int- , 0 + (id _ + _) :: Int- , id _ + id (abs _) :: Int- , id _ + id (negate _) :: Int- , id _ + abs (id _) :: Int- , id _ + negate (id _) :: Int- , id _ + (_ + 0) :: Int- , id _ + (0 + _) :: Int- , id 0 + (_ + _) :: Int- , id (id _) + abs _ :: Int- , id (id _) + negate _ :: Int- , id (id (abs _)) + _ :: Int- , id (id (negate _)) + _ :: Int- , id (abs _) + id _ :: Int- , id (abs (id _)) + _ :: Int- , id (negate _) + id _ :: Int- , id (negate (id _)) + _ :: Int- , id (_ + _) + 0 :: Int- , id (_ + 0) + _ :: Int- , id (0 + _) + _ :: Int- , abs _ + id (id _) :: Int- , abs (id _) + id _ :: Int- , abs (id (id _)) + _ :: Int- , negate _ + id (id _) :: Int- , negate (id _) + id _ :: Int- , negate (id (id _)) + _ :: Int- , (_ + _) + id 0 :: Int- , (_ + 0) + id _ :: Int- , (_ + id _) + 0 :: Int- , (_ + id 0) + _ :: Int- , (0 + _) + id _ :: Int- , (0 + id _) + _ :: Int- , (id _ + _) + 0 :: Int- , (id _ + 0) + _ :: Int- , (id 0 + _) + _ :: Int- , _:tail [_] :: [Int]- , _:_:tail [] :: [Int]- , [_,id _] :: [Int]- , [_,id _,0] :: [Int]- , [_,abs _] :: [Int]- , [_,negate _] :: [Int]- , 0:head _:_ :: [Int]- , [id _,_] :: [Int]- , [id _,_,0] :: [Int]- , id (id (head _)):_ :: [Int]- , [abs _,_] :: [Int]- , [negate _,_] :: [Int]- , head _:0:_ :: [Int]- , head (0:_):_ :: [Int]- , id (abs (negate (_ + _))) :: Int- , id (abs (head (_ ++ _))) :: Int- , id (abs (_ + negate _)) :: Int- , id (abs (negate _ + _)) :: Int- , id (negate (abs (_ + _))) :: Int- , id (negate (head (_ ++ _))) :: Int- , id (negate (_ + abs _)) :: Int- , id (negate (abs _ + _)) :: Int- , id (head (tail (_ ++ _))) :: Int- , id (head (_ ++ tail _)) :: Int- , id (_ * (_ + 0)) :: Int- , id (_ * (0 + _)) :: Int- , id (0 * (_ + _)) :: Int- , id ((_ + _) * 0) :: Int- , id ((_ + 0) * _) :: Int- , id ((0 + _) * _) :: Int- , id (_ + abs (negate _)) :: Int- , id (_ + negate (abs _)) :: Int- , id (_ + _ * 0) :: Int- , id (_ + 0 * _) :: Int- , id (0 + _ * _) :: Int- , id (abs _ + negate _) :: Int- , id (abs (negate _) + _) :: Int- , id (negate _ + abs _) :: Int- , id (negate (abs _) + _) :: Int- , id (_ * _ + 0) :: Int- , id (_ * 0 + _) :: Int- , id (0 * _ + _) :: Int- , head (0:(_ ++ _)) :: Int- , head [_ + _] :: Int- , head (_ ++ (0:_)) :: Int- , head ((0:_) ++ _) :: Int- , _ + head [_] :: Int- , head [_] + _ :: Int- , id 0:(_ ++ _) :: [Int]- , [id (_ + _)] :: [Int]- , [_ + id _] :: [Int]- , [id _ + _] :: [Int]- , _ ++ (id 0:_) :: [Int]- , (id 0:_) ++ _ :: [Int]- , not (not (not (not (not _)))) :: Bool- , id (id (id (id (id _)))) :: Int- , id (id (id (id (id x)))) :: Int- , id (id (id (id (id y)))) :: Int- , id (id (id (id (ord _)))) :: Int- , id (id (id (id (ord c)))) :: Int- , id (id (id (id (abs _)))) :: Int- , id (id (id (id (abs x)))) :: Int- , id (id (id (id (negate _)))) :: Int- , id (id (id (id (negate x)))) :: Int- , id (id (id (id (head _)))) :: Int- , id (id (id (id (head xs)))) :: Int- , id (id (id (abs (id _)))) :: Int- , id (id (id (abs (id x)))) :: Int- , id (id (id (abs (abs _)))) :: Int- , id (id (id (negate (id _)))) :: Int- , id (id (id (negate (id x)))) :: Int- , id (id (id (negate (negate _)))) :: Int- , id (id (abs (id (id _)))) :: Int- , id (id (abs (id (id x)))) :: Int- , id (id (abs (id (abs _)))) :: Int- , id (id (abs (abs (id _)))) :: Int- , id (id (negate (id (id _)))) :: Int- , id (id (negate (id (id x)))) :: Int- , id (id (negate (id (negate _)))) :: Int- , id (id (negate (negate (id _)))) :: Int- , id (abs (id (id (id _)))) :: Int- , id (abs (id (id (id x)))) :: Int- , id (abs (id (id (abs _)))) :: Int- , id (abs (id (abs (id _)))) :: Int- , id (abs (abs (id (id _)))) :: Int- , id (negate (id (id (id _)))) :: Int- , id (negate (id (id (id x)))) :: Int- , id (negate (id (id (negate _)))) :: Int- , id (negate (id (negate (id _)))) :: Int- , id (negate (negate (id (id _)))) :: Int- , abs (id (id (id (id _)))) :: Int- , negate (id (id (id (id _)))) :: Int- , id (id (id (abs (ord _)))) :: Int- , id (id (id (abs (negate _)))) :: Int- , id (id (id (abs (head _)))) :: Int- , id (id (id (negate (ord _)))) :: Int- , id (id (id (negate (abs _)))) :: Int- , id (id (id (negate (head _)))) :: Int- , id (id (id (head (tail _)))) :: Int- , id (id (id (_ * 0))) :: Int- , id (id (id (0 * _))) :: Int- , id (id (id (_ + 0))) :: Int- , id (id (id (_ + 1))) :: Int- , id (id (id (x + 0))) :: Int- , id (id (id (0 + _))) :: Int- , id (id (id (0 + x))) :: Int- , id (id (id (1 + _))) :: Int- , id (id (abs (id (ord _)))) :: Int- , id (id (abs (id (negate _)))) :: Int- , id (id (abs (id (head _)))) :: Int- , id (id (abs (negate (id _)))) :: Int- , id (id (negate (id (ord _)))) :: Int- , id (id (negate (id (abs _)))) :: Int- , id (id (negate (id (head _)))) :: Int- , id (id (negate (abs (id _)))) :: Int- , id (id (_ * id 0)) :: Int- , id (id (0 * id _)) :: Int- , id (id (id _ * 0)) :: Int- , id (id (id 0 * _)) :: Int- , id (id (_ + id 0)) :: Int- , id (id (_ + id 1)) :: Int- , id (id (x + id 0)) :: Int- , id (id (0 + id _)) :: Int- , id (id (0 + id x)) :: Int- , id (id (1 + id _)) :: Int- , id (id (id _ + 0)) :: Int- , id (id (id _ + 1)) :: Int- , id (id (id x + 0)) :: Int- , id (id (id 0 + _)) :: Int- , id (id (id 0 + x)) :: Int- , id (id (id 1 + _)) :: Int- , id (abs (id (id (ord _)))) :: Int- , id (abs (id (id (negate _)))) :: Int- , id (abs (id (id (head _)))) :: Int- , id (abs (id (negate (id _)))) :: Int- , id (abs (negate (id (id _)))) :: Int- , id (negate (id (id (ord _)))) :: Int- , id (negate (id (id (abs _)))) :: Int- , id (negate (id (id (head _)))) :: Int- , id (negate (id (abs (id _)))) :: Int- , id (negate (abs (id (id _)))) :: Int- , id (_ * id (id 0)) :: Int- , id (0 * id (id _)) :: Int- , id (id _ * id 0) :: Int- , id (id 0 * id _) :: Int- , id (id (id _) * 0) :: Int- , id (id (id 0) * _) :: Int- , id (_ + id (id 0)) :: Int- , id (_ + id (id 1)) :: Int- , id (_ + (0 + 0)) :: Int- , id (x + id (id 0)) :: Int- , id (0 + id (id _)) :: Int- , id (0 + id (id x)) :: Int- , id (0 + (_ + 0)) :: Int- , id (0 + (0 + _)) :: Int- , id (1 + id (id _)) :: Int- , id (id _ + id 0) :: Int- , id (id _ + id 1) :: Int- , id (id x + id 0) :: Int- , id (id 0 + id _) :: Int- , id (id 0 + id x) :: Int- , id (id 1 + id _) :: Int- , id (id (id _) + 0) :: Int- , id (id (id _) + 1) :: Int- , id (id (id x) + 0) :: Int- , id (id (id 0) + _) :: Int- , id (id (id 0) + x) :: Int- , id (id (id 1) + _) :: Int- , id ((_ + 0) + 0) :: Int- , id ((0 + _) + 0) :: Int- , id ((0 + 0) + _) :: Int- , head (0:0:_) :: Int- , _ + id (id (id 0)) :: Int- , 0 + id (id (id _)) :: Int- , id _ + id (id 0) :: Int- , id 0 + id (id _) :: Int- , id (id _) + id 0 :: Int- , id (id 0) + id _ :: Int- , id (id (id _)) + 0 :: Int- , id (id (id 0)) + _ :: Int- , 0:id 0:_ :: [Int]- , id 0:0:_ :: [Int]- , [id (id (id _))] :: [Int]- , id (id (id 0)):_ :: [Int]- , id (id (abs (_ + 0))) :: Int- , id (id (abs (0 + _))) :: Int- , id (id (negate (_ + 0))) :: Int- , id (id (negate (0 + _))) :: Int- , id (id (head [_])) :: Int- , id (id (head [_,0])) :: Int- , id (id (head [x])) :: Int- , id (id (head (0:_))) :: Int- , id (id (head (0:xs))) :: Int- , id (id (head (1:_))) :: Int- , id (id (head (_ ++ []))) :: Int- , id (id (head ([] ++ _))) :: Int- , id (id (_ + ord 'a')) :: Int- , id (id (_ + abs 0)) :: Int- , id (id (_ + negate 0)) :: Int- , id (id (_ + head [])) :: Int- , id (id (0 + ord _)) :: Int- , id (id (0 + abs _)) :: Int- , id (id (0 + negate _)) :: Int- , id (id (0 + head _)) :: Int- , id (id (ord _ + 0)) :: Int- , id (id (ord 'a' + _)) :: Int- , id (id (abs _ + 0)) :: Int- , id (id (abs 0 + _)) :: Int- , id (id (negate _ + 0)) :: Int- , id (id (negate 0 + _)) :: Int- , id (id (head _ + 0)) :: Int- , id (id (head [] + _)) :: Int- , id (abs (id (_ + 0))) :: Int- , id (abs (id (0 + _))) :: Int- , id (abs (_ + id 0)) :: Int- , id (abs (0 + id _)) :: Int- , id (abs (id _ + 0)) :: Int- , id (abs (id 0 + _)) :: Int- , id (negate (id (_ + 0))) :: Int- , id (negate (id (0 + _))) :: Int- , id (negate (_ + id 0)) :: Int- , id (negate (0 + id _)) :: Int- , id (negate (id _ + 0)) :: Int- , id (negate (id 0 + _)) :: Int- , id (head [id _]) :: Int- , id (head [id _,0]) :: Int- , id (head [id x]) :: Int- , id (head (id 0:_)) :: Int- , id (head (id 0:xs)) :: Int- , id (head (id 1:_)) :: Int- , id (head [head _]) :: Int- , id (head (head []:_)) :: Int- , id (_ + id (ord 'a')) :: Int- , id (_ + id (abs 0)) :: Int- , id (_ + id (negate 0)) :: Int- , id (_ + id (head [])) :: Int- , id (_ + abs (id 0)) :: Int- , id (_ + negate (id 0)) :: Int- , id (0 + id (ord _)) :: Int- , id (0 + id (abs _)) :: Int- , id (0 + id (negate _)) :: Int- , id (0 + id (head _)) :: Int- , id (0 + abs (id _)) :: Int- , id (0 + negate (id _)) :: Int- , id (ord _ + id 0) :: Int- , id (ord 'a' + id _) :: Int- , id (id _ + ord 'a') :: Int- , id (id _ + abs 0) :: Int- , id (id _ + negate 0) :: Int- , id (id _ + head []) :: Int- , id (id 0 + ord _) :: Int- , id (id 0 + abs _) :: Int- , id (id 0 + negate _) :: Int- , id (id 0 + head _) :: Int- , id (id (ord _) + 0) :: Int- , id (id (ord 'a') + _) :: Int- , id (id (abs _) + 0) :: Int- , id (id (abs 0) + _) :: Int- , id (id (negate _) + 0) :: Int- , id (id (negate 0) + _) :: Int- , id (id (head _) + 0) :: Int- , id (id (head []) + _) :: Int- , id (abs _ + id 0) :: Int- , id (abs 0 + id _) :: Int- , id (abs (id _) + 0) :: Int- , id (abs (id 0) + _) :: Int- , id (negate _ + id 0) :: Int- , id (negate 0 + id _) :: Int- , id (negate (id _) + 0) :: Int- , id (negate (id 0) + _) :: Int- , id (head _ + id 0) :: Int- , id (head [] + id _) :: Int- , head [_,0] :: Int- , head [0,_] :: Int- , head [id (id _)] :: Int- , head (id (id 0):_) :: Int- , [_,id 0] :: [Int]- , [0,id _] :: [Int]- , [id _,0] :: [Int]- , [id 0,_] :: [Int]- , id (abs (head [_])) :: Int- , id (abs (head (0:_))) :: Int- , id (negate (head [_])) :: Int- , id (negate (head (0:_))) :: Int- , id (head (tail [_])) :: Int- , id (head (tail (0:_))) :: Int- , id (head (_:tail [])) :: Int- , id (head (0:tail _)) :: Int- , id (head [ord _]) :: Int- , id (head (ord 'a':_)) :: Int- , id (head [abs _]) :: Int- , id (head (abs 0:_)) :: Int- , id (head [negate _]) :: Int- , id (head (negate 0:_)) :: Int- , id (id (id (id (id 0)))) :: Int- , id (id (id (id (id 1)))) :: Int- , id (id (id (id (ord 'a')))) :: Int- , id (id (id (id (abs 0)))) :: Int- , id (id (id (id (negate 0)))) :: Int- , id (id (id (id (head [])))) :: Int- , id (id (id (abs (id 0)))) :: Int- , id (id (id (negate (id 0)))) :: Int- , id (id (id (0 + 0))) :: Int- , id (id (abs (id (id 0)))) :: Int- , id (id (negate (id (id 0)))) :: Int- , id (id (0 + id 0)) :: Int- , id (id (id 0 + 0)) :: Int- , id (abs (id (id (id 0)))) :: Int- , id (negate (id (id (id 0)))) :: Int- , id (0 + id (id 0)) :: Int- , id (id 0 + id 0) :: Int- , id (id (id 0) + 0) :: Int- , id (id (head [0])) :: Int- , id (head [id 0]) :: Int- , _:_:x:_ :: [Int]- , _:_:x:xs :: [Int]- , _:_:y:_ :: [Int]- , _:x:_:_ :: [Int]- , _:x:_:xs :: [Int]- , _:x:x:_ :: [Int]- , _:y:_:_ :: [Int]- , x:_:_:_ :: [Int]- , x:_:_:xs :: [Int]- , x:_:x:_ :: [Int]- , x:x:_:_ :: [Int]- , y:_:_:_ :: [Int]- , _:_:(_ ++ xs) :: [Int]- , _:_:(xs ++ _) :: [Int]- , _:x:(_ ++ _) :: [Int]- , _:_ + x:_ :: [Int]- , _:x + _:_ :: [Int]- , _:(_ ++ (_:xs)) :: [Int]- , _:(_ ++ (x:_)) :: [Int]- , _:(xs ++ (_:_)) :: [Int]- , _:((_:_) ++ xs) :: [Int]- , _:((_:xs) ++ _) :: [Int]- , _:((x:_) ++ _) :: [Int]- , x:_:(_ ++ _) :: [Int]- , x:_ + _:_ :: [Int]- , x:(_ ++ (_:_)) :: [Int]- , x:((_:_) ++ _) :: [Int]- , _ + _:x:_ :: [Int]- , _ + x:_:_ :: [Int]- , x + _:_:_ :: [Int]- , _ ++ (_:_:xs) :: [Int]- , _ ++ (_:x:_) :: [Int]- , _ ++ (x:_:_) :: [Int]- , xs ++ (_:_:_) :: [Int]- , (_:_) ++ (_:xs) :: [Int]- , (_:_) ++ (x:_) :: [Int]- , (_:xs) ++ (_:_) :: [Int]- , (_:_:_) ++ xs :: [Int]- , (_:_:xs) ++ _ :: [Int]- , (_:x:_) ++ _ :: [Int]- , (x:_) ++ (_:_) :: [Int]- , (x:_:_) ++ _ :: [Int]- , _:x:0:_ :: [Int]- , _:0:x:_ :: [Int]- , _:id (id x):_ :: [Int]- , x:_:0:_ :: [Int]- , x:0:_:_ :: [Int]- , x:id (id _):_ :: [Int]- , 0:_:x:_ :: [Int]- , 0:x:_:_ :: [Int]- , id _:id x:_ :: [Int]- , id x:id _:_ :: [Int]- , id (id _):x:_ :: [Int]- , id (id x):_:_ :: [Int]- , id (head (_:x:_)) :: Int- , id (head (_:x:xs)) :: Int- , id (head (_:y:_)) :: Int- , id (head (x:_:_)) :: Int- , id (head (x:_:xs)) :: Int- , id (head (y:_:_)) :: Int- , head (_:ord _:_) :: Int- , head (_:id x:_) :: Int- , head (x:id _:_) :: Int- , head (ord _:_:_) :: Int- , head (id _:x:_) :: Int- , head (id x:_:_) :: Int- , _:id (ord _):_ :: [Int]- , ord _:id _:_ :: [Int]- , id _:ord _:_ :: [Int]- , id (ord _):_:_ :: [Int]- , id (head (_:(_ ++ xs))) :: Int- , id (head (_:(xs ++ _))) :: Int- , id (head (_ + x:_)) :: Int- , id (head (x + _:_)) :: Int- , id (head (_ ++ (_:xs))) :: Int- , id (head (xs ++ (_:_))) :: Int- , id (head ((_:_) ++ xs)) :: Int- , id (head ((_:xs) ++ _)) :: Int- , id (_ + head (x:_)) :: Int- , id (x + head (_:_)) :: Int- , id (head (_:_) + x) :: Int- , id (head (x:_) + _) :: Int- , _:_:_:_ :: [Int]- , _:_:_:xs :: [Int]- , _:_:_:ys :: [Int]- , elem _ (_:_:_) :: Bool- , _:_:insert _ _ :: [Int]- , _:_:(_ ++ _) :: [Int]- , _:_ * _:_ :: [Int]- , _:_ + _:_ :: [Int]- , _:_ + _:xs :: [Int]- , _:insert _ (_:_) :: [Int]- , _:(_ ++ (_:_)) :: [Int]- , _:(_ ++ (_ ++ _)) :: [Int]- , _:((_:_) ++ _) :: [Int]- , _:((_ ++ _) ++ _) :: [Int]- , _ * _:_:_ :: [Int]- , _ + _:_:_ :: [Int]- , _ + _:_:xs :: [Int]- , _ + (_ + _):_ :: [Int]- , (_ + _) + _:_ :: [Int]- , insert _ (_:_:_) :: [Int]- , _ ++ (_:_:_) :: [Int]- , _ ++ (_:(_ ++ _)) :: [Int]- , _ ++ (_ ++ (_:_)) :: [Int]- , _ ++ ((_:_) ++ _) :: [Int]- , (_:_) ++ (_:_) :: [Int]- , (_:_) ++ (_ ++ _) :: [Int]- , (_:_:_) ++ _ :: [Int]- , (_:(_ ++ _)) ++ _ :: [Int]- , (_ ++ _) ++ (_:_) :: [Int]- , (_ ++ (_:_)) ++ _ :: [Int]- , ((_:_) ++ _) ++ _ :: [Int]- , _ + _:(_ ++ _) :: [Int]- , _ ++ (_ + _:_) :: [Int]- , (_ + _:_) ++ _ :: [Int]- , id (id (_ + (_ + x))) :: Int- , id (id (_ + (x + _))) :: Int- , id (id (x + (_ + _))) :: Int- , id (id ((_ + _) + x)) :: Int- , id (id ((_ + x) + _)) :: Int- , id (id ((x + _) + _)) :: Int- , id (_ + id (_ + x)) :: Int- , id (_ + id (x + _)) :: Int- , id (_ + (_ + id x)) :: Int- , id (_ + (x + id _)) :: Int- , id (_ + (id _ + x)) :: Int- , id (_ + (id x + _)) :: Int- , id (x + id (_ + _)) :: Int- , id (x + (_ + id _)) :: Int- , id (x + (id _ + _)) :: Int- , id (id _ + (_ + x)) :: Int- , id (id _ + (x + _)) :: Int- , id (id x + (_ + _)) :: Int- , id (id (_ + _) + x) :: Int- , id (id (_ + x) + _) :: Int- , id (id (x + _) + _) :: Int- , id ((_ + _) + id x) :: Int- , id ((_ + x) + id _) :: Int- , id ((_ + id _) + x) :: Int- , id ((_ + id x) + _) :: Int- , id ((x + _) + id _) :: Int- , id ((x + id _) + _) :: Int- , id ((id _ + _) + x) :: Int- , id ((id _ + x) + _) :: Int- , id ((id x + _) + _) :: Int- , head (_:head _:_) :: Int- , head (head _:_:_) :: Int- , head (head (_:_):_) :: Int- , [_,_,x] :: [Int]- , _:_:0:_ :: [Int]- , _:_:0:xs :: [Int]- , _:_:1:_ :: [Int]- , [_,x,_] :: [Int]- , _:0:_:_ :: [Int]- , _:0:_:xs :: [Int]- , _:1:_:_ :: [Int]- , _:id (id _):_ :: [Int]- , _:id (id _):xs :: [Int]- , [x,_,_] :: [Int]- , 0:_:_:_ :: [Int]- , 0:_:_:xs :: [Int]- , 1:_:_:_ :: [Int]- , id _:id _:_ :: [Int]- , id _:id _:xs :: [Int]- , id (id _):_:_ :: [Int]- , id (id _):_:xs :: [Int]- , id (head (_:_:_)) :: Int- , id (head (_:_:xs)) :: Int- , id (head (_:_:ys)) :: Int- , id (head (x:x:_)) :: Int- , id (_ + (_ + ord _)) :: Int- , id (_ + (_ + head _)) :: Int- , id (_ + (ord _ + _)) :: Int- , id (_ + (head _ + _)) :: Int- , id (ord _ + (_ + _)) :: Int- , id (head _ + (_ + _)) :: Int- , id ((_ + _) + ord _) :: Int- , id ((_ + _) + head _) :: Int- , id ((_ + ord _) + _) :: Int- , id ((_ + head _) + _) :: Int- , id ((ord _ + _) + _) :: Int- , id ((head _ + _) + _) :: Int- , abs (head (_:_:_)) :: Int- , negate (head (_:_:_)) :: Int- , head (tail (_:_:_)) :: Int- , head (_:tail (_:_)) :: Int- , head (_:_:tail _) :: Int- , head (_:id _:_) :: Int- , head (_:id _:xs) :: Int- , head (_:abs _:_) :: Int- , head (_:negate _:_) :: Int- , head (id _:_:_) :: Int- , head (id _:_:xs) :: Int- , head (abs _:_:_) :: Int- , head (negate _:_:_) :: Int- , tail (_:id _:_) :: [Int]- , tail (id _:_:_) :: [Int]- , _:tail (id _:_) :: [Int]- , _:_:(_ ++ []) :: [Int]- , [_,_,] ++ _ :: [Int]- , _:0:(_ ++ _) :: [Int]- , _:id _:tail _ :: [Int]- , _:id (abs _):_ :: [Int]- , _:id (negate _):_ :: [Int]- , _:id (head _):_ :: [Int]- , _:abs (id _):_ :: [Int]- , _:negate (id _):_ :: [Int]- , _:_ + 0:_ :: [Int]- , _:0 + _:_ :: [Int]- , _:(_ ++ [_]) :: [Int]- , _:(_ ++ (0:_)) :: [Int]- , _:([] ++ (_:_)) :: [Int]- , _:((_:_) ++ []) :: [Int]- , _:([_] ++ _) :: [Int]- , _:((0:_) ++ _) :: [Int]- , 0:_:(_ ++ _) :: [Int]- , 0:_ + _:_ :: [Int]- , 0:(_ ++ (_:_)) :: [Int]- , 0:((_:_) ++ _) :: [Int]- , id _:tail (_:_) :: [Int]- , id _:_:tail _ :: [Int]- , id _:abs _:_ :: [Int]- , id _:negate _:_ :: [Int]- , id _:head _:_ :: [Int]- , id (id _):(_ ++ _) :: [Int]- , id (id (_ + _)):_ :: [Int]- , id (abs _):_:_ :: [Int]- , id (negate _):_:_ :: [Int]- , id (head _):_:_ :: [Int]- , id (head (_:_)):_ :: [Int]- , id (_ + id _):_ :: [Int]- , id (id _ + _):_ :: [Int]- , abs _:id _:_ :: [Int]- , abs (id _):_:_ :: [Int]- , negate _:id _:_ :: [Int]- , negate (id _):_:_ :: [Int]- , head _:id _:_ :: [Int]- , head (id _:_):_ :: [Int]- , _ + _:0:_ :: [Int]- , _ + 0:_:_ :: [Int]- , _ + id (id _):_ :: [Int]- , 0 + _:_:_ :: [Int]- , id _ + id _:_ :: [Int]- , id (id _) + _:_ :: [Int]- , _ ++ [_,_] :: [Int]- , _ ++ (_:0:_) :: [Int]- , _ ++ (0:_:_) :: [Int]- , _ ++ (id (id _):_) :: [Int]- , [] ++ (_:_:_) :: [Int]- , (_:_) ++ [_] :: [Int]- , (_:_) ++ (0:_) :: [Int]- , [_] ++ (_:_) :: [Int]- , (_:_:_) ++ [] :: [Int]- , [_,_] ++ _ :: [Int]- , (_:0:_) ++ _ :: [Int]- , (0:_) ++ (_:_) :: [Int]- , (0:_:_) ++ _ :: [Int]- , (id (id _):_) ++ _ :: [Int]- , id (head (_:insert _ _)) :: Int- , id (head (_:(_ ++ _))) :: Int- , id (head (x:(_ ++ _))) :: Int- , id (head (_ * _:_)) :: Int- , id (head (_ + _:_)) :: Int- , id (head (_ + _:xs)) :: Int- , id (head (_ ++ (_:_))) :: Int- , id (head (_ ++ (x:_))) :: Int- , id (head ((_:_) ++ _)) :: Int- , id (head ((x:_) ++ _)) :: Int- , id (_ * head (_:_)) :: Int- , id (head (_:_) * _) :: Int- , id (_ + head (_:_)) :: Int- , id (_ + head (_:xs)) :: Int- , id (_ + head (_ ++ _)) :: Int- , id (head (_:_) + _) :: Int- , id (head (_:xs) + _) :: Int- , id (head (_ ++ _) + _) :: Int- , head (id _:(_ ++ _)) :: Int- , head (id (_ + _):_) :: Int- , head (_ + id _:_) :: Int- , head (id _ + _:_) :: Int- , head (_ ++ (id _:_)) :: Int- , head ((id _:_) ++ _) :: Int- , _ + id (head (_:_)) :: Int- , _ + head (id _:_) :: Int- , id _ + head (_:_) :: Int- , id (head (_:_)) + _ :: Int- , head (_:_) + id _ :: Int- , head (id _:_) + _ :: Int- , id (id (id (id (_ + x)))) :: Int- , id (id (id (id (x + _)))) :: Int- , id (id (id (_ + id x))) :: Int- , id (id (id (x + id _))) :: Int- , id (id (id (id _ + x))) :: Int- , id (id (id (id x + _))) :: Int- , id (id (_ + id (id x))) :: Int- , id (id (x + id (id _))) :: Int- , id (id (id _ + id x)) :: Int- , id (id (id x + id _)) :: Int- , id (id (id (id _) + x)) :: Int- , id (id (id (id x) + _)) :: Int- , id (_ + id (id (id x))) :: Int- , id (x + id (id (id _))) :: Int- , id (id _ + id (id x)) :: Int- , id (id x + id (id _)) :: Int- , id (id (id _) + id x) :: Int- , id (id (id x) + id _) :: Int- , id (id (id (id _)) + x) :: Int- , id (id (id (id x)) + _) :: Int- , _:0:0:_ :: [Int]- , 0:_:0:_ :: [Int]- , 0:0:_:_ :: [Int]- , id (id (id (id _))):_ :: [Int]- , id (id (id (head (_:_)))) :: Int- , id (id (id (head (_:xs)))) :: Int- , id (id (id (head (x:_)))) :: Int- , id (id (id (_ + ord _))) :: Int- , id (id (id (_ + head _))) :: Int- , id (id (id (ord _ + _))) :: Int- , id (id (id (head _ + _))) :: Int- , id (id (head (id _:_))) :: Int- , id (id (head (id _:xs))) :: Int- , id (id (head (id x:_))) :: Int- , id (id (_ + id (ord _))) :: Int- , id (id (_ + id (head _))) :: Int- , id (id (ord _ + id _)) :: Int- , id (id (id _ + ord _)) :: Int- , id (id (id _ + head _)) :: Int- , id (id (id (ord _) + _)) :: Int- , id (id (id (head _) + _)) :: Int- , id (id (head _ + id _)) :: Int- , id (head (id (id _):_)) :: Int- , id (head (id (id _):xs)) :: Int- , id (head (id (id x):_)) :: Int- , id (_ + id (id (ord _))) :: Int- , id (_ + id (id (head _))) :: Int- , id (ord _ + id (id _)) :: Int- , id (id _ + id (ord _)) :: Int- , id (id _ + id (head _)) :: Int- , id (id (ord _) + id _) :: Int- , id (id (id _) + ord _) :: Int- , id (id (id _) + head _) :: Int- , id (id (id (ord _)) + _) :: Int- , id (id (id (head _)) + _) :: Int- , id (id (head _) + id _) :: Int- , id (head _ + id (id _)) :: Int- , head (id (id (id _)):_) :: Int- , _:id (id 0):_ :: [Int]- , 0:id (id _):_ :: [Int]- , id _:id 0:_ :: [Int]- , id 0:id _:_ :: [Int]- , id (id _):0:_ :: [Int]- , id (id 0):_:_ :: [Int]- , id (id (abs (head (_:_)))) :: Int- , id (id (negate (head (_:_)))) :: Int- , id (id (head (tail (_:_)))) :: Int- , id (id (head (_:tail _))) :: Int- , id (id (head (ord _:_))) :: Int- , id (id (head (abs _:_))) :: Int- , id (id (head (negate _:_))) :: Int- , id (abs (id (head (_:_)))) :: Int- , id (abs (head (id _:_))) :: Int- , id (negate (id (head (_:_)))) :: Int- , id (negate (head (id _:_))) :: Int- , id (head (tail (id _:_))) :: Int- , id (head [_,x]) :: Int- , id (head (_:0:_)) :: Int- , id (head (_:0:xs)) :: Int- , id (head (_:1:_)) :: Int- , id (head [x,_]) :: Int- , id (head (x:0:_)) :: Int- , id (head (0:_:_)) :: Int- , id (head (0:_:xs)) :: Int- , id (head (0:x:_)) :: Int- , id (head (1:_:_)) :: Int- , id (head (id _:tail _)) :: Int- , id (head (id (ord _):_)) :: Int- , id (head (id (abs _):_)) :: Int- , id (head (id (negate _):_)) :: Int- , id (head (abs (id _):_)) :: Int- , id (head (negate (id _):_)) :: Int- , head (_:id 0:_) :: Int- , head (0:id _:_) :: Int- , head (id _:0:_) :: Int- , head (id 0:_:_) :: Int- , id (head (_:(_ ++ []))) :: Int- , id (head (_:([] ++ _))) :: Int- , id (head (_ + 0:_)) :: Int- , id (head (0 + _:_)) :: Int- , id (head (_ ++ [_])) :: Int- , id (head ([] ++ (_:_))) :: Int- , id (head ((_:_) ++ [])) :: Int- , id (head ([_] ++ _)) :: Int- , id (_ + head (0:_)) :: Int- , id (0 + head (_:_)) :: Int- , id (head (_:_) + 0) :: Int- , id (head (0:_) + _) :: Int- , _ + (_ + (_ + _)) :: Int- , _ + ((_ + _) + _) :: Int- , (_ + _) + (_ + _) :: Int- , (_ + (_ + _)) + _ :: Int- , ((_ + _) + _) + _ :: Int- , id (id (_ + (_ + _))) :: Int- , id (id ((_ + _) + _)) :: Int- , id (_ + id (_ + _)) :: Int- , id (_ + (_ + id _)) :: Int- , id (_ + (id _ + _)) :: Int- , id (id _ + (_ + _)) :: Int- , id (id (_ + _) + _) :: Int- , id ((_ + _) + id _) :: Int- , id ((_ + id _) + _) :: Int- , id ((id _ + _) + _) :: Int- , _ + id (id (_ + _)) :: Int- , _ + id (_ + id _) :: Int- , _ + id (id _ + _) :: Int- , _ + (_ + id (id _)) :: Int- , _ + (id _ + id _) :: Int- , _ + (id (id _) + _) :: Int- , id _ + id (_ + _) :: Int- , id _ + (_ + id _) :: Int- , id _ + (id _ + _) :: Int- , id (id _) + (_ + _) :: Int- , id (id (_ + _)) + _ :: Int- , id (_ + _) + id _ :: Int- , id (_ + id _) + _ :: Int- , id (id _ + _) + _ :: Int- , (_ + _) + id (id _) :: Int- , (_ + id _) + id _ :: Int- , (_ + id (id _)) + _ :: Int- , (id _ + _) + id _ :: Int- , (id _ + id _) + _ :: Int- , (id (id _) + _) + _ :: Int- , [_,_,_] :: [Int]- , [_,_,_,0] :: [Int]- , id (id (_ * (_ + _))) :: Int- , id (id ((_ + _) * _)) :: Int- , id (id (_ + _ * _)) :: Int- , id (id (_ * _ + _)) :: Int- , id (abs (_ + (_ + _))) :: Int- , id (abs ((_ + _) + _)) :: Int- , id (negate (_ + (_ + _))) :: Int- , id (negate ((_ + _) + _)) :: Int- , id (head (_ ++ (_ ++ _))) :: Int- , id (_ * id (_ + _)) :: Int- , id (_ * (_ + id _)) :: Int- , id (_ * (id _ + _)) :: Int- , id (id _ * (_ + _)) :: Int- , id (id (_ + _) * _) :: Int- , id ((_ + _) * id _) :: Int- , id ((_ + id _) * _) :: Int- , id ((id _ + _) * _) :: Int- , id (_ + id (_ * _)) :: Int- , id (_ + abs (_ + _)) :: Int- , id (_ + negate (_ + _)) :: Int- , id (_ + _ * id _) :: Int- , id (_ + id _ * _) :: Int- , id (_ + (_ + abs _)) :: Int- , id (_ + (_ + negate _)) :: Int- , id (_ + (abs _ + _)) :: Int- , id (_ + (negate _ + _)) :: Int- , id (id _ + _ * _) :: Int- , id (id (_ * _) + _) :: Int- , id (abs _ + (_ + _)) :: Int- , id (abs (_ + _) + _) :: Int- , id (negate _ + (_ + _)) :: Int- , id (negate (_ + _) + _) :: Int- , id (_ * _ + id _) :: Int- , id (_ * id _ + _) :: Int- , id (id _ * _ + _) :: Int- , id ((_ + _) + abs _) :: Int- , id ((_ + _) + negate _) :: Int- , id ((_ + abs _) + _) :: Int- , id ((_ + negate _) + _) :: Int- , id ((abs _ + _) + _) :: Int- , id ((negate _ + _) + _) :: Int- , [_,_ + _] :: [Int]- , [_ + _,_] :: [Int]- , id (id (id (id (_ * _)))) :: Int- , id (id (id (id (_ + _)))) :: Int- , id (id (id (_ * id _))) :: Int- , id (id (id (id _ * _))) :: Int- , id (id (id (_ + id _))) :: Int- , id (id (id (id _ + _))) :: Int- , id (id (_ * id (id _))) :: Int- , id (id (id _ * id _)) :: Int- , id (id (id (id _) * _)) :: Int- , id (id (_ + id (id _))) :: Int- , id (id (id _ + id _)) :: Int- , id (id (id (id _) + _)) :: Int- , id (_ * id (id (id _))) :: Int- , id (id _ * id (id _)) :: Int- , id (id (id _) * id _) :: Int- , id (id (id (id _)) * _) :: Int- , id (_ + id (id (id _))) :: Int- , id (id _ + id (id _)) :: Int- , id (id (id _) + id _) :: Int- , id (id (id (id _)) + _) :: Int- , _ + id (id (id (id _))) :: Int- , id _ + id (id (id _)) :: Int- , id (id _) + id (id _) :: Int- , id (id (id _)) + id _ :: Int- , id (id (id (id _))) + _ :: Int- , id (id (id (abs (_ + _)))) :: Int- , id (id (id (negate (_ + _)))) :: Int- , id (id (id (head (_ ++ _)))) :: Int- , id (id (id (_ + abs _))) :: Int- , id (id (id (_ + negate _))) :: Int- , id (id (id (abs _ + _))) :: Int- , id (id (id (negate _ + _))) :: Int- , id (id (abs (id (_ + _)))) :: Int- , id (id (abs (_ + id _))) :: Int- , id (id (abs (id _ + _))) :: Int- , id (id (negate (id (_ + _)))) :: Int- , id (id (negate (_ + id _))) :: Int- , id (id (negate (id _ + _))) :: Int- , id (id (head (head _:_))) :: Int- , id (id (_ + id (abs _))) :: Int- , id (id (_ + id (negate _))) :: Int- , id (id (_ + abs (id _))) :: Int- , id (id (_ + negate (id _))) :: Int- , id (id (_ + (_ + 0))) :: Int- , id (id (_ + (0 + _))) :: Int- , id (id (0 + (_ + _))) :: Int- , id (id (id _ + abs _)) :: Int- , id (id (id _ + negate _)) :: Int- , id (id (id (abs _) + _)) :: Int- , id (id (id (negate _) + _)) :: Int- , id (id (abs _ + id _)) :: Int- , id (id (abs (id _) + _)) :: Int- , id (id (negate _ + id _)) :: Int- , id (id (negate (id _) + _)) :: Int- , id (id ((_ + _) + 0)) :: Int- , id (id ((_ + 0) + _)) :: Int- , id (id ((0 + _) + _)) :: Int- , id (abs (id (id (_ + _)))) :: Int- , id (abs (id (_ + id _))) :: Int- , id (abs (id (id _ + _))) :: Int- , id (abs (_ + id (id _))) :: Int- , id (abs (id _ + id _)) :: Int- , id (abs (id (id _) + _)) :: Int- , id (negate (id (id (_ + _)))) :: Int- , id (negate (id (_ + id _))) :: Int- , id (negate (id (id _ + _))) :: Int- , id (negate (_ + id (id _))) :: Int- , id (negate (id _ + id _)) :: Int- , id (negate (id (id _) + _)) :: Int- , id (head (id (head _):_)) :: Int- , id (_ + id (id (abs _))) :: Int- , id (_ + id (id (negate _))) :: Int- , id (_ + id (abs (id _))) :: Int- , id (_ + id (negate (id _))) :: Int- , id (_ + id (_ + 0)) :: Int- , id (_ + id (0 + _)) :: Int- , id (_ + abs (id (id _))) :: Int- , id (_ + negate (id (id _))) :: Int- , id (_ + (_ + id 0)) :: Int- , id (_ + (0 + id _)) :: Int- , id (_ + (id _ + 0)) :: Int- , id (_ + (id 0 + _)) :: Int- , id (0 + id (_ + _)) :: Int- , id (0 + (_ + id _)) :: Int- , id (0 + (id _ + _)) :: Int- , id (id _ + id (abs _)) :: Int- , id (id _ + id (negate _)) :: Int- , id (id _ + abs (id _)) :: Int- , id (id _ + negate (id _)) :: Int- , id (id _ + (_ + 0)) :: Int- , id (id _ + (0 + _)) :: Int- , id (id 0 + (_ + _)) :: Int- , id (id (id _) + abs _) :: Int- , id (id (id _) + negate _) :: Int- , id (id (id (abs _)) + _) :: Int- , id (id (id (negate _)) + _) :: Int- , id (id (abs _) + id _) :: Int- , id (id (abs (id _)) + _) :: Int- , id (id (negate _) + id _) :: Int- , id (id (negate (id _)) + _) :: Int- , id (id (_ + _) + 0) :: Int- , id (id (_ + 0) + _) :: Int- , id (id (0 + _) + _) :: Int- , id (abs _ + id (id _)) :: Int- , id (abs (id _) + id _) :: Int- , id (abs (id (id _)) + _) :: Int- , id (negate _ + id (id _)) :: Int- , id (negate (id _) + id _) :: Int- , id (negate (id (id _)) + _) :: Int- , id ((_ + _) + id 0) :: Int- , id ((_ + 0) + id _) :: Int- , id ((_ + id _) + 0) :: Int- , id ((_ + id 0) + _) :: Int- , id ((0 + _) + id _) :: Int- , id ((0 + id _) + _) :: Int- , id ((id _ + _) + 0) :: Int- , id ((id _ + 0) + _) :: Int- , id ((id 0 + _) + _) :: Int- , [_,_,0] :: [Int]- , [_,0,_] :: [Int]- , [_,id (id _)] :: [Int]- , [0,_,_] :: [Int]- , [id _,id _] :: [Int]- , [id (id _),_] :: [Int]- , id (head [_,_]) :: Int- , id (head [_,_,0]) :: Int- , head [_,id _] :: Int- , head [id _,_] :: Int- , id (head (0:(_ ++ _))) :: Int- , id (head [_ + _]) :: Int- , id (head (_ ++ (0:_))) :: Int- , id (head ((0:_) ++ _)) :: Int- , id (_ + head [_]) :: Int- , id (head [_] + _) :: Int- , id (id (id (id (id (id _))))) :: Int- , id (id (id (id (id (id x))))) :: Int- , id (id (id (id (id (ord _))))) :: Int- , id (id (id (id (id (abs _))))) :: Int- , id (id (id (id (id (negate _))))) :: Int- , id (id (id (id (id (head _))))) :: Int- , id (id (id (id (abs (id _))))) :: Int- , id (id (id (id (negate (id _))))) :: Int- , id (id (id (abs (id (id _))))) :: Int- , id (id (id (negate (id (id _))))) :: Int- , id (id (abs (id (id (id _))))) :: Int- , id (id (negate (id (id (id _))))) :: Int- , id (abs (id (id (id (id _))))) :: Int- , id (negate (id (id (id (id _))))) :: Int- , id (id (id (id (_ + 0)))) :: Int- , id (id (id (id (0 + _)))) :: Int- , id (id (id (_ + id 0))) :: Int- , id (id (id (0 + id _))) :: Int- , id (id (id (id _ + 0))) :: Int- , id (id (id (id 0 + _))) :: Int- , id (id (_ + id (id 0))) :: Int- , id (id (0 + id (id _))) :: Int- , id (id (id _ + id 0)) :: Int- , id (id (id 0 + id _)) :: Int- , id (id (id (id _) + 0)) :: Int- , id (id (id (id 0) + _)) :: Int- , id (_ + id (id (id 0))) :: Int- , id (0 + id (id (id _))) :: Int- , id (id _ + id (id 0)) :: Int- , id (id 0 + id (id _)) :: Int- , id (id (id _) + id 0) :: Int- , id (id (id 0) + id _) :: Int- , id (id (id (id _)) + 0) :: Int- , id (id (id (id 0)) + _) :: Int- , id (id (id (head [_]))) :: Int- , id (id (id (head (0:_)))) :: Int- , id (id (head [id _])) :: Int- , id (id (head (id 0:_))) :: Int- , id (head (0:0:_)) :: Int- , id (head [id (id _)]) :: Int- , id (head (id (id 0):_)) :: Int- , id (head [_,0]) :: Int- , id (head [0,_]) :: Int- , id (id (id (id (id (id 0))))) :: Int- , head (_:_:x:_) :: Int- , head (_:x:_:_) :: Int- , head (x:_:_:_) :: Int- , _:_:ord _:_ :: [Int]- , _:_:id x:_ :: [Int]- , _:x:id _:_ :: [Int]- , _:ord _:_:_ :: [Int]- , _:id _:x:_ :: [Int]- , _:id x:_:_ :: [Int]- , x:_:id _:_ :: [Int]- , x:id _:_:_ :: [Int]- , ord _:_:_:_ :: [Int]- , id _:_:x:_ :: [Int]- , id _:x:_:_ :: [Int]- , id x:_:_:_ :: [Int]- , id (id (head (_:x:_))) :: Int- , id (id (head (x:_:_))) :: Int- , id (head (_:id x:_)) :: Int- , id (head (x:id _:_)) :: Int- , id (head (id _:x:_)) :: Int- , id (head (id x:_:_)) :: Int- , id (head (_:ord _:_)) :: Int- , id (head (ord _:_:_)) :: Int- , head (_:_:_:_) :: Int- , head (_:_:_:xs) :: Int- , tail (_:_:_:_) :: [Int]- , _:tail (_:_:_) :: [Int]- , _:_:tail (_:_) :: [Int]- , _:_:_:tail _ :: [Int]- , _:_:id _:_ :: [Int]- , _:_:id _:xs :: [Int]- , _:_:abs _:_ :: [Int]- , _:_:negate _:_ :: [Int]- , _:_:head _:_ :: [Int]- , _:id _:_:_ :: [Int]- , _:id _:_:xs :: [Int]- , _:abs _:_:_ :: [Int]- , _:negate _:_:_ :: [Int]- , _:head _:_:_ :: [Int]- , _:head (_:_):_ :: [Int]- , id _:_:_:_ :: [Int]- , id _:_:_:xs :: [Int]- , abs _:_:_:_ :: [Int]- , negate _:_:_:_ :: [Int]- , head _:_:_:_ :: [Int]- , head (_:_):_:_ :: [Int]- , head (_:_:_):_ :: [Int]- , head (_:_:(_ ++ _)) :: Int- , head (_:_ + _:_) :: Int- , head (_:(_ ++ (_:_))) :: Int- , head (_:((_:_) ++ _)) :: Int- , head (_ + _:_:_) :: Int- , head (_ ++ (_:_:_)) :: Int- , head ((_:_) ++ (_:_)) :: Int- , head ((_:_:_) ++ _) :: Int- , _ + head (_:_:_) :: Int- , head (_:_:_) + _ :: Int- , _:id _:(_ ++ _) :: [Int]- , _:id (_ + _):_ :: [Int]- , _:_ + id _:_ :: [Int]- , _:id _ + _:_ :: [Int]- , _:(_ ++ (id _:_)) :: [Int]- , _:((id _:_) ++ _) :: [Int]- , id _:_:(_ ++ _) :: [Int]- , id _:_ + _:_ :: [Int]- , id _:(_ ++ (_:_)) :: [Int]- , id _:((_:_) ++ _) :: [Int]- , id (_ + _):_:_ :: [Int]- , _ + _:id _:_ :: [Int]- , _ + id _:_:_ :: [Int]- , id _ + _:_:_ :: [Int]- , _ ++ (_:id _:_) :: [Int]- , _ ++ (id _:_:_) :: [Int]- , (_:_) ++ (id _:_) :: [Int]- , (_:id _:_) ++ _ :: [Int]- , (id _:_) ++ (_:_) :: [Int]- , (id _:_:_) ++ _ :: [Int]- , _:id (id (id _)):_ :: [Int]- , id _:id (id _):_ :: [Int]- , id (id _):id _:_ :: [Int]- , id (id (id _)):_:_ :: [Int]- , id (id (head (_:_:_))) :: Int- , id (id (head (_:_:xs))) :: Int- , id (head (_:id _:_)) :: Int- , id (head (_:id _:xs)) :: Int- , id (head (_:head _:_)) :: Int- , id (head (id _:_:_)) :: Int- , id (head (id _:_:xs)) :: Int- , id (head (head _:_:_)) :: Int- , id (head (head (_:_):_)) :: Int- , head (_:_:0:_) :: Int- , head (_:0:_:_) :: Int- , head (_:id (id _):_) :: Int- , head (0:_:_:_) :: Int- , head (id _:id _:_) :: Int- , head (id (id _):_:_) :: Int- , _:_:id 0:_ :: [Int]- , _:0:id _:_ :: [Int]- , _:id _:0:_ :: [Int]- , _:id 0:_:_ :: [Int]- , 0:_:id _:_ :: [Int]- , 0:id _:_:_ :: [Int]- , id _:_:0:_ :: [Int]- , id _:0:_:_ :: [Int]- , id 0:_:_:_ :: [Int]- , id (id (head (_:(_ ++ _)))) :: Int- , id (id (head (_ + _:_))) :: Int- , id (id (head (_ ++ (_:_)))) :: Int- , id (id (head ((_:_) ++ _))) :: Int- , id (id (_ + head (_:_))) :: Int- , id (id (head (_:_) + _)) :: Int- , id (abs (head (_:_:_))) :: Int- , id (negate (head (_:_:_))) :: Int- , id (head (tail (_:_:_))) :: Int- , id (head (_:tail (_:_))) :: Int- , id (head (_:_:tail _)) :: Int- , id (head (_:abs _:_)) :: Int- , id (head (_:negate _:_)) :: Int- , id (head (id _:(_ ++ _))) :: Int- , id (head (id (_ + _):_)) :: Int- , id (head (abs _:_:_)) :: Int- , id (head (negate _:_:_)) :: Int- , id (head (_ + id _:_)) :: Int- , id (head (id _ + _:_)) :: Int- , id (head (_ ++ (id _:_))) :: Int- , id (head ((id _:_) ++ _)) :: Int- , id (_ + id (head (_:_))) :: Int- , id (_ + head (id _:_)) :: Int- , id (id _ + head (_:_)) :: Int- , id (id (head (_:_)) + _) :: Int- , id (head (_:_) + id _) :: Int- , id (head (id _:_) + _) :: Int- , id (id (id (id (head (_:_))))) :: Int- , id (id (id (head (id _:_)))) :: Int- , id (id (head (id (id _):_))) :: Int- , id (head (id (id (id _)):_)) :: Int- , id (id (head (_:0:_))) :: Int- , id (id (head (0:_:_))) :: Int- , id (head (_:id 0:_)) :: Int- , id (head (0:id _:_)) :: Int- , id (head (id _:0:_)) :: Int- , id (head (id 0:_:_)) :: Int- , id (_ + (_ + (_ + _))) :: Int- , id (_ + ((_ + _) + _)) :: Int- , id ((_ + _) + (_ + _)) :: Int- , id ((_ + (_ + _)) + _) :: Int- , id (((_ + _) + _) + _) :: Int- , id (id (id (_ + (_ + _)))) :: Int- , id (id (id ((_ + _) + _))) :: Int- , id (id (_ + id (_ + _))) :: Int- , id (id (_ + (_ + id _))) :: Int- , id (id (_ + (id _ + _))) :: Int- , id (id (id _ + (_ + _))) :: Int- , id (id (id (_ + _) + _)) :: Int- , id (id ((_ + _) + id _)) :: Int- , id (id ((_ + id _) + _)) :: Int- , id (id ((id _ + _) + _)) :: Int- , id (_ + id (id (_ + _))) :: Int- , id (_ + id (_ + id _)) :: Int- , id (_ + id (id _ + _)) :: Int- , id (_ + (_ + id (id _))) :: Int- , id (_ + (id _ + id _)) :: Int- , id (_ + (id (id _) + _)) :: Int- , id (id _ + id (_ + _)) :: Int- , id (id _ + (_ + id _)) :: Int- , id (id _ + (id _ + _)) :: Int- , id (id (id _) + (_ + _)) :: Int- , id (id (id (_ + _)) + _) :: Int- , id (id (_ + _) + id _) :: Int- , id (id (_ + id _) + _) :: Int- , id (id (id _ + _) + _) :: Int- , id ((_ + _) + id (id _)) :: Int- , id ((_ + id _) + id _) :: Int- , id ((_ + id (id _)) + _) :: Int- , id ((id _ + _) + id _) :: Int- , id ((id _ + id _) + _) :: Int- , id ((id (id _) + _) + _) :: Int- , head [_,_,_] :: Int- , [_,_,id _] :: [Int]- , [_,id _,_] :: [Int]- , [id _,_,_] :: [Int]- , id (id (id (id (id (_ + _))))) :: Int- , id (id (id (id (_ + id _)))) :: Int- , id (id (id (id (id _ + _)))) :: Int- , id (id (id (_ + id (id _)))) :: Int- , id (id (id (id _ + id _))) :: Int- , id (id (id (id (id _) + _))) :: Int- , id (id (_ + id (id (id _)))) :: Int- , id (id (id _ + id (id _))) :: Int- , id (id (id (id _) + id _)) :: Int- , id (id (id (id (id _)) + _)) :: Int- , id (_ + id (id (id (id _)))) :: Int- , id (id _ + id (id (id _))) :: Int- , id (id (id _) + id (id _)) :: Int- , id (id (id (id _)) + id _) :: Int- , id (id (id (id (id _))) + _) :: Int- , id (id (head [_,_])) :: Int- , id (head [_,id _]) :: Int- , id (head [id _,_]) :: Int- , id (id (id (id (id (id (id _)))))) :: Int- , _:_:_:x:_ :: [Int]- , _:_:x:_:_ :: [Int]- , _:x:_:_:_ :: [Int]- , x:_:_:_:_ :: [Int]- , id (head (_:_:x:_)) :: Int- , id (head (_:x:_:_)) :: Int- , id (head (x:_:_:_)) :: Int- , _:_:_:_:_ :: [Int]- , _:_:_:_:xs :: [Int]- , _:_:_:(_ ++ _) :: [Int]- , _:_:_ + _:_ :: [Int]- , _:_:(_ ++ (_:_)) :: [Int]- , _:_:((_:_) ++ _) :: [Int]- , _:_ + _:_:_ :: [Int]- , _:(_ ++ (_:_:_)) :: [Int]- , _:((_:_) ++ (_:_)) :: [Int]- , _:((_:_:_) ++ _) :: [Int]- , _ + _:_:_:_ :: [Int]- , _ ++ (_:_:_:_) :: [Int]- , (_:_) ++ (_:_:_) :: [Int]- , (_:_:_) ++ (_:_) :: [Int]- , (_:_:_:_) ++ _ :: [Int]- , _:_:_:0:_ :: [Int]- , _:_:0:_:_ :: [Int]- , _:_:id (id _):_ :: [Int]- , _:0:_:_:_ :: [Int]- , _:id _:id _:_ :: [Int]- , _:id (id _):_:_ :: [Int]- , 0:_:_:_:_ :: [Int]- , id _:_:id _:_ :: [Int]- , id _:id _:_:_ :: [Int]- , id (id _):_:_:_ :: [Int]- , id (head (_:_:_:_)) :: Int- , id (head (_:_:_:xs)) :: Int- , head (_:_:id _:_) :: Int- , head (_:id _:_:_) :: Int- , head (id _:_:_:_) :: Int- , id (head (_:_:(_ ++ _))) :: Int- , id (head (_:_ + _:_)) :: Int- , id (head (_:(_ ++ (_:_)))) :: Int- , id (head (_:((_:_) ++ _))) :: Int- , id (head (_ + _:_:_)) :: Int- , id (head (_ ++ (_:_:_))) :: Int- , id (head ((_:_) ++ (_:_))) :: Int- , id (head ((_:_:_) ++ _)) :: Int- , id (_ + head (_:_:_)) :: Int- , id (head (_:_:_) + _) :: Int- , id (id (id (head (_:_:_)))) :: Int- , id (id (head (_:id _:_))) :: Int- , id (id (head (id _:_:_))) :: Int- , id (head (_:id (id _):_)) :: Int- , id (head (id _:id _:_)) :: Int- , id (head (id (id _):_:_)) :: Int- , id (head (_:_:0:_)) :: Int- , id (head (_:0:_:_)) :: Int- , id (head (0:_:_:_)) :: Int- , [_,_,_,_] :: [Int]- , id (head [_,_,_]) :: Int- , head (_:_:_:_:_) :: Int- , _:_:_:id _:_ :: [Int]- , _:_:id _:_:_ :: [Int]- , _:id _:_:_:_ :: [Int]- , id _:_:_:_:_ :: [Int]- , id (id (head (_:_:_:_))) :: Int- , id (head (_:_:id _:_)) :: Int- , id (head (_:id _:_:_)) :: Int- , id (head (id _:_:_:_)) :: Int- , _:_:_:_:_:_ :: [Int]- , id (head (_:_:_:_:_)) :: Int- ]--sortBy compareLexicographically $ take 5040 $ list :: [ Expr ] =- [ _ :: Bool- , p :: Bool- , q :: Bool- , r :: Bool- , p' :: Bool- , q' :: Bool- , _ :: Char- , c :: Char- , d :: Char- , e :: Char- , c' :: Char- , d' :: Char- , _ :: Int- , x :: Int- , y :: Int- , z :: Int- , x' :: Int- , y' :: Int- , z' :: Int- , x'' :: Int- , _ :: [Int]- , xs :: [Int]- , ys :: [Int]- , zs :: [Int]- , xs' :: [Int]- , ys' :: [Int]- , f :: Int -> Int- , g :: Int -> Int- , h :: Int -> Int- , False :: Bool- , True :: Bool- , ' ' :: Char- , 'A' :: Char- , 'a' :: Char- , 'b' :: Char- , 'c' :: Char- , 0 :: Int- , 1 :: Int- , 2 :: Int- , 3 :: Int- , -1 :: Int- , -2 :: Int- , -3 :: Int- , [] :: [Int]- , [0] :: [Int]- , [1] :: [Int]- , [2] :: [Int]- , [-1] :: [Int]- , [0,0] :: [Int]- , [0,1] :: [Int]- , [1,0] :: [Int]- , [1,1] :: [Int]- , [-1,0] :: [Int]- , [0,-1] :: [Int]- , [0,0,0] :: [Int]- , [0,0,1] :: [Int]- , [0,1,0] :: [Int]- , [1,0,0] :: [Int]- , [0,0,0,0] :: [Int]- , not :: Bool -> Bool- , id :: Int -> Int- , abs :: Int -> Int- , negate :: Int -> Int- , (&&) :: Bool -> Bool -> Bool- , (||) :: Bool -> Bool -> Bool- , (==>) :: Bool -> Bool -> Bool- , (*) :: Int -> Int -> Int- , (+) :: Int -> Int -> Int- , f _ :: Int- , f x :: Int- , f y :: Int- , f z :: Int- , f 0 :: Int- , f 1 :: Int- , f (-1) :: Int- , f (f _) :: Int- , f (ord _) :: Int- , f (ord c) :: Int- , f (ord 'a') :: Int- , f (id _) :: Int- , f (id x) :: Int- , f (id y) :: Int- , f (id 0) :: Int- , f (id 1) :: Int- , f (id (ord _)) :: Int- , f (id (id _)) :: Int- , f (id (id x)) :: Int- , f (id (id 0)) :: Int- , f (id (id (id _))) :: Int- , f (id (abs _)) :: Int- , f (id (negate _)) :: Int- , f (id (head _)) :: Int- , f (id (_ + _)) :: Int- , f (abs _) :: Int- , f (abs x) :: Int- , f (abs 0) :: Int- , f (abs (id _)) :: Int- , f (negate _) :: Int- , f (negate x) :: Int- , f (negate 0) :: Int- , f (negate (id _)) :: Int- , f (head _) :: Int- , f (head xs) :: Int- , f (head []) :: Int- , f (head (_:_)) :: Int- , f (_ * _) :: Int- , f (_ + _) :: Int- , f (_ + x) :: Int- , f (_ + 0) :: Int- , f (_ + id _) :: Int- , f (x + _) :: Int- , f (0 + _) :: Int- , f (id _ + _) :: Int- , g _ :: Int- , g x :: Int- , g y :: Int- , g 0 :: Int- , g 1 :: Int- , g (ord _) :: Int- , g (id _) :: Int- , g (id x) :: Int- , g (id 0) :: Int- , g (id (id _)) :: Int- , g (abs _) :: Int- , g (negate _) :: Int- , g (head _) :: Int- , g (_ + _) :: Int- , h _ :: Int- , h x :: Int- , h 0 :: Int- , h (id _) :: Int- , f' _ :: Int- , not _ :: Bool- , not p :: Bool- , not q :: Bool- , not r :: Bool- , not p' :: Bool- , not False :: Bool- , not True :: Bool- , not (not _) :: Bool- , not (not p) :: Bool- , not (not q) :: Bool- , not (not r) :: Bool- , not (not False) :: Bool- , not (not True) :: Bool- , not (not (not _)) :: Bool- , not (not (not p)) :: Bool- , not (not (not q)) :: Bool- , not (not (not False)) :: Bool- , not (not (not True)) :: Bool- , not (not (not (not _))) :: Bool- , not (not (not (not p))) :: Bool- , not (not (not (not False))) :: Bool- , not (not (not (not True))) :: Bool- , not (not (not (not (not _)))) :: Bool- , not (not (not (_ || _))) :: Bool- , not (not (odd _)) :: Bool- , not (not (even _)) :: Bool- , not (not (_ && _)) :: Bool- , not (not (_ == _)) :: Bool- , not (not (_ || _)) :: Bool- , not (not (_ || p)) :: Bool- , not (not (_ || False)) :: Bool- , not (not (_ || True)) :: Bool- , not (not (_ || not _)) :: Bool- , not (not (p || _)) :: Bool- , not (not (False || _)) :: Bool- , not (not (True || _)) :: Bool- , not (not (not _ || _)) :: Bool- , not (not (_ == _)) :: Bool- , not (not (elem _ _)) :: Bool- , not (odd _) :: Bool- , not (odd x) :: Bool- , not (odd 0) :: Bool- , not (odd (id _)) :: Bool- , not (even _) :: Bool- , not (even x) :: Bool- , not (even 0) :: Bool- , not (even (id _)) :: Bool- , not (_ && _) :: Bool- , not (_ && p) :: Bool- , not (_ && False) :: Bool- , not (_ && True) :: Bool- , not (_ && not _) :: Bool- , not (p && _) :: Bool- , not (False && _) :: Bool- , not (True && _) :: Bool- , not (not _ && _) :: Bool- , not (_ <= _) :: Bool- , not (_ == _) :: Bool- , not (_ == p) :: Bool- , not (_ == False) :: Bool- , not (_ == True) :: Bool- , not (_ == not _) :: Bool- , not (p == _) :: Bool- , not (False == _) :: Bool- , not (True == _) :: Bool- , not (not _ == _) :: Bool- , not (_ || _) :: Bool- , not (_ || p) :: Bool- , not (_ || q) :: Bool- , not (_ || False) :: Bool- , not (_ || True) :: Bool- , not (_ || not _) :: Bool- , not (_ || not p) :: Bool- , not (_ || not False) :: Bool- , not (_ || not True) :: Bool- , not (_ || not (not _)) :: Bool- , not (_ || (_ || _)) :: Bool- , not (p || _) :: Bool- , not (p || p) :: Bool- , not (p || False) :: Bool- , not (p || True) :: Bool- , not (p || not _) :: Bool- , not (q || _) :: Bool- , not (False || _) :: Bool- , not (False || p) :: Bool- , not (False || False) :: Bool- , not (False || True) :: Bool- , not (False || not _) :: Bool- , not (True || _) :: Bool- , not (True || p) :: Bool- , not (True || False) :: Bool- , not (True || True) :: Bool- , not (True || not _) :: Bool- , not (not _ || _) :: Bool- , not (not _ || p) :: Bool- , not (not _ || False) :: Bool- , not (not _ || True) :: Bool- , not (not _ || not _) :: Bool- , not (not p || _) :: Bool- , not (not False || _) :: Bool- , not (not True || _) :: Bool- , not (not (not _) || _) :: Bool- , not ((_ || _) || _) :: Bool- , not (_ ==> _) :: Bool- , not (_ <= _) :: Bool- , not (_ == _) :: Bool- , not (_ == x) :: Bool- , not (_ == 0) :: Bool- , not (_ == id _) :: Bool- , not (x == _) :: Bool- , not (0 == _) :: Bool- , not (id _ == _) :: Bool- , not (elem _ _) :: Bool- , not (elem _ xs) :: Bool- , not (elem _ []) :: Bool- , not (elem _ (_:_)) :: Bool- , not (elem x _) :: Bool- , not (elem 0 _) :: Bool- , not (elem (id _) _) :: Bool- , ord _ :: Int- , ord c :: Int- , ord d :: Int- , ord e :: Int- , ord c' :: Int- , ord ' ' :: Int- , ord 'A' :: Int- , ord 'a' :: Int- , ord 'b' :: Int- , odd _ :: Bool- , odd x :: Bool- , odd y :: Bool- , odd 0 :: Bool- , odd 1 :: Bool- , odd (ord _) :: Bool- , odd (id _) :: Bool- , odd (id x) :: Bool- , odd (id 0) :: Bool- , odd (id (id _)) :: Bool- , odd (abs _) :: Bool- , odd (negate _) :: Bool- , odd (head _) :: Bool- , odd (_ + _) :: Bool- , even _ :: Bool- , even x :: Bool- , even y :: Bool- , even 0 :: Bool- , even 1 :: Bool- , even (ord _) :: Bool- , even (id _) :: Bool- , even (id x) :: Bool- , even (id 0) :: Bool- , even (id (id _)) :: Bool- , even (abs _) :: Bool- , even (negate _) :: Bool- , even (head _) :: Bool- , even (_ + _) :: Bool- , id _ :: Int- , id x :: Int- , id y :: Int- , id z :: Int- , id x' :: Int- , id y' :: Int- , id z' :: Int- , id 0 :: Int- , id 1 :: Int- , id 2 :: Int- , id 3 :: Int- , id (-1) :: Int- , id (-2) :: Int- , id (f _) :: Int- , id (f x) :: Int- , id (f y) :: Int- , id (f z) :: Int- , id (f 0) :: Int- , id (f 1) :: Int- , id (f (-1)) :: Int- , id (f (f _)) :: Int- , id (f (ord _)) :: Int- , id (f (ord c)) :: Int- , id (f (ord 'a')) :: Int- , id (f (id _)) :: Int- , id (f (id x)) :: Int- , id (f (id y)) :: Int- , id (f (id 0)) :: Int- , id (f (id 1)) :: Int- , id (f (id (ord _))) :: Int- , id (f (id (id _))) :: Int- , id (f (id (id x))) :: Int- , id (f (id (id 0))) :: Int- , id (f (id (id (id _)))) :: Int- , id (f (id (abs _))) :: Int- , id (f (id (negate _))) :: Int- , id (f (id (head _))) :: Int- , id (f (id (_ + _))) :: Int- , id (f (abs _)) :: Int- , id (f (abs x)) :: Int- , id (f (abs 0)) :: Int- , id (f (abs (id _))) :: Int- , id (f (negate _)) :: Int- , id (f (negate x)) :: Int- , id (f (negate 0)) :: Int- , id (f (negate (id _))) :: Int- , id (f (head _)) :: Int- , id (f (head xs)) :: Int- , id (f (head [])) :: Int- , id (f (head (_:_))) :: Int- , id (f (_ * _)) :: Int- , id (f (_ + _)) :: Int- , id (f (_ + x)) :: Int- , id (f (_ + 0)) :: Int- , id (f (_ + id _)) :: Int- , id (f (x + _)) :: Int- , id (f (0 + _)) :: Int- , id (f (id _ + _)) :: Int- , id (g _) :: Int- , id (g x) :: Int- , id (g y) :: Int- , id (g 0) :: Int- , id (g 1) :: Int- , id (g (ord _)) :: Int- , id (g (id _)) :: Int- , id (g (id x)) :: Int- , id (g (id 0)) :: Int- , id (g (id (id _))) :: Int- , id (g (abs _)) :: Int- , id (g (negate _)) :: Int- , id (g (head _)) :: Int- , id (g (_ + _)) :: Int- , id (h _) :: Int- , id (h x) :: Int- , id (h 0) :: Int- , id (h (id _)) :: Int- , id (f' _) :: Int- , id (ord _) :: Int- , id (ord c) :: Int- , id (ord d) :: Int- , id (ord e) :: Int- , id (ord ' ') :: Int- , id (ord 'a') :: Int- , id (ord 'b') :: Int- , id (id _) :: Int- , id (id x) :: Int- , id (id y) :: Int- , id (id z) :: Int- , id (id x') :: Int- , id (id y') :: Int- , id (id 0) :: Int- , id (id 1) :: Int- , id (id 2) :: Int- , id (id (-1)) :: Int- , id (id (-2)) :: Int- , id (id (f _)) :: Int- , id (id (f x)) :: Int- , id (id (f y)) :: Int- , id (id (f 0)) :: Int- , id (id (f 1)) :: Int- , id (id (f (ord _))) :: Int- , id (id (f (id _))) :: Int- , id (id (f (id x))) :: Int- , id (id (f (id 0))) :: Int- , id (id (f (id (id _)))) :: Int- , id (id (f (abs _))) :: Int- , id (id (f (negate _))) :: Int- , id (id (f (head _))) :: Int- , id (id (f (_ + _))) :: Int- , id (id (g _)) :: Int- , id (id (g x)) :: Int- , id (id (g 0)) :: Int- , id (id (g (id _))) :: Int- , id (id (h _)) :: Int- , id (id (ord _)) :: Int- , id (id (ord c)) :: Int- , id (id (ord d)) :: Int- , id (id (ord e)) :: Int- , id (id (ord ' ')) :: Int- , id (id (ord 'a')) :: Int- , id (id (ord 'b')) :: Int- , id (id (id _)) :: Int- , id (id (id x)) :: Int- , id (id (id y)) :: Int- , id (id (id z)) :: Int- , id (id (id x')) :: Int- , id (id (id 0)) :: Int- , id (id (id 1)) :: Int- , id (id (id 2)) :: Int- , id (id (id (-1))) :: Int- , id (id (id (f _))) :: Int- , id (id (id (f x))) :: Int- , id (id (id (f 0))) :: Int- , id (id (id (f (id _)))) :: Int- , id (id (id (g _))) :: Int- , id (id (id (ord _))) :: Int- , id (id (id (ord c))) :: Int- , id (id (id (ord d))) :: Int- , id (id (id (ord ' '))) :: Int- , id (id (id (ord 'a'))) :: Int- , id (id (id (id _))) :: Int- , id (id (id (id x))) :: Int- , id (id (id (id y))) :: Int- , id (id (id (id z))) :: Int- , id (id (id (id 0))) :: Int- , id (id (id (id 1))) :: Int- , id (id (id (id (-1)))) :: Int- , id (id (id (id (f _)))) :: Int- , id (id (id (id (ord _)))) :: Int- , id (id (id (id (ord c)))) :: Int- , id (id (id (id (ord 'a')))) :: Int- , id (id (id (id (id _)))) :: Int- , id (id (id (id (id x)))) :: Int- , id (id (id (id (id y)))) :: Int- , id (id (id (id (id 0)))) :: Int- , id (id (id (id (id 1)))) :: Int- , id (id (id (id (id (ord _))))) :: Int- , id (id (id (id (id (id _))))) :: Int- , id (id (id (id (id (id x))))) :: Int- , id (id (id (id (id (id 0))))) :: Int- , id (id (id (id (id (id (id _)))))) :: Int- , id (id (id (id (id (abs _))))) :: Int- , id (id (id (id (id (negate _))))) :: Int- , id (id (id (id (id (head _))))) :: Int- , id (id (id (id (id (_ + _))))) :: Int- , id (id (id (id (abs _)))) :: Int- , id (id (id (id (abs x)))) :: Int- , id (id (id (id (abs 0)))) :: Int- , id (id (id (id (abs (id _))))) :: Int- , id (id (id (id (negate _)))) :: Int- , id (id (id (id (negate x)))) :: Int- , id (id (id (id (negate 0)))) :: Int- , id (id (id (id (negate (id _))))) :: Int- , id (id (id (id (head _)))) :: Int- , id (id (id (id (head xs)))) :: Int- , id (id (id (id (head [])))) :: Int- , id (id (id (id (head (_:_))))) :: Int- , id (id (id (id (_ * _)))) :: Int- , id (id (id (id (_ + _)))) :: Int- , id (id (id (id (_ + x)))) :: Int- , id (id (id (id (_ + 0)))) :: Int- , id (id (id (id (_ + id _)))) :: Int- , id (id (id (id (x + _)))) :: Int- , id (id (id (id (0 + _)))) :: Int- , id (id (id (id (id _ + _)))) :: Int- , id (id (id (abs _))) :: Int- , id (id (id (abs x))) :: Int- , id (id (id (abs y))) :: Int- , id (id (id (abs 0))) :: Int- , id (id (id (abs 1))) :: Int- , id (id (id (abs (ord _)))) :: Int- , id (id (id (abs (id _)))) :: Int- , id (id (id (abs (id x)))) :: Int- , id (id (id (abs (id 0)))) :: Int- , id (id (id (abs (id (id _))))) :: Int- , id (id (id (abs (abs _)))) :: Int- , id (id (id (abs (negate _)))) :: Int- , id (id (id (abs (head _)))) :: Int- , id (id (id (abs (_ + _)))) :: Int- , id (id (id (negate _))) :: Int- , id (id (id (negate x))) :: Int- , id (id (id (negate y))) :: Int- , id (id (id (negate 0))) :: Int- , id (id (id (negate 1))) :: Int- , id (id (id (negate (ord _)))) :: Int- , id (id (id (negate (id _)))) :: Int- , id (id (id (negate (id x)))) :: Int- , id (id (id (negate (id 0)))) :: Int- , id (id (id (negate (id (id _))))) :: Int- , id (id (id (negate (abs _)))) :: Int- , id (id (id (negate (negate _)))) :: Int- , id (id (id (negate (head _)))) :: Int- , id (id (id (negate (_ + _)))) :: Int- , id (id (id (head _))) :: Int- , id (id (id (head xs))) :: Int- , id (id (id (head ys))) :: Int- , id (id (id (head []))) :: Int- , id (id (id (head [0]))) :: Int- , id (id (id (head (tail _)))) :: Int- , id (id (id (head (_:_)))) :: Int- , id (id (id (head (_:xs)))) :: Int- , id (id (id (head [_]))) :: Int- , id (id (id (head (_:_:_)))) :: Int- , id (id (id (head (x:_)))) :: Int- , id (id (id (head (0:_)))) :: Int- , id (id (id (head (id _:_)))) :: Int- , id (id (id (head (_ ++ _)))) :: Int- , id (id (id (_ * _))) :: Int- , id (id (id (_ * x))) :: Int- , id (id (id (_ * 0))) :: Int- , id (id (id (_ * id _))) :: Int- , id (id (id (x * _))) :: Int- , id (id (id (0 * _))) :: Int- , id (id (id (id _ * _))) :: Int- , id (id (id (_ + _))) :: Int- , id (id (id (_ + x))) :: Int- , id (id (id (_ + y))) :: Int- , id (id (id (_ + 0))) :: Int- , id (id (id (_ + 1))) :: Int- , id (id (id (_ + ord _))) :: Int- , id (id (id (_ + id _))) :: Int- , id (id (id (_ + id x))) :: Int- , id (id (id (_ + id 0))) :: Int- , id (id (id (_ + id (id _)))) :: Int- , id (id (id (_ + abs _))) :: Int- , id (id (id (_ + negate _))) :: Int- , id (id (id (_ + head _))) :: Int- , id (id (id (_ + (_ + _)))) :: Int- , id (id (id (x + _))) :: Int- , id (id (id (x + x))) :: Int- , id (id (id (x + 0))) :: Int- , id (id (id (x + id _))) :: Int- , id (id (id (y + _))) :: Int- , id (id (id (0 + _))) :: Int- , id (id (id (0 + x))) :: Int- , id (id (id (0 + 0))) :: Int- , id (id (id (0 + id _))) :: Int- , id (id (id (1 + _))) :: Int- , id (id (id (ord _ + _))) :: Int- , id (id (id (id _ + _))) :: Int- , id (id (id (id _ + x))) :: Int- , id (id (id (id _ + 0))) :: Int- , id (id (id (id _ + id _))) :: Int- , id (id (id (id x + _))) :: Int- , id (id (id (id 0 + _))) :: Int- , id (id (id (id (id _) + _))) :: Int- , id (id (id (abs _ + _))) :: Int- , id (id (id (negate _ + _))) :: Int- , id (id (id (head _ + _))) :: Int- , id (id (id ((_ + _) + _))) :: Int- , id (id (abs _)) :: Int- , id (id (abs x)) :: Int- , id (id (abs y)) :: Int- , id (id (abs z)) :: Int- , id (id (abs 0)) :: Int- , id (id (abs 1)) :: Int- , id (id (abs (-1))) :: Int- , id (id (abs (f _))) :: Int- , id (id (abs (ord _))) :: Int- , id (id (abs (ord c))) :: Int- , id (id (abs (ord 'a'))) :: Int- , id (id (abs (id _))) :: Int- , id (id (abs (id x))) :: Int- , id (id (abs (id y))) :: Int- , id (id (abs (id 0))) :: Int- , id (id (abs (id 1))) :: Int- , id (id (abs (id (ord _)))) :: Int- , id (id (abs (id (id _)))) :: Int- , id (id (abs (id (id x)))) :: Int- , id (id (abs (id (id 0)))) :: Int- , id (id (abs (id (id (id _))))) :: Int- , id (id (abs (id (abs _)))) :: Int- , id (id (abs (id (negate _)))) :: Int- , id (id (abs (id (head _)))) :: Int- , id (id (abs (id (_ + _)))) :: Int- , id (id (abs (abs _))) :: Int- , id (id (abs (abs x))) :: Int- , id (id (abs (abs 0))) :: Int- , id (id (abs (abs (id _)))) :: Int- , id (id (abs (negate _))) :: Int- , id (id (abs (negate x))) :: Int- , id (id (abs (negate 0))) :: Int- , id (id (abs (negate (id _)))) :: Int- , id (id (abs (head _))) :: Int- , id (id (abs (head xs))) :: Int- , id (id (abs (head []))) :: Int- , id (id (abs (head (_:_)))) :: Int- , id (id (abs (_ * _))) :: Int- , id (id (abs (_ + _))) :: Int- , id (id (abs (_ + x))) :: Int- , id (id (abs (_ + 0))) :: Int- , id (id (abs (_ + id _))) :: Int- , id (id (abs (x + _))) :: Int- , id (id (abs (0 + _))) :: Int- , id (id (abs (id _ + _))) :: Int- , id (id (negate _)) :: Int- , id (id (negate x)) :: Int- , id (id (negate y)) :: Int- , id (id (negate z)) :: Int- , id (id (negate 0)) :: Int- , id (id (negate 1)) :: Int- , id (id (negate (-1))) :: Int- , id (id (negate (f _))) :: Int- , id (id (negate (ord _))) :: Int- , id (id (negate (ord c))) :: Int- , id (id (negate (ord 'a'))) :: Int- , id (id (negate (id _))) :: Int- , id (id (negate (id x))) :: Int- , id (id (negate (id y))) :: Int- , id (id (negate (id 0))) :: Int- , id (id (negate (id 1))) :: Int- , id (id (negate (id (ord _)))) :: Int- , id (id (negate (id (id _)))) :: Int- , id (id (negate (id (id x)))) :: Int- , id (id (negate (id (id 0)))) :: Int- , id (id (negate (id (id (id _))))) :: Int- , id (id (negate (id (abs _)))) :: Int- , id (id (negate (id (negate _)))) :: Int- , id (id (negate (id (head _)))) :: Int- , id (id (negate (id (_ + _)))) :: Int- , id (id (negate (abs _))) :: Int- , id (id (negate (abs x))) :: Int- , id (id (negate (abs 0))) :: Int- , id (id (negate (abs (id _)))) :: Int- , id (id (negate (negate _))) :: Int- , id (id (negate (negate x))) :: Int- , id (id (negate (negate 0))) :: Int- , id (id (negate (negate (id _)))) :: Int- , id (id (negate (head _))) :: Int- , id (id (negate (head xs))) :: Int- , id (id (negate (head []))) :: Int- , id (id (negate (head (_:_)))) :: Int- , id (id (negate (_ * _))) :: Int- , id (id (negate (_ + _))) :: Int- , id (id (negate (_ + x))) :: Int- , id (id (negate (_ + 0))) :: Int- , id (id (negate (_ + id _))) :: Int- , id (id (negate (x + _))) :: Int- , id (id (negate (0 + _))) :: Int- , id (id (negate (id _ + _))) :: Int- , id (id (head _)) :: Int- , id (id (head xs)) :: Int- , id (id (head ys)) :: Int- , id (id (head zs)) :: Int- , id (id (head [])) :: Int- , id (id (head [0])) :: Int- , id (id (head [1])) :: Int- , id (id (head [0,0])) :: Int- , id (id (head (sort _))) :: Int- , id (id (head (tail _))) :: Int- , id (id (head (tail xs))) :: Int- , id (id (head (tail []))) :: Int- , id (id (head (tail (_:_)))) :: Int- , id (id (head (_:_))) :: Int- , id (id (head (_:xs))) :: Int- , id (id (head (_:ys))) :: Int- , id (id (head [_])) :: Int- , id (id (head [_,0])) :: Int- , id (id (head (_:tail _))) :: Int- , id (id (head (_:_:_))) :: Int- , id (id (head (_:_:xs))) :: Int- , id (id (head [_,_])) :: Int- , id (id (head (_:_:_:_))) :: Int- , id (id (head (_:x:_))) :: Int- , id (id (head (_:0:_))) :: Int- , id (id (head (_:id _:_))) :: Int- , id (id (head (_:(_ ++ _)))) :: Int- , id (id (head (x:_))) :: Int- , id (id (head (x:xs))) :: Int- , id (id (head [x])) :: Int- , id (id (head (x:_:_))) :: Int- , id (id (head (y:_))) :: Int- , id (id (head (0:_))) :: Int- , id (id (head (0:xs))) :: Int- , id (id (head [0])) :: Int- , id (id (head (0:_:_))) :: Int- , id (id (head (1:_))) :: Int- , id (id (head (ord _:_))) :: Int- , id (id (head (id _:_))) :: Int- , id (id (head (id _:xs))) :: Int- , id (id (head [id _])) :: Int- , id (id (head (id _:_:_))) :: Int- , id (id (head (id x:_))) :: Int- , id (id (head (id 0:_))) :: Int- , id (id (head (id (id _):_))) :: Int- , id (id (head (abs _:_))) :: Int- , id (id (head (negate _:_))) :: Int- , id (id (head (head _:_))) :: Int- , id (id (head (_ + _:_))) :: Int- , id (id (head (insert _ _))) :: Int- , id (id (head (_ ++ _))) :: Int- , id (id (head (_ ++ xs))) :: Int- , id (id (head (_ ++ []))) :: Int- , id (id (head (_ ++ (_:_)))) :: Int- , id (id (head (xs ++ _))) :: Int- , id (id (head ([] ++ _))) :: Int- , id (id (head ((_:_) ++ _))) :: Int- , id (id (_ * _)) :: Int- , id (id (_ * x)) :: Int- , id (id (_ * y)) :: Int- , id (id (_ * 0)) :: Int- , id (id (_ * 1)) :: Int- , id (id (_ * ord _)) :: Int- , id (id (_ * id _)) :: Int- , id (id (_ * id x)) :: Int- , id (id (_ * id 0)) :: Int- , id (id (_ * id (id _))) :: Int- , id (id (_ * abs _)) :: Int- , id (id (_ * negate _)) :: Int- , id (id (_ * head _)) :: Int- , id (id (_ * (_ + _))) :: Int- , id (id (x * _)) :: Int- , id (id (x * x)) :: Int- , id (id (x * 0)) :: Int- , id (id (x * id _)) :: Int- , id (id (y * _)) :: Int- , id (id (0 * _)) :: Int- , id (id (0 * x)) :: Int- , id (id (0 * 0)) :: Int- , id (id (0 * id _)) :: Int- , id (id (1 * _)) :: Int- , id (id (ord _ * _)) :: Int- , id (id (id _ * _)) :: Int- , id (id (id _ * x)) :: Int- , id (id (id _ * 0)) :: Int- , id (id (id _ * id _)) :: Int- , id (id (id x * _)) :: Int- , id (id (id 0 * _)) :: Int- , id (id (id (id _) * _)) :: Int- , id (id (abs _ * _)) :: Int- , id (id (negate _ * _)) :: Int- , id (id (head _ * _)) :: Int- , id (id ((_ + _) * _)) :: Int- , id (id (_ + _)) :: Int- , id (id (_ + x)) :: Int- , id (id (_ + y)) :: Int- , id (id (_ + z)) :: Int- , id (id (_ + 0)) :: Int- , id (id (_ + 1)) :: Int- , id (id (_ + (-1))) :: Int- , id (id (_ + f _)) :: Int- , id (id (_ + ord _)) :: Int- , id (id (_ + ord c)) :: Int- , id (id (_ + ord 'a')) :: Int- , id (id (_ + id _)) :: Int- , id (id (_ + id x)) :: Int- , id (id (_ + id y)) :: Int- , id (id (_ + id 0)) :: Int- , id (id (_ + id 1)) :: Int- , id (id (_ + id (ord _))) :: Int- , id (id (_ + id (id _))) :: Int- , id (id (_ + id (id x))) :: Int- , id (id (_ + id (id 0))) :: Int- , id (id (_ + id (id (id _)))) :: Int- , id (id (_ + id (abs _))) :: Int- , id (id (_ + id (negate _))) :: Int- , id (id (_ + id (head _))) :: Int- , id (id (_ + id (_ + _))) :: Int- , id (id (_ + abs _)) :: Int- , id (id (_ + abs x)) :: Int- , id (id (_ + abs 0)) :: Int- , id (id (_ + abs (id _))) :: Int- , id (id (_ + negate _)) :: Int- , id (id (_ + negate x)) :: Int- , id (id (_ + negate 0)) :: Int- , id (id (_ + negate (id _))) :: Int- , id (id (_ + head _)) :: Int- , id (id (_ + head xs)) :: Int- , id (id (_ + head [])) :: Int- , id (id (_ + head (_:_))) :: Int- , id (id (_ + _ * _)) :: Int- , id (id (_ + (_ + _))) :: Int- , id (id (_ + (_ + x))) :: Int- , id (id (_ + (_ + 0))) :: Int- , id (id (_ + (_ + id _))) :: Int- , id (id (_ + (x + _))) :: Int- , id (id (_ + (0 + _))) :: Int- , id (id (_ + (id _ + _))) :: Int- , id (id (x + _)) :: Int- , id (id (x + x)) :: Int- , id (id (x + y)) :: Int- , id (id (x + 0)) :: Int- , id (id (x + 1)) :: Int- , id (id (x + ord _)) :: Int- , id (id (x + id _)) :: Int- , id (id (x + id x)) :: Int- , id (id (x + id 0)) :: Int- , id (id (x + id (id _))) :: Int- , id (id (x + abs _)) :: Int- , id (id (x + negate _)) :: Int- , id (id (x + head _)) :: Int- , id (id (x + (_ + _))) :: Int- , id (id (y + _)) :: Int- , id (id (y + x)) :: Int- , id (id (y + 0)) :: Int- , id (id (y + id _)) :: Int- , id (id (z + _)) :: Int- , id (id (0 + _)) :: Int- , id (id (0 + x)) :: Int- , id (id (0 + y)) :: Int- , id (id (0 + 0)) :: Int- , id (id (0 + 1)) :: Int- , id (id (0 + ord _)) :: Int- , id (id (0 + id _)) :: Int- , id (id (0 + id x)) :: Int- , id (id (0 + id 0)) :: Int- , id (id (0 + id (id _))) :: Int- , id (id (0 + abs _)) :: Int- , id (id (0 + negate _)) :: Int- , id (id (0 + head _)) :: Int- , id (id (0 + (_ + _))) :: Int- , id (id (1 + _)) :: Int- , id (id (1 + x)) :: Int- , id (id (1 + 0)) :: Int- , id (id (1 + id _)) :: Int- , id (id ((-1) + _)) :: Int- , id (id (f _ + _)) :: Int- , id (id (ord _ + _)) :: Int- , id (id (ord _ + x)) :: Int- , id (id (ord _ + 0)) :: Int- , id (id (ord _ + id _)) :: Int- , id (id (ord c + _)) :: Int- , id (id (ord 'a' + _)) :: Int- , id (id (id _ + _)) :: Int- , id (id (id _ + x)) :: Int- , id (id (id _ + y)) :: Int- , id (id (id _ + 0)) :: Int- , id (id (id _ + 1)) :: Int- , id (id (id _ + ord _)) :: Int- , id (id (id _ + id _)) :: Int- , id (id (id _ + id x)) :: Int- , id (id (id _ + id 0)) :: Int- , id (id (id _ + id (id _))) :: Int- , id (id (id _ + abs _)) :: Int- , id (id (id _ + negate _)) :: Int- , id (id (id _ + head _)) :: Int- , id (id (id _ + (_ + _))) :: Int- , id (id (id x + _)) :: Int- , id (id (id x + x)) :: Int- , id (id (id x + 0)) :: Int- , id (id (id x + id _)) :: Int- , id (id (id y + _)) :: Int- , id (id (id 0 + _)) :: Int- , id (id (id 0 + x)) :: Int- , id (id (id 0 + 0)) :: Int- , id (id (id 0 + id _)) :: Int- , id (id (id 1 + _)) :: Int- , id (id (id (ord _) + _)) :: Int- , id (id (id (id _) + _)) :: Int- , id (id (id (id _) + x)) :: Int- , id (id (id (id _) + 0)) :: Int- , id (id (id (id _) + id _)) :: Int- , id (id (id (id x) + _)) :: Int- , id (id (id (id 0) + _)) :: Int- , id (id (id (id (id _)) + _)) :: Int- , id (id (id (abs _) + _)) :: Int- , id (id (id (negate _) + _)) :: Int- , id (id (id (head _) + _)) :: Int- , id (id (id (_ + _) + _)) :: Int- , id (id (abs _ + _)) :: Int- , id (id (abs _ + x)) :: Int- , id (id (abs _ + 0)) :: Int- , id (id (abs _ + id _)) :: Int- , id (id (abs x + _)) :: Int- , id (id (abs 0 + _)) :: Int- , id (id (abs (id _) + _)) :: Int- , id (id (negate _ + _)) :: Int- , id (id (negate _ + x)) :: Int- , id (id (negate _ + 0)) :: Int- , id (id (negate _ + id _)) :: Int- , id (id (negate x + _)) :: Int- , id (id (negate 0 + _)) :: Int- , id (id (negate (id _) + _)) :: Int- , id (id (head _ + _)) :: Int- , id (id (head _ + x)) :: Int- , id (id (head _ + 0)) :: Int- , id (id (head _ + id _)) :: Int- , id (id (head xs + _)) :: Int- , id (id (head [] + _)) :: Int- , id (id (head (_:_) + _)) :: Int- , id (id (_ * _ + _)) :: Int- , id (id ((_ + _) + _)) :: Int- , id (id ((_ + _) + x)) :: Int- , id (id ((_ + _) + 0)) :: Int- , id (id ((_ + _) + id _)) :: Int- , id (id ((_ + x) + _)) :: Int- , id (id ((_ + 0) + _)) :: Int- , id (id ((_ + id _) + _)) :: Int- , id (id ((x + _) + _)) :: Int- , id (id ((0 + _) + _)) :: Int- , id (id ((id _ + _) + _)) :: Int- , id (abs _) :: Int- , id (abs x) :: Int- , id (abs y) :: Int- , id (abs z) :: Int- , id (abs x') :: Int- , id (abs 0) :: Int- , id (abs 1) :: Int- , id (abs 2) :: Int- , id (abs (-1)) :: Int- , id (abs (f _)) :: Int- , id (abs (f x)) :: Int- , id (abs (f 0)) :: Int- , id (abs (f (id _))) :: Int- , id (abs (g _)) :: Int- , id (abs (ord _)) :: Int- , id (abs (ord c)) :: Int- , id (abs (ord d)) :: Int- , id (abs (ord ' ')) :: Int- , id (abs (ord 'a')) :: Int- , id (abs (id _)) :: Int- , id (abs (id x)) :: Int- , id (abs (id y)) :: Int- , id (abs (id z)) :: Int- , id (abs (id 0)) :: Int- , id (abs (id 1)) :: Int- , id (abs (id (-1))) :: Int- , id (abs (id (f _))) :: Int- , id (abs (id (ord _))) :: Int- , id (abs (id (ord c))) :: Int- , id (abs (id (ord 'a'))) :: Int- , id (abs (id (id _))) :: Int- , id (abs (id (id x))) :: Int- , id (abs (id (id y))) :: Int- , id (abs (id (id 0))) :: Int- , id (abs (id (id 1))) :: Int- , id (abs (id (id (ord _)))) :: Int- , id (abs (id (id (id _)))) :: Int- , id (abs (id (id (id x)))) :: Int- , id (abs (id (id (id 0)))) :: Int- , id (abs (id (id (id (id _))))) :: Int- , id (abs (id (id (abs _)))) :: Int- , id (abs (id (id (negate _)))) :: Int- , id (abs (id (id (head _)))) :: Int- , id (abs (id (id (_ + _)))) :: Int- , id (abs (id (abs _))) :: Int- , id (abs (id (abs x))) :: Int- , id (abs (id (abs 0))) :: Int- , id (abs (id (abs (id _)))) :: Int- , id (abs (id (negate _))) :: Int- , id (abs (id (negate x))) :: Int- , id (abs (id (negate 0))) :: Int- , id (abs (id (negate (id _)))) :: Int- , id (abs (id (head _))) :: Int- , id (abs (id (head xs))) :: Int- , id (abs (id (head []))) :: Int- , id (abs (id (head (_:_)))) :: Int- , id (abs (id (_ * _))) :: Int- , id (abs (id (_ + _))) :: Int- , id (abs (id (_ + x))) :: Int- , id (abs (id (_ + 0))) :: Int- , id (abs (id (_ + id _))) :: Int- , id (abs (id (x + _))) :: Int- , id (abs (id (0 + _))) :: Int- , id (abs (id (id _ + _))) :: Int- , id (abs (abs _)) :: Int- , id (abs (abs x)) :: Int- , id (abs (abs y)) :: Int- , id (abs (abs 0)) :: Int- , id (abs (abs 1)) :: Int- , id (abs (abs (ord _))) :: Int- , id (abs (abs (id _))) :: Int- , id (abs (abs (id x))) :: Int- , id (abs (abs (id 0))) :: Int- , id (abs (abs (id (id _)))) :: Int- , id (abs (abs (abs _))) :: Int- , id (abs (abs (negate _))) :: Int- , id (abs (abs (head _))) :: Int- , id (abs (abs (_ + _))) :: Int- , id (abs (negate _)) :: Int- , id (abs (negate x)) :: Int- , id (abs (negate y)) :: Int- , id (abs (negate 0)) :: Int- , id (abs (negate 1)) :: Int- , id (abs (negate (ord _))) :: Int- , id (abs (negate (id _))) :: Int- , id (abs (negate (id x))) :: Int- , id (abs (negate (id 0))) :: Int- , id (abs (negate (id (id _)))) :: Int- , id (abs (negate (abs _))) :: Int- , id (abs (negate (negate _))) :: Int- , id (abs (negate (head _))) :: Int- , id (abs (negate (_ + _))) :: Int- , id (abs (head _)) :: Int- , id (abs (head xs)) :: Int- , id (abs (head ys)) :: Int- , id (abs (head [])) :: Int- , id (abs (head [0])) :: Int- , id (abs (head (tail _))) :: Int- , id (abs (head (_:_))) :: Int- , id (abs (head (_:xs))) :: Int- , id (abs (head [_])) :: Int- , id (abs (head (_:_:_))) :: Int- , id (abs (head (x:_))) :: Int- , id (abs (head (0:_))) :: Int- , id (abs (head (id _:_))) :: Int- , id (abs (head (_ ++ _))) :: Int- , id (abs (_ * _)) :: Int- , id (abs (_ * x)) :: Int- , id (abs (_ * 0)) :: Int- , id (abs (_ * id _)) :: Int- , id (abs (x * _)) :: Int- , id (abs (0 * _)) :: Int- , id (abs (id _ * _)) :: Int- , id (abs (_ + _)) :: Int- , id (abs (_ + x)) :: Int- , id (abs (_ + y)) :: Int- , id (abs (_ + 0)) :: Int- , id (abs (_ + 1)) :: Int- , id (abs (_ + ord _)) :: Int- , id (abs (_ + id _)) :: Int- , id (abs (_ + id x)) :: Int- , id (abs (_ + id 0)) :: Int- , id (abs (_ + id (id _))) :: Int- , id (abs (_ + abs _)) :: Int- , id (abs (_ + negate _)) :: Int- , id (abs (_ + head _)) :: Int- , id (abs (_ + (_ + _))) :: Int- , id (abs (x + _)) :: Int- , id (abs (x + x)) :: Int- , id (abs (x + 0)) :: Int- , id (abs (x + id _)) :: Int- , id (abs (y + _)) :: Int- , id (abs (0 + _)) :: Int- , id (abs (0 + x)) :: Int- , id (abs (0 + 0)) :: Int- , id (abs (0 + id _)) :: Int- , id (abs (1 + _)) :: Int- , id (abs (ord _ + _)) :: Int- , id (abs (id _ + _)) :: Int- , id (abs (id _ + x)) :: Int- , id (abs (id _ + 0)) :: Int- , id (abs (id _ + id _)) :: Int- , id (abs (id x + _)) :: Int- , id (abs (id 0 + _)) :: Int- , id (abs (id (id _) + _)) :: Int- , id (abs (abs _ + _)) :: Int- , id (abs (negate _ + _)) :: Int- , id (abs (head _ + _)) :: Int- , id (abs ((_ + _) + _)) :: Int- , id (negate _) :: Int- , id (negate x) :: Int- , id (negate y) :: Int- , id (negate z) :: Int- , id (negate x') :: Int- , id (negate 0) :: Int- , id (negate 1) :: Int- , id (negate 2) :: Int- , id (negate (-1)) :: Int- , id (negate (f _)) :: Int- , id (negate (f x)) :: Int- , id (negate (f 0)) :: Int- , id (negate (f (id _))) :: Int- , id (negate (g _)) :: Int- , id (negate (ord _)) :: Int- , id (negate (ord c)) :: Int- , id (negate (ord d)) :: Int- , id (negate (ord ' ')) :: Int- , id (negate (ord 'a')) :: Int- , id (negate (id _)) :: Int- , id (negate (id x)) :: Int- , id (negate (id y)) :: Int- , id (negate (id z)) :: Int- , id (negate (id 0)) :: Int- , id (negate (id 1)) :: Int- , id (negate (id (-1))) :: Int- , id (negate (id (f _))) :: Int- , id (negate (id (ord _))) :: Int- , id (negate (id (ord c))) :: Int- , id (negate (id (ord 'a'))) :: Int- , id (negate (id (id _))) :: Int- , id (negate (id (id x))) :: Int- , id (negate (id (id y))) :: Int- , id (negate (id (id 0))) :: Int- , id (negate (id (id 1))) :: Int- , id (negate (id (id (ord _)))) :: Int- , id (negate (id (id (id _)))) :: Int- , id (negate (id (id (id x)))) :: Int- , id (negate (id (id (id 0)))) :: Int- , id (negate (id (id (id (id _))))) :: Int- , id (negate (id (id (abs _)))) :: Int- , id (negate (id (id (negate _)))) :: Int- , id (negate (id (id (head _)))) :: Int- , id (negate (id (id (_ + _)))) :: Int- , id (negate (id (abs _))) :: Int- , id (negate (id (abs x))) :: Int- , id (negate (id (abs 0))) :: Int- , id (negate (id (abs (id _)))) :: Int- , id (negate (id (negate _))) :: Int- , id (negate (id (negate x))) :: Int- , id (negate (id (negate 0))) :: Int- , id (negate (id (negate (id _)))) :: Int- , id (negate (id (head _))) :: Int- , id (negate (id (head xs))) :: Int- , id (negate (id (head []))) :: Int- , id (negate (id (head (_:_)))) :: Int- , id (negate (id (_ * _))) :: Int- , id (negate (id (_ + _))) :: Int- , id (negate (id (_ + x))) :: Int- , id (negate (id (_ + 0))) :: Int- , id (negate (id (_ + id _))) :: Int- , id (negate (id (x + _))) :: Int- , id (negate (id (0 + _))) :: Int- , id (negate (id (id _ + _))) :: Int- , id (negate (abs _)) :: Int- , id (negate (abs x)) :: Int- , id (negate (abs y)) :: Int- , id (negate (abs 0)) :: Int- , id (negate (abs 1)) :: Int- , id (negate (abs (ord _))) :: Int- , id (negate (abs (id _))) :: Int- , id (negate (abs (id x))) :: Int- , id (negate (abs (id 0))) :: Int- , id (negate (abs (id (id _)))) :: Int- , id (negate (abs (abs _))) :: Int- , id (negate (abs (negate _))) :: Int- , id (negate (abs (head _))) :: Int- , id (negate (abs (_ + _))) :: Int- , id (negate (negate _)) :: Int- , id (negate (negate x)) :: Int- , id (negate (negate y)) :: Int- , id (negate (negate 0)) :: Int- , id (negate (negate 1)) :: Int- , id (negate (negate (ord _))) :: Int- , id (negate (negate (id _))) :: Int- , id (negate (negate (id x))) :: Int- , id (negate (negate (id 0))) :: Int- , id (negate (negate (id (id _)))) :: Int- , id (negate (negate (abs _))) :: Int- , id (negate (negate (negate _))) :: Int- , id (negate (negate (head _))) :: Int- , id (negate (negate (_ + _))) :: Int- , id (negate (head _)) :: Int- , id (negate (head xs)) :: Int- , id (negate (head ys)) :: Int- , id (negate (head [])) :: Int- , id (negate (head [0])) :: Int- , id (negate (head (tail _))) :: Int- , id (negate (head (_:_))) :: Int- , id (negate (head (_:xs))) :: Int- , id (negate (head [_])) :: Int- , id (negate (head (_:_:_))) :: Int- , id (negate (head (x:_))) :: Int- , id (negate (head (0:_))) :: Int- , id (negate (head (id _:_))) :: Int- , id (negate (head (_ ++ _))) :: Int- , id (negate (_ * _)) :: Int- , id (negate (_ * x)) :: Int- , id (negate (_ * 0)) :: Int- , id (negate (_ * id _)) :: Int- , id (negate (x * _)) :: Int- , id (negate (0 * _)) :: Int- , id (negate (id _ * _)) :: Int- , id (negate (_ + _)) :: Int- , id (negate (_ + x)) :: Int- , id (negate (_ + y)) :: Int- , id (negate (_ + 0)) :: Int- , id (negate (_ + 1)) :: Int- , id (negate (_ + ord _)) :: Int- , id (negate (_ + id _)) :: Int- , id (negate (_ + id x)) :: Int- , id (negate (_ + id 0)) :: Int- , id (negate (_ + id (id _))) :: Int- , id (negate (_ + abs _)) :: Int- , id (negate (_ + negate _)) :: Int- , id (negate (_ + head _)) :: Int- , id (negate (_ + (_ + _))) :: Int- , id (negate (x + _)) :: Int- , id (negate (x + x)) :: Int- , id (negate (x + 0)) :: Int- , id (negate (x + id _)) :: Int- , id (negate (y + _)) :: Int- , id (negate (0 + _)) :: Int- , id (negate (0 + x)) :: Int- , id (negate (0 + 0)) :: Int- , id (negate (0 + id _)) :: Int- , id (negate (1 + _)) :: Int- , id (negate (ord _ + _)) :: Int- , id (negate (id _ + _)) :: Int- , id (negate (id _ + x)) :: Int- , id (negate (id _ + 0)) :: Int- , id (negate (id _ + id _)) :: Int- , id (negate (id x + _)) :: Int- , id (negate (id 0 + _)) :: Int- , id (negate (id (id _) + _)) :: Int- , id (negate (abs _ + _)) :: Int- , id (negate (negate _ + _)) :: Int- , id (negate (head _ + _)) :: Int- , id (negate ((_ + _) + _)) :: Int- , id (head _) :: Int- , id (head xs) :: Int- , id (head ys) :: Int- , id (head zs) :: Int- , id (head xs') :: Int- , id (head []) :: Int- , id (head [0]) :: Int- , id (head [1]) :: Int- , id (head [-1]) :: Int- , id (head [0,0]) :: Int- , id (head [0,1]) :: Int- , id (head [1,0]) :: Int- , id (head [0,0,0]) :: Int- , id (head (sort _)) :: Int- , id (head (tail _)) :: Int- , id (head (tail xs)) :: Int- , id (head (tail ys)) :: Int- , id (head (tail [])) :: Int- , id (head (tail [0])) :: Int- , id (head (tail (tail _))) :: Int- , id (head (tail (_:_))) :: Int- , id (head (tail (_:xs))) :: Int- , id (head (tail [_])) :: Int- , id (head (tail (_:_:_))) :: Int- , id (head (tail (x:_))) :: Int- , id (head (tail (0:_))) :: Int- , id (head (tail (id _:_))) :: Int- , id (head (tail (_ ++ _))) :: Int- , id (head (_:_)) :: Int- , id (head (_:xs)) :: Int- , id (head (_:ys)) :: Int- , id (head (_:zs)) :: Int- , id (head [_]) :: Int- , id (head [_,0]) :: Int- , id (head [_,1]) :: Int- , id (head [_,0,0]) :: Int- , id (head (_:sort _)) :: Int- , id (head (_:tail _)) :: Int- , id (head (_:tail xs)) :: Int- , id (head (_:tail [])) :: Int- , id (head (_:tail (_:_))) :: Int- , id (head (_:_:_)) :: Int- , id (head (_:_:xs)) :: Int- , id (head (_:_:ys)) :: Int- , id (head [_,_]) :: Int- , id (head [_,_,0]) :: Int- , id (head (_:_:tail _)) :: Int- , id (head (_:_:_:_)) :: Int- , id (head (_:_:_:xs)) :: Int- , id (head [_,_,_]) :: Int- , id (head (_:_:_:_:_)) :: Int- , id (head (_:_:x:_)) :: Int- , id (head (_:_:0:_)) :: Int- , id (head (_:_:id _:_)) :: Int- , id (head (_:_:(_ ++ _))) :: Int- , id (head (_:x:_)) :: Int- , id (head (_:x:xs)) :: Int- , id (head [_,x]) :: Int- , id (head (_:x:_:_)) :: Int- , id (head (_:y:_)) :: Int- , id (head (_:0:_)) :: Int- , id (head (_:0:xs)) :: Int- , id (head [_,0]) :: Int- , id (head (_:0:_:_)) :: Int- , id (head (_:1:_)) :: Int- , id (head (_:ord _:_)) :: Int- , id (head (_:id _:_)) :: Int- , id (head (_:id _:xs)) :: Int- , id (head [_,id _]) :: Int- , id (head (_:id _:_:_)) :: Int- , id (head (_:id x:_)) :: Int- , id (head (_:id 0:_)) :: Int- , id (head (_:id (id _):_)) :: Int- , id (head (_:abs _:_)) :: Int- , id (head (_:negate _:_)) :: Int- , id (head (_:head _:_)) :: Int- , id (head (_:_ + _:_)) :: Int- , id (head (_:insert _ _)) :: Int- , id (head (_:(_ ++ _))) :: Int- , id (head (_:(_ ++ xs))) :: Int- , id (head (_:(_ ++ []))) :: Int- , id (head (_:(_ ++ (_:_)))) :: Int- , id (head (_:(xs ++ _))) :: Int- , id (head (_:([] ++ _))) :: Int- , id (head (_:((_:_) ++ _))) :: Int- , id (head (x:_)) :: Int- , id (head (x:xs)) :: Int- , id (head (x:ys)) :: Int- , id (head [x]) :: Int- , id (head [x,0]) :: Int- , id (head (x:tail _)) :: Int- , id (head (x:_:_)) :: Int- , id (head (x:_:xs)) :: Int- , id (head [x,_]) :: Int- , id (head (x:_:_:_)) :: Int- , id (head (x:x:_)) :: Int- , id (head (x:0:_)) :: Int- , id (head (x:id _:_)) :: Int- , id (head (x:(_ ++ _))) :: Int- , id (head (y:_)) :: Int- , id (head (y:xs)) :: Int- , id (head [y]) :: Int- , id (head (y:_:_)) :: Int- , id (head (z:_)) :: Int- , id (head (0:_)) :: Int- , id (head (0:xs)) :: Int- , id (head (0:ys)) :: Int- , id (head [0]) :: Int- , id (head [0,0]) :: Int- , id (head (0:tail _)) :: Int- , id (head (0:_:_)) :: Int- , id (head (0:_:xs)) :: Int- , id (head [0,_]) :: Int- , id (head (0:_:_:_)) :: Int- , id (head (0:x:_)) :: Int- , id (head (0:0:_)) :: Int- , id (head (0:id _:_)) :: Int- , id (head (0:(_ ++ _))) :: Int- , id (head (1:_)) :: Int- , id (head (1:xs)) :: Int- , id (head [1]) :: Int- , id (head (1:_:_)) :: Int- , id (head ((-1):_)) :: Int- , id (head (f _:_)) :: Int- , id (head (ord _:_)) :: Int- , id (head (ord _:xs)) :: Int- , id (head [ord _]) :: Int- , id (head (ord _:_:_)) :: Int- , id (head (ord c:_)) :: Int- , id (head (ord 'a':_)) :: Int- , id (head (id _:_)) :: Int- , id (head (id _:xs)) :: Int- , id (head (id _:ys)) :: Int- , id (head [id _]) :: Int- , id (head [id _,0]) :: Int- , id (head (id _:tail _)) :: Int- , id (head (id _:_:_)) :: Int- , id (head (id _:_:xs)) :: Int- , id (head [id _,_]) :: Int- , id (head (id _:_:_:_)) :: Int- , id (head (id _:x:_)) :: Int- , id (head (id _:0:_)) :: Int- , id (head (id _:id _:_)) :: Int- , id (head (id _:(_ ++ _))) :: Int- , id (head (id x:_)) :: Int- , id (head (id x:xs)) :: Int- , id (head [id x]) :: Int- , id (head (id x:_:_)) :: Int- , id (head (id y:_)) :: Int- , id (head (id 0:_)) :: Int- , id (head (id 0:xs)) :: Int- , id (head [id 0]) :: Int- , id (head (id 0:_:_)) :: Int- , id (head (id 1:_)) :: Int- , id (head (id (ord _):_)) :: Int- , id (head (id (id _):_)) :: Int- , id (head (id (id _):xs)) :: Int- , id (head [id (id _)]) :: Int- , id (head (id (id _):_:_)) :: Int- , id (head (id (id x):_)) :: Int- , id (head (id (id 0):_)) :: Int- , id (head (id (id (id _)):_)) :: Int- , id (head (id (abs _):_)) :: Int- , id (head (id (negate _):_)) :: Int- , id (head (id (head _):_)) :: Int- , id (head (id (_ + _):_)) :: Int- , id (head (abs _:_)) :: Int- , id (head (abs _:xs)) :: Int- , id (head [abs _]) :: Int- , id (head (abs _:_:_)) :: Int- , id (head (abs x:_)) :: Int- , id (head (abs 0:_)) :: Int- , id (head (abs (id _):_)) :: Int- , id (head (negate _:_)) :: Int- , id (head (negate _:xs)) :: Int- , id (head [negate _]) :: Int- , id (head (negate _:_:_)) :: Int- , id (head (negate x:_)) :: Int- , id (head (negate 0:_)) :: Int- , id (head (negate (id _):_)) :: Int- , id (head (head _:_)) :: Int- , id (head (head _:xs)) :: Int- , id (head [head _]) :: Int- , id (head (head _:_:_)) :: Int- , id (head (head xs:_)) :: Int- , id (head (head []:_)) :: Int- , id (head (head (_:_):_)) :: Int- , id (head (_ * _:_)) :: Int- , id (head (_ + _:_)) :: Int- , id (head (_ + _:xs)) :: Int- , id (head [_ + _]) :: Int- , id (head (_ + _:_:_)) :: Int- , id (head (_ + x:_)) :: Int- , id (head (_ + 0:_)) :: Int- , id (head (_ + id _:_)) :: Int- , id (head (x + _:_)) :: Int- , id (head (0 + _:_)) :: Int- , id (head (id _ + _:_)) :: Int- , id (head (insert _ _)) :: Int- , id (head (_ ++ _)) :: Int- , id (head (_ ++ xs)) :: Int- , id (head (_ ++ ys)) :: Int- , id (head (_ ++ [])) :: Int- , id (head (_ ++ [0])) :: Int- , id (head (_ ++ tail _)) :: Int- , id (head (_ ++ (_:_))) :: Int- , id (head (_ ++ (_:xs))) :: Int- , id (head (_ ++ [_])) :: Int- , id (head (_ ++ (_:_:_))) :: Int- , id (head (_ ++ (x:_))) :: Int- , id (head (_ ++ (0:_))) :: Int- , id (head (_ ++ (id _:_))) :: Int- , id (head (_ ++ (_ ++ _))) :: Int- , id (head (xs ++ _)) :: Int- , id (head (xs ++ xs)) :: Int- , id (head (xs ++ [])) :: Int- , id (head (xs ++ (_:_))) :: Int- , id (head (ys ++ _)) :: Int- , id (head ([] ++ _)) :: Int- , id (head ([] ++ xs)) :: Int- , id (head ([] ++ [])) :: Int- , id (head ([] ++ (_:_))) :: Int- , id (head ([0] ++ _)) :: Int- , id (head ((_:_) ++ _)) :: Int- , id (head ((_:_) ++ xs)) :: Int- , id (head ((_:_) ++ [])) :: Int- , id (head ((_:_) ++ (_:_))) :: Int- , id (head ((_:xs) ++ _)) :: Int- , id (head ([_] ++ _)) :: Int- , id (head ((_:_:_) ++ _)) :: Int- , id (head ((x:_) ++ _)) :: Int- , id (head ((0:_) ++ _)) :: Int- , id (head ((id _:_) ++ _)) :: Int- , id (_ * _) :: Int- , id (_ * x) :: Int- , id (_ * y) :: Int- , id (_ * z) :: Int- , id (_ * 0) :: Int- , id (_ * 1) :: Int- , id (_ * (-1)) :: Int- , id (_ * f _) :: Int- , id (_ * ord _) :: Int- , id (_ * ord c) :: Int- , id (_ * ord 'a') :: Int- , id (_ * id _) :: Int- , id (_ * id x) :: Int- , id (_ * id y) :: Int- , id (_ * id 0) :: Int- , id (_ * id 1) :: Int- , id (_ * id (ord _)) :: Int- , id (_ * id (id _)) :: Int- , id (_ * id (id x)) :: Int- , id (_ * id (id 0)) :: Int- , id (_ * id (id (id _))) :: Int- , id (_ * id (abs _)) :: Int- , id (_ * id (negate _)) :: Int- , id (_ * id (head _)) :: Int- , id (_ * id (_ + _)) :: Int- , id (_ * abs _) :: Int- , id (_ * abs x) :: Int- , id (_ * abs 0) :: Int- , id (_ * abs (id _)) :: Int- , id (_ * negate _) :: Int- , id (_ * negate x) :: Int- , id (_ * negate 0) :: Int- , id (_ * negate (id _)) :: Int- , id (_ * head _) :: Int- , id (_ * head xs) :: Int- , id (_ * head []) :: Int- , id (_ * head (_:_)) :: Int- , id (_ * (_ * _)) :: Int- , id (_ * (_ + _)) :: Int- , id (_ * (_ + x)) :: Int- , id (_ * (_ + 0)) :: Int- , id (_ * (_ + id _)) :: Int- , id (_ * (x + _)) :: Int- , id (_ * (0 + _)) :: Int- , id (_ * (id _ + _)) :: Int- , id (x * _) :: Int- , id (x * x) :: Int- , id (x * y) :: Int- , id (x * 0) :: Int- , id (x * 1) :: Int- , id (x * ord _) :: Int- , id (x * id _) :: Int- , id (x * id x) :: Int- , id (x * id 0) :: Int- , id (x * id (id _)) :: Int- , id (x * abs _) :: Int- , id (x * negate _) :: Int- , id (x * head _) :: Int- , id (x * (_ + _)) :: Int- , id (y * _) :: Int- , id (y * x) :: Int- , id (y * 0) :: Int- , id (y * id _) :: Int- , id (z * _) :: Int- , id (0 * _) :: Int- , id (0 * x) :: Int- , id (0 * y) :: Int- , id (0 * 0) :: Int- , id (0 * 1) :: Int- , id (0 * ord _) :: Int- , id (0 * id _) :: Int- , id (0 * id x) :: Int- , id (0 * id 0) :: Int- , id (0 * id (id _)) :: Int- , id (0 * abs _) :: Int- , id (0 * negate _) :: Int- , id (0 * head _) :: Int- , id (0 * (_ + _)) :: Int- , id (1 * _) :: Int- , id (1 * x) :: Int- , id (1 * 0) :: Int- , id (1 * id _) :: Int- , id ((-1) * _) :: Int- , id (f _ * _) :: Int- , id (ord _ * _) :: Int- , id (ord _ * x) :: Int- , id (ord _ * 0) :: Int- , id (ord _ * id _) :: Int- , id (ord c * _) :: Int- , id (ord 'a' * _) :: Int- , id (id _ * _) :: Int- , id (id _ * x) :: Int- , id (id _ * y) :: Int- , id (id _ * 0) :: Int- , id (id _ * 1) :: Int- , id (id _ * ord _) :: Int- , id (id _ * id _) :: Int- , id (id _ * id x) :: Int- , id (id _ * id 0) :: Int- , id (id _ * id (id _)) :: Int- , id (id _ * abs _) :: Int- , id (id _ * negate _) :: Int- , id (id _ * head _) :: Int- , id (id _ * (_ + _)) :: Int- , id (id x * _) :: Int- , id (id x * x) :: Int- , id (id x * 0) :: Int- , id (id x * id _) :: Int- , id (id y * _) :: Int- , id (id 0 * _) :: Int- , id (id 0 * x) :: Int- , id (id 0 * 0) :: Int- , id (id 0 * id _) :: Int- , id (id 1 * _) :: Int- , id (id (ord _) * _) :: Int- , id (id (id _) * _) :: Int- , id (id (id _) * x) :: Int- , id (id (id _) * 0) :: Int- , id (id (id _) * id _) :: Int- , id (id (id x) * _) :: Int- , id (id (id 0) * _) :: Int- , id (id (id (id _)) * _) :: Int- , id (id (abs _) * _) :: Int- , id (id (negate _) * _) :: Int- , id (id (head _) * _) :: Int- , id (id (_ + _) * _) :: Int- , id (abs _ * _) :: Int- , id (abs _ * x) :: Int- , id (abs _ * 0) :: Int- , id (abs _ * id _) :: Int- , id (abs x * _) :: Int- , id (abs 0 * _) :: Int- , id (abs (id _) * _) :: Int- , id (negate _ * _) :: Int- , id (negate _ * x) :: Int- , id (negate _ * 0) :: Int- , id (negate _ * id _) :: Int- , id (negate x * _) :: Int- , id (negate 0 * _) :: Int- , id (negate (id _) * _) :: Int- , id (head _ * _) :: Int- , id (head _ * x) :: Int- , id (head _ * 0) :: Int- , id (head _ * id _) :: Int- , id (head xs * _) :: Int- , id (head [] * _) :: Int- , id (head (_:_) * _) :: Int- , id ((_ * _) * _) :: Int- , id ((_ + _) * _) :: Int- , id ((_ + _) * x) :: Int- , id ((_ + _) * 0) :: Int- , id ((_ + _) * id _) :: Int- , id ((_ + x) * _) :: Int- , id ((_ + 0) * _) :: Int- , id ((_ + id _) * _) :: Int- , id ((x + _) * _) :: Int- , id ((0 + _) * _) :: Int- , id ((id _ + _) * _) :: Int- , id (_ + _) :: Int- , id (_ + x) :: Int- , id (_ + y) :: Int- , id (_ + z) :: Int- , id (_ + x') :: Int- , id (_ + 0) :: Int- , id (_ + 1) :: Int- , id (_ + 2) :: Int- , id (_ + (-1)) :: Int- , id (_ + f _) :: Int- , id (_ + f x) :: Int- , id (_ + f 0) :: Int- , id (_ + f (id _)) :: Int- , id (_ + g _) :: Int- , id (_ + ord _) :: Int- , id (_ + ord c) :: Int- , id (_ + ord d) :: Int- , id (_ + ord ' ') :: Int- , id (_ + ord 'a') :: Int- , id (_ + id _) :: Int- , id (_ + id x) :: Int- , id (_ + id y) :: Int- , id (_ + id z) :: Int- , id (_ + id 0) :: Int- , id (_ + id 1) :: Int- , id (_ + id (-1)) :: Int- , id (_ + id (f _)) :: Int- , id (_ + id (ord _)) :: Int- , id (_ + id (ord c)) :: Int- , id (_ + id (ord 'a')) :: Int- , id (_ + id (id _)) :: Int- , id (_ + id (id x)) :: Int- , id (_ + id (id y)) :: Int- , id (_ + id (id 0)) :: Int- , id (_ + id (id 1)) :: Int- , id (_ + id (id (ord _))) :: Int- , id (_ + id (id (id _))) :: Int- , id (_ + id (id (id x))) :: Int- , id (_ + id (id (id 0))) :: Int- , id (_ + id (id (id (id _)))) :: Int- , id (_ + id (id (abs _))) :: Int- , id (_ + id (id (negate _))) :: Int- , id (_ + id (id (head _))) :: Int- , id (_ + id (id (_ + _))) :: Int- , id (_ + id (abs _)) :: Int- , id (_ + id (abs x)) :: Int- , id (_ + id (abs 0)) :: Int- , id (_ + id (abs (id _))) :: Int- , id (_ + id (negate _)) :: Int- , id (_ + id (negate x)) :: Int- , id (_ + id (negate 0)) :: Int- , id (_ + id (negate (id _))) :: Int- , id (_ + id (head _)) :: Int- , id (_ + id (head xs)) :: Int- , id (_ + id (head [])) :: Int- , id (_ + id (head (_:_))) :: Int- , id (_ + id (_ * _)) :: Int- , id (_ + id (_ + _)) :: Int- , id (_ + id (_ + x)) :: Int- , id (_ + id (_ + 0)) :: Int- , id (_ + id (_ + id _)) :: Int- , id (_ + id (x + _)) :: Int- , id (_ + id (0 + _)) :: Int- , id (_ + id (id _ + _)) :: Int- , id (_ + abs _) :: Int- , id (_ + abs x) :: Int- , id (_ + abs y) :: Int- , id (_ + abs 0) :: Int- , id (_ + abs 1) :: Int- , id (_ + abs (ord _)) :: Int- , id (_ + abs (id _)) :: Int- , id (_ + abs (id x)) :: Int- , id (_ + abs (id 0)) :: Int- , id (_ + abs (id (id _))) :: Int- , id (_ + abs (abs _)) :: Int- , id (_ + abs (negate _)) :: Int- , id (_ + abs (head _)) :: Int- , id (_ + abs (_ + _)) :: Int- , id (_ + negate _) :: Int- , id (_ + negate x) :: Int- , id (_ + negate y) :: Int- , id (_ + negate 0) :: Int- , id (_ + negate 1) :: Int- , id (_ + negate (ord _)) :: Int- , id (_ + negate (id _)) :: Int- , id (_ + negate (id x)) :: Int- , id (_ + negate (id 0)) :: Int- , id (_ + negate (id (id _))) :: Int- , id (_ + negate (abs _)) :: Int- , id (_ + negate (negate _)) :: Int- , id (_ + negate (head _)) :: Int- , id (_ + negate (_ + _)) :: Int- , id (_ + head _) :: Int- , id (_ + head xs) :: Int- , id (_ + head ys) :: Int- , id (_ + head []) :: Int- , id (_ + head [0]) :: Int- , id (_ + head (tail _)) :: Int- , id (_ + head (_:_)) :: Int- , id (_ + head (_:xs)) :: Int- , id (_ + head [_]) :: Int- , id (_ + head (_:_:_)) :: Int- , id (_ + head (x:_)) :: Int- , id (_ + head (0:_)) :: Int- , id (_ + head (id _:_)) :: Int- , id (_ + head (_ ++ _)) :: Int- , id (_ + _ * _) :: Int- , id (_ + _ * x) :: Int- , id (_ + _ * 0) :: Int- , id (_ + _ * id _) :: Int- , id (_ + x * _) :: Int- , id (_ + 0 * _) :: Int- , id (_ + id _ * _) :: Int- , id (_ + (_ + _)) :: Int- , id (_ + (_ + x)) :: Int- , id (_ + (_ + y)) :: Int- , id (_ + (_ + 0)) :: Int- , id (_ + (_ + 1)) :: Int- , id (_ + (_ + ord _)) :: Int- , id (_ + (_ + id _)) :: Int- , id (_ + (_ + id x)) :: Int- , id (_ + (_ + id 0)) :: Int- , id (_ + (_ + id (id _))) :: Int- , id (_ + (_ + abs _)) :: Int- , id (_ + (_ + negate _)) :: Int- , id (_ + (_ + head _)) :: Int- , id (_ + (_ + (_ + _))) :: Int- , id (_ + (x + _)) :: Int- , id (_ + (x + x)) :: Int- , id (_ + (x + 0)) :: Int- , id (_ + (x + id _)) :: Int- , id (_ + (y + _)) :: Int- , id (_ + (0 + _)) :: Int- , id (_ + (0 + x)) :: Int- , id (_ + (0 + 0)) :: Int- , id (_ + (0 + id _)) :: Int- , id (_ + (1 + _)) :: Int- , id (_ + (ord _ + _)) :: Int- , id (_ + (id _ + _)) :: Int- , id (_ + (id _ + x)) :: Int- , id (_ + (id _ + 0)) :: Int- , id (_ + (id _ + id _)) :: Int- , id (_ + (id x + _)) :: Int- , id (_ + (id 0 + _)) :: Int- , id (_ + (id (id _) + _)) :: Int- , id (_ + (abs _ + _)) :: Int- , id (_ + (negate _ + _)) :: Int- , id (_ + (head _ + _)) :: Int- , id (_ + ((_ + _) + _)) :: Int- , id (x + _) :: Int- , id (x + x) :: Int- , id (x + y) :: Int- , id (x + z) :: Int- , id (x + 0) :: Int- , id (x + 1) :: Int- , id (x + (-1)) :: Int- , id (x + f _) :: Int- , id (x + ord _) :: Int- , id (x + ord c) :: Int- , id (x + ord 'a') :: Int- , id (x + id _) :: Int- , id (x + id x) :: Int- , id (x + id y) :: Int- , id (x + id 0) :: Int- , id (x + id 1) :: Int- , id (x + id (ord _)) :: Int- , id (x + id (id _)) :: Int- , id (x + id (id x)) :: Int- , id (x + id (id 0)) :: Int- , id (x + id (id (id _))) :: Int- , id (x + id (abs _)) :: Int- , id (x + id (negate _)) :: Int- , id (x + id (head _)) :: Int- , id (x + id (_ + _)) :: Int- , id (x + abs _) :: Int- , id (x + abs x) :: Int- , id (x + abs 0) :: Int- , id (x + abs (id _)) :: Int- , id (x + negate _) :: Int- , id (x + negate x) :: Int- , id (x + negate 0) :: Int- , id (x + negate (id _)) :: Int- , id (x + head _) :: Int- , id (x + head xs) :: Int- , id (x + head []) :: Int- , id (x + head (_:_)) :: Int- , id (x + _ * _) :: Int- , id (x + (_ + _)) :: Int- , id (x + (_ + x)) :: Int- , id (x + (_ + 0)) :: Int- , id (x + (_ + id _)) :: Int- , id (x + (x + _)) :: Int- , id (x + (0 + _)) :: Int- , id (x + (id _ + _)) :: Int- , id (y + _) :: Int- , id (y + x) :: Int- , id (y + y) :: Int- , id (y + 0) :: Int- , id (y + 1) :: Int- , id (y + ord _) :: Int- , id (y + id _) :: Int- , id (y + id x) :: Int- , id (y + id 0) :: Int- , id (y + id (id _)) :: Int- , id (y + abs _) :: Int- , id (y + negate _) :: Int- , id (y + head _) :: Int- , id (y + (_ + _)) :: Int- , id (z + _) :: Int- , id (z + x) :: Int- , id (z + 0) :: Int- , id (z + id _) :: Int- , id (x' + _) :: Int- , id (0 + _) :: Int- , id (0 + x) :: Int- , id (0 + y) :: Int- , id (0 + z) :: Int- , id (0 + 0) :: Int- , id (0 + 1) :: Int- , id (0 + (-1)) :: Int- , id (0 + f _) :: Int- , id (0 + ord _) :: Int- , id (0 + ord c) :: Int- , id (0 + ord 'a') :: Int- , id (0 + id _) :: Int- , id (0 + id x) :: Int- , id (0 + id y) :: Int- , id (0 + id 0) :: Int- , id (0 + id 1) :: Int- , id (0 + id (ord _)) :: Int- , id (0 + id (id _)) :: Int- , id (0 + id (id x)) :: Int- , id (0 + id (id 0)) :: Int- , id (0 + id (id (id _))) :: Int- , id (0 + id (abs _)) :: Int- , id (0 + id (negate _)) :: Int- , id (0 + id (head _)) :: Int- , id (0 + id (_ + _)) :: Int- , id (0 + abs _) :: Int- , id (0 + abs x) :: Int- , id (0 + abs 0) :: Int- , id (0 + abs (id _)) :: Int- , id (0 + negate _) :: Int- , id (0 + negate x) :: Int- , id (0 + negate 0) :: Int- , id (0 + negate (id _)) :: Int- , id (0 + head _) :: Int- , id (0 + head xs) :: Int- , id (0 + head []) :: Int- , id (0 + head (_:_)) :: Int- , id (0 + _ * _) :: Int- , id (0 + (_ + _)) :: Int- , id (0 + (_ + x)) :: Int- , id (0 + (_ + 0)) :: Int- , id (0 + (_ + id _)) :: Int- , id (0 + (x + _)) :: Int- , id (0 + (0 + _)) :: Int- , id (0 + (id _ + _)) :: Int- , id (1 + _) :: Int- , id (1 + x) :: Int- , id (1 + y) :: Int- , id (1 + 0) :: Int- , id (1 + 1) :: Int- , id (1 + ord _) :: Int- , id (1 + id _) :: Int- , id (1 + id x) :: Int- , id (1 + id 0) :: Int- , id (1 + id (id _)) :: Int- , id (1 + abs _) :: Int- , id (1 + negate _) :: Int- , id (1 + head _) :: Int- , id (1 + (_ + _)) :: Int- , id (2 + _) :: Int- , id ((-1) + _) :: Int- , id ((-1) + x) :: Int- , id ((-1) + 0) :: Int- , id ((-1) + id _) :: Int- , id (f _ + _) :: Int- , id (f _ + x) :: Int- , id (f _ + 0) :: Int- , id (f _ + id _) :: Int- , id (f x + _) :: Int- , id (f 0 + _) :: Int- , id (f (id _) + _) :: Int- , id (g _ + _) :: Int- , id (ord _ + _) :: Int- , id (ord _ + x) :: Int- , id (ord _ + y) :: Int- , id (ord _ + 0) :: Int- , id (ord _ + 1) :: Int- , id (ord _ + ord _) :: Int- , id (ord _ + id _) :: Int- , id (ord _ + id x) :: Int- , id (ord _ + id 0) :: Int- , id (ord _ + id (id _)) :: Int- , id (ord _ + abs _) :: Int- , id (ord _ + negate _) :: Int- , id (ord _ + head _) :: Int- , id (ord _ + (_ + _)) :: Int- , id (ord c + _) :: Int- , id (ord c + x) :: Int- , id (ord c + 0) :: Int- , id (ord c + id _) :: Int- , id (ord d + _) :: Int- , id (ord ' ' + _) :: Int- , id (ord 'a' + _) :: Int- , id (ord 'a' + x) :: Int- , id (ord 'a' + 0) :: Int- , id (ord 'a' + id _) :: Int- , id (id _ + _) :: Int- , id (id _ + x) :: Int- , id (id _ + y) :: Int- , id (id _ + z) :: Int- , id (id _ + 0) :: Int- , id (id _ + 1) :: Int- , id (id _ + (-1)) :: Int- , id (id _ + f _) :: Int- , id (id _ + ord _) :: Int- , id (id _ + ord c) :: Int- , id (id _ + ord 'a') :: Int- , id (id _ + id _) :: Int- , id (id _ + id x) :: Int- , id (id _ + id y) :: Int- , id (id _ + id 0) :: Int- , id (id _ + id 1) :: Int- , id (id _ + id (ord _)) :: Int- , id (id _ + id (id _)) :: Int- , id (id _ + id (id x)) :: Int- , id (id _ + id (id 0)) :: Int- , id (id _ + id (id (id _))) :: Int- , id (id _ + id (abs _)) :: Int- , id (id _ + id (negate _)) :: Int- , id (id _ + id (head _)) :: Int- , id (id _ + id (_ + _)) :: Int- , id (id _ + abs _) :: Int- , id (id _ + abs x) :: Int- , id (id _ + abs 0) :: Int- , id (id _ + abs (id _)) :: Int- , id (id _ + negate _) :: Int- , id (id _ + negate x) :: Int- , id (id _ + negate 0) :: Int- , id (id _ + negate (id _)) :: Int- , id (id _ + head _) :: Int- , id (id _ + head xs) :: Int- , id (id _ + head []) :: Int- , id (id _ + head (_:_)) :: Int- , id (id _ + _ * _) :: Int- , id (id _ + (_ + _)) :: Int- , id (id _ + (_ + x)) :: Int- , id (id _ + (_ + 0)) :: Int- , id (id _ + (_ + id _)) :: Int- , id (id _ + (x + _)) :: Int- , id (id _ + (0 + _)) :: Int- , id (id _ + (id _ + _)) :: Int- , id (id x + _) :: Int- , id (id x + x) :: Int- , id (id x + y) :: Int- , id (id x + 0) :: Int- , id (id x + 1) :: Int- , id (id x + ord _) :: Int- , id (id x + id _) :: Int- , id (id x + id x) :: Int- , id (id x + id 0) :: Int- , id (id x + id (id _)) :: Int- , id (id x + abs _) :: Int- , id (id x + negate _) :: Int- , id (id x + head _) :: Int- , id (id x + (_ + _)) :: Int- , id (id y + _) :: Int- , id (id y + x) :: Int- , id (id y + 0) :: Int- , id (id y + id _) :: Int- , id (id z + _) :: Int- , id (id 0 + _) :: Int- , id (id 0 + x) :: Int- , id (id 0 + y) :: Int- , id (id 0 + 0) :: Int- , id (id 0 + 1) :: Int- , id (id 0 + ord _) :: Int- , id (id 0 + id _) :: Int- , id (id 0 + id x) :: Int- , id (id 0 + id 0) :: Int- , id (id 0 + id (id _)) :: Int- , id (id 0 + abs _) :: Int- , id (id 0 + negate _) :: Int- , id (id 0 + head _) :: Int- , id (id 0 + (_ + _)) :: Int- , id (id 1 + _) :: Int- , id (id 1 + x) :: Int- , id (id 1 + 0) :: Int- , id (id 1 + id _) :: Int- , id (id (-1) + _) :: Int- , id (id (f _) + _) :: Int- , id (id (ord _) + _) :: Int- , id (id (ord _) + x) :: Int- , id (id (ord _) + 0) :: Int- , id (id (ord _) + id _) :: Int- , id (id (ord c) + _) :: Int- , id (id (ord 'a') + _) :: Int- , id (id (id _) + _) :: Int- , id (id (id _) + x) :: Int- , id (id (id _) + y) :: Int- , id (id (id _) + 0) :: Int- , id (id (id _) + 1) :: Int- , id (id (id _) + ord _) :: Int- , id (id (id _) + id _) :: Int- , id (id (id _) + id x) :: Int- , id (id (id _) + id 0) :: Int- , id (id (id _) + id (id _)) :: Int- , id (id (id _) + abs _) :: Int- , id (id (id _) + negate _) :: Int- , id (id (id _) + head _) :: Int- , id (id (id _) + (_ + _)) :: Int- , id (id (id x) + _) :: Int- , id (id (id x) + x) :: Int- , id (id (id x) + 0) :: Int- , id (id (id x) + id _) :: Int- , id (id (id y) + _) :: Int- , id (id (id 0) + _) :: Int- , id (id (id 0) + x) :: Int- , id (id (id 0) + 0) :: Int- , id (id (id 0) + id _) :: Int- , id (id (id 1) + _) :: Int- , id (id (id (ord _)) + _) :: Int- , id (id (id (id _)) + _) :: Int- , id (id (id (id _)) + x) :: Int- , id (id (id (id _)) + 0) :: Int- , id (id (id (id _)) + id _) :: Int- , id (id (id (id x)) + _) :: Int- , id (id (id (id 0)) + _) :: Int- , id (id (id (id (id _))) + _) :: Int- , id (id (id (abs _)) + _) :: Int- , id (id (id (negate _)) + _) :: Int- , id (id (id (head _)) + _) :: Int- , id (id (id (_ + _)) + _) :: Int- , id (id (abs _) + _) :: Int- , id (id (abs _) + x) :: Int- , id (id (abs _) + 0) :: Int- , id (id (abs _) + id _) :: Int- , id (id (abs x) + _) :: Int- , id (id (abs 0) + _) :: Int- , id (id (abs (id _)) + _) :: Int- , id (id (negate _) + _) :: Int- , id (id (negate _) + x) :: Int- , id (id (negate _) + 0) :: Int- , id (id (negate _) + id _) :: Int- , id (id (negate x) + _) :: Int- , id (id (negate 0) + _) :: Int- , id (id (negate (id _)) + _) :: Int- , id (id (head _) + _) :: Int- , id (id (head _) + x) :: Int- , id (id (head _) + 0) :: Int- , id (id (head _) + id _) :: Int- , id (id (head xs) + _) :: Int- , id (id (head []) + _) :: Int- , id (id (head (_:_)) + _) :: Int- , id (id (_ * _) + _) :: Int- , id (id (_ + _) + _) :: Int- , id (id (_ + _) + x) :: Int- , id (id (_ + _) + 0) :: Int- , id (id (_ + _) + id _) :: Int- , id (id (_ + x) + _) :: Int- , id (id (_ + 0) + _) :: Int- , id (id (_ + id _) + _) :: Int- , id (id (x + _) + _) :: Int- , id (id (0 + _) + _) :: Int- , id (id (id _ + _) + _) :: Int- , id (abs _ + _) :: Int- , id (abs _ + x) :: Int- , id (abs _ + y) :: Int- , id (abs _ + 0) :: Int- , id (abs _ + 1) :: Int- , id (abs _ + ord _) :: Int- , id (abs _ + id _) :: Int- , id (abs _ + id x) :: Int- , id (abs _ + id 0) :: Int- , id (abs _ + id (id _)) :: Int- , id (abs _ + abs _) :: Int- , id (abs _ + negate _) :: Int- , id (abs _ + head _) :: Int- , id (abs _ + (_ + _)) :: Int- , id (abs x + _) :: Int- , id (abs x + x) :: Int- , id (abs x + 0) :: Int- , id (abs x + id _) :: Int- , id (abs y + _) :: Int- , id (abs 0 + _) :: Int- , id (abs 0 + x) :: Int- , id (abs 0 + 0) :: Int- , id (abs 0 + id _) :: Int- , id (abs 1 + _) :: Int- , id (abs (ord _) + _) :: Int- , id (abs (id _) + _) :: Int- , id (abs (id _) + x) :: Int- , id (abs (id _) + 0) :: Int- , id (abs (id _) + id _) :: Int- , id (abs (id x) + _) :: Int- , id (abs (id 0) + _) :: Int- , id (abs (id (id _)) + _) :: Int- , id (abs (abs _) + _) :: Int- , id (abs (negate _) + _) :: Int- , id (abs (head _) + _) :: Int- , id (abs (_ + _) + _) :: Int- , id (negate _ + _) :: Int- , id (negate _ + x) :: Int- , id (negate _ + y) :: Int- , id (negate _ + 0) :: Int- , id (negate _ + 1) :: Int- , id (negate _ + ord _) :: Int- , id (negate _ + id _) :: Int- , id (negate _ + id x) :: Int- , id (negate _ + id 0) :: Int- , id (negate _ + id (id _)) :: Int- , id (negate _ + abs _) :: Int- , id (negate _ + negate _) :: Int- , id (negate _ + head _) :: Int- , id (negate _ + (_ + _)) :: Int- , id (negate x + _) :: Int- , id (negate x + x) :: Int- , id (negate x + 0) :: Int- , id (negate x + id _) :: Int- , id (negate y + _) :: Int- , id (negate 0 + _) :: Int- , id (negate 0 + x) :: Int- , id (negate 0 + 0) :: Int- , id (negate 0 + id _) :: Int- , id (negate 1 + _) :: Int- , id (negate (ord _) + _) :: Int- , id (negate (id _) + _) :: Int- , id (negate (id _) + x) :: Int- , id (negate (id _) + 0) :: Int- , id (negate (id _) + id _) :: Int- , id (negate (id x) + _) :: Int- , id (negate (id 0) + _) :: Int- , id (negate (id (id _)) + _) :: Int- , id (negate (abs _) + _) :: Int- , id (negate (negate _) + _) :: Int- , id (negate (head _) + _) :: Int- , id (negate (_ + _) + _) :: Int- , id (head _ + _) :: Int- , id (head _ + x) :: Int- , id (head _ + y) :: Int- , id (head _ + 0) :: Int- , id (head _ + 1) :: Int- , id (head _ + ord _) :: Int- , id (head _ + id _) :: Int- , id (head _ + id x) :: Int- , id (head _ + id 0) :: Int- , id (head _ + id (id _)) :: Int- , id (head _ + abs _) :: Int- , id (head _ + negate _) :: Int- , id (head _ + head _) :: Int- , id (head _ + (_ + _)) :: Int- , id (head xs + _) :: Int- , id (head xs + x) :: Int- , id (head xs + 0) :: Int- , id (head xs + id _) :: Int- , id (head ys + _) :: Int- , id (head [] + _) :: Int- , id (head [] + x) :: Int- , id (head [] + 0) :: Int- , id (head [] + id _) :: Int- , id (head [0] + _) :: Int- , id (head (tail _) + _) :: Int- , id (head (_:_) + _) :: Int- , id (head (_:_) + x) :: Int- , id (head (_:_) + 0) :: Int- , id (head (_:_) + id _) :: Int- , id (head (_:xs) + _) :: Int- , id (head [_] + _) :: Int- , id (head (_:_:_) + _) :: Int- , id (head (x:_) + _) :: Int- , id (head (0:_) + _) :: Int- , id (head (id _:_) + _) :: Int- , id (head (_ ++ _) + _) :: Int- , id (_ * _ + _) :: Int- , id (_ * _ + x) :: Int- , id (_ * _ + 0) :: Int- , id (_ * _ + id _) :: Int- , id (_ * x + _) :: Int- , id (_ * 0 + _) :: Int- , id (_ * id _ + _) :: Int- , id (x * _ + _) :: Int- , id (0 * _ + _) :: Int- , id (id _ * _ + _) :: Int- , id ((_ + _) + _) :: Int- , id ((_ + _) + x) :: Int- , id ((_ + _) + y) :: Int- , id ((_ + _) + 0) :: Int- , id ((_ + _) + 1) :: Int- , id ((_ + _) + ord _) :: Int- , id ((_ + _) + id _) :: Int- , id ((_ + _) + id x) :: Int- , id ((_ + _) + id 0) :: Int- , id ((_ + _) + id (id _)) :: Int- , id ((_ + _) + abs _) :: Int- , id ((_ + _) + negate _) :: Int- , id ((_ + _) + head _) :: Int- , id ((_ + _) + (_ + _)) :: Int- , id ((_ + x) + _) :: Int- , id ((_ + x) + x) :: Int- , id ((_ + x) + 0) :: Int- , id ((_ + x) + id _) :: Int- , id ((_ + y) + _) :: Int- , id ((_ + 0) + _) :: Int- , id ((_ + 0) + x) :: Int- , id ((_ + 0) + 0) :: Int- , id ((_ + 0) + id _) :: Int- , id ((_ + 1) + _) :: Int- , id ((_ + ord _) + _) :: Int- , id ((_ + id _) + _) :: Int- , id ((_ + id _) + x) :: Int- , id ((_ + id _) + 0) :: Int- , id ((_ + id _) + id _) :: Int- , id ((_ + id x) + _) :: Int- , id ((_ + id 0) + _) :: Int- , id ((_ + id (id _)) + _) :: Int- , id ((_ + abs _) + _) :: Int- , id ((_ + negate _) + _) :: Int- , id ((_ + head _) + _) :: Int- , id ((_ + (_ + _)) + _) :: Int- , id ((x + _) + _) :: Int- , id ((x + _) + x) :: Int- , id ((x + _) + 0) :: Int- , id ((x + _) + id _) :: Int- , id ((x + x) + _) :: Int- , id ((x + 0) + _) :: Int- , id ((x + id _) + _) :: Int- , id ((y + _) + _) :: Int- , id ((0 + _) + _) :: Int- , id ((0 + _) + x) :: Int- , id ((0 + _) + 0) :: Int- , id ((0 + _) + id _) :: Int- , id ((0 + x) + _) :: Int- , id ((0 + 0) + _) :: Int- , id ((0 + id _) + _) :: Int- , id ((1 + _) + _) :: Int- , id ((ord _ + _) + _) :: Int- , id ((id _ + _) + _) :: Int- , id ((id _ + _) + x) :: Int- , id ((id _ + _) + 0) :: Int- , id ((id _ + _) + id _) :: Int- , id ((id _ + x) + _) :: Int- , id ((id _ + 0) + _) :: Int- , id ((id _ + id _) + _) :: Int- , id ((id x + _) + _) :: Int- , id ((id 0 + _) + _) :: Int- , id ((id (id _) + _) + _) :: Int- , id ((abs _ + _) + _) :: Int- , id ((negate _ + _) + _) :: Int- , id ((head _ + _) + _) :: Int- , id (((_ + _) + _) + _) :: Int- , abs _ :: Int- , abs x :: Int- , abs y :: Int- , abs z :: Int- , abs x' :: Int- , abs 0 :: Int- , abs 1 :: Int- , abs 2 :: Int- , abs (-1) :: Int- , abs (f _) :: Int- , abs (f x) :: Int- , abs (f 0) :: Int- , abs (f (id _)) :: Int- , abs (g _) :: Int- , abs (ord _) :: Int- , abs (ord c) :: Int- , abs (ord d) :: Int- , abs (ord ' ') :: Int- , abs (ord 'a') :: Int- , abs (id _) :: Int- , abs (id x) :: Int- , abs (id y) :: Int- , abs (id z) :: Int- , abs (id 0) :: Int- , abs (id 1) :: Int- , abs (id (-1)) :: Int- , abs (id (f _)) :: Int- , abs (id (ord _)) :: Int- , abs (id (ord c)) :: Int- , abs (id (ord 'a')) :: Int- , abs (id (id _)) :: Int- , abs (id (id x)) :: Int- , abs (id (id y)) :: Int- , abs (id (id 0)) :: Int- , abs (id (id 1)) :: Int- , abs (id (id (ord _))) :: Int- , abs (id (id (id _))) :: Int- , abs (id (id (id x))) :: Int- , abs (id (id (id 0))) :: Int- , abs (id (id (id (id _)))) :: Int- , abs (id (id (abs _))) :: Int- , abs (id (id (negate _))) :: Int- , abs (id (id (head _))) :: Int- , abs (id (id (_ + _))) :: Int- , abs (id (abs _)) :: Int- , abs (id (abs x)) :: Int- , abs (id (abs 0)) :: Int- , abs (id (abs (id _))) :: Int- , abs (id (negate _)) :: Int- , abs (id (negate x)) :: Int- , abs (id (negate 0)) :: Int- , abs (id (negate (id _))) :: Int- , abs (id (head _)) :: Int- , abs (id (head xs)) :: Int- , abs (id (head [])) :: Int- , abs (id (head (_:_))) :: Int- , abs (id (_ * _)) :: Int- , abs (id (_ + _)) :: Int- , abs (id (_ + x)) :: Int- , abs (id (_ + 0)) :: Int- , abs (id (_ + id _)) :: Int- , abs (id (x + _)) :: Int- , abs (id (0 + _)) :: Int- , abs (id (id _ + _)) :: Int- , abs (abs _) :: Int- , abs (abs x) :: Int- , abs (abs y) :: Int- , abs (abs 0) :: Int- , abs (abs 1) :: Int- , abs (abs (ord _)) :: Int- , abs (abs (id _)) :: Int- , abs (abs (id x)) :: Int- , abs (abs (id 0)) :: Int- , abs (abs (id (id _))) :: Int- , abs (abs (abs _)) :: Int- , abs (abs (negate _)) :: Int- , abs (abs (head _)) :: Int- , abs (abs (_ + _)) :: Int- , abs (negate _) :: Int- , abs (negate x) :: Int- , abs (negate y) :: Int- , abs (negate 0) :: Int- , abs (negate 1) :: Int- , abs (negate (ord _)) :: Int- , abs (negate (id _)) :: Int- , abs (negate (id x)) :: Int- , abs (negate (id 0)) :: Int- , abs (negate (id (id _))) :: Int- , abs (negate (abs _)) :: Int- , abs (negate (negate _)) :: Int- , abs (negate (head _)) :: Int- , abs (negate (_ + _)) :: Int- , abs (head _) :: Int- , abs (head xs) :: Int- , abs (head ys) :: Int- , abs (head []) :: Int- , abs (head [0]) :: Int- , abs (head (tail _)) :: Int- , abs (head (_:_)) :: Int- , abs (head (_:xs)) :: Int- , abs (head [_]) :: Int- , abs (head (_:_:_)) :: Int- , abs (head (x:_)) :: Int- , abs (head (0:_)) :: Int- , abs (head (id _:_)) :: Int- , abs (head (_ ++ _)) :: Int- , abs (_ * _) :: Int- , abs (_ * x) :: Int- , abs (_ * 0) :: Int- , abs (_ * id _) :: Int- , abs (x * _) :: Int- , abs (0 * _) :: Int- , abs (id _ * _) :: Int- , abs (_ + _) :: Int- , abs (_ + x) :: Int- , abs (_ + y) :: Int- , abs (_ + 0) :: Int- , abs (_ + 1) :: Int- , abs (_ + ord _) :: Int- , abs (_ + id _) :: Int- , abs (_ + id x) :: Int- , abs (_ + id 0) :: Int- , abs (_ + id (id _)) :: Int- , abs (_ + abs _) :: Int- , abs (_ + negate _) :: Int- , abs (_ + head _) :: Int- , abs (_ + (_ + _)) :: Int- , abs (x + _) :: Int- , abs (x + x) :: Int- , abs (x + 0) :: Int- , abs (x + id _) :: Int- , abs (y + _) :: Int- , abs (0 + _) :: Int- , abs (0 + x) :: Int- , abs (0 + 0) :: Int- , abs (0 + id _) :: Int- , abs (1 + _) :: Int- , abs (ord _ + _) :: Int- , abs (id _ + _) :: Int- , abs (id _ + x) :: Int- , abs (id _ + 0) :: Int- , abs (id _ + id _) :: Int- , abs (id x + _) :: Int- , abs (id 0 + _) :: Int- , abs (id (id _) + _) :: Int- , abs (abs _ + _) :: Int- , abs (negate _ + _) :: Int- , abs (head _ + _) :: Int- , abs ((_ + _) + _) :: Int- , negate _ :: Int- , negate x :: Int- , negate y :: Int- , negate z :: Int- , negate x' :: Int- , negate 0 :: Int- , negate 1 :: Int- , negate 2 :: Int- , negate (-1) :: Int- , negate (f _) :: Int- , negate (f x) :: Int- , negate (f 0) :: Int- , negate (f (id _)) :: Int- , negate (g _) :: Int- , negate (ord _) :: Int- , negate (ord c) :: Int- , negate (ord d) :: Int- , negate (ord ' ') :: Int- , negate (ord 'a') :: Int- , negate (id _) :: Int- , negate (id x) :: Int- , negate (id y) :: Int- , negate (id z) :: Int- , negate (id 0) :: Int- , negate (id 1) :: Int- , negate (id (-1)) :: Int- , negate (id (f _)) :: Int- , negate (id (ord _)) :: Int- , negate (id (ord c)) :: Int- , negate (id (ord 'a')) :: Int- , negate (id (id _)) :: Int- , negate (id (id x)) :: Int- , negate (id (id y)) :: Int- , negate (id (id 0)) :: Int- , negate (id (id 1)) :: Int- , negate (id (id (ord _))) :: Int- , negate (id (id (id _))) :: Int- , negate (id (id (id x))) :: Int- , negate (id (id (id 0))) :: Int- , negate (id (id (id (id _)))) :: Int- , negate (id (id (abs _))) :: Int- , negate (id (id (negate _))) :: Int- , negate (id (id (head _))) :: Int- , negate (id (id (_ + _))) :: Int- , negate (id (abs _)) :: Int- , negate (id (abs x)) :: Int- , negate (id (abs 0)) :: Int- , negate (id (abs (id _))) :: Int- , negate (id (negate _)) :: Int- , negate (id (negate x)) :: Int- , negate (id (negate 0)) :: Int- , negate (id (negate (id _))) :: Int- , negate (id (head _)) :: Int- , negate (id (head xs)) :: Int- , negate (id (head [])) :: Int- , negate (id (head (_:_))) :: Int- , negate (id (_ * _)) :: Int- , negate (id (_ + _)) :: Int- , negate (id (_ + x)) :: Int- , negate (id (_ + 0)) :: Int- , negate (id (_ + id _)) :: Int- , negate (id (x + _)) :: Int- , negate (id (0 + _)) :: Int- , negate (id (id _ + _)) :: Int- , negate (abs _) :: Int- , negate (abs x) :: Int- , negate (abs y) :: Int- , negate (abs 0) :: Int- , negate (abs 1) :: Int- , negate (abs (ord _)) :: Int- , negate (abs (id _)) :: Int- , negate (abs (id x)) :: Int- , negate (abs (id 0)) :: Int- , negate (abs (id (id _))) :: Int- , negate (abs (abs _)) :: Int- , negate (abs (negate _)) :: Int- , negate (abs (head _)) :: Int- , negate (abs (_ + _)) :: Int- , negate (negate _) :: Int- , negate (negate x) :: Int- , negate (negate y) :: Int- , negate (negate 0) :: Int- , negate (negate 1) :: Int- , negate (negate (ord _)) :: Int- , negate (negate (id _)) :: Int- , negate (negate (id x)) :: Int- , negate (negate (id 0)) :: Int- , negate (negate (id (id _))) :: Int- , negate (negate (abs _)) :: Int- , negate (negate (negate _)) :: Int- , negate (negate (head _)) :: Int- , negate (negate (_ + _)) :: Int- , negate (head _) :: Int- , negate (head xs) :: Int- , negate (head ys) :: Int- , negate (head []) :: Int- , negate (head [0]) :: Int- , negate (head (tail _)) :: Int- , negate (head (_:_)) :: Int- , negate (head (_:xs)) :: Int- , negate (head [_]) :: Int- , negate (head (_:_:_)) :: Int- , negate (head (x:_)) :: Int- , negate (head (0:_)) :: Int- , negate (head (id _:_)) :: Int- , negate (head (_ ++ _)) :: Int- , negate (_ * _) :: Int- , negate (_ * x) :: Int- , negate (_ * 0) :: Int- , negate (_ * id _) :: Int- , negate (x * _) :: Int- , negate (0 * _) :: Int- , negate (id _ * _) :: Int- , negate (_ + _) :: Int- , negate (_ + x) :: Int- , negate (_ + y) :: Int- , negate (_ + 0) :: Int- , negate (_ + 1) :: Int- , negate (_ + ord _) :: Int- , negate (_ + id _) :: Int- , negate (_ + id x) :: Int- , negate (_ + id 0) :: Int- , negate (_ + id (id _)) :: Int- , negate (_ + abs _) :: Int- , negate (_ + negate _) :: Int- , negate (_ + head _) :: Int- , negate (_ + (_ + _)) :: Int- , negate (x + _) :: Int- , negate (x + x) :: Int- , negate (x + 0) :: Int- , negate (x + id _) :: Int- , negate (y + _) :: Int- , negate (0 + _) :: Int- , negate (0 + x) :: Int- , negate (0 + 0) :: Int- , negate (0 + id _) :: Int- , negate (1 + _) :: Int- , negate (ord _ + _) :: Int- , negate (id _ + _) :: Int- , negate (id _ + x) :: Int- , negate (id _ + 0) :: Int- , negate (id _ + id _) :: Int- , negate (id x + _) :: Int- , negate (id 0 + _) :: Int- , negate (id (id _) + _) :: Int- , negate (abs _ + _) :: Int- , negate (negate _ + _) :: Int- , negate (head _ + _) :: Int- , negate ((_ + _) + _) :: Int- , head _ :: Int- , head xs :: Int- , head ys :: Int- , head zs :: Int- , head xs' :: Int- , head [] :: Int- , head [0] :: Int- , head [1] :: Int- , head [-1] :: Int- , head [0,0] :: Int- , head [0,1] :: Int- , head [1,0] :: Int- , head [0,0,0] :: Int- , head (sort _) :: Int- , head (sort xs) :: Int- , head (sort []) :: Int- , head (sort (_:_)) :: Int- , head (tail _) :: Int- , head (tail xs) :: Int- , head (tail ys) :: Int- , head (tail []) :: Int- , head (tail [0]) :: Int- , head (tail (tail _)) :: Int- , head (tail (_:_)) :: Int- , head (tail (_:xs)) :: Int- , head (tail [_]) :: Int- , head (tail (_:_:_)) :: Int- , head (tail (x:_)) :: Int- , head (tail (0:_)) :: Int- , head (tail (id _:_)) :: Int- , head (tail (_ ++ _)) :: Int- , head (_:_) :: Int- , head (_:xs) :: Int- , head (_:ys) :: Int- , head (_:zs) :: Int- , head [_] :: Int- , head [_,0] :: Int- , head [_,1] :: Int- , head [_,0,0] :: Int- , head (_:sort _) :: Int- , head (_:tail _) :: Int- , head (_:tail xs) :: Int- , head (_:tail []) :: Int- , head (_:tail (_:_)) :: Int- , head (_:_:_) :: Int- , head (_:_:xs) :: Int- , head (_:_:ys) :: Int- , head [_,_] :: Int- , head [_,_,0] :: Int- , head (_:_:tail _) :: Int- , head (_:_:_:_) :: Int- , head (_:_:_:xs) :: Int- , head [_,_,_] :: Int- , head (_:_:_:_:_) :: Int- , head (_:_:x:_) :: Int- , head (_:_:0:_) :: Int- , head (_:_:id _:_) :: Int- , head (_:_:(_ ++ _)) :: Int- , head (_:x:_) :: Int- , head (_:x:xs) :: Int- , head [_,x] :: Int- , head (_:x:_:_) :: Int- , head (_:y:_) :: Int- , head (_:0:_) :: Int- , head (_:0:xs) :: Int- , head [_,0] :: Int- , head (_:0:_:_) :: Int- , head (_:1:_) :: Int- , head (_:ord _:_) :: Int- , head (_:id _:_) :: Int- , head (_:id _:xs) :: Int- , head [_,id _] :: Int- , head (_:id _:_:_) :: Int- , head (_:id x:_) :: Int- , head (_:id 0:_) :: Int- , head (_:id (id _):_) :: Int- , head (_:abs _:_) :: Int- , head (_:negate _:_) :: Int- , head (_:head _:_) :: Int- , head (_:_ + _:_) :: Int- , head (_:insert _ _) :: Int- , head (_:(_ ++ _)) :: Int- , head (_:(_ ++ xs)) :: Int- , head (_:(_ ++ [])) :: Int- , head (_:(_ ++ (_:_))) :: Int- , head (_:(xs ++ _)) :: Int- , head (_:([] ++ _)) :: Int- , head (_:((_:_) ++ _)) :: Int- , head (x:_) :: Int- , head (x:xs) :: Int- , head (x:ys) :: Int- , head [x] :: Int- , head [x,0] :: Int- , head (x:tail _) :: Int- , head (x:_:_) :: Int- , head (x:_:xs) :: Int- , head [x,_] :: Int- , head (x:_:_:_) :: Int- , head (x:x:_) :: Int- , head (x:0:_) :: Int- , head (x:id _:_) :: Int- , head (x:(_ ++ _)) :: Int- , head (y:_) :: Int- , head (y:xs) :: Int- , head [y] :: Int- , head (y:_:_) :: Int- , head (z:_) :: Int- , head (0:_) :: Int- , head (0:xs) :: Int- , head (0:ys) :: Int- , head [0] :: Int- , head [0,0] :: Int- , head (0:tail _) :: Int- , head (0:_:_) :: Int- , head (0:_:xs) :: Int- , head [0,_] :: Int- , head (0:_:_:_) :: Int- , head (0:x:_) :: Int- , head (0:0:_) :: Int- , head (0:id _:_) :: Int- , head (0:(_ ++ _)) :: Int- , head (1:_) :: Int- , head (1:xs) :: Int- , head [1] :: Int- , head (1:_:_) :: Int- , head ((-1):_) :: Int- , head (f _:_) :: Int- , head (ord _:_) :: Int- , head (ord _:xs) :: Int- , head [ord _] :: Int- , head (ord _:_:_) :: Int- , head (ord c:_) :: Int- , head (ord 'a':_) :: Int- , head (id _:_) :: Int- , head (id _:xs) :: Int- , head (id _:ys) :: Int- , head [id _] :: Int- , head [id _,0] :: Int- , head (id _:tail _) :: Int- , head (id _:_:_) :: Int- , head (id _:_:xs) :: Int- , head [id _,_] :: Int- , head (id _:_:_:_) :: Int- , head (id _:x:_) :: Int- , head (id _:0:_) :: Int- , head (id _:id _:_) :: Int- , head (id _:(_ ++ _)) :: Int- , head (id x:_) :: Int- , head (id x:xs) :: Int- , head [id x] :: Int- , head (id x:_:_) :: Int- , head (id y:_) :: Int- , head (id 0:_) :: Int- , head (id 0:xs) :: Int- , head [id 0] :: Int- , head (id 0:_:_) :: Int- , head (id 1:_) :: Int- , head (id (ord _):_) :: Int- , head (id (id _):_) :: Int- , head (id (id _):xs) :: Int- , head [id (id _)] :: Int- , head (id (id _):_:_) :: Int- , head (id (id x):_) :: Int- , head (id (id 0):_) :: Int- , head (id (id (id _)):_) :: Int- , head (id (abs _):_) :: Int- , head (id (negate _):_) :: Int- , head (id (head _):_) :: Int- , head (id (_ + _):_) :: Int- , head (abs _:_) :: Int- , head (abs _:xs) :: Int- , head [abs _] :: Int- , head (abs _:_:_) :: Int- , head (abs x:_) :: Int- , head (abs 0:_) :: Int- , head (abs (id _):_) :: Int- , head (negate _:_) :: Int- , head (negate _:xs) :: Int- , head [negate _] :: Int- , head (negate _:_:_) :: Int- , head (negate x:_) :: Int- , head (negate 0:_) :: Int- , head (negate (id _):_) :: Int- , head (head _:_) :: Int- , head (head _:xs) :: Int- , head [head _] :: Int- , head (head _:_:_) :: Int- , head (head xs:_) :: Int- , head (head []:_) :: Int- , head (head (_:_):_) :: Int- , head (_ * _:_) :: Int- , head (_ + _:_) :: Int- , head (_ + _:xs) :: Int- , head [_ + _] :: Int- , head (_ + _:_:_) :: Int- , head (_ + x:_) :: Int- , head (_ + 0:_) :: Int- , head (_ + id _:_) :: Int- , head (x + _:_) :: Int- , head (0 + _:_) :: Int- , head (id _ + _:_) :: Int- , head (insert _ _) :: Int- , head (insert _ xs) :: Int- , head (insert _ []) :: Int- , head (insert _ (_:_)) :: Int- , head (insert x _) :: Int- , head (insert 0 _) :: Int- , head (insert (id _) _) :: Int- , head (_ ++ _) :: Int- , head (_ ++ xs) :: Int- , head (_ ++ ys) :: Int- , head (_ ++ []) :: Int- , head (_ ++ [0]) :: Int- , head (_ ++ tail _) :: Int- , head (_ ++ (_:_)) :: Int- , head (_ ++ (_:xs)) :: Int- , head (_ ++ [_]) :: Int- , head (_ ++ (_:_:_)) :: Int- , head (_ ++ (x:_)) :: Int- , head (_ ++ (0:_)) :: Int- , head (_ ++ (id _:_)) :: Int- , head (_ ++ (_ ++ _)) :: Int- , head (xs ++ _) :: Int- , head (xs ++ xs) :: Int- , head (xs ++ []) :: Int- , head (xs ++ (_:_)) :: Int- , head (ys ++ _) :: Int- , head ([] ++ _) :: Int- , head ([] ++ xs) :: Int- , head ([] ++ []) :: Int- , head ([] ++ (_:_)) :: Int- , head ([0] ++ _) :: Int- , head (tail _ ++ _) :: Int- , head ((_:_) ++ _) :: Int- , head ((_:_) ++ xs) :: Int- , head ((_:_) ++ []) :: Int- , head ((_:_) ++ (_:_)) :: Int- , head ((_:xs) ++ _) :: Int- , head ([_] ++ _) :: Int- , head ((_:_:_) ++ _) :: Int- , head ((x:_) ++ _) :: Int- , head ((0:_) ++ _) :: Int- , head ((id _:_) ++ _) :: Int- , head ((_ ++ _) ++ _) :: Int- , sort _ :: [Int]- , sort xs :: [Int]- , sort ys :: [Int]- , sort [] :: [Int]- , sort [0] :: [Int]- , sort (tail _) :: [Int]- , sort (_:_) :: [Int]- , sort (_:xs) :: [Int]- , sort [_] :: [Int]- , sort (_:_:_) :: [Int]- , sort (x:_) :: [Int]- , sort (0:_) :: [Int]- , sort (id _:_) :: [Int]- , sort (_ ++ _) :: [Int]- , tail _ :: [Int]- , tail xs :: [Int]- , tail ys :: [Int]- , tail zs :: [Int]- , tail [] :: [Int]- , tail [0] :: [Int]- , tail [1] :: [Int]- , tail [0,0] :: [Int]- , tail (sort _) :: [Int]- , tail (tail _) :: [Int]- , tail (tail xs) :: [Int]- , tail (tail []) :: [Int]- , tail (tail (_:_)) :: [Int]- , tail (_:_) :: [Int]- , tail (_:xs) :: [Int]- , tail (_:ys) :: [Int]- , tail [_] :: [Int]- , tail [_,0] :: [Int]- , tail (_:tail _) :: [Int]- , tail (_:_:_) :: [Int]- , tail (_:_:xs) :: [Int]- , tail [_,_] :: [Int]- , tail (_:_:_:_) :: [Int]- , tail (_:x:_) :: [Int]- , tail (_:0:_) :: [Int]- , tail (_:id _:_) :: [Int]- , tail (_:(_ ++ _)) :: [Int]- , tail (x:_) :: [Int]- , tail (x:xs) :: [Int]- , tail [x] :: [Int]- , tail (x:_:_) :: [Int]- , tail (y:_) :: [Int]- , tail (0:_) :: [Int]- , tail (0:xs) :: [Int]- , tail [0] :: [Int]- , tail (0:_:_) :: [Int]- , tail (1:_) :: [Int]- , tail (ord _:_) :: [Int]- , tail (id _:_) :: [Int]- , tail (id _:xs) :: [Int]- , tail [id _] :: [Int]- , tail (id _:_:_) :: [Int]- , tail (id x:_) :: [Int]- , tail (id 0:_) :: [Int]- , tail (id (id _):_) :: [Int]- , tail (abs _:_) :: [Int]- , tail (negate _:_) :: [Int]- , tail (head _:_) :: [Int]- , tail (_ + _:_) :: [Int]- , tail (insert _ _) :: [Int]- , tail (_ ++ _) :: [Int]- , tail (_ ++ xs) :: [Int]- , tail (_ ++ []) :: [Int]- , tail (_ ++ (_:_)) :: [Int]- , tail (xs ++ _) :: [Int]- , tail ([] ++ _) :: [Int]- , tail ((_:_) ++ _) :: [Int]- , (_ &&) :: Bool -> Bool- , (p &&) :: Bool -> Bool- , (False &&) :: Bool -> Bool- , (True &&) :: Bool -> Bool- , (not _ &&) :: Bool -> Bool- , (_ ||) :: Bool -> Bool- , (p ||) :: Bool -> Bool- , (q ||) :: Bool -> Bool- , (False ||) :: Bool -> Bool- , (True ||) :: Bool -> Bool- , (not _ ||) :: Bool -> Bool- , (not p ||) :: Bool -> Bool- , (not False ||) :: Bool -> Bool- , (not True ||) :: Bool -> Bool- , (not (not _) ||) :: Bool -> Bool- , ((_ || _) ||) :: Bool -> Bool- , (_ ==>) :: Bool -> Bool- , (_ *) :: Int -> Int- , (x *) :: Int -> Int- , (y *) :: Int -> Int- , (0 *) :: Int -> Int- , (1 *) :: Int -> Int- , (ord _ *) :: Int -> Int- , (id _ *) :: Int -> Int- , (id x *) :: Int -> Int- , (id 0 *) :: Int -> Int- , (id (id _) *) :: Int -> Int- , (abs _ *) :: Int -> Int- , (negate _ *) :: Int -> Int- , (head _ *) :: Int -> Int- , ((_ + _) *) :: Int -> Int- , (_ +) :: Int -> Int- , (x +) :: Int -> Int- , (y +) :: Int -> Int- , (z +) :: Int -> Int- , (0 +) :: Int -> Int- , (1 +) :: Int -> Int- , ((-1) +) :: Int -> Int- , (f _ +) :: Int -> Int- , (ord _ +) :: Int -> Int- , (ord c +) :: Int -> Int- , (ord 'a' +) :: Int -> Int- , (id _ +) :: Int -> Int- , (id x +) :: Int -> Int- , (id y +) :: Int -> Int- , (id 0 +) :: Int -> Int- , (id 1 +) :: Int -> Int- , (id (ord _) +) :: Int -> Int- , (id (id _) +) :: Int -> Int- , (id (id x) +) :: Int -> Int- , (id (id 0) +) :: Int -> Int- , (id (id (id _)) +) :: Int -> Int- , (id (abs _) +) :: Int -> Int- , (id (negate _) +) :: Int -> Int- , (id (head _) +) :: Int -> Int- , (id (_ + _) +) :: Int -> Int- , (abs _ +) :: Int -> Int- , (abs x +) :: Int -> Int- , (abs 0 +) :: Int -> Int- , (abs (id _) +) :: Int -> Int- , (negate _ +) :: Int -> Int- , (negate x +) :: Int -> Int- , (negate 0 +) :: Int -> Int- , (negate (id _) +) :: Int -> Int- , (head _ +) :: Int -> Int- , (head xs +) :: Int -> Int- , (head [] +) :: Int -> Int- , (head (_:_) +) :: Int -> Int- , (_ * _ +) :: Int -> Int- , ((_ + _) +) :: Int -> Int- , ((_ + x) +) :: Int -> Int- , ((_ + 0) +) :: Int -> Int- , ((_ + id _) +) :: Int -> Int- , ((x + _) +) :: Int -> Int- , ((0 + _) +) :: Int -> Int- , ((id _ + _) +) :: Int -> Int- , _ < _ :: Bool- , _ && _ :: Bool- , _ && p :: Bool- , _ && q :: Bool- , _ && False :: Bool- , _ && True :: Bool- , _ && not _ :: Bool- , _ && not p :: Bool- , _ && not False :: Bool- , _ && not True :: Bool- , _ && not (not _) :: Bool- , _ && (_ || _) :: Bool- , p && _ :: Bool- , p && p :: Bool- , p && False :: Bool- , p && True :: Bool- , p && not _ :: Bool- , q && _ :: Bool- , False && _ :: Bool- , False && p :: Bool- , False && False :: Bool- , False && True :: Bool- , False && not _ :: Bool- , True && _ :: Bool- , True && p :: Bool- , True && False :: Bool- , True && True :: Bool- , True && not _ :: Bool- , not _ && _ :: Bool- , not _ && p :: Bool- , not _ && False :: Bool- , not _ && True :: Bool- , not _ && not _ :: Bool- , not p && _ :: Bool- , not False && _ :: Bool- , not True && _ :: Bool- , not (not _) && _ :: Bool- , (_ || _) && _ :: Bool- , _ <= _ :: Bool- , _ <= p :: Bool- , _ <= False :: Bool- , _ <= True :: Bool- , _ <= not _ :: Bool- , p <= _ :: Bool- , False <= _ :: Bool- , True <= _ :: Bool- , not _ <= _ :: Bool- , _ == _ :: Bool- , _ == p :: Bool- , _ == q :: Bool- , _ == False :: Bool- , _ == True :: Bool- , _ == not _ :: Bool- , _ == not p :: Bool- , _ == not False :: Bool- , _ == not True :: Bool- , _ == not (not _) :: Bool- , _ == (_ || _) :: Bool- , p == _ :: Bool- , p == p :: Bool- , p == False :: Bool- , p == True :: Bool- , p == not _ :: Bool- , q == _ :: Bool- , False == _ :: Bool- , False == p :: Bool- , False == False :: Bool- , False == True :: Bool- , False == not _ :: Bool- , True == _ :: Bool- , True == p :: Bool- , True == False :: Bool- , True == True :: Bool- , True == not _ :: Bool- , not _ == _ :: Bool- , not _ == p :: Bool- , not _ == False :: Bool- , not _ == True :: Bool- , not _ == not _ :: Bool- , not p == _ :: Bool- , not False == _ :: Bool- , not True == _ :: Bool- , not (not _) == _ :: Bool- , (_ || _) == _ :: Bool- , _ || _ :: Bool- , _ || p :: Bool- , _ || q :: Bool- , _ || r :: Bool- , _ || False :: Bool- , _ || True :: Bool- , _ || not _ :: Bool- , _ || not p :: Bool- , _ || not q :: Bool- , _ || not False :: Bool- , _ || not True :: Bool- , _ || not (not _) :: Bool- , _ || not (not p) :: Bool- , _ || not (not False) :: Bool- , _ || not (not True) :: Bool- , _ || not (not (not _)) :: Bool- , _ || not (_ || _) :: Bool- , _ || odd _ :: Bool- , _ || even _ :: Bool- , _ || _ && _ :: Bool- , _ || _ == _ :: Bool- , _ || (_ || _) :: Bool- , _ || (_ || p) :: Bool- , _ || (_ || False) :: Bool- , _ || (_ || True) :: Bool- , _ || (_ || not _) :: Bool- , _ || (p || _) :: Bool- , _ || (False || _) :: Bool- , _ || (True || _) :: Bool- , _ || (not _ || _) :: Bool- , _ || _ == _ :: Bool- , _ || elem _ _ :: Bool- , p || _ :: Bool- , p || p :: Bool- , p || q :: Bool- , p || False :: Bool- , p || True :: Bool- , p || not _ :: Bool- , p || not p :: Bool- , p || not False :: Bool- , p || not True :: Bool- , p || not (not _) :: Bool- , p || (_ || _) :: Bool- , q || _ :: Bool- , q || p :: Bool- , q || False :: Bool- , q || True :: Bool- , q || not _ :: Bool- , r || _ :: Bool- , False || _ :: Bool- , False || p :: Bool- , False || q :: Bool- , False || False :: Bool- , False || True :: Bool- , False || not _ :: Bool- , False || not p :: Bool- , False || not False :: Bool- , False || not True :: Bool- , False || not (not _) :: Bool- , False || (_ || _) :: Bool- , True || _ :: Bool- , True || p :: Bool- , True || q :: Bool- , True || False :: Bool- , True || True :: Bool- , True || not _ :: Bool- , True || not p :: Bool- , True || not False :: Bool- , True || not True :: Bool- , True || not (not _) :: Bool- , True || (_ || _) :: Bool- , not _ || _ :: Bool- , not _ || p :: Bool- , not _ || q :: Bool- , not _ || False :: Bool- , not _ || True :: Bool- , not _ || not _ :: Bool- , not _ || not p :: Bool- , not _ || not False :: Bool- , not _ || not True :: Bool- , not _ || not (not _) :: Bool- , not _ || (_ || _) :: Bool- , not p || _ :: Bool- , not p || p :: Bool- , not p || False :: Bool- , not p || True :: Bool- , not p || not _ :: Bool- , not q || _ :: Bool- , not False || _ :: Bool- , not False || p :: Bool- , not False || False :: Bool- , not False || True :: Bool- , not False || not _ :: Bool- , not True || _ :: Bool- , not True || p :: Bool- , not True || False :: Bool- , not True || True :: Bool- , not True || not _ :: Bool- , not (not _) || _ :: Bool- , not (not _) || p :: Bool- , not (not _) || False :: Bool- , not (not _) || True :: Bool- , not (not _) || not _ :: Bool- , not (not p) || _ :: Bool- , not (not False) || _ :: Bool- , not (not True) || _ :: Bool- , not (not (not _)) || _ :: Bool- , not (_ || _) || _ :: Bool- , odd _ || _ :: Bool- , even _ || _ :: Bool- , _ && _ || _ :: Bool- , _ == _ || _ :: Bool- , (_ || _) || _ :: Bool- , (_ || _) || p :: Bool- , (_ || _) || False :: Bool- , (_ || _) || True :: Bool- , (_ || _) || not _ :: Bool- , (_ || p) || _ :: Bool- , (_ || False) || _ :: Bool- , (_ || True) || _ :: Bool- , (_ || not _) || _ :: Bool- , (p || _) || _ :: Bool- , (False || _) || _ :: Bool- , (True || _) || _ :: Bool- , (not _ || _) || _ :: Bool- , _ == _ || _ :: Bool- , elem _ _ || _ :: Bool- , _ ==> _ :: Bool- , _ ==> p :: Bool- , _ ==> False :: Bool- , _ ==> True :: Bool- , _ ==> not _ :: Bool- , p ==> _ :: Bool- , False ==> _ :: Bool- , True ==> _ :: Bool- , not _ ==> _ :: Bool- , _ < _ :: Bool- , _ <= _ :: Bool- , _ <= x :: Bool- , _ <= 0 :: Bool- , _ <= id _ :: Bool- , x <= _ :: Bool- , 0 <= _ :: Bool- , id _ <= _ :: Bool- , _ == _ :: Bool- , _ == x :: Bool- , _ == y :: Bool- , _ == 0 :: Bool- , _ == 1 :: Bool- , _ == ord _ :: Bool- , _ == id _ :: Bool- , _ == id x :: Bool- , _ == id 0 :: Bool- , _ == id (id _) :: Bool- , _ == abs _ :: Bool- , _ == negate _ :: Bool- , _ == head _ :: Bool- , _ == _ + _ :: Bool- , x == _ :: Bool- , x == x :: Bool- , x == 0 :: Bool- , x == id _ :: Bool- , y == _ :: Bool- , 0 == _ :: Bool- , 0 == x :: Bool- , 0 == 0 :: Bool- , 0 == id _ :: Bool- , 1 == _ :: Bool- , ord _ == _ :: Bool- , id _ == _ :: Bool- , id _ == x :: Bool- , id _ == 0 :: Bool- , id _ == id _ :: Bool- , id x == _ :: Bool- , id 0 == _ :: Bool- , id (id _) == _ :: Bool- , abs _ == _ :: Bool- , negate _ == _ :: Bool- , head _ == _ :: Bool- , _ + _ == _ :: Bool- , _ * _ :: Int- , _ * x :: Int- , _ * y :: Int- , _ * z :: Int- , _ * 0 :: Int- , _ * 1 :: Int- , _ * (-1) :: Int- , _ * f _ :: Int- , _ * ord _ :: Int- , _ * ord c :: Int- , _ * ord 'a' :: Int- , _ * id _ :: Int- , _ * id x :: Int- , _ * id y :: Int- , _ * id 0 :: Int- , _ * id 1 :: Int- , _ * id (ord _) :: Int- , _ * id (id _) :: Int- , _ * id (id x) :: Int- , _ * id (id 0) :: Int- , _ * id (id (id _)) :: Int- , _ * id (abs _) :: Int- , _ * id (negate _) :: Int- , _ * id (head _) :: Int- , _ * id (_ + _) :: Int- , _ * abs _ :: Int- , _ * abs x :: Int- , _ * abs 0 :: Int- , _ * abs (id _) :: Int- , _ * negate _ :: Int- , _ * negate x :: Int- , _ * negate 0 :: Int- , _ * negate (id _) :: Int- , _ * head _ :: Int- , _ * head xs :: Int- , _ * head [] :: Int- , _ * head (_:_) :: Int- , _ * (_ * _) :: Int- , _ * (_ + _) :: Int- , _ * (_ + x) :: Int- , _ * (_ + 0) :: Int- , _ * (_ + id _) :: Int- , _ * (x + _) :: Int- , _ * (0 + _) :: Int- , _ * (id _ + _) :: Int- , x * _ :: Int- , x * x :: Int- , x * y :: Int- , x * 0 :: Int- , x * 1 :: Int- , x * ord _ :: Int- , x * id _ :: Int- , x * id x :: Int- , x * id 0 :: Int- , x * id (id _) :: Int- , x * abs _ :: Int- , x * negate _ :: Int- , x * head _ :: Int- , x * (_ + _) :: Int- , y * _ :: Int- , y * x :: Int- , y * 0 :: Int- , y * id _ :: Int- , z * _ :: Int- , 0 * _ :: Int- , 0 * x :: Int- , 0 * y :: Int- , 0 * 0 :: Int- , 0 * 1 :: Int- , 0 * ord _ :: Int- , 0 * id _ :: Int- , 0 * id x :: Int- , 0 * id 0 :: Int- , 0 * id (id _) :: Int- , 0 * abs _ :: Int- , 0 * negate _ :: Int- , 0 * head _ :: Int- , 0 * (_ + _) :: Int- , 1 * _ :: Int- , 1 * x :: Int- , 1 * 0 :: Int- , 1 * id _ :: Int- , (-1) * _ :: Int- , f _ * _ :: Int- , ord _ * _ :: Int- , ord _ * x :: Int- , ord _ * 0 :: Int- , ord _ * id _ :: Int- , ord c * _ :: Int- , ord 'a' * _ :: Int- , id _ * _ :: Int- , id _ * x :: Int- , id _ * y :: Int- , id _ * 0 :: Int- , id _ * 1 :: Int- , id _ * ord _ :: Int- , id _ * id _ :: Int- , id _ * id x :: Int- , id _ * id 0 :: Int- , id _ * id (id _) :: Int- , id _ * abs _ :: Int- , id _ * negate _ :: Int- , id _ * head _ :: Int- , id _ * (_ + _) :: Int- , id x * _ :: Int- , id x * x :: Int- , id x * 0 :: Int- , id x * id _ :: Int- , id y * _ :: Int- , id 0 * _ :: Int- , id 0 * x :: Int- , id 0 * 0 :: Int- , id 0 * id _ :: Int- , id 1 * _ :: Int- , id (ord _) * _ :: Int- , id (id _) * _ :: Int- , id (id _) * x :: Int- , id (id _) * 0 :: Int- , id (id _) * id _ :: Int- , id (id x) * _ :: Int- , id (id 0) * _ :: Int- , id (id (id _)) * _ :: Int- , id (abs _) * _ :: Int- , id (negate _) * _ :: Int- , id (head _) * _ :: Int- , id (_ + _) * _ :: Int- , abs _ * _ :: Int- , abs _ * x :: Int- , abs _ * 0 :: Int- , abs _ * id _ :: Int- , abs x * _ :: Int- , abs 0 * _ :: Int- , abs (id _) * _ :: Int- , negate _ * _ :: Int- , negate _ * x :: Int- , negate _ * 0 :: Int- , negate _ * id _ :: Int- , negate x * _ :: Int- , negate 0 * _ :: Int- , negate (id _) * _ :: Int- , head _ * _ :: Int- , head _ * x :: Int- , head _ * 0 :: Int- , head _ * id _ :: Int- , head xs * _ :: Int- , head [] * _ :: Int- , head (_:_) * _ :: Int- , (_ * _) * _ :: Int- , (_ + _) * _ :: Int- , (_ + _) * x :: Int- , (_ + _) * 0 :: Int- , (_ + _) * id _ :: Int- , (_ + x) * _ :: Int- , (_ + 0) * _ :: Int- , (_ + id _) * _ :: Int- , (x + _) * _ :: Int- , (0 + _) * _ :: Int- , (id _ + _) * _ :: Int- , _ + _ :: Int- , _ + x :: Int- , _ + y :: Int- , _ + z :: Int- , _ + x' :: Int- , _ + 0 :: Int- , _ + 1 :: Int- , _ + 2 :: Int- , _ + (-1) :: Int- , _ + f _ :: Int- , _ + f x :: Int- , _ + f 0 :: Int- , _ + f (id _) :: Int- , _ + g _ :: Int- , _ + ord _ :: Int- , _ + ord c :: Int- , _ + ord d :: Int- , _ + ord ' ' :: Int- , _ + ord 'a' :: Int- , _ + id _ :: Int- , _ + id x :: Int- , _ + id y :: Int- , _ + id z :: Int- , _ + id 0 :: Int- , _ + id 1 :: Int- , _ + id (-1) :: Int- , _ + id (f _) :: Int- , _ + id (ord _) :: Int- , _ + id (ord c) :: Int- , _ + id (ord 'a') :: Int- , _ + id (id _) :: Int- , _ + id (id x) :: Int- , _ + id (id y) :: Int- , _ + id (id 0) :: Int- , _ + id (id 1) :: Int- , _ + id (id (ord _)) :: Int- , _ + id (id (id _)) :: Int- , _ + id (id (id x)) :: Int- , _ + id (id (id 0)) :: Int- , _ + id (id (id (id _))) :: Int- , _ + id (id (abs _)) :: Int- , _ + id (id (negate _)) :: Int- , _ + id (id (head _)) :: Int- , _ + id (id (_ + _)) :: Int- , _ + id (abs _) :: Int- , _ + id (abs x) :: Int- , _ + id (abs 0) :: Int- , _ + id (abs (id _)) :: Int- , _ + id (negate _) :: Int- , _ + id (negate x) :: Int- , _ + id (negate 0) :: Int- , _ + id (negate (id _)) :: Int- , _ + id (head _) :: Int- , _ + id (head xs) :: Int- , _ + id (head []) :: Int- , _ + id (head (_:_)) :: Int- , _ + id (_ * _) :: Int- , _ + id (_ + _) :: Int- , _ + id (_ + x) :: Int- , _ + id (_ + 0) :: Int- , _ + id (_ + id _) :: Int- , _ + id (x + _) :: Int- , _ + id (0 + _) :: Int- , _ + id (id _ + _) :: Int- , _ + abs _ :: Int- , _ + abs x :: Int- , _ + abs y :: Int- , _ + abs 0 :: Int- , _ + abs 1 :: Int- , _ + abs (ord _) :: Int- , _ + abs (id _) :: Int- , _ + abs (id x) :: Int- , _ + abs (id 0) :: Int- , _ + abs (id (id _)) :: Int- , _ + abs (abs _) :: Int- , _ + abs (negate _) :: Int- , _ + abs (head _) :: Int- , _ + abs (_ + _) :: Int- , _ + negate _ :: Int- , _ + negate x :: Int- , _ + negate y :: Int- , _ + negate 0 :: Int- , _ + negate 1 :: Int- , _ + negate (ord _) :: Int- , _ + negate (id _) :: Int- , _ + negate (id x) :: Int- , _ + negate (id 0) :: Int- , _ + negate (id (id _)) :: Int- , _ + negate (abs _) :: Int- , _ + negate (negate _) :: Int- , _ + negate (head _) :: Int- , _ + negate (_ + _) :: Int- , _ + head _ :: Int- , _ + head xs :: Int- , _ + head ys :: Int- , _ + head [] :: Int- , _ + head [0] :: Int- , _ + head (tail _) :: Int- , _ + head (_:_) :: Int- , _ + head (_:xs) :: Int- , _ + head [_] :: Int- , _ + head (_:_:_) :: Int- , _ + head (x:_) :: Int- , _ + head (0:_) :: Int- , _ + head (id _:_) :: Int- , _ + head (_ ++ _) :: Int- , _ + _ * _ :: Int- , _ + _ * x :: Int- , _ + _ * 0 :: Int- , _ + _ * id _ :: Int- , _ + x * _ :: Int- , _ + 0 * _ :: Int- , _ + id _ * _ :: Int- , _ + (_ + _) :: Int- , _ + (_ + x) :: Int- , _ + (_ + y) :: Int- , _ + (_ + 0) :: Int- , _ + (_ + 1) :: Int- , _ + (_ + ord _) :: Int- , _ + (_ + id _) :: Int- , _ + (_ + id x) :: Int- , _ + (_ + id 0) :: Int- , _ + (_ + id (id _)) :: Int- , _ + (_ + abs _) :: Int- , _ + (_ + negate _) :: Int- , _ + (_ + head _) :: Int- , _ + (_ + (_ + _)) :: Int- , _ + (x + _) :: Int- , _ + (x + x) :: Int- , _ + (x + 0) :: Int- , _ + (x + id _) :: Int- , _ + (y + _) :: Int- , _ + (0 + _) :: Int- , _ + (0 + x) :: Int- , _ + (0 + 0) :: Int- , _ + (0 + id _) :: Int- , _ + (1 + _) :: Int- , _ + (ord _ + _) :: Int- , _ + (id _ + _) :: Int- , _ + (id _ + x) :: Int- , _ + (id _ + 0) :: Int- , _ + (id _ + id _) :: Int- , _ + (id x + _) :: Int- , _ + (id 0 + _) :: Int- , _ + (id (id _) + _) :: Int- , _ + (abs _ + _) :: Int- , _ + (negate _ + _) :: Int- , _ + (head _ + _) :: Int- , _ + ((_ + _) + _) :: Int- , x + _ :: Int- , x + x :: Int- , x + y :: Int- , x + z :: Int- , x + 0 :: Int- , x + 1 :: Int- , x + (-1) :: Int- , x + f _ :: Int- , x + ord _ :: Int- , x + ord c :: Int- , x + ord 'a' :: Int- , x + id _ :: Int- , x + id x :: Int- , x + id y :: Int- , x + id 0 :: Int- , x + id 1 :: Int- , x + id (ord _) :: Int- , x + id (id _) :: Int- , x + id (id x) :: Int- , x + id (id 0) :: Int- , x + id (id (id _)) :: Int- , x + id (abs _) :: Int- , x + id (negate _) :: Int- , x + id (head _) :: Int- , x + id (_ + _) :: Int- , x + abs _ :: Int- , x + abs x :: Int- , x + abs 0 :: Int- , x + abs (id _) :: Int- , x + negate _ :: Int- , x + negate x :: Int- , x + negate 0 :: Int- , x + negate (id _) :: Int- , x + head _ :: Int- , x + head xs :: Int- , x + head [] :: Int- , x + head (_:_) :: Int- , x + _ * _ :: Int- , x + (_ + _) :: Int- , x + (_ + x) :: Int- , x + (_ + 0) :: Int- , x + (_ + id _) :: Int- , x + (x + _) :: Int- , x + (0 + _) :: Int- , x + (id _ + _) :: Int- , y + _ :: Int- , y + x :: Int- , y + y :: Int- , y + 0 :: Int- , y + 1 :: Int- , y + ord _ :: Int- , y + id _ :: Int- , y + id x :: Int- , y + id 0 :: Int- , y + id (id _) :: Int- , y + abs _ :: Int- , y + negate _ :: Int- , y + head _ :: Int- , y + (_ + _) :: Int- , z + _ :: Int- , z + x :: Int- , z + 0 :: Int- , z + id _ :: Int- , x' + _ :: Int- , 0 + _ :: Int- , 0 + x :: Int- , 0 + y :: Int- , 0 + z :: Int- , 0 + 0 :: Int- , 0 + 1 :: Int- , 0 + (-1) :: Int- , 0 + f _ :: Int- , 0 + ord _ :: Int- , 0 + ord c :: Int- , 0 + ord 'a' :: Int- , 0 + id _ :: Int- , 0 + id x :: Int- , 0 + id y :: Int- , 0 + id 0 :: Int- , 0 + id 1 :: Int- , 0 + id (ord _) :: Int- , 0 + id (id _) :: Int- , 0 + id (id x) :: Int- , 0 + id (id 0) :: Int- , 0 + id (id (id _)) :: Int- , 0 + id (abs _) :: Int- , 0 + id (negate _) :: Int- , 0 + id (head _) :: Int- , 0 + id (_ + _) :: Int- , 0 + abs _ :: Int- , 0 + abs x :: Int- , 0 + abs 0 :: Int- , 0 + abs (id _) :: Int- , 0 + negate _ :: Int- , 0 + negate x :: Int- , 0 + negate 0 :: Int- , 0 + negate (id _) :: Int- , 0 + head _ :: Int- , 0 + head xs :: Int- , 0 + head [] :: Int- , 0 + head (_:_) :: Int- , 0 + _ * _ :: Int- , 0 + (_ + _) :: Int- , 0 + (_ + x) :: Int- , 0 + (_ + 0) :: Int- , 0 + (_ + id _) :: Int- , 0 + (x + _) :: Int- , 0 + (0 + _) :: Int- , 0 + (id _ + _) :: Int- , 1 + _ :: Int- , 1 + x :: Int- , 1 + y :: Int- , 1 + 0 :: Int- , 1 + 1 :: Int- , 1 + ord _ :: Int- , 1 + id _ :: Int- , 1 + id x :: Int- , 1 + id 0 :: Int- , 1 + id (id _) :: Int- , 1 + abs _ :: Int- , 1 + negate _ :: Int- , 1 + head _ :: Int- , 1 + (_ + _) :: Int- , 2 + _ :: Int- , (-1) + _ :: Int- , (-1) + x :: Int- , (-1) + 0 :: Int- , (-1) + id _ :: Int- , f _ + _ :: Int- , f _ + x :: Int- , f _ + 0 :: Int- , f _ + id _ :: Int- , f x + _ :: Int- , f 0 + _ :: Int- , f (id _) + _ :: Int- , g _ + _ :: Int- , ord _ + _ :: Int- , ord _ + x :: Int- , ord _ + y :: Int- , ord _ + 0 :: Int- , ord _ + 1 :: Int- , ord _ + ord _ :: Int- , ord _ + id _ :: Int- , ord _ + id x :: Int- , ord _ + id 0 :: Int- , ord _ + id (id _) :: Int- , ord _ + abs _ :: Int- , ord _ + negate _ :: Int- , ord _ + head _ :: Int- , ord _ + (_ + _) :: Int- , ord c + _ :: Int- , ord c + x :: Int- , ord c + 0 :: Int- , ord c + id _ :: Int- , ord d + _ :: Int- , ord ' ' + _ :: Int- , ord 'a' + _ :: Int- , ord 'a' + x :: Int- , ord 'a' + 0 :: Int- , ord 'a' + id _ :: Int- , id _ + _ :: Int- , id _ + x :: Int- , id _ + y :: Int- , id _ + z :: Int- , id _ + 0 :: Int- , id _ + 1 :: Int- , id _ + (-1) :: Int- , id _ + f _ :: Int- , id _ + ord _ :: Int- , id _ + ord c :: Int- , id _ + ord 'a' :: Int- , id _ + id _ :: Int- , id _ + id x :: Int- , id _ + id y :: Int- , id _ + id 0 :: Int- , id _ + id 1 :: Int- , id _ + id (ord _) :: Int- , id _ + id (id _) :: Int- , id _ + id (id x) :: Int- , id _ + id (id 0) :: Int- , id _ + id (id (id _)) :: Int- , id _ + id (abs _) :: Int- , id _ + id (negate _) :: Int- , id _ + id (head _) :: Int- , id _ + id (_ + _) :: Int- , id _ + abs _ :: Int- , id _ + abs x :: Int- , id _ + abs 0 :: Int- , id _ + abs (id _) :: Int- , id _ + negate _ :: Int- , id _ + negate x :: Int- , id _ + negate 0 :: Int- , id _ + negate (id _) :: Int- , id _ + head _ :: Int- , id _ + head xs :: Int- , id _ + head [] :: Int- , id _ + head (_:_) :: Int- , id _ + _ * _ :: Int- , id _ + (_ + _) :: Int- , id _ + (_ + x) :: Int- , id _ + (_ + 0) :: Int- , id _ + (_ + id _) :: Int- , id _ + (x + _) :: Int- , id _ + (0 + _) :: Int- , id _ + (id _ + _) :: Int- , id x + _ :: Int- , id x + x :: Int- , id x + y :: Int- , id x + 0 :: Int- , id x + 1 :: Int- , id x + ord _ :: Int- , id x + id _ :: Int- , id x + id x :: Int- , id x + id 0 :: Int- , id x + id (id _) :: Int- , id x + abs _ :: Int- , id x + negate _ :: Int- , id x + head _ :: Int- , id x + (_ + _) :: Int- , id y + _ :: Int- , id y + x :: Int- , id y + 0 :: Int- , id y + id _ :: Int- , id z + _ :: Int- , id 0 + _ :: Int- , id 0 + x :: Int- , id 0 + y :: Int- , id 0 + 0 :: Int- , id 0 + 1 :: Int- , id 0 + ord _ :: Int- , id 0 + id _ :: Int- , id 0 + id x :: Int- , id 0 + id 0 :: Int- , id 0 + id (id _) :: Int- , id 0 + abs _ :: Int- , id 0 + negate _ :: Int- , id 0 + head _ :: Int- , id 0 + (_ + _) :: Int- , id 1 + _ :: Int- , id 1 + x :: Int- , id 1 + 0 :: Int- , id 1 + id _ :: Int- , id (-1) + _ :: Int- , id (f _) + _ :: Int- , id (ord _) + _ :: Int- , id (ord _) + x :: Int- , id (ord _) + 0 :: Int- , id (ord _) + id _ :: Int- , id (ord c) + _ :: Int- , id (ord 'a') + _ :: Int- , id (id _) + _ :: Int- , id (id _) + x :: Int- , id (id _) + y :: Int- , id (id _) + 0 :: Int- , id (id _) + 1 :: Int- , id (id _) + ord _ :: Int- , id (id _) + id _ :: Int- , id (id _) + id x :: Int- , id (id _) + id 0 :: Int- , id (id _) + id (id _) :: Int- , id (id _) + abs _ :: Int- , id (id _) + negate _ :: Int- , id (id _) + head _ :: Int- , id (id _) + (_ + _) :: Int- , id (id x) + _ :: Int- , id (id x) + x :: Int- , id (id x) + 0 :: Int- , id (id x) + id _ :: Int- , id (id y) + _ :: Int- , id (id 0) + _ :: Int- , id (id 0) + x :: Int- , id (id 0) + 0 :: Int- , id (id 0) + id _ :: Int- , id (id 1) + _ :: Int- , id (id (ord _)) + _ :: Int- , id (id (id _)) + _ :: Int- , id (id (id _)) + x :: Int- , id (id (id _)) + 0 :: Int- , id (id (id _)) + id _ :: Int- , id (id (id x)) + _ :: Int- , id (id (id 0)) + _ :: Int- , id (id (id (id _))) + _ :: Int- , id (id (abs _)) + _ :: Int- , id (id (negate _)) + _ :: Int- , id (id (head _)) + _ :: Int- , id (id (_ + _)) + _ :: Int- , id (abs _) + _ :: Int- , id (abs _) + x :: Int- , id (abs _) + 0 :: Int- , id (abs _) + id _ :: Int- , id (abs x) + _ :: Int- , id (abs 0) + _ :: Int- , id (abs (id _)) + _ :: Int- , id (negate _) + _ :: Int- , id (negate _) + x :: Int- , id (negate _) + 0 :: Int- , id (negate _) + id _ :: Int- , id (negate x) + _ :: Int- , id (negate 0) + _ :: Int- , id (negate (id _)) + _ :: Int- , id (head _) + _ :: Int- , id (head _) + x :: Int- , id (head _) + 0 :: Int- , id (head _) + id _ :: Int- , id (head xs) + _ :: Int- , id (head []) + _ :: Int- , id (head (_:_)) + _ :: Int- , id (_ * _) + _ :: Int- , id (_ + _) + _ :: Int- , id (_ + _) + x :: Int- , id (_ + _) + 0 :: Int- , id (_ + _) + id _ :: Int- , id (_ + x) + _ :: Int- , id (_ + 0) + _ :: Int- , id (_ + id _) + _ :: Int- , id (x + _) + _ :: Int- , id (0 + _) + _ :: Int- , id (id _ + _) + _ :: Int- , abs _ + _ :: Int- , abs _ + x :: Int- , abs _ + y :: Int- , abs _ + 0 :: Int- , abs _ + 1 :: Int- , abs _ + ord _ :: Int- , abs _ + id _ :: Int- , abs _ + id x :: Int- , abs _ + id 0 :: Int- , abs _ + id (id _) :: Int- , abs _ + abs _ :: Int- , abs _ + negate _ :: Int- , abs _ + head _ :: Int- , abs _ + (_ + _) :: Int- , abs x + _ :: Int- , abs x + x :: Int- , abs x + 0 :: Int- , abs x + id _ :: Int- , abs y + _ :: Int- , abs 0 + _ :: Int- , abs 0 + x :: Int- , abs 0 + 0 :: Int- , abs 0 + id _ :: Int- , abs 1 + _ :: Int- , abs (ord _) + _ :: Int- , abs (id _) + _ :: Int- , abs (id _) + x :: Int- , abs (id _) + 0 :: Int- , abs (id _) + id _ :: Int- , abs (id x) + _ :: Int- , abs (id 0) + _ :: Int- , abs (id (id _)) + _ :: Int- , abs (abs _) + _ :: Int- , abs (negate _) + _ :: Int- , abs (head _) + _ :: Int- , abs (_ + _) + _ :: Int- , negate _ + _ :: Int- , negate _ + x :: Int- , negate _ + y :: Int- , negate _ + 0 :: Int- , negate _ + 1 :: Int- , negate _ + ord _ :: Int- , negate _ + id _ :: Int- , negate _ + id x :: Int- , negate _ + id 0 :: Int- , negate _ + id (id _) :: Int- , negate _ + abs _ :: Int- , negate _ + negate _ :: Int- , negate _ + head _ :: Int- , negate _ + (_ + _) :: Int- , negate x + _ :: Int- , negate x + x :: Int- , negate x + 0 :: Int- , negate x + id _ :: Int- , negate y + _ :: Int- , negate 0 + _ :: Int- , negate 0 + x :: Int- , negate 0 + 0 :: Int- , negate 0 + id _ :: Int- , negate 1 + _ :: Int- , negate (ord _) + _ :: Int- , negate (id _) + _ :: Int- , negate (id _) + x :: Int- , negate (id _) + 0 :: Int- , negate (id _) + id _ :: Int- , negate (id x) + _ :: Int- , negate (id 0) + _ :: Int- , negate (id (id _)) + _ :: Int- , negate (abs _) + _ :: Int- , negate (negate _) + _ :: Int- , negate (head _) + _ :: Int- , negate (_ + _) + _ :: Int- , head _ + _ :: Int- , head _ + x :: Int- , head _ + y :: Int- , head _ + 0 :: Int- , head _ + 1 :: Int- , head _ + ord _ :: Int- , head _ + id _ :: Int- , head _ + id x :: Int- , head _ + id 0 :: Int- , head _ + id (id _) :: Int- , head _ + abs _ :: Int- , head _ + negate _ :: Int- , head _ + head _ :: Int- , head _ + (_ + _) :: Int- , head xs + _ :: Int- , head xs + x :: Int- , head xs + 0 :: Int- , head xs + id _ :: Int- , head ys + _ :: Int- , head [] + _ :: Int- , head [] + x :: Int- , head [] + 0 :: Int- , head [] + id _ :: Int- , head [0] + _ :: Int- , head (tail _) + _ :: Int- , head (_:_) + _ :: Int- , head (_:_) + x :: Int- , head (_:_) + 0 :: Int- , head (_:_) + id _ :: Int- , head (_:xs) + _ :: Int- , head [_] + _ :: Int- , head (_:_:_) + _ :: Int- , head (x:_) + _ :: Int- , head (0:_) + _ :: Int- , head (id _:_) + _ :: Int- , head (_ ++ _) + _ :: Int- , _ * _ + _ :: Int- , _ * _ + x :: Int- , _ * _ + 0 :: Int- , _ * _ + id _ :: Int- , _ * x + _ :: Int- , _ * 0 + _ :: Int- , _ * id _ + _ :: Int- , x * _ + _ :: Int- , 0 * _ + _ :: Int- , id _ * _ + _ :: Int- , (_ + _) + _ :: Int- , (_ + _) + x :: Int- , (_ + _) + y :: Int- , (_ + _) + 0 :: Int- , (_ + _) + 1 :: Int- , (_ + _) + ord _ :: Int- , (_ + _) + id _ :: Int- , (_ + _) + id x :: Int- , (_ + _) + id 0 :: Int- , (_ + _) + id (id _) :: Int- , (_ + _) + abs _ :: Int- , (_ + _) + negate _ :: Int- , (_ + _) + head _ :: Int- , (_ + _) + (_ + _) :: Int- , (_ + x) + _ :: Int- , (_ + x) + x :: Int- , (_ + x) + 0 :: Int- , (_ + x) + id _ :: Int- , (_ + y) + _ :: Int- , (_ + 0) + _ :: Int- , (_ + 0) + x :: Int- , (_ + 0) + 0 :: Int- , (_ + 0) + id _ :: Int- , (_ + 1) + _ :: Int- , (_ + ord _) + _ :: Int- , (_ + id _) + _ :: Int- , (_ + id _) + x :: Int- , (_ + id _) + 0 :: Int- , (_ + id _) + id _ :: Int- , (_ + id x) + _ :: Int- , (_ + id 0) + _ :: Int- , (_ + id (id _)) + _ :: Int- , (_ + abs _) + _ :: Int- , (_ + negate _) + _ :: Int- , (_ + head _) + _ :: Int- , (_ + (_ + _)) + _ :: Int- , (x + _) + _ :: Int- , (x + _) + x :: Int- , (x + _) + 0 :: Int- , (x + _) + id _ :: Int- , (x + x) + _ :: Int- , (x + 0) + _ :: Int- , (x + id _) + _ :: Int- , (y + _) + _ :: Int- , (0 + _) + _ :: Int- , (0 + _) + x :: Int- , (0 + _) + 0 :: Int- , (0 + _) + id _ :: Int- , (0 + x) + _ :: Int- , (0 + 0) + _ :: Int- , (0 + id _) + _ :: Int- , (1 + _) + _ :: Int- , (ord _ + _) + _ :: Int- , (id _ + _) + _ :: Int- , (id _ + _) + x :: Int- , (id _ + _) + 0 :: Int- , (id _ + _) + id _ :: Int- , (id _ + x) + _ :: Int- , (id _ + 0) + _ :: Int- , (id _ + id _) + _ :: Int- , (id x + _) + _ :: Int- , (id 0 + _) + _ :: Int- , (id (id _) + _) + _ :: Int- , (abs _ + _) + _ :: Int- , (negate _ + _) + _ :: Int- , (head _ + _) + _ :: Int- , ((_ + _) + _) + _ :: Int- , elem _ _ :: Bool- , elem _ xs :: Bool- , elem _ ys :: Bool- , elem _ [] :: Bool- , elem _ [0] :: Bool- , elem _ (tail _) :: Bool- , elem _ (_:_) :: Bool- , elem _ (_:xs) :: Bool- , elem _ [_] :: Bool- , elem _ (_:_:_) :: Bool- , elem _ (x:_) :: Bool- , elem _ (0:_) :: Bool- , elem _ (id _:_) :: Bool- , elem _ (_ ++ _) :: Bool- , elem x _ :: Bool- , elem x xs :: Bool- , elem x [] :: Bool- , elem x (_:_) :: Bool- , elem y _ :: Bool- , elem 0 _ :: Bool- , elem 0 xs :: Bool- , elem 0 [] :: Bool- , elem 0 (_:_) :: Bool- , elem 1 _ :: Bool- , elem (ord _) _ :: Bool- , elem (id _) _ :: Bool- , elem (id _) xs :: Bool- , elem (id _) [] :: Bool- , elem (id _) (_:_) :: Bool- , elem (id x) _ :: Bool- , elem (id 0) _ :: Bool- , elem (id (id _)) _ :: Bool- , elem (abs _) _ :: Bool- , elem (negate _) _ :: Bool- , elem (head _) _ :: Bool- , elem (_ + _) _ :: Bool- , _:_ :: [Int]- , _:xs :: [Int]- , _:ys :: [Int]- , _:zs :: [Int]- , _:xs' :: [Int]- , [_] :: [Int]- , [_,0] :: [Int]- , [_,1] :: [Int]- , [_,-1] :: [Int]- , [_,0,0] :: [Int]- , [_,0,1] :: [Int]- , [_,1,0] :: [Int]- , [_,0,0,0] :: [Int]- , _:sort _ :: [Int]- , _:sort xs :: [Int]- , _:sort [] :: [Int]- , _:sort (_:_) :: [Int]- , _:tail _ :: [Int]- , _:tail xs :: [Int]- , _:tail ys :: [Int]- , _:tail [] :: [Int]- , _:tail [0] :: [Int]- , _:tail (tail _) :: [Int]- , _:tail (_:_) :: [Int]- , _:tail (_:xs) :: [Int]- , _:tail [_] :: [Int]- , _:tail (_:_:_) :: [Int]- , _:tail (x:_) :: [Int]- , _:tail (0:_) :: [Int]- , _:tail (id _:_) :: [Int]- , _:tail (_ ++ _) :: [Int]- , _:_:_ :: [Int]- , _:_:xs :: [Int]- , _:_:ys :: [Int]- , _:_:zs :: [Int]- , [_,_] :: [Int]- , [_,_,0] :: [Int]- , [_,_,1] :: [Int]- , [_,_,0,0] :: [Int]- , _:_:sort _ :: [Int]- , _:_:tail _ :: [Int]- , _:_:tail xs :: [Int]- , _:_:tail [] :: [Int]- , _:_:tail (_:_) :: [Int]- , _:_:_:_ :: [Int]- , _:_:_:xs :: [Int]- , _:_:_:ys :: [Int]- , [_,_,_] :: [Int]- , [_,_,_,0] :: [Int]- , _:_:_:tail _ :: [Int]- , _:_:_:_:_ :: [Int]- , _:_:_:_:xs :: [Int]- , [_,_,_,_] :: [Int]- , _:_:_:_:_:_ :: [Int]- , _:_:_:x:_ :: [Int]- , _:_:_:0:_ :: [Int]- , _:_:_:id _:_ :: [Int]- , _:_:_:(_ ++ _) :: [Int]- , _:_:x:_ :: [Int]- , _:_:x:xs :: [Int]- , [_,_,x] :: [Int]- , _:_:x:_:_ :: [Int]- , _:_:y:_ :: [Int]- , _:_:0:_ :: [Int]- , _:_:0:xs :: [Int]- , [_,_,0] :: [Int]- , _:_:0:_:_ :: [Int]- , _:_:1:_ :: [Int]- , _:_:ord _:_ :: [Int]- , _:_:id _:_ :: [Int]- , _:_:id _:xs :: [Int]- , [_,_,id _] :: [Int]- , _:_:id _:_:_ :: [Int]- , _:_:id x:_ :: [Int]- , _:_:id 0:_ :: [Int]- , _:_:id (id _):_ :: [Int]- , _:_:abs _:_ :: [Int]- , _:_:negate _:_ :: [Int]- , _:_:head _:_ :: [Int]- , _:_:_ + _:_ :: [Int]- , _:_:insert _ _ :: [Int]- , _:_:(_ ++ _) :: [Int]- , _:_:(_ ++ xs) :: [Int]- , _:_:(_ ++ []) :: [Int]- , _:_:(_ ++ (_:_)) :: [Int]- , _:_:(xs ++ _) :: [Int]- , [_,_,] ++ _ :: [Int]- , _:_:((_:_) ++ _) :: [Int]- , _:x:_ :: [Int]- , _:x:xs :: [Int]- , _:x:ys :: [Int]- , [_,x] :: [Int]- , [_,x,0] :: [Int]- , _:x:tail _ :: [Int]- , _:x:_:_ :: [Int]- , _:x:_:xs :: [Int]- , [_,x,_] :: [Int]- , _:x:_:_:_ :: [Int]- , _:x:x:_ :: [Int]- , _:x:0:_ :: [Int]- , _:x:id _:_ :: [Int]- , _:x:(_ ++ _) :: [Int]- , _:y:_ :: [Int]- , _:y:xs :: [Int]- , [_,y] :: [Int]- , _:y:_:_ :: [Int]- , _:z:_ :: [Int]- , _:0:_ :: [Int]- , _:0:xs :: [Int]- , _:0:ys :: [Int]- , [_,0] :: [Int]- , [_,0,0] :: [Int]- , _:0:tail _ :: [Int]- , _:0:_:_ :: [Int]- , _:0:_:xs :: [Int]- , [_,0,_] :: [Int]- , _:0:_:_:_ :: [Int]- , _:0:x:_ :: [Int]- , _:0:0:_ :: [Int]- , _:0:id _:_ :: [Int]- , _:0:(_ ++ _) :: [Int]- , _:1:_ :: [Int]- , _:1:xs :: [Int]- , [_,1] :: [Int]- , _:1:_:_ :: [Int]- , _:(-1):_ :: [Int]- , _:f _:_ :: [Int]- , _:ord _:_ :: [Int]- , _:ord _:xs :: [Int]- , [_,ord _] :: [Int]- , _:ord _:_:_ :: [Int]- , _:ord c:_ :: [Int]- , _:ord 'a':_ :: [Int]- , _:id _:_ :: [Int]- , _:id _:xs :: [Int]- , _:id _:ys :: [Int]- , [_,id _] :: [Int]- , [_,id _,0] :: [Int]- , _:id _:tail _ :: [Int]- , _:id _:_:_ :: [Int]- , _:id _:_:xs :: [Int]- , [_,id _,_] :: [Int]- , _:id _:_:_:_ :: [Int]- , _:id _:x:_ :: [Int]- , _:id _:0:_ :: [Int]- , _:id _:id _:_ :: [Int]- , _:id _:(_ ++ _) :: [Int]- , _:id x:_ :: [Int]- , _:id x:xs :: [Int]- , [_,id x] :: [Int]- , _:id x:_:_ :: [Int]- , _:id y:_ :: [Int]- , _:id 0:_ :: [Int]- , _:id 0:xs :: [Int]- , [_,id 0] :: [Int]- , _:id 0:_:_ :: [Int]- , _:id 1:_ :: [Int]- , _:id (ord _):_ :: [Int]- , _:id (id _):_ :: [Int]- , _:id (id _):xs :: [Int]- , [_,id (id _)] :: [Int]- , _:id (id _):_:_ :: [Int]- , _:id (id x):_ :: [Int]- , _:id (id 0):_ :: [Int]- , _:id (id (id _)):_ :: [Int]- , _:id (abs _):_ :: [Int]- , _:id (negate _):_ :: [Int]- , _:id (head _):_ :: [Int]- , _:id (_ + _):_ :: [Int]- , _:abs _:_ :: [Int]- , _:abs _:xs :: [Int]- , [_,abs _] :: [Int]- , _:abs _:_:_ :: [Int]- , _:abs x:_ :: [Int]- , _:abs 0:_ :: [Int]- , _:abs (id _):_ :: [Int]- , _:negate _:_ :: [Int]- , _:negate _:xs :: [Int]- , [_,negate _] :: [Int]- , _:negate _:_:_ :: [Int]- , _:negate x:_ :: [Int]- , _:negate 0:_ :: [Int]- , _:negate (id _):_ :: [Int]- , _:head _:_ :: [Int]- , _:head _:xs :: [Int]- , [_,head _] :: [Int]- , _:head _:_:_ :: [Int]- , _:head xs:_ :: [Int]- , _:head []:_ :: [Int]- , _:head (_:_):_ :: [Int]- , _:_ * _:_ :: [Int]- , _:_ + _:_ :: [Int]- , _:_ + _:xs :: [Int]- , [_,_ + _] :: [Int]- , _:_ + _:_:_ :: [Int]- , _:_ + x:_ :: [Int]- , _:_ + 0:_ :: [Int]- , _:_ + id _:_ :: [Int]- , _:x + _:_ :: [Int]- , _:0 + _:_ :: [Int]- , _:id _ + _:_ :: [Int]- , _:insert _ _ :: [Int]- , _:insert _ xs :: [Int]- , _:insert _ [] :: [Int]- , _:insert _ (_:_) :: [Int]- , _:insert x _ :: [Int]- , _:insert 0 _ :: [Int]- , _:insert (id _) _ :: [Int]- , _:(_ ++ _) :: [Int]- , _:(_ ++ xs) :: [Int]- , _:(_ ++ ys) :: [Int]- , _:(_ ++ []) :: [Int]- , _:(_ ++ [0]) :: [Int]- , _:(_ ++ tail _) :: [Int]- , _:(_ ++ (_:_)) :: [Int]- , _:(_ ++ (_:xs)) :: [Int]- , _:(_ ++ [_]) :: [Int]- , _:(_ ++ (_:_:_)) :: [Int]- , _:(_ ++ (x:_)) :: [Int]- , _:(_ ++ (0:_)) :: [Int]- , _:(_ ++ (id _:_)) :: [Int]- , _:(_ ++ (_ ++ _)) :: [Int]- , _:(xs ++ _) :: [Int]- , _:(xs ++ xs) :: [Int]- , _:(xs ++ []) :: [Int]- , _:(xs ++ (_:_)) :: [Int]- , _:(ys ++ _) :: [Int]- , _:([] ++ _) :: [Int]- , _:([] ++ xs) :: [Int]- , _:([] ++ []) :: [Int]- , _:([] ++ (_:_)) :: [Int]- , _:([0] ++ _) :: [Int]- , _:(tail _ ++ _) :: [Int]- , _:((_:_) ++ _) :: [Int]- , _:((_:_) ++ xs) :: [Int]- , _:((_:_) ++ []) :: [Int]- , _:((_:_) ++ (_:_)) :: [Int]- , _:((_:xs) ++ _) :: [Int]- , _:([_] ++ _) :: [Int]- , _:((_:_:_) ++ _) :: [Int]- , _:((x:_) ++ _) :: [Int]- , _:((0:_) ++ _) :: [Int]- , _:((id _:_) ++ _) :: [Int]- , _:((_ ++ _) ++ _) :: [Int]- , x:_ :: [Int]- , x:xs :: [Int]- , x:ys :: [Int]- , x:zs :: [Int]- , [x] :: [Int]- , [x,0] :: [Int]- , [x,1] :: [Int]- , [x,0,0] :: [Int]- , x:sort _ :: [Int]- , x:tail _ :: [Int]- , x:tail xs :: [Int]- , x:tail [] :: [Int]- , x:tail (_:_) :: [Int]- , x:_:_ :: [Int]- , x:_:xs :: [Int]- , x:_:ys :: [Int]- , [x,_] :: [Int]- , [x,_,0] :: [Int]- , x:_:tail _ :: [Int]- , x:_:_:_ :: [Int]- , x:_:_:xs :: [Int]- , [x,_,_] :: [Int]- , x:_:_:_:_ :: [Int]- , x:_:x:_ :: [Int]- , x:_:0:_ :: [Int]- , x:_:id _:_ :: [Int]- , x:_:(_ ++ _) :: [Int]- , x:x:_ :: [Int]- , x:x:xs :: [Int]- , [x,x] :: [Int]- , x:x:_:_ :: [Int]- , x:y:_ :: [Int]- , x:0:_ :: [Int]- , x:0:xs :: [Int]- , [x,0] :: [Int]- , x:0:_:_ :: [Int]- , x:1:_ :: [Int]- , x:ord _:_ :: [Int]- , x:id _:_ :: [Int]- , x:id _:xs :: [Int]- , [x,id _] :: [Int]- , x:id _:_:_ :: [Int]- , x:id x:_ :: [Int]- , x:id 0:_ :: [Int]- , x:id (id _):_ :: [Int]- , x:abs _:_ :: [Int]- , x:negate _:_ :: [Int]- , x:head _:_ :: [Int]- , x:_ + _:_ :: [Int]- , x:insert _ _ :: [Int]- , x:(_ ++ _) :: [Int]- , x:(_ ++ xs) :: [Int]- , x:(_ ++ []) :: [Int]- , x:(_ ++ (_:_)) :: [Int]- , x:(xs ++ _) :: [Int]- , x:([] ++ _) :: [Int]- , x:((_:_) ++ _) :: [Int]- , y:_ :: [Int]- , y:xs :: [Int]- , y:ys :: [Int]- , [y] :: [Int]- , [y,0] :: [Int]- , y:tail _ :: [Int]- , y:_:_ :: [Int]- , y:_:xs :: [Int]- , [y,_] :: [Int]- , y:_:_:_ :: [Int]- , y:x:_ :: [Int]- , y:0:_ :: [Int]- , y:id _:_ :: [Int]- , y:(_ ++ _) :: [Int]- , z:_ :: [Int]- , z:xs :: [Int]- , [z] :: [Int]- , z:_:_ :: [Int]- , x':_ :: [Int]- , 0:_ :: [Int]- , 0:xs :: [Int]- , 0:ys :: [Int]- , 0:zs :: [Int]- , [0] :: [Int]- , [0,0] :: [Int]- , [0,1] :: [Int]- , [0,0,0] :: [Int]- , 0:sort _ :: [Int]- , 0:tail _ :: [Int]- , 0:tail xs :: [Int]- , 0:tail [] :: [Int]- , 0:tail (_:_) :: [Int]- , 0:_:_ :: [Int]- , 0:_:xs :: [Int]- , 0:_:ys :: [Int]- , [0,_] :: [Int]- , [0,_,0] :: [Int]- , 0:_:tail _ :: [Int]- , 0:_:_:_ :: [Int]- , 0:_:_:xs :: [Int]- , [0,_,_] :: [Int]- , 0:_:_:_:_ :: [Int]- , 0:_:x:_ :: [Int]- , 0:_:0:_ :: [Int]- , 0:_:id _:_ :: [Int]- , 0:_:(_ ++ _) :: [Int]- , 0:x:_ :: [Int]- , 0:x:xs :: [Int]- , [0,x] :: [Int]- , 0:x:_:_ :: [Int]- , 0:y:_ :: [Int]- , 0:0:_ :: [Int]- , 0:0:xs :: [Int]- , [0,0] :: [Int]- , 0:0:_:_ :: [Int]- , 0:1:_ :: [Int]- , 0:ord _:_ :: [Int]- , 0:id _:_ :: [Int]- , 0:id _:xs :: [Int]- , [0,id _] :: [Int]- , 0:id _:_:_ :: [Int]- , 0:id x:_ :: [Int]- , 0:id 0:_ :: [Int]- , 0:id (id _):_ :: [Int]- , 0:abs _:_ :: [Int]- , 0:negate _:_ :: [Int]- , 0:head _:_ :: [Int]- , 0:_ + _:_ :: [Int]- , 0:insert _ _ :: [Int]- , 0:(_ ++ _) :: [Int]- , 0:(_ ++ xs) :: [Int]- , 0:(_ ++ []) :: [Int]- , 0:(_ ++ (_:_)) :: [Int]- , 0:(xs ++ _) :: [Int]- , 0:([] ++ _) :: [Int]- , 0:((_:_) ++ _) :: [Int]- , 1:_ :: [Int]- , 1:xs :: [Int]- , 1:ys :: [Int]- , [1] :: [Int]- , [1,0] :: [Int]- , 1:tail _ :: [Int]- , 1:_:_ :: [Int]- , 1:_:xs :: [Int]- , [1,_] :: [Int]- , 1:_:_:_ :: [Int]- , 1:x:_ :: [Int]- , 1:0:_ :: [Int]- , 1:id _:_ :: [Int]- , 1:(_ ++ _) :: [Int]- , 2:_ :: [Int]- , (-1):_ :: [Int]- , (-1):xs :: [Int]- , [-1] :: [Int]- , (-1):_:_ :: [Int]- , f _:_ :: [Int]- , f _:xs :: [Int]- , [f _] :: [Int]- , f _:_:_ :: [Int]- , f x:_ :: [Int]- , f 0:_ :: [Int]- , f (id _):_ :: [Int]- , g _:_ :: [Int]- , ord _:_ :: [Int]- , ord _:xs :: [Int]- , ord _:ys :: [Int]- , [ord _] :: [Int]- , [ord _,0] :: [Int]- , ord _:tail _ :: [Int]- , ord _:_:_ :: [Int]- , ord _:_:xs :: [Int]- , [ord _,_] :: [Int]- , ord _:_:_:_ :: [Int]- , ord _:x:_ :: [Int]- , ord _:0:_ :: [Int]- , ord _:id _:_ :: [Int]- , ord _:(_ ++ _) :: [Int]- , ord c:_ :: [Int]- , ord c:xs :: [Int]- , [ord c] :: [Int]- , ord c:_:_ :: [Int]- , ord d:_ :: [Int]- , ord ' ':_ :: [Int]- , ord 'a':_ :: [Int]- , ord 'a':xs :: [Int]- , [ord 'a'] :: [Int]- , ord 'a':_:_ :: [Int]- , id _:_ :: [Int]- , id _:xs :: [Int]- , id _:ys :: [Int]- , id _:zs :: [Int]- , [id _] :: [Int]- , [id _,0] :: [Int]- , [id _,1] :: [Int]- , [id _,0,0] :: [Int]- , id _:sort _ :: [Int]- , id _:tail _ :: [Int]- , id _:tail xs :: [Int]- , id _:tail [] :: [Int]- , id _:tail (_:_) :: [Int]- , id _:_:_ :: [Int]- , id _:_:xs :: [Int]- , id _:_:ys :: [Int]- , [id _,_] :: [Int]- , [id _,_,0] :: [Int]- , id _:_:tail _ :: [Int]- , id _:_:_:_ :: [Int]- , id _:_:_:xs :: [Int]- , [id _,_,_] :: [Int]- , id _:_:_:_:_ :: [Int]- , id _:_:x:_ :: [Int]- , id _:_:0:_ :: [Int]- , id _:_:id _:_ :: [Int]- , id _:_:(_ ++ _) :: [Int]- , id _:x:_ :: [Int]- , id _:x:xs :: [Int]- , [id _,x] :: [Int]- , id _:x:_:_ :: [Int]- , id _:y:_ :: [Int]- , id _:0:_ :: [Int]- , id _:0:xs :: [Int]- , [id _,0] :: [Int]- , id _:0:_:_ :: [Int]- , id _:1:_ :: [Int]- , id _:ord _:_ :: [Int]- , id _:id _:_ :: [Int]- , id _:id _:xs :: [Int]- , [id _,id _] :: [Int]- , id _:id _:_:_ :: [Int]- , id _:id x:_ :: [Int]- , id _:id 0:_ :: [Int]- , id _:id (id _):_ :: [Int]- , id _:abs _:_ :: [Int]- , id _:negate _:_ :: [Int]- , id _:head _:_ :: [Int]- , id _:_ + _:_ :: [Int]- , id _:insert _ _ :: [Int]- , id _:(_ ++ _) :: [Int]- , id _:(_ ++ xs) :: [Int]- , id _:(_ ++ []) :: [Int]- , id _:(_ ++ (_:_)) :: [Int]- , id _:(xs ++ _) :: [Int]- , id _:([] ++ _) :: [Int]- , id _:((_:_) ++ _) :: [Int]- , id x:_ :: [Int]- , id x:xs :: [Int]- , id x:ys :: [Int]- , [id x] :: [Int]- , [id x,0] :: [Int]- , id x:tail _ :: [Int]- , id x:_:_ :: [Int]- , id x:_:xs :: [Int]- , [id x,_] :: [Int]- , id x:_:_:_ :: [Int]- , id x:x:_ :: [Int]- , id x:0:_ :: [Int]- , id x:id _:_ :: [Int]- , id x:(_ ++ _) :: [Int]- , id y:_ :: [Int]- , id y:xs :: [Int]- , [id y] :: [Int]- , id y:_:_ :: [Int]- , id z:_ :: [Int]- , id 0:_ :: [Int]- , id 0:xs :: [Int]- , id 0:ys :: [Int]- , [id 0] :: [Int]- , [id 0,0] :: [Int]- , id 0:tail _ :: [Int]- , id 0:_:_ :: [Int]- , id 0:_:xs :: [Int]- , [id 0,_] :: [Int]- , id 0:_:_:_ :: [Int]- , id 0:x:_ :: [Int]- , id 0:0:_ :: [Int]- , id 0:id _:_ :: [Int]- , id 0:(_ ++ _) :: [Int]- , id 1:_ :: [Int]- , id 1:xs :: [Int]- , [id 1] :: [Int]- , id 1:_:_ :: [Int]- , id (-1):_ :: [Int]- , id (f _):_ :: [Int]- , id (ord _):_ :: [Int]- , id (ord _):xs :: [Int]- , [id (ord _)] :: [Int]- , id (ord _):_:_ :: [Int]- , id (ord c):_ :: [Int]- , id (ord 'a'):_ :: [Int]- , id (id _):_ :: [Int]- , id (id _):xs :: [Int]- , id (id _):ys :: [Int]- , [id (id _)] :: [Int]- , [id (id _),0] :: [Int]- , id (id _):tail _ :: [Int]- , id (id _):_:_ :: [Int]- , id (id _):_:xs :: [Int]- , [id (id _),_] :: [Int]- , id (id _):_:_:_ :: [Int]- , id (id _):x:_ :: [Int]- , id (id _):0:_ :: [Int]- , id (id _):id _:_ :: [Int]- , id (id _):(_ ++ _) :: [Int]- , id (id x):_ :: [Int]- , id (id x):xs :: [Int]- , [id (id x)] :: [Int]- , id (id x):_:_ :: [Int]- , id (id y):_ :: [Int]- , id (id 0):_ :: [Int]- , id (id 0):xs :: [Int]- , [id (id 0)] :: [Int]- , id (id 0):_:_ :: [Int]- , id (id 1):_ :: [Int]- , id (id (ord _)):_ :: [Int]- , id (id (id _)):_ :: [Int]- , id (id (id _)):xs :: [Int]- , [id (id (id _))] :: [Int]- , id (id (id _)):_:_ :: [Int]- , id (id (id x)):_ :: [Int]- , id (id (id 0)):_ :: [Int]- , id (id (id (id _))):_ :: [Int]- , id (id (abs _)):_ :: [Int]- , id (id (negate _)):_ :: [Int]- , id (id (head _)):_ :: [Int]- , id (id (_ + _)):_ :: [Int]- , id (abs _):_ :: [Int]- , id (abs _):xs :: [Int]- , [id (abs _)] :: [Int]- , id (abs _):_:_ :: [Int]- , id (abs x):_ :: [Int]- , id (abs 0):_ :: [Int]- , id (abs (id _)):_ :: [Int]- , id (negate _):_ :: [Int]- , id (negate _):xs :: [Int]- , [id (negate _)] :: [Int]- , id (negate _):_:_ :: [Int]- , id (negate x):_ :: [Int]- , id (negate 0):_ :: [Int]- , id (negate (id _)):_ :: [Int]- , id (head _):_ :: [Int]- , id (head _):xs :: [Int]- , [id (head _)] :: [Int]- , id (head _):_:_ :: [Int]- , id (head xs):_ :: [Int]- , id (head []):_ :: [Int]- , id (head (_:_)):_ :: [Int]- , id (_ * _):_ :: [Int]- , id (_ + _):_ :: [Int]- , id (_ + _):xs :: [Int]- , [id (_ + _)] :: [Int]- , id (_ + _):_:_ :: [Int]- , id (_ + x):_ :: [Int]- , id (_ + 0):_ :: [Int]- , id (_ + id _):_ :: [Int]- , id (x + _):_ :: [Int]- , id (0 + _):_ :: [Int]- , id (id _ + _):_ :: [Int]- , abs _:_ :: [Int]- , abs _:xs :: [Int]- , abs _:ys :: [Int]- , [abs _] :: [Int]- , [abs _,0] :: [Int]- , abs _:tail _ :: [Int]- , abs _:_:_ :: [Int]- , abs _:_:xs :: [Int]- , [abs _,_] :: [Int]- , abs _:_:_:_ :: [Int]- , abs _:x:_ :: [Int]- , abs _:0:_ :: [Int]- , abs _:id _:_ :: [Int]- , abs _:(_ ++ _) :: [Int]- , abs x:_ :: [Int]- , abs x:xs :: [Int]- , [abs x] :: [Int]- , abs x:_:_ :: [Int]- , abs y:_ :: [Int]- , abs 0:_ :: [Int]- , abs 0:xs :: [Int]- , [abs 0] :: [Int]- , abs 0:_:_ :: [Int]- , abs 1:_ :: [Int]- , abs (ord _):_ :: [Int]- , abs (id _):_ :: [Int]- , abs (id _):xs :: [Int]- , [abs (id _)] :: [Int]- , abs (id _):_:_ :: [Int]- , abs (id x):_ :: [Int]- , abs (id 0):_ :: [Int]- , abs (id (id _)):_ :: [Int]- , abs (abs _):_ :: [Int]- , abs (negate _):_ :: [Int]- , abs (head _):_ :: [Int]- , abs (_ + _):_ :: [Int]- , negate _:_ :: [Int]- , negate _:xs :: [Int]- , negate _:ys :: [Int]- , [negate _] :: [Int]- , [negate _,0] :: [Int]- , negate _:tail _ :: [Int]- , negate _:_:_ :: [Int]- , negate _:_:xs :: [Int]- , [negate _,_] :: [Int]- , negate _:_:_:_ :: [Int]- , negate _:x:_ :: [Int]- , negate _:0:_ :: [Int]- , negate _:id _:_ :: [Int]- , negate _:(_ ++ _) :: [Int]- , negate x:_ :: [Int]- , negate x:xs :: [Int]- , [negate x] :: [Int]- , negate x:_:_ :: [Int]- , negate y:_ :: [Int]- , negate 0:_ :: [Int]- , negate 0:xs :: [Int]- , [negate 0] :: [Int]- , negate 0:_:_ :: [Int]- , negate 1:_ :: [Int]- , negate (ord _):_ :: [Int]- , negate (id _):_ :: [Int]- , negate (id _):xs :: [Int]- , [negate (id _)] :: [Int]- , negate (id _):_:_ :: [Int]- , negate (id x):_ :: [Int]- , negate (id 0):_ :: [Int]- , negate (id (id _)):_ :: [Int]- , negate (abs _):_ :: [Int]- , negate (negate _):_ :: [Int]- , negate (head _):_ :: [Int]- , negate (_ + _):_ :: [Int]- , head _:_ :: [Int]- , head _:xs :: [Int]- , head _:ys :: [Int]- , [head _] :: [Int]- , [head _,0] :: [Int]- , head _:tail _ :: [Int]- , head _:_:_ :: [Int]- , head _:_:xs :: [Int]- , [head _,_] :: [Int]- , head _:_:_:_ :: [Int]- , head _:x:_ :: [Int]- , head _:0:_ :: [Int]- , head _:id _:_ :: [Int]- , head _:(_ ++ _) :: [Int]- , head xs:_ :: [Int]- , head xs:xs :: [Int]- , [head xs] :: [Int]- , head xs:_:_ :: [Int]- , head ys:_ :: [Int]- , head []:_ :: [Int]- , head []:xs :: [Int]- , [head []] :: [Int]- , head []:_:_ :: [Int]- , head [0]:_ :: [Int]- , head (tail _):_ :: [Int]- , head (_:_):_ :: [Int]- , head (_:_):xs :: [Int]- , [head (_:_)] :: [Int]- , head (_:_):_:_ :: [Int]- , head (_:xs):_ :: [Int]- , head [_]:_ :: [Int]- , head (_:_:_):_ :: [Int]- , head (x:_):_ :: [Int]- , head (0:_):_ :: [Int]- , head (id _:_):_ :: [Int]- , head (_ ++ _):_ :: [Int]- , _ * _:_ :: [Int]- , _ * _:xs :: [Int]- , [_ * _] :: [Int]- , _ * _:_:_ :: [Int]- , _ * x:_ :: [Int]- , _ * 0:_ :: [Int]- , _ * id _:_ :: [Int]- , x * _:_ :: [Int]- , 0 * _:_ :: [Int]- , id _ * _:_ :: [Int]- , _ + _:_ :: [Int]- , _ + _:xs :: [Int]- , _ + _:ys :: [Int]- , [_ + _] :: [Int]- , [_ + _,0] :: [Int]- , _ + _:tail _ :: [Int]- , _ + _:_:_ :: [Int]- , _ + _:_:xs :: [Int]- , [_ + _,_] :: [Int]- , _ + _:_:_:_ :: [Int]- , _ + _:x:_ :: [Int]- , _ + _:0:_ :: [Int]- , _ + _:id _:_ :: [Int]- , _ + _:(_ ++ _) :: [Int]- , _ + x:_ :: [Int]- , _ + x:xs :: [Int]- , [_ + x] :: [Int]- , _ + x:_:_ :: [Int]- , _ + y:_ :: [Int]- , _ + 0:_ :: [Int]- , _ + 0:xs :: [Int]- , [_ + 0] :: [Int]- , _ + 0:_:_ :: [Int]- , _ + 1:_ :: [Int]- , _ + ord _:_ :: [Int]- , _ + id _:_ :: [Int]- , _ + id _:xs :: [Int]- , [_ + id _] :: [Int]- , _ + id _:_:_ :: [Int]- , _ + id x:_ :: [Int]- , _ + id 0:_ :: [Int]- , _ + id (id _):_ :: [Int]- , _ + abs _:_ :: [Int]- , _ + negate _:_ :: [Int]- , _ + head _:_ :: [Int]- , _ + (_ + _):_ :: [Int]- , x + _:_ :: [Int]- , x + _:xs :: [Int]- , [x + _] :: [Int]- , x + _:_:_ :: [Int]- , x + x:_ :: [Int]- , x + 0:_ :: [Int]- , x + id _:_ :: [Int]- , y + _:_ :: [Int]- , 0 + _:_ :: [Int]- , 0 + _:xs :: [Int]- , [0 + _] :: [Int]- , 0 + _:_:_ :: [Int]- , 0 + x:_ :: [Int]- , 0 + 0:_ :: [Int]- , 0 + id _:_ :: [Int]- , 1 + _:_ :: [Int]- , ord _ + _:_ :: [Int]- , id _ + _:_ :: [Int]- , id _ + _:xs :: [Int]- , [id _ + _] :: [Int]- , id _ + _:_:_ :: [Int]- , id _ + x:_ :: [Int]- , id _ + 0:_ :: [Int]- , id _ + id _:_ :: [Int]- , id x + _:_ :: [Int]- , id 0 + _:_ :: [Int]- , id (id _) + _:_ :: [Int]- , abs _ + _:_ :: [Int]- , negate _ + _:_ :: [Int]- , head _ + _:_ :: [Int]- , (_ + _) + _:_ :: [Int]- , insert _ _ :: [Int]- , insert _ xs :: [Int]- , insert _ ys :: [Int]- , insert _ [] :: [Int]- , insert _ [0] :: [Int]- , insert _ (tail _) :: [Int]- , insert _ (_:_) :: [Int]- , insert _ (_:xs) :: [Int]- , insert _ [_] :: [Int]- , insert _ (_:_:_) :: [Int]- , insert _ (x:_) :: [Int]- , insert _ (0:_) :: [Int]- , insert _ (id _:_) :: [Int]- , insert _ (_ ++ _) :: [Int]- , insert x _ :: [Int]- , insert x xs :: [Int]- , insert x [] :: [Int]- , insert x (_:_) :: [Int]- , insert y _ :: [Int]- , insert 0 _ :: [Int]- , insert 0 xs :: [Int]- , insert 0 [] :: [Int]- , insert 0 (_:_) :: [Int]- , insert 1 _ :: [Int]- , insert (ord _) _ :: [Int]- , insert (id _) _ :: [Int]- , insert (id _) xs :: [Int]- , insert (id _) [] :: [Int]- , insert (id _) (_:_) :: [Int]- , insert (id x) _ :: [Int]- , insert (id 0) _ :: [Int]- , insert (id (id _)) _ :: [Int]- , insert (abs _) _ :: [Int]- , insert (negate _) _ :: [Int]- , insert (head _) _ :: [Int]- , insert (_ + _) _ :: [Int]- , _ ++ _ :: [Int]- , _ ++ xs :: [Int]- , _ ++ ys :: [Int]- , _ ++ zs :: [Int]- , _ ++ [] :: [Int]- , _ ++ [0] :: [Int]- , _ ++ [1] :: [Int]- , _ ++ [0,0] :: [Int]- , _ ++ sort _ :: [Int]- , _ ++ tail _ :: [Int]- , _ ++ tail xs :: [Int]- , _ ++ tail [] :: [Int]- , _ ++ tail (_:_) :: [Int]- , _ ++ (_:_) :: [Int]- , _ ++ (_:xs) :: [Int]- , _ ++ (_:ys) :: [Int]- , _ ++ [_] :: [Int]- , _ ++ [_,0] :: [Int]- , _ ++ (_:tail _) :: [Int]- , _ ++ (_:_:_) :: [Int]- , _ ++ (_:_:xs) :: [Int]- , _ ++ [_,_] :: [Int]- , _ ++ (_:_:_:_) :: [Int]- , _ ++ (_:x:_) :: [Int]- , _ ++ (_:0:_) :: [Int]- , _ ++ (_:id _:_) :: [Int]- , _ ++ (_:(_ ++ _)) :: [Int]- , _ ++ (x:_) :: [Int]- , _ ++ (x:xs) :: [Int]- , _ ++ [x] :: [Int]- , _ ++ (x:_:_) :: [Int]- , _ ++ (y:_) :: [Int]- , _ ++ (0:_) :: [Int]- , _ ++ (0:xs) :: [Int]- , _ ++ [0] :: [Int]- , _ ++ (0:_:_) :: [Int]- , _ ++ (1:_) :: [Int]- , _ ++ (ord _:_) :: [Int]- , _ ++ (id _:_) :: [Int]- , _ ++ (id _:xs) :: [Int]- , _ ++ [id _] :: [Int]- , _ ++ (id _:_:_) :: [Int]- , _ ++ (id x:_) :: [Int]- , _ ++ (id 0:_) :: [Int]- , _ ++ (id (id _):_) :: [Int]- , _ ++ (abs _:_) :: [Int]- , _ ++ (negate _:_) :: [Int]- , _ ++ (head _:_) :: [Int]- , _ ++ (_ + _:_) :: [Int]- , _ ++ insert _ _ :: [Int]- , _ ++ (_ ++ _) :: [Int]- , _ ++ (_ ++ xs) :: [Int]- , _ ++ (_ ++ []) :: [Int]- , _ ++ (_ ++ (_:_)) :: [Int]- , _ ++ (xs ++ _) :: [Int]- , _ ++ ([] ++ _) :: [Int]- , _ ++ ((_:_) ++ _) :: [Int]- , xs ++ _ :: [Int]- , xs ++ xs :: [Int]- , xs ++ ys :: [Int]- , xs ++ [] :: [Int]- , xs ++ [0] :: [Int]- , xs ++ tail _ :: [Int]- , xs ++ (_:_) :: [Int]- , xs ++ (_:xs) :: [Int]- , xs ++ [_] :: [Int]- , xs ++ (_:_:_) :: [Int]- , xs ++ (x:_) :: [Int]- , xs ++ (0:_) :: [Int]- , xs ++ (id _:_) :: [Int]- , xs ++ (_ ++ _) :: [Int]- , ys ++ _ :: [Int]- , ys ++ xs :: [Int]- , ys ++ [] :: [Int]- , ys ++ (_:_) :: [Int]- , zs ++ _ :: [Int]- , [] ++ _ :: [Int]- , [] ++ xs :: [Int]- , [] ++ ys :: [Int]- , [] ++ [] :: [Int]- , [] ++ [0] :: [Int]- , [] ++ tail _ :: [Int]- , [] ++ (_:_) :: [Int]- , [] ++ (_:xs) :: [Int]- , [] ++ [_] :: [Int]- , [] ++ (_:_:_) :: [Int]- , [] ++ (x:_) :: [Int]- , [] ++ (0:_) :: [Int]- , [] ++ (id _:_) :: [Int]- , [] ++ (_ ++ _) :: [Int]- , [0] ++ _ :: [Int]- , [0] ++ xs :: [Int]- , [0] ++ [] :: [Int]- , [0] ++ (_:_) :: [Int]- , [1] ++ _ :: [Int]- , [0,0] ++ _ :: [Int]- , sort _ ++ _ :: [Int]- , tail _ ++ _ :: [Int]- , tail _ ++ xs :: [Int]- , tail _ ++ [] :: [Int]- , tail _ ++ (_:_) :: [Int]- , tail xs ++ _ :: [Int]- , tail [] ++ _ :: [Int]- , tail (_:_) ++ _ :: [Int]- , (_:_) ++ _ :: [Int]- , (_:_) ++ xs :: [Int]- , (_:_) ++ ys :: [Int]- , (_:_) ++ [] :: [Int]- , (_:_) ++ [0] :: [Int]- , (_:_) ++ tail _ :: [Int]- , (_:_) ++ (_:_) :: [Int]- , (_:_) ++ (_:xs) :: [Int]- , (_:_) ++ [_] :: [Int]- , (_:_) ++ (_:_:_) :: [Int]- , (_:_) ++ (x:_) :: [Int]- , (_:_) ++ (0:_) :: [Int]- , (_:_) ++ (id _:_) :: [Int]- , (_:_) ++ (_ ++ _) :: [Int]- , (_:xs) ++ _ :: [Int]- , (_:xs) ++ xs :: [Int]- , (_:xs) ++ [] :: [Int]- , (_:xs) ++ (_:_) :: [Int]- , (_:ys) ++ _ :: [Int]- , [_] ++ _ :: [Int]- , [_] ++ xs :: [Int]- , [_] ++ [] :: [Int]- , [_] ++ (_:_) :: [Int]- , [_,0] ++ _ :: [Int]- , (_:tail _) ++ _ :: [Int]- , (_:_:_) ++ _ :: [Int]- , (_:_:_) ++ xs :: [Int]- , (_:_:_) ++ [] :: [Int]- , (_:_:_) ++ (_:_) :: [Int]- , (_:_:xs) ++ _ :: [Int]- , [_,_] ++ _ :: [Int]- , (_:_:_:_) ++ _ :: [Int]- , (_:x:_) ++ _ :: [Int]- , (_:0:_) ++ _ :: [Int]- , (_:id _:_) ++ _ :: [Int]- , (_:(_ ++ _)) ++ _ :: [Int]- , (x:_) ++ _ :: [Int]- , (x:_) ++ xs :: [Int]- , (x:_) ++ [] :: [Int]- , (x:_) ++ (_:_) :: [Int]- , (x:xs) ++ _ :: [Int]- , [x] ++ _ :: [Int]- , (x:_:_) ++ _ :: [Int]- , (y:_) ++ _ :: [Int]- , (0:_) ++ _ :: [Int]- , (0:_) ++ xs :: [Int]- , (0:_) ++ [] :: [Int]- , (0:_) ++ (_:_) :: [Int]- , (0:xs) ++ _ :: [Int]- , [0] ++ _ :: [Int]- , (0:_:_) ++ _ :: [Int]- , (1:_) ++ _ :: [Int]- , (ord _:_) ++ _ :: [Int]- , (id _:_) ++ _ :: [Int]- , (id _:_) ++ xs :: [Int]- , (id _:_) ++ [] :: [Int]- , (id _:_) ++ (_:_) :: [Int]- , (id _:xs) ++ _ :: [Int]- , [id _] ++ _ :: [Int]- , (id _:_:_) ++ _ :: [Int]- , (id x:_) ++ _ :: [Int]- , (id 0:_) ++ _ :: [Int]- , (id (id _):_) ++ _ :: [Int]- , (abs _:_) ++ _ :: [Int]- , (negate _:_) ++ _ :: [Int]- , (head _:_) ++ _ :: [Int]- , (_ + _:_) ++ _ :: [Int]- , insert _ _ ++ _ :: [Int]- , (_ ++ _) ++ _ :: [Int]- , (_ ++ _) ++ xs :: [Int]- , (_ ++ _) ++ [] :: [Int]- , (_ ++ _) ++ (_:_) :: [Int]- , (_ ++ xs) ++ _ :: [Int]- , (_ ++ []) ++ _ :: [Int]- , (_ ++ (_:_)) ++ _ :: [Int]- , (xs ++ _) ++ _ :: [Int]- , ([] ++ _) ++ _ :: [Int]- , ((_:_) ++ _) ++ _ :: [Int]- ]--sortBy compareQuickly $ take 5040 $ list :: [ Expr ] =- [ False :: Bool- , True :: Bool- , _ :: Bool- , p :: Bool- , p' :: Bool- , q :: Bool- , q' :: Bool- , r :: Bool- , ' ' :: Char- , 'A' :: Char- , 'a' :: Char- , 'b' :: Char- , 'c' :: Char- , _ :: Char- , c :: Char- , c' :: Char- , d :: Char- , d' :: Char- , e :: Char- , -1 :: Int- , -2 :: Int- , -3 :: Int- , 0 :: Int- , 1 :: Int- , 2 :: Int- , 3 :: Int- , _ :: Int- , x :: Int- , x' :: Int- , x'' :: Int- , y :: Int- , y' :: Int- , z :: Int- , z' :: Int- , [-1,0] :: [Int]- , [-1] :: [Int]- , [0,-1] :: [Int]- , [0,0,0,0] :: [Int]- , [0,0,0] :: [Int]- , [0,0,1] :: [Int]- , [0,0] :: [Int]- , [0,1,0] :: [Int]- , [0,1] :: [Int]- , [0] :: [Int]- , [1,0,0] :: [Int]- , [1,0] :: [Int]- , [1,1] :: [Int]- , [1] :: [Int]- , [2] :: [Int]- , [] :: [Int]- , _ :: [Int]- , xs :: [Int]- , xs' :: [Int]- , ys :: [Int]- , ys' :: [Int]- , zs :: [Int]- , not :: Bool -> Bool- , f :: Int -> Int- , g :: Int -> Int- , h :: Int -> Int- , abs :: Int -> Int- , id :: Int -> Int- , negate :: Int -> Int- , (&&) :: Bool -> Bool -> Bool- , (==>) :: Bool -> Bool -> Bool- , (||) :: Bool -> Bool -> Bool- , (*) :: Int -> Int -> Int- , (+) :: Int -> Int -> Int- , not False :: Bool- , not True :: Bool- , not _ :: Bool- , not p :: Bool- , not p' :: Bool- , not q :: Bool- , not r :: Bool- , not (not False) :: Bool- , not (not True) :: Bool- , not (not _) :: Bool- , not (not p) :: Bool- , not (not q) :: Bool- , not (not r) :: Bool- , not (not (not False)) :: Bool- , not (not (not True)) :: Bool- , not (not (not _)) :: Bool- , not (not (not p)) :: Bool- , not (not (not q)) :: Bool- , not (not (not (not False))) :: Bool- , not (not (not (not True))) :: Bool- , not (not (not (not _))) :: Bool- , not (not (not (not p))) :: Bool- , not (not (not (not (not _)))) :: Bool- , not (not (not (_ || _))) :: Bool- , not (not (even _)) :: Bool- , not (not (odd _)) :: Bool- , not (not (_ && _)) :: Bool- , not (not (_ == _)) :: Bool- , not (not (False || _)) :: Bool- , not (not (True || _)) :: Bool- , not (not (_ || False)) :: Bool- , not (not (_ || True)) :: Bool- , not (not (_ || _)) :: Bool- , not (not (_ || p)) :: Bool- , not (not (_ || not _)) :: Bool- , not (not (p || _)) :: Bool- , not (not (not _ || _)) :: Bool- , not (not (_ == _)) :: Bool- , not (not (elem _ _)) :: Bool- , not (even 0) :: Bool- , not (even _) :: Bool- , not (even x) :: Bool- , not (even (id _)) :: Bool- , not (odd 0) :: Bool- , not (odd _) :: Bool- , not (odd x) :: Bool- , not (odd (id _)) :: Bool- , not (False && _) :: Bool- , not (True && _) :: Bool- , not (_ && False) :: Bool- , not (_ && True) :: Bool- , not (_ && _) :: Bool- , not (_ && p) :: Bool- , not (_ && not _) :: Bool- , not (p && _) :: Bool- , not (not _ && _) :: Bool- , not (_ <= _) :: Bool- , not (False == _) :: Bool- , not (True == _) :: Bool- , not (_ == False) :: Bool- , not (_ == True) :: Bool- , not (_ == _) :: Bool- , not (_ == p) :: Bool- , not (_ == not _) :: Bool- , not (p == _) :: Bool- , not (not _ == _) :: Bool- , not (_ ==> _) :: Bool- , not (False || False) :: Bool- , not (False || True) :: Bool- , not (False || _) :: Bool- , not (False || p) :: Bool- , not (False || not _) :: Bool- , not (True || False) :: Bool- , not (True || True) :: Bool- , not (True || _) :: Bool- , not (True || p) :: Bool- , not (True || not _) :: Bool- , not (_ || False) :: Bool- , not (_ || True) :: Bool- , not (_ || _) :: Bool- , not (_ || p) :: Bool- , not (_ || q) :: Bool- , not (_ || not False) :: Bool- , not (_ || not True) :: Bool- , not (_ || not _) :: Bool- , not (_ || not p) :: Bool- , not (_ || not (not _)) :: Bool- , not (_ || (_ || _)) :: Bool- , not (p || False) :: Bool- , not (p || True) :: Bool- , not (p || _) :: Bool- , not (p || p) :: Bool- , not (p || not _) :: Bool- , not (q || _) :: Bool- , not (not False || _) :: Bool- , not (not True || _) :: Bool- , not (not _ || False) :: Bool- , not (not _ || True) :: Bool- , not (not _ || _) :: Bool- , not (not _ || p) :: Bool- , not (not _ || not _) :: Bool- , not (not p || _) :: Bool- , not (not (not _) || _) :: Bool- , not ((_ || _) || _) :: Bool- , not (_ <= _) :: Bool- , not (0 == _) :: Bool- , not (_ == 0) :: Bool- , not (_ == _) :: Bool- , not (_ == x) :: Bool- , not (_ == id _) :: Bool- , not (x == _) :: Bool- , not (id _ == _) :: Bool- , not (elem 0 _) :: Bool- , not (elem _ []) :: Bool- , not (elem _ _) :: Bool- , not (elem _ xs) :: Bool- , not (elem _ (_:_)) :: Bool- , not (elem x _) :: Bool- , not (elem (id _) _) :: Bool- , ord ' ' :: Int- , ord 'A' :: Int- , ord 'a' :: Int- , ord 'b' :: Int- , ord _ :: Int- , ord c :: Int- , ord c' :: Int- , ord d :: Int- , ord e :: Int- , even 0 :: Bool- , even 1 :: Bool- , even _ :: Bool- , even x :: Bool- , even y :: Bool- , even (ord _) :: Bool- , even (abs _) :: Bool- , even (id 0) :: Bool- , even (id _) :: Bool- , even (id x) :: Bool- , even (id (id _)) :: Bool- , even (negate _) :: Bool- , even (head _) :: Bool- , even (_ + _) :: Bool- , odd 0 :: Bool- , odd 1 :: Bool- , odd _ :: Bool- , odd x :: Bool- , odd y :: Bool- , odd (ord _) :: Bool- , odd (abs _) :: Bool- , odd (id 0) :: Bool- , odd (id _) :: Bool- , odd (id x) :: Bool- , odd (id (id _)) :: Bool- , odd (negate _) :: Bool- , odd (head _) :: Bool- , odd (_ + _) :: Bool- , f (-1) :: Int- , f 0 :: Int- , f 1 :: Int- , f _ :: Int- , f x :: Int- , f y :: Int- , f z :: Int- , f (ord 'a') :: Int- , f (ord _) :: Int- , f (ord c) :: Int- , f (f _) :: Int- , f (abs 0) :: Int- , f (abs _) :: Int- , f (abs x) :: Int- , f (abs (id _)) :: Int- , f (id 0) :: Int- , f (id 1) :: Int- , f (id _) :: Int- , f (id x) :: Int- , f (id y) :: Int- , f (id (ord _)) :: Int- , f (id (abs _)) :: Int- , f (id (id 0)) :: Int- , f (id (id _)) :: Int- , f (id (id x)) :: Int- , f (id (id (id _))) :: Int- , f (id (negate _)) :: Int- , f (id (head _)) :: Int- , f (id (_ + _)) :: Int- , f (negate 0) :: Int- , f (negate _) :: Int- , f (negate x) :: Int- , f (negate (id _)) :: Int- , f (head []) :: Int- , f (head _) :: Int- , f (head xs) :: Int- , f (head (_:_)) :: Int- , f (_ * _) :: Int- , f (0 + _) :: Int- , f (_ + 0) :: Int- , f (_ + _) :: Int- , f (_ + x) :: Int- , f (_ + id _) :: Int- , f (x + _) :: Int- , f (id _ + _) :: Int- , f' _ :: Int- , g 0 :: Int- , g 1 :: Int- , g _ :: Int- , g x :: Int- , g y :: Int- , g (ord _) :: Int- , g (abs _) :: Int- , g (id 0) :: Int- , g (id _) :: Int- , g (id x) :: Int- , g (id (id _)) :: Int- , g (negate _) :: Int- , g (head _) :: Int- , g (_ + _) :: Int- , h 0 :: Int- , h _ :: Int- , h x :: Int- , h (id _) :: Int- , abs (-1) :: Int- , abs 0 :: Int- , abs 1 :: Int- , abs 2 :: Int- , abs _ :: Int- , abs x :: Int- , abs x' :: Int- , abs y :: Int- , abs z :: Int- , abs (ord ' ') :: Int- , abs (ord 'a') :: Int- , abs (ord _) :: Int- , abs (ord c) :: Int- , abs (ord d) :: Int- , abs (f 0) :: Int- , abs (f _) :: Int- , abs (f x) :: Int- , abs (f (id _)) :: Int- , abs (g _) :: Int- , abs (abs 0) :: Int- , abs (abs 1) :: Int- , abs (abs _) :: Int- , abs (abs x) :: Int- , abs (abs y) :: Int- , abs (abs (ord _)) :: Int- , abs (abs (abs _)) :: Int- , abs (abs (id 0)) :: Int- , abs (abs (id _)) :: Int- , abs (abs (id x)) :: Int- , abs (abs (id (id _))) :: Int- , abs (abs (negate _)) :: Int- , abs (abs (head _)) :: Int- , abs (abs (_ + _)) :: Int- , abs (id (-1)) :: Int- , abs (id 0) :: Int- , abs (id 1) :: Int- , abs (id _) :: Int- , abs (id x) :: Int- , abs (id y) :: Int- , abs (id z) :: Int- , abs (id (ord 'a')) :: Int- , abs (id (ord _)) :: Int- , abs (id (ord c)) :: Int- , abs (id (f _)) :: Int- , abs (id (abs 0)) :: Int- , abs (id (abs _)) :: Int- , abs (id (abs x)) :: Int- , abs (id (abs (id _))) :: Int- , abs (id (id 0)) :: Int- , abs (id (id 1)) :: Int- , abs (id (id _)) :: Int- , abs (id (id x)) :: Int- , abs (id (id y)) :: Int- , abs (id (id (ord _))) :: Int- , abs (id (id (abs _))) :: Int- , abs (id (id (id 0))) :: Int- , abs (id (id (id _))) :: Int- , abs (id (id (id x))) :: Int- , abs (id (id (id (id _)))) :: Int- , abs (id (id (negate _))) :: Int- , abs (id (id (head _))) :: Int- , abs (id (id (_ + _))) :: Int- , abs (id (negate 0)) :: Int- , abs (id (negate _)) :: Int- , abs (id (negate x)) :: Int- , abs (id (negate (id _))) :: Int- , abs (id (head [])) :: Int- , abs (id (head _)) :: Int- , abs (id (head xs)) :: Int- , abs (id (head (_:_))) :: Int- , abs (id (_ * _)) :: Int- , abs (id (0 + _)) :: Int- , abs (id (_ + 0)) :: Int- , abs (id (_ + _)) :: Int- , abs (id (_ + x)) :: Int- , abs (id (_ + id _)) :: Int- , abs (id (x + _)) :: Int- , abs (id (id _ + _)) :: Int- , abs (negate 0) :: Int- , abs (negate 1) :: Int- , abs (negate _) :: Int- , abs (negate x) :: Int- , abs (negate y) :: Int- , abs (negate (ord _)) :: Int- , abs (negate (abs _)) :: Int- , abs (negate (id 0)) :: Int- , abs (negate (id _)) :: Int- , abs (negate (id x)) :: Int- , abs (negate (id (id _))) :: Int- , abs (negate (negate _)) :: Int- , abs (negate (head _)) :: Int- , abs (negate (_ + _)) :: Int- , abs (head [0]) :: Int- , abs (head []) :: Int- , abs (head _) :: Int- , abs (head xs) :: Int- , abs (head ys) :: Int- , abs (head (tail _)) :: Int- , abs (head (0:_)) :: Int- , abs (head [_]) :: Int- , abs (head (_:_)) :: Int- , abs (head (_:xs)) :: Int- , abs (head (_:_:_)) :: Int- , abs (head (x:_)) :: Int- , abs (head (id _:_)) :: Int- , abs (head (_ ++ _)) :: Int- , abs (0 * _) :: Int- , abs (_ * 0) :: Int- , abs (_ * _) :: Int- , abs (_ * x) :: Int- , abs (_ * id _) :: Int- , abs (x * _) :: Int- , abs (id _ * _) :: Int- , abs (0 + 0) :: Int- , abs (0 + _) :: Int- , abs (0 + x) :: Int- , abs (0 + id _) :: Int- , abs (1 + _) :: Int- , abs (_ + 0) :: Int- , abs (_ + 1) :: Int- , abs (_ + _) :: Int- , abs (_ + x) :: Int- , abs (_ + y) :: Int- , abs (_ + ord _) :: Int- , abs (_ + abs _) :: Int- , abs (_ + id 0) :: Int- , abs (_ + id _) :: Int- , abs (_ + id x) :: Int- , abs (_ + id (id _)) :: Int- , abs (_ + negate _) :: Int- , abs (_ + head _) :: Int- , abs (_ + (_ + _)) :: Int- , abs (x + 0) :: Int- , abs (x + _) :: Int- , abs (x + x) :: Int- , abs (x + id _) :: Int- , abs (y + _) :: Int- , abs (ord _ + _) :: Int- , abs (abs _ + _) :: Int- , abs (id 0 + _) :: Int- , abs (id _ + 0) :: Int- , abs (id _ + _) :: Int- , abs (id _ + x) :: Int- , abs (id _ + id _) :: Int- , abs (id x + _) :: Int- , abs (id (id _) + _) :: Int- , abs (negate _ + _) :: Int- , abs (head _ + _) :: Int- , abs ((_ + _) + _) :: Int- , id (-1) :: Int- , id (-2) :: Int- , id 0 :: Int- , id 1 :: Int- , id 2 :: Int- , id 3 :: Int- , id _ :: Int- , id x :: Int- , id x' :: Int- , id y :: Int- , id y' :: Int- , id z :: Int- , id z' :: Int- , id (ord ' ') :: Int- , id (ord 'a') :: Int- , id (ord 'b') :: Int- , id (ord _) :: Int- , id (ord c) :: Int- , id (ord d) :: Int- , id (ord e) :: Int- , id (f (-1)) :: Int- , id (f 0) :: Int- , id (f 1) :: Int- , id (f _) :: Int- , id (f x) :: Int- , id (f y) :: Int- , id (f z) :: Int- , id (f (ord 'a')) :: Int- , id (f (ord _)) :: Int- , id (f (ord c)) :: Int- , id (f (f _)) :: Int- , id (f (abs 0)) :: Int- , id (f (abs _)) :: Int- , id (f (abs x)) :: Int- , id (f (abs (id _))) :: Int- , id (f (id 0)) :: Int- , id (f (id 1)) :: Int- , id (f (id _)) :: Int- , id (f (id x)) :: Int- , id (f (id y)) :: Int- , id (f (id (ord _))) :: Int- , id (f (id (abs _))) :: Int- , id (f (id (id 0))) :: Int- , id (f (id (id _))) :: Int- , id (f (id (id x))) :: Int- , id (f (id (id (id _)))) :: Int- , id (f (id (negate _))) :: Int- , id (f (id (head _))) :: Int- , id (f (id (_ + _))) :: Int- , id (f (negate 0)) :: Int- , id (f (negate _)) :: Int- , id (f (negate x)) :: Int- , id (f (negate (id _))) :: Int- , id (f (head [])) :: Int- , id (f (head _)) :: Int- , id (f (head xs)) :: Int- , id (f (head (_:_))) :: Int- , id (f (_ * _)) :: Int- , id (f (0 + _)) :: Int- , id (f (_ + 0)) :: Int- , id (f (_ + _)) :: Int- , id (f (_ + x)) :: Int- , id (f (_ + id _)) :: Int- , id (f (x + _)) :: Int- , id (f (id _ + _)) :: Int- , id (f' _) :: Int- , id (g 0) :: Int- , id (g 1) :: Int- , id (g _) :: Int- , id (g x) :: Int- , id (g y) :: Int- , id (g (ord _)) :: Int- , id (g (abs _)) :: Int- , id (g (id 0)) :: Int- , id (g (id _)) :: Int- , id (g (id x)) :: Int- , id (g (id (id _))) :: Int- , id (g (negate _)) :: Int- , id (g (head _)) :: Int- , id (g (_ + _)) :: Int- , id (h 0) :: Int- , id (h _) :: Int- , id (h x) :: Int- , id (h (id _)) :: Int- , id (abs (-1)) :: Int- , id (abs 0) :: Int- , id (abs 1) :: Int- , id (abs 2) :: Int- , id (abs _) :: Int- , id (abs x) :: Int- , id (abs x') :: Int- , id (abs y) :: Int- , id (abs z) :: Int- , id (abs (ord ' ')) :: Int- , id (abs (ord 'a')) :: Int- , id (abs (ord _)) :: Int- , id (abs (ord c)) :: Int- , id (abs (ord d)) :: Int- , id (abs (f 0)) :: Int- , id (abs (f _)) :: Int- , id (abs (f x)) :: Int- , id (abs (f (id _))) :: Int- , id (abs (g _)) :: Int- , id (abs (abs 0)) :: Int- , id (abs (abs 1)) :: Int- , id (abs (abs _)) :: Int- , id (abs (abs x)) :: Int- , id (abs (abs y)) :: Int- , id (abs (abs (ord _))) :: Int- , id (abs (abs (abs _))) :: Int- , id (abs (abs (id 0))) :: Int- , id (abs (abs (id _))) :: Int- , id (abs (abs (id x))) :: Int- , id (abs (abs (id (id _)))) :: Int- , id (abs (abs (negate _))) :: Int- , id (abs (abs (head _))) :: Int- , id (abs (abs (_ + _))) :: Int- , id (abs (id (-1))) :: Int- , id (abs (id 0)) :: Int- , id (abs (id 1)) :: Int- , id (abs (id _)) :: Int- , id (abs (id x)) :: Int- , id (abs (id y)) :: Int- , id (abs (id z)) :: Int- , id (abs (id (ord 'a'))) :: Int- , id (abs (id (ord _))) :: Int- , id (abs (id (ord c))) :: Int- , id (abs (id (f _))) :: Int- , id (abs (id (abs 0))) :: Int- , id (abs (id (abs _))) :: Int- , id (abs (id (abs x))) :: Int- , id (abs (id (abs (id _)))) :: Int- , id (abs (id (id 0))) :: Int- , id (abs (id (id 1))) :: Int- , id (abs (id (id _))) :: Int- , id (abs (id (id x))) :: Int- , id (abs (id (id y))) :: Int- , id (abs (id (id (ord _)))) :: Int- , id (abs (id (id (abs _)))) :: Int- , id (abs (id (id (id 0)))) :: Int- , id (abs (id (id (id _)))) :: Int- , id (abs (id (id (id x)))) :: Int- , id (abs (id (id (id (id _))))) :: Int- , id (abs (id (id (negate _)))) :: Int- , id (abs (id (id (head _)))) :: Int- , id (abs (id (id (_ + _)))) :: Int- , id (abs (id (negate 0))) :: Int- , id (abs (id (negate _))) :: Int- , id (abs (id (negate x))) :: Int- , id (abs (id (negate (id _)))) :: Int- , id (abs (id (head []))) :: Int- , id (abs (id (head _))) :: Int- , id (abs (id (head xs))) :: Int- , id (abs (id (head (_:_)))) :: Int- , id (abs (id (_ * _))) :: Int- , id (abs (id (0 + _))) :: Int- , id (abs (id (_ + 0))) :: Int- , id (abs (id (_ + _))) :: Int- , id (abs (id (_ + x))) :: Int- , id (abs (id (_ + id _))) :: Int- , id (abs (id (x + _))) :: Int- , id (abs (id (id _ + _))) :: Int- , id (abs (negate 0)) :: Int- , id (abs (negate 1)) :: Int- , id (abs (negate _)) :: Int- , id (abs (negate x)) :: Int- , id (abs (negate y)) :: Int- , id (abs (negate (ord _))) :: Int- , id (abs (negate (abs _))) :: Int- , id (abs (negate (id 0))) :: Int- , id (abs (negate (id _))) :: Int- , id (abs (negate (id x))) :: Int- , id (abs (negate (id (id _)))) :: Int- , id (abs (negate (negate _))) :: Int- , id (abs (negate (head _))) :: Int- , id (abs (negate (_ + _))) :: Int- , id (abs (head [0])) :: Int- , id (abs (head [])) :: Int- , id (abs (head _)) :: Int- , id (abs (head xs)) :: Int- , id (abs (head ys)) :: Int- , id (abs (head (tail _))) :: Int- , id (abs (head (0:_))) :: Int- , id (abs (head [_])) :: Int- , id (abs (head (_:_))) :: Int- , id (abs (head (_:xs))) :: Int- , id (abs (head (_:_:_))) :: Int- , id (abs (head (x:_))) :: Int- , id (abs (head (id _:_))) :: Int- , id (abs (head (_ ++ _))) :: Int- , id (abs (0 * _)) :: Int- , id (abs (_ * 0)) :: Int- , id (abs (_ * _)) :: Int- , id (abs (_ * x)) :: Int- , id (abs (_ * id _)) :: Int- , id (abs (x * _)) :: Int- , id (abs (id _ * _)) :: Int- , id (abs (0 + 0)) :: Int- , id (abs (0 + _)) :: Int- , id (abs (0 + x)) :: Int- , id (abs (0 + id _)) :: Int- , id (abs (1 + _)) :: Int- , id (abs (_ + 0)) :: Int- , id (abs (_ + 1)) :: Int- , id (abs (_ + _)) :: Int- , id (abs (_ + x)) :: Int- , id (abs (_ + y)) :: Int- , id (abs (_ + ord _)) :: Int- , id (abs (_ + abs _)) :: Int- , id (abs (_ + id 0)) :: Int- , id (abs (_ + id _)) :: Int- , id (abs (_ + id x)) :: Int- , id (abs (_ + id (id _))) :: Int- , id (abs (_ + negate _)) :: Int- , id (abs (_ + head _)) :: Int- , id (abs (_ + (_ + _))) :: Int- , id (abs (x + 0)) :: Int- , id (abs (x + _)) :: Int- , id (abs (x + x)) :: Int- , id (abs (x + id _)) :: Int- , id (abs (y + _)) :: Int- , id (abs (ord _ + _)) :: Int- , id (abs (abs _ + _)) :: Int- , id (abs (id 0 + _)) :: Int- , id (abs (id _ + 0)) :: Int- , id (abs (id _ + _)) :: Int- , id (abs (id _ + x)) :: Int- , id (abs (id _ + id _)) :: Int- , id (abs (id x + _)) :: Int- , id (abs (id (id _) + _)) :: Int- , id (abs (negate _ + _)) :: Int- , id (abs (head _ + _)) :: Int- , id (abs ((_ + _) + _)) :: Int- , id (id (-1)) :: Int- , id (id (-2)) :: Int- , id (id 0) :: Int- , id (id 1) :: Int- , id (id 2) :: Int- , id (id _) :: Int- , id (id x) :: Int- , id (id x') :: Int- , id (id y) :: Int- , id (id y') :: Int- , id (id z) :: Int- , id (id (ord ' ')) :: Int- , id (id (ord 'a')) :: Int- , id (id (ord 'b')) :: Int- , id (id (ord _)) :: Int- , id (id (ord c)) :: Int- , id (id (ord d)) :: Int- , id (id (ord e)) :: Int- , id (id (f 0)) :: Int- , id (id (f 1)) :: Int- , id (id (f _)) :: Int- , id (id (f x)) :: Int- , id (id (f y)) :: Int- , id (id (f (ord _))) :: Int- , id (id (f (abs _))) :: Int- , id (id (f (id 0))) :: Int- , id (id (f (id _))) :: Int- , id (id (f (id x))) :: Int- , id (id (f (id (id _)))) :: Int- , id (id (f (negate _))) :: Int- , id (id (f (head _))) :: Int- , id (id (f (_ + _))) :: Int- , id (id (g 0)) :: Int- , id (id (g _)) :: Int- , id (id (g x)) :: Int- , id (id (g (id _))) :: Int- , id (id (h _)) :: Int- , id (id (abs (-1))) :: Int- , id (id (abs 0)) :: Int- , id (id (abs 1)) :: Int- , id (id (abs _)) :: Int- , id (id (abs x)) :: Int- , id (id (abs y)) :: Int- , id (id (abs z)) :: Int- , id (id (abs (ord 'a'))) :: Int- , id (id (abs (ord _))) :: Int- , id (id (abs (ord c))) :: Int- , id (id (abs (f _))) :: Int- , id (id (abs (abs 0))) :: Int- , id (id (abs (abs _))) :: Int- , id (id (abs (abs x))) :: Int- , id (id (abs (abs (id _)))) :: Int- , id (id (abs (id 0))) :: Int- , id (id (abs (id 1))) :: Int- , id (id (abs (id _))) :: Int- , id (id (abs (id x))) :: Int- , id (id (abs (id y))) :: Int- , id (id (abs (id (ord _)))) :: Int- , id (id (abs (id (abs _)))) :: Int- , id (id (abs (id (id 0)))) :: Int- , id (id (abs (id (id _)))) :: Int- , id (id (abs (id (id x)))) :: Int- , id (id (abs (id (id (id _))))) :: Int- , id (id (abs (id (negate _)))) :: Int- , id (id (abs (id (head _)))) :: Int- , id (id (abs (id (_ + _)))) :: Int- , id (id (abs (negate 0))) :: Int- , id (id (abs (negate _))) :: Int- , id (id (abs (negate x))) :: Int- , id (id (abs (negate (id _)))) :: Int- , id (id (abs (head []))) :: Int- , id (id (abs (head _))) :: Int- , id (id (abs (head xs))) :: Int- , id (id (abs (head (_:_)))) :: Int- , id (id (abs (_ * _))) :: Int- , id (id (abs (0 + _))) :: Int- , id (id (abs (_ + 0))) :: Int- , id (id (abs (_ + _))) :: Int- , id (id (abs (_ + x))) :: Int- , id (id (abs (_ + id _))) :: Int- , id (id (abs (x + _))) :: Int- , id (id (abs (id _ + _))) :: Int- , id (id (id (-1))) :: Int- , id (id (id 0)) :: Int- , id (id (id 1)) :: Int- , id (id (id 2)) :: Int- , id (id (id _)) :: Int- , id (id (id x)) :: Int- , id (id (id x')) :: Int- , id (id (id y)) :: Int- , id (id (id z)) :: Int- , id (id (id (ord ' '))) :: Int- , id (id (id (ord 'a'))) :: Int- , id (id (id (ord _))) :: Int- , id (id (id (ord c))) :: Int- , id (id (id (ord d))) :: Int- , id (id (id (f 0))) :: Int- , id (id (id (f _))) :: Int- , id (id (id (f x))) :: Int- , id (id (id (f (id _)))) :: Int- , id (id (id (g _))) :: Int- , id (id (id (abs 0))) :: Int- , id (id (id (abs 1))) :: Int- , id (id (id (abs _))) :: Int- , id (id (id (abs x))) :: Int- , id (id (id (abs y))) :: Int- , id (id (id (abs (ord _)))) :: Int- , id (id (id (abs (abs _)))) :: Int- , id (id (id (abs (id 0)))) :: Int- , id (id (id (abs (id _)))) :: Int- , id (id (id (abs (id x)))) :: Int- , id (id (id (abs (id (id _))))) :: Int- , id (id (id (abs (negate _)))) :: Int- , id (id (id (abs (head _)))) :: Int- , id (id (id (abs (_ + _)))) :: Int- , id (id (id (id (-1)))) :: Int- , id (id (id (id 0))) :: Int- , id (id (id (id 1))) :: Int- , id (id (id (id _))) :: Int- , id (id (id (id x))) :: Int- , id (id (id (id y))) :: Int- , id (id (id (id z))) :: Int- , id (id (id (id (ord 'a')))) :: Int- , id (id (id (id (ord _)))) :: Int- , id (id (id (id (ord c)))) :: Int- , id (id (id (id (f _)))) :: Int- , id (id (id (id (abs 0)))) :: Int- , id (id (id (id (abs _)))) :: Int- , id (id (id (id (abs x)))) :: Int- , id (id (id (id (abs (id _))))) :: Int- , id (id (id (id (id 0)))) :: Int- , id (id (id (id (id 1)))) :: Int- , id (id (id (id (id _)))) :: Int- , id (id (id (id (id x)))) :: Int- , id (id (id (id (id y)))) :: Int- , id (id (id (id (id (ord _))))) :: Int- , id (id (id (id (id (abs _))))) :: Int- , id (id (id (id (id (id 0))))) :: Int- , id (id (id (id (id (id _))))) :: Int- , id (id (id (id (id (id x))))) :: Int- , id (id (id (id (id (id (id _)))))) :: Int- , id (id (id (id (id (negate _))))) :: Int- , id (id (id (id (id (head _))))) :: Int- , id (id (id (id (id (_ + _))))) :: Int- , id (id (id (id (negate 0)))) :: Int- , id (id (id (id (negate _)))) :: Int- , id (id (id (id (negate x)))) :: Int- , id (id (id (id (negate (id _))))) :: Int- , id (id (id (id (head [])))) :: Int- , id (id (id (id (head _)))) :: Int- , id (id (id (id (head xs)))) :: Int- , id (id (id (id (head (_:_))))) :: Int- , id (id (id (id (_ * _)))) :: Int- , id (id (id (id (0 + _)))) :: Int- , id (id (id (id (_ + 0)))) :: Int- , id (id (id (id (_ + _)))) :: Int- , id (id (id (id (_ + x)))) :: Int- , id (id (id (id (_ + id _)))) :: Int- , id (id (id (id (x + _)))) :: Int- , id (id (id (id (id _ + _)))) :: Int- , id (id (id (negate 0))) :: Int- , id (id (id (negate 1))) :: Int- , id (id (id (negate _))) :: Int- , id (id (id (negate x))) :: Int- , id (id (id (negate y))) :: Int- , id (id (id (negate (ord _)))) :: Int- , id (id (id (negate (abs _)))) :: Int- , id (id (id (negate (id 0)))) :: Int- , id (id (id (negate (id _)))) :: Int- , id (id (id (negate (id x)))) :: Int- , id (id (id (negate (id (id _))))) :: Int- , id (id (id (negate (negate _)))) :: Int- , id (id (id (negate (head _)))) :: Int- , id (id (id (negate (_ + _)))) :: Int- , id (id (id (head [0]))) :: Int- , id (id (id (head []))) :: Int- , id (id (id (head _))) :: Int- , id (id (id (head xs))) :: Int- , id (id (id (head ys))) :: Int- , id (id (id (head (tail _)))) :: Int- , id (id (id (head (0:_)))) :: Int- , id (id (id (head [_]))) :: Int- , id (id (id (head (_:_)))) :: Int- , id (id (id (head (_:xs)))) :: Int- , id (id (id (head (_:_:_)))) :: Int- , id (id (id (head (x:_)))) :: Int- , id (id (id (head (id _:_)))) :: Int- , id (id (id (head (_ ++ _)))) :: Int- , id (id (id (0 * _))) :: Int- , id (id (id (_ * 0))) :: Int- , id (id (id (_ * _))) :: Int- , id (id (id (_ * x))) :: Int- , id (id (id (_ * id _))) :: Int- , id (id (id (x * _))) :: Int- , id (id (id (id _ * _))) :: Int- , id (id (id (0 + 0))) :: Int- , id (id (id (0 + _))) :: Int- , id (id (id (0 + x))) :: Int- , id (id (id (0 + id _))) :: Int- , id (id (id (1 + _))) :: Int- , id (id (id (_ + 0))) :: Int- , id (id (id (_ + 1))) :: Int- , id (id (id (_ + _))) :: Int- , id (id (id (_ + x))) :: Int- , id (id (id (_ + y))) :: Int- , id (id (id (_ + ord _))) :: Int- , id (id (id (_ + abs _))) :: Int- , id (id (id (_ + id 0))) :: Int- , id (id (id (_ + id _))) :: Int- , id (id (id (_ + id x))) :: Int- , id (id (id (_ + id (id _)))) :: Int- , id (id (id (_ + negate _))) :: Int- , id (id (id (_ + head _))) :: Int- , id (id (id (_ + (_ + _)))) :: Int- , id (id (id (x + 0))) :: Int- , id (id (id (x + _))) :: Int- , id (id (id (x + x))) :: Int- , id (id (id (x + id _))) :: Int- , id (id (id (y + _))) :: Int- , id (id (id (ord _ + _))) :: Int- , id (id (id (abs _ + _))) :: Int- , id (id (id (id 0 + _))) :: Int- , id (id (id (id _ + 0))) :: Int- , id (id (id (id _ + _))) :: Int- , id (id (id (id _ + x))) :: Int- , id (id (id (id _ + id _))) :: Int- , id (id (id (id x + _))) :: Int- , id (id (id (id (id _) + _))) :: Int- , id (id (id (negate _ + _))) :: Int- , id (id (id (head _ + _))) :: Int- , id (id (id ((_ + _) + _))) :: Int- , id (id (negate (-1))) :: Int- , id (id (negate 0)) :: Int- , id (id (negate 1)) :: Int- , id (id (negate _)) :: Int- , id (id (negate x)) :: Int- , id (id (negate y)) :: Int- , id (id (negate z)) :: Int- , id (id (negate (ord 'a'))) :: Int- , id (id (negate (ord _))) :: Int- , id (id (negate (ord c))) :: Int- , id (id (negate (f _))) :: Int- , id (id (negate (abs 0))) :: Int- , id (id (negate (abs _))) :: Int- , id (id (negate (abs x))) :: Int- , id (id (negate (abs (id _)))) :: Int- , id (id (negate (id 0))) :: Int- , id (id (negate (id 1))) :: Int- , id (id (negate (id _))) :: Int- , id (id (negate (id x))) :: Int- , id (id (negate (id y))) :: Int- , id (id (negate (id (ord _)))) :: Int- , id (id (negate (id (abs _)))) :: Int- , id (id (negate (id (id 0)))) :: Int- , id (id (negate (id (id _)))) :: Int- , id (id (negate (id (id x)))) :: Int- , id (id (negate (id (id (id _))))) :: Int- , id (id (negate (id (negate _)))) :: Int- , id (id (negate (id (head _)))) :: Int- , id (id (negate (id (_ + _)))) :: Int- , id (id (negate (negate 0))) :: Int- , id (id (negate (negate _))) :: Int- , id (id (negate (negate x))) :: Int- , id (id (negate (negate (id _)))) :: Int- , id (id (negate (head []))) :: Int- , id (id (negate (head _))) :: Int- , id (id (negate (head xs))) :: Int- , id (id (negate (head (_:_)))) :: Int- , id (id (negate (_ * _))) :: Int- , id (id (negate (0 + _))) :: Int- , id (id (negate (_ + 0))) :: Int- , id (id (negate (_ + _))) :: Int- , id (id (negate (_ + x))) :: Int- , id (id (negate (_ + id _))) :: Int- , id (id (negate (x + _))) :: Int- , id (id (negate (id _ + _))) :: Int- , id (id (head [0,0])) :: Int- , id (id (head [0])) :: Int- , id (id (head [1])) :: Int- , id (id (head [])) :: Int- , id (id (head _)) :: Int- , id (id (head xs)) :: Int- , id (id (head ys)) :: Int- , id (id (head zs)) :: Int- , id (id (head (sort _))) :: Int- , id (id (head (tail []))) :: Int- , id (id (head (tail _))) :: Int- , id (id (head (tail xs))) :: Int- , id (id (head (tail (_:_)))) :: Int- , id (id (head [0])) :: Int- , id (id (head (0:_))) :: Int- , id (id (head (0:xs))) :: Int- , id (id (head (0:_:_))) :: Int- , id (id (head (1:_))) :: Int- , id (id (head [_,0])) :: Int- , id (id (head [_])) :: Int- , id (id (head (_:_))) :: Int- , id (id (head (_:xs))) :: Int- , id (id (head (_:ys))) :: Int- , id (id (head (_:tail _))) :: Int- , id (id (head (_:0:_))) :: Int- , id (id (head [_,_])) :: Int- , id (id (head (_:_:_))) :: Int- , id (id (head (_:_:xs))) :: Int- , id (id (head (_:_:_:_))) :: Int- , id (id (head (_:x:_))) :: Int- , id (id (head (_:id _:_))) :: Int- , id (id (head (_:(_ ++ _)))) :: Int- , id (id (head [x])) :: Int- , id (id (head (x:_))) :: Int- , id (id (head (x:xs))) :: Int- , id (id (head (x:_:_))) :: Int- , id (id (head (y:_))) :: Int- , id (id (head (ord _:_))) :: Int- , id (id (head (abs _:_))) :: Int- , id (id (head (id 0:_))) :: Int- , id (id (head [id _])) :: Int- , id (id (head (id _:_))) :: Int- , id (id (head (id _:xs))) :: Int- , id (id (head (id _:_:_))) :: Int- , id (id (head (id x:_))) :: Int- , id (id (head (id (id _):_))) :: Int- , id (id (head (negate _:_))) :: Int- , id (id (head (head _:_))) :: Int- , id (id (head (_ + _:_))) :: Int- , id (id (head (insert _ _))) :: Int- , id (id (head ([] ++ _))) :: Int- , id (id (head (_ ++ []))) :: Int- , id (id (head (_ ++ _))) :: Int- , id (id (head (_ ++ xs))) :: Int- , id (id (head (_ ++ (_:_)))) :: Int- , id (id (head (xs ++ _))) :: Int- , id (id (head ((_:_) ++ _))) :: Int- , id (id (0 * 0)) :: Int- , id (id (0 * _)) :: Int- , id (id (0 * x)) :: Int- , id (id (0 * id _)) :: Int- , id (id (1 * _)) :: Int- , id (id (_ * 0)) :: Int- , id (id (_ * 1)) :: Int- , id (id (_ * _)) :: Int- , id (id (_ * x)) :: Int- , id (id (_ * y)) :: Int- , id (id (_ * ord _)) :: Int- , id (id (_ * abs _)) :: Int- , id (id (_ * id 0)) :: Int- , id (id (_ * id _)) :: Int- , id (id (_ * id x)) :: Int- , id (id (_ * id (id _))) :: Int- , id (id (_ * negate _)) :: Int- , id (id (_ * head _)) :: Int- , id (id (_ * (_ + _))) :: Int- , id (id (x * 0)) :: Int- , id (id (x * _)) :: Int- , id (id (x * x)) :: Int- , id (id (x * id _)) :: Int- , id (id (y * _)) :: Int- , id (id (ord _ * _)) :: Int- , id (id (abs _ * _)) :: Int- , id (id (id 0 * _)) :: Int- , id (id (id _ * 0)) :: Int- , id (id (id _ * _)) :: Int- , id (id (id _ * x)) :: Int- , id (id (id _ * id _)) :: Int- , id (id (id x * _)) :: Int- , id (id (id (id _) * _)) :: Int- , id (id (negate _ * _)) :: Int- , id (id (head _ * _)) :: Int- , id (id ((_ + _) * _)) :: Int- , id (id ((-1) + _)) :: Int- , id (id (0 + 0)) :: Int- , id (id (0 + 1)) :: Int- , id (id (0 + _)) :: Int- , id (id (0 + x)) :: Int- , id (id (0 + y)) :: Int- , id (id (0 + ord _)) :: Int- , id (id (0 + abs _)) :: Int- , id (id (0 + id 0)) :: Int- , id (id (0 + id _)) :: Int- , id (id (0 + id x)) :: Int- , id (id (0 + id (id _))) :: Int- , id (id (0 + negate _)) :: Int- , id (id (0 + head _)) :: Int- , id (id (0 + (_ + _))) :: Int- , id (id (1 + 0)) :: Int- , id (id (1 + _)) :: Int- , id (id (1 + x)) :: Int- , id (id (1 + id _)) :: Int- , id (id (_ + (-1))) :: Int- , id (id (_ + 0)) :: Int- , id (id (_ + 1)) :: Int- , id (id (_ + _)) :: Int- , id (id (_ + x)) :: Int- , id (id (_ + y)) :: Int- , id (id (_ + z)) :: Int- , id (id (_ + ord 'a')) :: Int- , id (id (_ + ord _)) :: Int- , id (id (_ + ord c)) :: Int- , id (id (_ + f _)) :: Int- , id (id (_ + abs 0)) :: Int- , id (id (_ + abs _)) :: Int- , id (id (_ + abs x)) :: Int- , id (id (_ + abs (id _))) :: Int- , id (id (_ + id 0)) :: Int- , id (id (_ + id 1)) :: Int- , id (id (_ + id _)) :: Int- , id (id (_ + id x)) :: Int- , id (id (_ + id y)) :: Int- , id (id (_ + id (ord _))) :: Int- , id (id (_ + id (abs _))) :: Int- , id (id (_ + id (id 0))) :: Int- , id (id (_ + id (id _))) :: Int- , id (id (_ + id (id x))) :: Int- , id (id (_ + id (id (id _)))) :: Int- , id (id (_ + id (negate _))) :: Int- , id (id (_ + id (head _))) :: Int- , id (id (_ + id (_ + _))) :: Int- , id (id (_ + negate 0)) :: Int- , id (id (_ + negate _)) :: Int- , id (id (_ + negate x)) :: Int- , id (id (_ + negate (id _))) :: Int- , id (id (_ + head [])) :: Int- , id (id (_ + head _)) :: Int- , id (id (_ + head xs)) :: Int- , id (id (_ + head (_:_))) :: Int- , id (id (_ + _ * _)) :: Int- , id (id (_ + (0 + _))) :: Int- , id (id (_ + (_ + 0))) :: Int- , id (id (_ + (_ + _))) :: Int- , id (id (_ + (_ + x))) :: Int- , id (id (_ + (_ + id _))) :: Int- , id (id (_ + (x + _))) :: Int- , id (id (_ + (id _ + _))) :: Int- , id (id (x + 0)) :: Int- , id (id (x + 1)) :: Int- , id (id (x + _)) :: Int- , id (id (x + x)) :: Int- , id (id (x + y)) :: Int- , id (id (x + ord _)) :: Int- , id (id (x + abs _)) :: Int- , id (id (x + id 0)) :: Int- , id (id (x + id _)) :: Int- , id (id (x + id x)) :: Int- , id (id (x + id (id _))) :: Int- , id (id (x + negate _)) :: Int- , id (id (x + head _)) :: Int- , id (id (x + (_ + _))) :: Int- , id (id (y + 0)) :: Int- , id (id (y + _)) :: Int- , id (id (y + x)) :: Int- , id (id (y + id _)) :: Int- , id (id (z + _)) :: Int- , id (id (ord 'a' + _)) :: Int- , id (id (ord _ + 0)) :: Int- , id (id (ord _ + _)) :: Int- , id (id (ord _ + x)) :: Int- , id (id (ord _ + id _)) :: Int- , id (id (ord c + _)) :: Int- , id (id (f _ + _)) :: Int- , id (id (abs 0 + _)) :: Int- , id (id (abs _ + 0)) :: Int- , id (id (abs _ + _)) :: Int- , id (id (abs _ + x)) :: Int- , id (id (abs _ + id _)) :: Int- , id (id (abs x + _)) :: Int- , id (id (abs (id _) + _)) :: Int- , id (id (id 0 + 0)) :: Int- , id (id (id 0 + _)) :: Int- , id (id (id 0 + x)) :: Int- , id (id (id 0 + id _)) :: Int- , id (id (id 1 + _)) :: Int- , id (id (id _ + 0)) :: Int- , id (id (id _ + 1)) :: Int- , id (id (id _ + _)) :: Int- , id (id (id _ + x)) :: Int- , id (id (id _ + y)) :: Int- , id (id (id _ + ord _)) :: Int- , id (id (id _ + abs _)) :: Int- , id (id (id _ + id 0)) :: Int- , id (id (id _ + id _)) :: Int- , id (id (id _ + id x)) :: Int- , id (id (id _ + id (id _))) :: Int- , id (id (id _ + negate _)) :: Int- , id (id (id _ + head _)) :: Int- , id (id (id _ + (_ + _))) :: Int- , id (id (id x + 0)) :: Int- , id (id (id x + _)) :: Int- , id (id (id x + x)) :: Int- , id (id (id x + id _)) :: Int- , id (id (id y + _)) :: Int- , id (id (id (ord _) + _)) :: Int- , id (id (id (abs _) + _)) :: Int- , id (id (id (id 0) + _)) :: Int- , id (id (id (id _) + 0)) :: Int- , id (id (id (id _) + _)) :: Int- , id (id (id (id _) + x)) :: Int- , id (id (id (id _) + id _)) :: Int- , id (id (id (id x) + _)) :: Int- , id (id (id (id (id _)) + _)) :: Int- , id (id (id (negate _) + _)) :: Int- , id (id (id (head _) + _)) :: Int- , id (id (id (_ + _) + _)) :: Int- , id (id (negate 0 + _)) :: Int- , id (id (negate _ + 0)) :: Int- , id (id (negate _ + _)) :: Int- , id (id (negate _ + x)) :: Int- , id (id (negate _ + id _)) :: Int- , id (id (negate x + _)) :: Int- , id (id (negate (id _) + _)) :: Int- , id (id (head [] + _)) :: Int- , id (id (head _ + 0)) :: Int- , id (id (head _ + _)) :: Int- , id (id (head _ + x)) :: Int- , id (id (head _ + id _)) :: Int- , id (id (head xs + _)) :: Int- , id (id (head (_:_) + _)) :: Int- , id (id (_ * _ + _)) :: Int- , id (id ((0 + _) + _)) :: Int- , id (id ((_ + 0) + _)) :: Int- , id (id ((_ + _) + 0)) :: Int- , id (id ((_ + _) + _)) :: Int- , id (id ((_ + _) + x)) :: Int- , id (id ((_ + _) + id _)) :: Int- , id (id ((_ + x) + _)) :: Int- , id (id ((_ + id _) + _)) :: Int- , id (id ((x + _) + _)) :: Int- , id (id ((id _ + _) + _)) :: Int- , id (negate (-1)) :: Int- , id (negate 0) :: Int- , id (negate 1) :: Int- , id (negate 2) :: Int- , id (negate _) :: Int- , id (negate x) :: Int- , id (negate x') :: Int- , id (negate y) :: Int- , id (negate z) :: Int- , id (negate (ord ' ')) :: Int- , id (negate (ord 'a')) :: Int- , id (negate (ord _)) :: Int- , id (negate (ord c)) :: Int- , id (negate (ord d)) :: Int- , id (negate (f 0)) :: Int- , id (negate (f _)) :: Int- , id (negate (f x)) :: Int- , id (negate (f (id _))) :: Int- , id (negate (g _)) :: Int- , id (negate (abs 0)) :: Int- , id (negate (abs 1)) :: Int- , id (negate (abs _)) :: Int- , id (negate (abs x)) :: Int- , id (negate (abs y)) :: Int- , id (negate (abs (ord _))) :: Int- , id (negate (abs (abs _))) :: Int- , id (negate (abs (id 0))) :: Int- , id (negate (abs (id _))) :: Int- , id (negate (abs (id x))) :: Int- , id (negate (abs (id (id _)))) :: Int- , id (negate (abs (negate _))) :: Int- , id (negate (abs (head _))) :: Int- , id (negate (abs (_ + _))) :: Int- , id (negate (id (-1))) :: Int- , id (negate (id 0)) :: Int- , id (negate (id 1)) :: Int- , id (negate (id _)) :: Int- , id (negate (id x)) :: Int- , id (negate (id y)) :: Int- , id (negate (id z)) :: Int- , id (negate (id (ord 'a'))) :: Int- , id (negate (id (ord _))) :: Int- , id (negate (id (ord c))) :: Int- , id (negate (id (f _))) :: Int- , id (negate (id (abs 0))) :: Int- , id (negate (id (abs _))) :: Int- , id (negate (id (abs x))) :: Int- , id (negate (id (abs (id _)))) :: Int- , id (negate (id (id 0))) :: Int- , id (negate (id (id 1))) :: Int- , id (negate (id (id _))) :: Int- , id (negate (id (id x))) :: Int- , id (negate (id (id y))) :: Int- , id (negate (id (id (ord _)))) :: Int- , id (negate (id (id (abs _)))) :: Int- , id (negate (id (id (id 0)))) :: Int- , id (negate (id (id (id _)))) :: Int- , id (negate (id (id (id x)))) :: Int- , id (negate (id (id (id (id _))))) :: Int- , id (negate (id (id (negate _)))) :: Int- , id (negate (id (id (head _)))) :: Int- , id (negate (id (id (_ + _)))) :: Int- , id (negate (id (negate 0))) :: Int- , id (negate (id (negate _))) :: Int- , id (negate (id (negate x))) :: Int- , id (negate (id (negate (id _)))) :: Int- , id (negate (id (head []))) :: Int- , id (negate (id (head _))) :: Int- , id (negate (id (head xs))) :: Int- , id (negate (id (head (_:_)))) :: Int- , id (negate (id (_ * _))) :: Int- , id (negate (id (0 + _))) :: Int- , id (negate (id (_ + 0))) :: Int- , id (negate (id (_ + _))) :: Int- , id (negate (id (_ + x))) :: Int- , id (negate (id (_ + id _))) :: Int- , id (negate (id (x + _))) :: Int- , id (negate (id (id _ + _))) :: Int- , id (negate (negate 0)) :: Int- , id (negate (negate 1)) :: Int- , id (negate (negate _)) :: Int- , id (negate (negate x)) :: Int- , id (negate (negate y)) :: Int- , id (negate (negate (ord _))) :: Int- , id (negate (negate (abs _))) :: Int- , id (negate (negate (id 0))) :: Int- , id (negate (negate (id _))) :: Int- , id (negate (negate (id x))) :: Int- , id (negate (negate (id (id _)))) :: Int- , id (negate (negate (negate _))) :: Int- , id (negate (negate (head _))) :: Int- , id (negate (negate (_ + _))) :: Int- , id (negate (head [0])) :: Int- , id (negate (head [])) :: Int- , id (negate (head _)) :: Int- , id (negate (head xs)) :: Int- , id (negate (head ys)) :: Int- , id (negate (head (tail _))) :: Int- , id (negate (head (0:_))) :: Int- , id (negate (head [_])) :: Int- , id (negate (head (_:_))) :: Int- , id (negate (head (_:xs))) :: Int- , id (negate (head (_:_:_))) :: Int- , id (negate (head (x:_))) :: Int- , id (negate (head (id _:_))) :: Int- , id (negate (head (_ ++ _))) :: Int- , id (negate (0 * _)) :: Int- , id (negate (_ * 0)) :: Int- , id (negate (_ * _)) :: Int- , id (negate (_ * x)) :: Int- , id (negate (_ * id _)) :: Int- , id (negate (x * _)) :: Int- , id (negate (id _ * _)) :: Int- , id (negate (0 + 0)) :: Int- , id (negate (0 + _)) :: Int- , id (negate (0 + x)) :: Int- , id (negate (0 + id _)) :: Int- , id (negate (1 + _)) :: Int- , id (negate (_ + 0)) :: Int- , id (negate (_ + 1)) :: Int- , id (negate (_ + _)) :: Int- , id (negate (_ + x)) :: Int- , id (negate (_ + y)) :: Int- , id (negate (_ + ord _)) :: Int- , id (negate (_ + abs _)) :: Int- , id (negate (_ + id 0)) :: Int- , id (negate (_ + id _)) :: Int- , id (negate (_ + id x)) :: Int- , id (negate (_ + id (id _))) :: Int- , id (negate (_ + negate _)) :: Int- , id (negate (_ + head _)) :: Int- , id (negate (_ + (_ + _))) :: Int- , id (negate (x + 0)) :: Int- , id (negate (x + _)) :: Int- , id (negate (x + x)) :: Int- , id (negate (x + id _)) :: Int- , id (negate (y + _)) :: Int- , id (negate (ord _ + _)) :: Int- , id (negate (abs _ + _)) :: Int- , id (negate (id 0 + _)) :: Int- , id (negate (id _ + 0)) :: Int- , id (negate (id _ + _)) :: Int- , id (negate (id _ + x)) :: Int- , id (negate (id _ + id _)) :: Int- , id (negate (id x + _)) :: Int- , id (negate (id (id _) + _)) :: Int- , id (negate (negate _ + _)) :: Int- , id (negate (head _ + _)) :: Int- , id (negate ((_ + _) + _)) :: Int- , id (head [-1]) :: Int- , id (head [0,0,0]) :: Int- , id (head [0,0]) :: Int- , id (head [0,1]) :: Int- , id (head [0]) :: Int- , id (head [1,0]) :: Int- , id (head [1]) :: Int- , id (head []) :: Int- , id (head _) :: Int- , id (head xs) :: Int- , id (head xs') :: Int- , id (head ys) :: Int- , id (head zs) :: Int- , id (head (sort _)) :: Int- , id (head (tail [0])) :: Int- , id (head (tail [])) :: Int- , id (head (tail _)) :: Int- , id (head (tail xs)) :: Int- , id (head (tail ys)) :: Int- , id (head (tail (tail _))) :: Int- , id (head (tail (0:_))) :: Int- , id (head (tail [_])) :: Int- , id (head (tail (_:_))) :: Int- , id (head (tail (_:xs))) :: Int- , id (head (tail (_:_:_))) :: Int- , id (head (tail (x:_))) :: Int- , id (head (tail (id _:_))) :: Int- , id (head (tail (_ ++ _))) :: Int- , id (head ((-1):_)) :: Int- , id (head [0,0]) :: Int- , id (head [0]) :: Int- , id (head (0:_)) :: Int- , id (head (0:xs)) :: Int- , id (head (0:ys)) :: Int- , id (head (0:tail _)) :: Int- , id (head (0:0:_)) :: Int- , id (head [0,_]) :: Int- , id (head (0:_:_)) :: Int- , id (head (0:_:xs)) :: Int- , id (head (0:_:_:_)) :: Int- , id (head (0:x:_)) :: Int- , id (head (0:id _:_)) :: Int- , id (head (0:(_ ++ _))) :: Int- , id (head [1]) :: Int- , id (head (1:_)) :: Int- , id (head (1:xs)) :: Int- , id (head (1:_:_)) :: Int- , id (head [_,0,0]) :: Int- , id (head [_,0]) :: Int- , id (head [_,1]) :: Int- , id (head [_]) :: Int- , id (head (_:_)) :: Int- , id (head (_:xs)) :: Int- , id (head (_:ys)) :: Int- , id (head (_:zs)) :: Int- , id (head (_:sort _)) :: Int- , id (head (_:tail [])) :: Int- , id (head (_:tail _)) :: Int- , id (head (_:tail xs)) :: Int- , id (head (_:tail (_:_))) :: Int- , id (head [_,0]) :: Int- , id (head (_:0:_)) :: Int- , id (head (_:0:xs)) :: Int- , id (head (_:0:_:_)) :: Int- , id (head (_:1:_)) :: Int- , id (head [_,_,0]) :: Int- , id (head [_,_]) :: Int- , id (head (_:_:_)) :: Int- , id (head (_:_:xs)) :: Int- , id (head (_:_:ys)) :: Int- , id (head (_:_:tail _)) :: Int- , id (head (_:_:0:_)) :: Int- , id (head [_,_,_]) :: Int- , id (head (_:_:_:_)) :: Int- , id (head (_:_:_:xs)) :: Int- , id (head (_:_:_:_:_)) :: Int- , id (head (_:_:x:_)) :: Int- , id (head (_:_:id _:_)) :: Int- , id (head (_:_:(_ ++ _))) :: Int- , id (head [_,x]) :: Int- , id (head (_:x:_)) :: Int- , id (head (_:x:xs)) :: Int- , id (head (_:x:_:_)) :: Int- , id (head (_:y:_)) :: Int- , id (head (_:ord _:_)) :: Int- , id (head (_:abs _:_)) :: Int- , id (head (_:id 0:_)) :: Int- , id (head [_,id _]) :: Int- , id (head (_:id _:_)) :: Int- , id (head (_:id _:xs)) :: Int- , id (head (_:id _:_:_)) :: Int- , id (head (_:id x:_)) :: Int- , id (head (_:id (id _):_)) :: Int- , id (head (_:negate _:_)) :: Int- , id (head (_:head _:_)) :: Int- , id (head (_:_ + _:_)) :: Int- , id (head (_:insert _ _)) :: Int- , id (head (_:([] ++ _))) :: Int- , id (head (_:(_ ++ []))) :: Int- , id (head (_:(_ ++ _))) :: Int- , id (head (_:(_ ++ xs))) :: Int- , id (head (_:(_ ++ (_:_)))) :: Int- , id (head (_:(xs ++ _))) :: Int- , id (head (_:((_:_) ++ _))) :: Int- , id (head [x,0]) :: Int- , id (head [x]) :: Int- , id (head (x:_)) :: Int- , id (head (x:xs)) :: Int- , id (head (x:ys)) :: Int- , id (head (x:tail _)) :: Int- , id (head (x:0:_)) :: Int- , id (head [x,_]) :: Int- , id (head (x:_:_)) :: Int- , id (head (x:_:xs)) :: Int- , id (head (x:_:_:_)) :: Int- , id (head (x:x:_)) :: Int- , id (head (x:id _:_)) :: Int- , id (head (x:(_ ++ _))) :: Int- , id (head [y]) :: Int- , id (head (y:_)) :: Int- , id (head (y:xs)) :: Int- , id (head (y:_:_)) :: Int- , id (head (z:_)) :: Int- , id (head (ord 'a':_)) :: Int- , id (head [ord _]) :: Int- , id (head (ord _:_)) :: Int- , id (head (ord _:xs)) :: Int- , id (head (ord _:_:_)) :: Int- , id (head (ord c:_)) :: Int- , id (head (f _:_)) :: Int- , id (head (abs 0:_)) :: Int- , id (head [abs _]) :: Int- , id (head (abs _:_)) :: Int- , id (head (abs _:xs)) :: Int- , id (head (abs _:_:_)) :: Int- , id (head (abs x:_)) :: Int- , id (head (abs (id _):_)) :: Int- , id (head [id 0]) :: Int- , id (head (id 0:_)) :: Int- , id (head (id 0:xs)) :: Int- , id (head (id 0:_:_)) :: Int- , id (head (id 1:_)) :: Int- , id (head [id _,0]) :: Int- , id (head [id _]) :: Int- , id (head (id _:_)) :: Int- , id (head (id _:xs)) :: Int- , id (head (id _:ys)) :: Int- , id (head (id _:tail _)) :: Int- , id (head (id _:0:_)) :: Int- , id (head [id _,_]) :: Int- , id (head (id _:_:_)) :: Int- , id (head (id _:_:xs)) :: Int- , id (head (id _:_:_:_)) :: Int- , id (head (id _:x:_)) :: Int- , id (head (id _:id _:_)) :: Int- , id (head (id _:(_ ++ _))) :: Int- , id (head [id x]) :: Int- , id (head (id x:_)) :: Int- , id (head (id x:xs)) :: Int- , id (head (id x:_:_)) :: Int- , id (head (id y:_)) :: Int- , id (head (id (ord _):_)) :: Int- , id (head (id (abs _):_)) :: Int- , id (head (id (id 0):_)) :: Int- , id (head [id (id _)]) :: Int- , id (head (id (id _):_)) :: Int- , id (head (id (id _):xs)) :: Int- , id (head (id (id _):_:_)) :: Int- , id (head (id (id x):_)) :: Int- , id (head (id (id (id _)):_)) :: Int- , id (head (id (negate _):_)) :: Int- , id (head (id (head _):_)) :: Int- , id (head (id (_ + _):_)) :: Int- , id (head (negate 0:_)) :: Int- , id (head [negate _]) :: Int- , id (head (negate _:_)) :: Int- , id (head (negate _:xs)) :: Int- , id (head (negate _:_:_)) :: Int- , id (head (negate x:_)) :: Int- , id (head (negate (id _):_)) :: Int- , id (head (head []:_)) :: Int- , id (head [head _]) :: Int- , id (head (head _:_)) :: Int- , id (head (head _:xs)) :: Int- , id (head (head _:_:_)) :: Int- , id (head (head xs:_)) :: Int- , id (head (head (_:_):_)) :: Int- , id (head (_ * _:_)) :: Int- , id (head (0 + _:_)) :: Int- , id (head (_ + 0:_)) :: Int- , id (head [_ + _]) :: Int- , id (head (_ + _:_)) :: Int- , id (head (_ + _:xs)) :: Int- , id (head (_ + _:_:_)) :: Int- , id (head (_ + x:_)) :: Int- , id (head (_ + id _:_)) :: Int- , id (head (x + _:_)) :: Int- , id (head (id _ + _:_)) :: Int- , id (head (insert _ _)) :: Int- , id (head ([0] ++ _)) :: Int- , id (head ([] ++ [])) :: Int- , id (head ([] ++ _)) :: Int- , id (head ([] ++ xs)) :: Int- , id (head ([] ++ (_:_))) :: Int- , id (head (_ ++ [0])) :: Int- , id (head (_ ++ [])) :: Int- , id (head (_ ++ _)) :: Int- , id (head (_ ++ xs)) :: Int- , id (head (_ ++ ys)) :: Int- , id (head (_ ++ tail _)) :: Int- , id (head (_ ++ (0:_))) :: Int- , id (head (_ ++ [_])) :: Int- , id (head (_ ++ (_:_))) :: Int- , id (head (_ ++ (_:xs))) :: Int- , id (head (_ ++ (_:_:_))) :: Int- , id (head (_ ++ (x:_))) :: Int- , id (head (_ ++ (id _:_))) :: Int- , id (head (_ ++ (_ ++ _))) :: Int- , id (head (xs ++ [])) :: Int- , id (head (xs ++ _)) :: Int- , id (head (xs ++ xs)) :: Int- , id (head (xs ++ (_:_))) :: Int- , id (head (ys ++ _)) :: Int- , id (head ((0:_) ++ _)) :: Int- , id (head ([_] ++ _)) :: Int- , id (head ((_:_) ++ [])) :: Int- , id (head ((_:_) ++ _)) :: Int- , id (head ((_:_) ++ xs)) :: Int- , id (head ((_:_) ++ (_:_))) :: Int- , id (head ((_:xs) ++ _)) :: Int- , id (head ((_:_:_) ++ _)) :: Int- , id (head ((x:_) ++ _)) :: Int- , id (head ((id _:_) ++ _)) :: Int- , id ((-1) * _) :: Int- , id (0 * 0) :: Int- , id (0 * 1) :: Int- , id (0 * _) :: Int- , id (0 * x) :: Int- , id (0 * y) :: Int- , id (0 * ord _) :: Int- , id (0 * abs _) :: Int- , id (0 * id 0) :: Int- , id (0 * id _) :: Int- , id (0 * id x) :: Int- , id (0 * id (id _)) :: Int- , id (0 * negate _) :: Int- , id (0 * head _) :: Int- , id (0 * (_ + _)) :: Int- , id (1 * 0) :: Int- , id (1 * _) :: Int- , id (1 * x) :: Int- , id (1 * id _) :: Int- , id (_ * (-1)) :: Int- , id (_ * 0) :: Int- , id (_ * 1) :: Int- , id (_ * _) :: Int- , id (_ * x) :: Int- , id (_ * y) :: Int- , id (_ * z) :: Int- , id (_ * ord 'a') :: Int- , id (_ * ord _) :: Int- , id (_ * ord c) :: Int- , id (_ * f _) :: Int- , id (_ * abs 0) :: Int- , id (_ * abs _) :: Int- , id (_ * abs x) :: Int- , id (_ * abs (id _)) :: Int- , id (_ * id 0) :: Int- , id (_ * id 1) :: Int- , id (_ * id _) :: Int- , id (_ * id x) :: Int- , id (_ * id y) :: Int- , id (_ * id (ord _)) :: Int- , id (_ * id (abs _)) :: Int- , id (_ * id (id 0)) :: Int- , id (_ * id (id _)) :: Int- , id (_ * id (id x)) :: Int- , id (_ * id (id (id _))) :: Int- , id (_ * id (negate _)) :: Int- , id (_ * id (head _)) :: Int- , id (_ * id (_ + _)) :: Int- , id (_ * negate 0) :: Int- , id (_ * negate _) :: Int- , id (_ * negate x) :: Int- , id (_ * negate (id _)) :: Int- , id (_ * head []) :: Int- , id (_ * head _) :: Int- , id (_ * head xs) :: Int- , id (_ * head (_:_)) :: Int- , id (_ * (_ * _)) :: Int- , id (_ * (0 + _)) :: Int- , id (_ * (_ + 0)) :: Int- , id (_ * (_ + _)) :: Int- , id (_ * (_ + x)) :: Int- , id (_ * (_ + id _)) :: Int- , id (_ * (x + _)) :: Int- , id (_ * (id _ + _)) :: Int- , id (x * 0) :: Int- , id (x * 1) :: Int- , id (x * _) :: Int- , id (x * x) :: Int- , id (x * y) :: Int- , id (x * ord _) :: Int- , id (x * abs _) :: Int- , id (x * id 0) :: Int- , id (x * id _) :: Int- , id (x * id x) :: Int- , id (x * id (id _)) :: Int- , id (x * negate _) :: Int- , id (x * head _) :: Int- , id (x * (_ + _)) :: Int- , id (y * 0) :: Int- , id (y * _) :: Int- , id (y * x) :: Int- , id (y * id _) :: Int- , id (z * _) :: Int- , id (ord 'a' * _) :: Int- , id (ord _ * 0) :: Int- , id (ord _ * _) :: Int- , id (ord _ * x) :: Int- , id (ord _ * id _) :: Int- , id (ord c * _) :: Int- , id (f _ * _) :: Int- , id (abs 0 * _) :: Int- , id (abs _ * 0) :: Int- , id (abs _ * _) :: Int- , id (abs _ * x) :: Int- , id (abs _ * id _) :: Int- , id (abs x * _) :: Int- , id (abs (id _) * _) :: Int- , id (id 0 * 0) :: Int- , id (id 0 * _) :: Int- , id (id 0 * x) :: Int- , id (id 0 * id _) :: Int- , id (id 1 * _) :: Int- , id (id _ * 0) :: Int- , id (id _ * 1) :: Int- , id (id _ * _) :: Int- , id (id _ * x) :: Int- , id (id _ * y) :: Int- , id (id _ * ord _) :: Int- , id (id _ * abs _) :: Int- , id (id _ * id 0) :: Int- , id (id _ * id _) :: Int- , id (id _ * id x) :: Int- , id (id _ * id (id _)) :: Int- , id (id _ * negate _) :: Int- , id (id _ * head _) :: Int- , id (id _ * (_ + _)) :: Int- , id (id x * 0) :: Int- , id (id x * _) :: Int- , id (id x * x) :: Int- , id (id x * id _) :: Int- , id (id y * _) :: Int- , id (id (ord _) * _) :: Int- , id (id (abs _) * _) :: Int- , id (id (id 0) * _) :: Int- , id (id (id _) * 0) :: Int- , id (id (id _) * _) :: Int- , id (id (id _) * x) :: Int- , id (id (id _) * id _) :: Int- , id (id (id x) * _) :: Int- , id (id (id (id _)) * _) :: Int- , id (id (negate _) * _) :: Int- , id (id (head _) * _) :: Int- , id (id (_ + _) * _) :: Int- , id (negate 0 * _) :: Int- , id (negate _ * 0) :: Int- , id (negate _ * _) :: Int- , id (negate _ * x) :: Int- , id (negate _ * id _) :: Int- , id (negate x * _) :: Int- , id (negate (id _) * _) :: Int- , id (head [] * _) :: Int- , id (head _ * 0) :: Int- , id (head _ * _) :: Int- , id (head _ * x) :: Int- , id (head _ * id _) :: Int- , id (head xs * _) :: Int- , id (head (_:_) * _) :: Int- , id ((_ * _) * _) :: Int- , id ((0 + _) * _) :: Int- , id ((_ + 0) * _) :: Int- , id ((_ + _) * 0) :: Int- , id ((_ + _) * _) :: Int- , id ((_ + _) * x) :: Int- , id ((_ + _) * id _) :: Int- , id ((_ + x) * _) :: Int- , id ((_ + id _) * _) :: Int- , id ((x + _) * _) :: Int- , id ((id _ + _) * _) :: Int- , id ((-1) + 0) :: Int- , id ((-1) + _) :: Int- , id ((-1) + x) :: Int- , id ((-1) + id _) :: Int- , id (0 + (-1)) :: Int- , id (0 + 0) :: Int- , id (0 + 1) :: Int- , id (0 + _) :: Int- , id (0 + x) :: Int- , id (0 + y) :: Int- , id (0 + z) :: Int- , id (0 + ord 'a') :: Int- , id (0 + ord _) :: Int- , id (0 + ord c) :: Int- , id (0 + f _) :: Int- , id (0 + abs 0) :: Int- , id (0 + abs _) :: Int- , id (0 + abs x) :: Int- , id (0 + abs (id _)) :: Int- , id (0 + id 0) :: Int- , id (0 + id 1) :: Int- , id (0 + id _) :: Int- , id (0 + id x) :: Int- , id (0 + id y) :: Int- , id (0 + id (ord _)) :: Int- , id (0 + id (abs _)) :: Int- , id (0 + id (id 0)) :: Int- , id (0 + id (id _)) :: Int- , id (0 + id (id x)) :: Int- , id (0 + id (id (id _))) :: Int- , id (0 + id (negate _)) :: Int- , id (0 + id (head _)) :: Int- , id (0 + id (_ + _)) :: Int- , id (0 + negate 0) :: Int- , id (0 + negate _) :: Int- , id (0 + negate x) :: Int- , id (0 + negate (id _)) :: Int- , id (0 + head []) :: Int- , id (0 + head _) :: Int- , id (0 + head xs) :: Int- , id (0 + head (_:_)) :: Int- , id (0 + _ * _) :: Int- , id (0 + (0 + _)) :: Int- , id (0 + (_ + 0)) :: Int- , id (0 + (_ + _)) :: Int- , id (0 + (_ + x)) :: Int- , id (0 + (_ + id _)) :: Int- , id (0 + (x + _)) :: Int- , id (0 + (id _ + _)) :: Int- , id (1 + 0) :: Int- , id (1 + 1) :: Int- , id (1 + _) :: Int- , id (1 + x) :: Int- , id (1 + y) :: Int- , id (1 + ord _) :: Int- , id (1 + abs _) :: Int- , id (1 + id 0) :: Int- , id (1 + id _) :: Int- , id (1 + id x) :: Int- , id (1 + id (id _)) :: Int- , id (1 + negate _) :: Int- , id (1 + head _) :: Int- , id (1 + (_ + _)) :: Int- , id (2 + _) :: Int- , id (_ + (-1)) :: Int- , id (_ + 0) :: Int- , id (_ + 1) :: Int- , id (_ + 2) :: Int- , id (_ + _) :: Int- , id (_ + x) :: Int- , id (_ + x') :: Int- , id (_ + y) :: Int- , id (_ + z) :: Int- , id (_ + ord ' ') :: Int- , id (_ + ord 'a') :: Int- , id (_ + ord _) :: Int- , id (_ + ord c) :: Int- , id (_ + ord d) :: Int- , id (_ + f 0) :: Int- , id (_ + f _) :: Int- , id (_ + f x) :: Int- , id (_ + f (id _)) :: Int- , id (_ + g _) :: Int- , id (_ + abs 0) :: Int- , id (_ + abs 1) :: Int- , id (_ + abs _) :: Int- , id (_ + abs x) :: Int- , id (_ + abs y) :: Int- , id (_ + abs (ord _)) :: Int- , id (_ + abs (abs _)) :: Int- , id (_ + abs (id 0)) :: Int- , id (_ + abs (id _)) :: Int- , id (_ + abs (id x)) :: Int- , id (_ + abs (id (id _))) :: Int- , id (_ + abs (negate _)) :: Int- , id (_ + abs (head _)) :: Int- , id (_ + abs (_ + _)) :: Int- , id (_ + id (-1)) :: Int- , id (_ + id 0) :: Int- , id (_ + id 1) :: Int- , id (_ + id _) :: Int- , id (_ + id x) :: Int- , id (_ + id y) :: Int- , id (_ + id z) :: Int- , id (_ + id (ord 'a')) :: Int- , id (_ + id (ord _)) :: Int- , id (_ + id (ord c)) :: Int- , id (_ + id (f _)) :: Int- , id (_ + id (abs 0)) :: Int- , id (_ + id (abs _)) :: Int- , id (_ + id (abs x)) :: Int- , id (_ + id (abs (id _))) :: Int- , id (_ + id (id 0)) :: Int- , id (_ + id (id 1)) :: Int- , id (_ + id (id _)) :: Int- , id (_ + id (id x)) :: Int- , id (_ + id (id y)) :: Int- , id (_ + id (id (ord _))) :: Int- , id (_ + id (id (abs _))) :: Int- , id (_ + id (id (id 0))) :: Int- , id (_ + id (id (id _))) :: Int- , id (_ + id (id (id x))) :: Int- , id (_ + id (id (id (id _)))) :: Int- , id (_ + id (id (negate _))) :: Int- , id (_ + id (id (head _))) :: Int- , id (_ + id (id (_ + _))) :: Int- , id (_ + id (negate 0)) :: Int- , id (_ + id (negate _)) :: Int- , id (_ + id (negate x)) :: Int- , id (_ + id (negate (id _))) :: Int- , id (_ + id (head [])) :: Int- , id (_ + id (head _)) :: Int- , id (_ + id (head xs)) :: Int- , id (_ + id (head (_:_))) :: Int- , id (_ + id (_ * _)) :: Int- , id (_ + id (0 + _)) :: Int- , id (_ + id (_ + 0)) :: Int- , id (_ + id (_ + _)) :: Int- , id (_ + id (_ + x)) :: Int- , id (_ + id (_ + id _)) :: Int- , id (_ + id (x + _)) :: Int- , id (_ + id (id _ + _)) :: Int- , id (_ + negate 0) :: Int- , id (_ + negate 1) :: Int- , id (_ + negate _) :: Int- , id (_ + negate x) :: Int- , id (_ + negate y) :: Int- , id (_ + negate (ord _)) :: Int- , id (_ + negate (abs _)) :: Int- , id (_ + negate (id 0)) :: Int- , id (_ + negate (id _)) :: Int- , id (_ + negate (id x)) :: Int- , id (_ + negate (id (id _))) :: Int- , id (_ + negate (negate _)) :: Int- , id (_ + negate (head _)) :: Int- , id (_ + negate (_ + _)) :: Int- , id (_ + head [0]) :: Int- , id (_ + head []) :: Int- , id (_ + head _) :: Int- , id (_ + head xs) :: Int- , id (_ + head ys) :: Int- , id (_ + head (tail _)) :: Int- , id (_ + head (0:_)) :: Int- , id (_ + head [_]) :: Int- , id (_ + head (_:_)) :: Int- , id (_ + head (_:xs)) :: Int- , id (_ + head (_:_:_)) :: Int- , id (_ + head (x:_)) :: Int- , id (_ + head (id _:_)) :: Int- , id (_ + head (_ ++ _)) :: Int- , id (_ + 0 * _) :: Int- , id (_ + _ * 0) :: Int- , id (_ + _ * _) :: Int- , id (_ + _ * x) :: Int- , id (_ + _ * id _) :: Int- , id (_ + x * _) :: Int- , id (_ + id _ * _) :: Int- , id (_ + (0 + 0)) :: Int- , id (_ + (0 + _)) :: Int- , id (_ + (0 + x)) :: Int- , id (_ + (0 + id _)) :: Int- , id (_ + (1 + _)) :: Int- , id (_ + (_ + 0)) :: Int- , id (_ + (_ + 1)) :: Int- , id (_ + (_ + _)) :: Int- , id (_ + (_ + x)) :: Int- , id (_ + (_ + y)) :: Int- , id (_ + (_ + ord _)) :: Int- , id (_ + (_ + abs _)) :: Int- , id (_ + (_ + id 0)) :: Int- , id (_ + (_ + id _)) :: Int- , id (_ + (_ + id x)) :: Int- , id (_ + (_ + id (id _))) :: Int- , id (_ + (_ + negate _)) :: Int- , id (_ + (_ + head _)) :: Int- , id (_ + (_ + (_ + _))) :: Int- , id (_ + (x + 0)) :: Int- , id (_ + (x + _)) :: Int- , id (_ + (x + x)) :: Int- , id (_ + (x + id _)) :: Int- , id (_ + (y + _)) :: Int- , id (_ + (ord _ + _)) :: Int- , id (_ + (abs _ + _)) :: Int- , id (_ + (id 0 + _)) :: Int- , id (_ + (id _ + 0)) :: Int- , id (_ + (id _ + _)) :: Int- , id (_ + (id _ + x)) :: Int- , id (_ + (id _ + id _)) :: Int- , id (_ + (id x + _)) :: Int- , id (_ + (id (id _) + _)) :: Int- , id (_ + (negate _ + _)) :: Int- , id (_ + (head _ + _)) :: Int- , id (_ + ((_ + _) + _)) :: Int- , id (x + (-1)) :: Int- , id (x + 0) :: Int- , id (x + 1) :: Int- , id (x + _) :: Int- , id (x + x) :: Int- , id (x + y) :: Int- , id (x + z) :: Int- , id (x + ord 'a') :: Int- , id (x + ord _) :: Int- , id (x + ord c) :: Int- , id (x + f _) :: Int- , id (x + abs 0) :: Int- , id (x + abs _) :: Int- , id (x + abs x) :: Int- , id (x + abs (id _)) :: Int- , id (x + id 0) :: Int- , id (x + id 1) :: Int- , id (x + id _) :: Int- , id (x + id x) :: Int- , id (x + id y) :: Int- , id (x + id (ord _)) :: Int- , id (x + id (abs _)) :: Int- , id (x + id (id 0)) :: Int- , id (x + id (id _)) :: Int- , id (x + id (id x)) :: Int- , id (x + id (id (id _))) :: Int- , id (x + id (negate _)) :: Int- , id (x + id (head _)) :: Int- , id (x + id (_ + _)) :: Int- , id (x + negate 0) :: Int- , id (x + negate _) :: Int- , id (x + negate x) :: Int- , id (x + negate (id _)) :: Int- , id (x + head []) :: Int- , id (x + head _) :: Int- , id (x + head xs) :: Int- , id (x + head (_:_)) :: Int- , id (x + _ * _) :: Int- , id (x + (0 + _)) :: Int- , id (x + (_ + 0)) :: Int- , id (x + (_ + _)) :: Int- , id (x + (_ + x)) :: Int- , id (x + (_ + id _)) :: Int- , id (x + (x + _)) :: Int- , id (x + (id _ + _)) :: Int- , id (x' + _) :: Int- , id (y + 0) :: Int- , id (y + 1) :: Int- , id (y + _) :: Int- , id (y + x) :: Int- , id (y + y) :: Int- , id (y + ord _) :: Int- , id (y + abs _) :: Int- , id (y + id 0) :: Int- , id (y + id _) :: Int- , id (y + id x) :: Int- , id (y + id (id _)) :: Int- , id (y + negate _) :: Int- , id (y + head _) :: Int- , id (y + (_ + _)) :: Int- , id (z + 0) :: Int- , id (z + _) :: Int- , id (z + x) :: Int- , id (z + id _) :: Int- , id (ord ' ' + _) :: Int- , id (ord 'a' + 0) :: Int- , id (ord 'a' + _) :: Int- , id (ord 'a' + x) :: Int- , id (ord 'a' + id _) :: Int- , id (ord _ + 0) :: Int- , id (ord _ + 1) :: Int- , id (ord _ + _) :: Int- , id (ord _ + x) :: Int- , id (ord _ + y) :: Int- , id (ord _ + ord _) :: Int- , id (ord _ + abs _) :: Int- , id (ord _ + id 0) :: Int- , id (ord _ + id _) :: Int- , id (ord _ + id x) :: Int- , id (ord _ + id (id _)) :: Int- , id (ord _ + negate _) :: Int- , id (ord _ + head _) :: Int- , id (ord _ + (_ + _)) :: Int- , id (ord c + 0) :: Int- , id (ord c + _) :: Int- , id (ord c + x) :: Int- , id (ord c + id _) :: Int- , id (ord d + _) :: Int- , id (f 0 + _) :: Int- , id (f _ + 0) :: Int- , id (f _ + _) :: Int- , id (f _ + x) :: Int- , id (f _ + id _) :: Int- , id (f x + _) :: Int- , id (f (id _) + _) :: Int- , id (g _ + _) :: Int- , id (abs 0 + 0) :: Int- , id (abs 0 + _) :: Int- , id (abs 0 + x) :: Int- , id (abs 0 + id _) :: Int- , id (abs 1 + _) :: Int- , id (abs _ + 0) :: Int- , id (abs _ + 1) :: Int- , id (abs _ + _) :: Int- , id (abs _ + x) :: Int- , id (abs _ + y) :: Int- , id (abs _ + ord _) :: Int- , id (abs _ + abs _) :: Int- , id (abs _ + id 0) :: Int- , id (abs _ + id _) :: Int- , id (abs _ + id x) :: Int- , id (abs _ + id (id _)) :: Int- , id (abs _ + negate _) :: Int- , id (abs _ + head _) :: Int- , id (abs _ + (_ + _)) :: Int- , id (abs x + 0) :: Int- , id (abs x + _) :: Int- , id (abs x + x) :: Int- , id (abs x + id _) :: Int- , id (abs y + _) :: Int- , id (abs (ord _) + _) :: Int- , id (abs (abs _) + _) :: Int- , id (abs (id 0) + _) :: Int- , id (abs (id _) + 0) :: Int- , id (abs (id _) + _) :: Int- , id (abs (id _) + x) :: Int- , id (abs (id _) + id _) :: Int- , id (abs (id x) + _) :: Int- , id (abs (id (id _)) + _) :: Int- , id (abs (negate _) + _) :: Int- , id (abs (head _) + _) :: Int- , id (abs (_ + _) + _) :: Int- , id (id (-1) + _) :: Int- , id (id 0 + 0) :: Int- , id (id 0 + 1) :: Int- , id (id 0 + _) :: Int- , id (id 0 + x) :: Int- , id (id 0 + y) :: Int- , id (id 0 + ord _) :: Int- , id (id 0 + abs _) :: Int- , id (id 0 + id 0) :: Int- , id (id 0 + id _) :: Int- , id (id 0 + id x) :: Int- , id (id 0 + id (id _)) :: Int- , id (id 0 + negate _) :: Int- , id (id 0 + head _) :: Int- , id (id 0 + (_ + _)) :: Int- , id (id 1 + 0) :: Int- , id (id 1 + _) :: Int- , id (id 1 + x) :: Int- , id (id 1 + id _) :: Int- , id (id _ + (-1)) :: Int- , id (id _ + 0) :: Int- , id (id _ + 1) :: Int- , id (id _ + _) :: Int- , id (id _ + x) :: Int- , id (id _ + y) :: Int- , id (id _ + z) :: Int- , id (id _ + ord 'a') :: Int- , id (id _ + ord _) :: Int- , id (id _ + ord c) :: Int- , id (id _ + f _) :: Int- , id (id _ + abs 0) :: Int- , id (id _ + abs _) :: Int- , id (id _ + abs x) :: Int- , id (id _ + abs (id _)) :: Int- , id (id _ + id 0) :: Int- , id (id _ + id 1) :: Int- , id (id _ + id _) :: Int- , id (id _ + id x) :: Int- , id (id _ + id y) :: Int- , id (id _ + id (ord _)) :: Int- , id (id _ + id (abs _)) :: Int- , id (id _ + id (id 0)) :: Int- , id (id _ + id (id _)) :: Int- , id (id _ + id (id x)) :: Int- , id (id _ + id (id (id _))) :: Int- , id (id _ + id (negate _)) :: Int- , id (id _ + id (head _)) :: Int- , id (id _ + id (_ + _)) :: Int- , id (id _ + negate 0) :: Int- , id (id _ + negate _) :: Int- , id (id _ + negate x) :: Int- , id (id _ + negate (id _)) :: Int- , id (id _ + head []) :: Int- , id (id _ + head _) :: Int- , id (id _ + head xs) :: Int- , id (id _ + head (_:_)) :: Int- , id (id _ + _ * _) :: Int- , id (id _ + (0 + _)) :: Int- , id (id _ + (_ + 0)) :: Int- , id (id _ + (_ + _)) :: Int- , id (id _ + (_ + x)) :: Int- , id (id _ + (_ + id _)) :: Int- , id (id _ + (x + _)) :: Int- , id (id _ + (id _ + _)) :: Int- , id (id x + 0) :: Int- , id (id x + 1) :: Int- , id (id x + _) :: Int- , id (id x + x) :: Int- , id (id x + y) :: Int- , id (id x + ord _) :: Int- , id (id x + abs _) :: Int- , id (id x + id 0) :: Int- , id (id x + id _) :: Int- , id (id x + id x) :: Int- , id (id x + id (id _)) :: Int- , id (id x + negate _) :: Int- , id (id x + head _) :: Int- , id (id x + (_ + _)) :: Int- , id (id y + 0) :: Int- , id (id y + _) :: Int- , id (id y + x) :: Int- , id (id y + id _) :: Int- , id (id z + _) :: Int- , id (id (ord 'a') + _) :: Int- , id (id (ord _) + 0) :: Int- , id (id (ord _) + _) :: Int- , id (id (ord _) + x) :: Int- , id (id (ord _) + id _) :: Int- , id (id (ord c) + _) :: Int- , id (id (f _) + _) :: Int- , id (id (abs 0) + _) :: Int- , id (id (abs _) + 0) :: Int- , id (id (abs _) + _) :: Int- , id (id (abs _) + x) :: Int- , id (id (abs _) + id _) :: Int- , id (id (abs x) + _) :: Int- , id (id (abs (id _)) + _) :: Int- , id (id (id 0) + 0) :: Int- , id (id (id 0) + _) :: Int- , id (id (id 0) + x) :: Int- , id (id (id 0) + id _) :: Int- , id (id (id 1) + _) :: Int- , id (id (id _) + 0) :: Int- , id (id (id _) + 1) :: Int- , id (id (id _) + _) :: Int- , id (id (id _) + x) :: Int- , id (id (id _) + y) :: Int- , id (id (id _) + ord _) :: Int- , id (id (id _) + abs _) :: Int- , id (id (id _) + id 0) :: Int- , id (id (id _) + id _) :: Int- , id (id (id _) + id x) :: Int- , id (id (id _) + id (id _)) :: Int- , id (id (id _) + negate _) :: Int- , id (id (id _) + head _) :: Int- , id (id (id _) + (_ + _)) :: Int- , id (id (id x) + 0) :: Int- , id (id (id x) + _) :: Int- , id (id (id x) + x) :: Int- , id (id (id x) + id _) :: Int- , id (id (id y) + _) :: Int- , id (id (id (ord _)) + _) :: Int- , id (id (id (abs _)) + _) :: Int- , id (id (id (id 0)) + _) :: Int- , id (id (id (id _)) + 0) :: Int- , id (id (id (id _)) + _) :: Int- , id (id (id (id _)) + x) :: Int- , id (id (id (id _)) + id _) :: Int- , id (id (id (id x)) + _) :: Int- , id (id (id (id (id _))) + _) :: Int- , id (id (id (negate _)) + _) :: Int- , id (id (id (head _)) + _) :: Int- , id (id (id (_ + _)) + _) :: Int- , id (id (negate 0) + _) :: Int- , id (id (negate _) + 0) :: Int- , id (id (negate _) + _) :: Int- , id (id (negate _) + x) :: Int- , id (id (negate _) + id _) :: Int- , id (id (negate x) + _) :: Int- , id (id (negate (id _)) + _) :: Int- , id (id (head []) + _) :: Int- , id (id (head _) + 0) :: Int- , id (id (head _) + _) :: Int- , id (id (head _) + x) :: Int- , id (id (head _) + id _) :: Int- , id (id (head xs) + _) :: Int- , id (id (head (_:_)) + _) :: Int- , id (id (_ * _) + _) :: Int- , id (id (0 + _) + _) :: Int- , id (id (_ + 0) + _) :: Int- , id (id (_ + _) + 0) :: Int- , id (id (_ + _) + _) :: Int- , id (id (_ + _) + x) :: Int- , id (id (_ + _) + id _) :: Int- , id (id (_ + x) + _) :: Int- , id (id (_ + id _) + _) :: Int- , id (id (x + _) + _) :: Int- , id (id (id _ + _) + _) :: Int- , id (negate 0 + 0) :: Int- , id (negate 0 + _) :: Int- , id (negate 0 + x) :: Int- , id (negate 0 + id _) :: Int- , id (negate 1 + _) :: Int- , id (negate _ + 0) :: Int- , id (negate _ + 1) :: Int- , id (negate _ + _) :: Int- , id (negate _ + x) :: Int- , id (negate _ + y) :: Int- , id (negate _ + ord _) :: Int- , id (negate _ + abs _) :: Int- , id (negate _ + id 0) :: Int- , id (negate _ + id _) :: Int- , id (negate _ + id x) :: Int- , id (negate _ + id (id _)) :: Int- , id (negate _ + negate _) :: Int- , id (negate _ + head _) :: Int- , id (negate _ + (_ + _)) :: Int- , id (negate x + 0) :: Int- , id (negate x + _) :: Int- , id (negate x + x) :: Int- , id (negate x + id _) :: Int- , id (negate y + _) :: Int- , id (negate (ord _) + _) :: Int- , id (negate (abs _) + _) :: Int- , id (negate (id 0) + _) :: Int- , id (negate (id _) + 0) :: Int- , id (negate (id _) + _) :: Int- , id (negate (id _) + x) :: Int- , id (negate (id _) + id _) :: Int- , id (negate (id x) + _) :: Int- , id (negate (id (id _)) + _) :: Int- , id (negate (negate _) + _) :: Int- , id (negate (head _) + _) :: Int- , id (negate (_ + _) + _) :: Int- , id (head [0] + _) :: Int- , id (head [] + 0) :: Int- , id (head [] + _) :: Int- , id (head [] + x) :: Int- , id (head [] + id _) :: Int- , id (head _ + 0) :: Int- , id (head _ + 1) :: Int- , id (head _ + _) :: Int- , id (head _ + x) :: Int- , id (head _ + y) :: Int- , id (head _ + ord _) :: Int- , id (head _ + abs _) :: Int- , id (head _ + id 0) :: Int- , id (head _ + id _) :: Int- , id (head _ + id x) :: Int- , id (head _ + id (id _)) :: Int- , id (head _ + negate _) :: Int- , id (head _ + head _) :: Int- , id (head _ + (_ + _)) :: Int- , id (head xs + 0) :: Int- , id (head xs + _) :: Int- , id (head xs + x) :: Int- , id (head xs + id _) :: Int- , id (head ys + _) :: Int- , id (head (tail _) + _) :: Int- , id (head (0:_) + _) :: Int- , id (head [_] + _) :: Int- , id (head (_:_) + 0) :: Int- , id (head (_:_) + _) :: Int- , id (head (_:_) + x) :: Int- , id (head (_:_) + id _) :: Int- , id (head (_:xs) + _) :: Int- , id (head (_:_:_) + _) :: Int- , id (head (x:_) + _) :: Int- , id (head (id _:_) + _) :: Int- , id (head (_ ++ _) + _) :: Int- , id (0 * _ + _) :: Int- , id (_ * 0 + _) :: Int- , id (_ * _ + 0) :: Int- , id (_ * _ + _) :: Int- , id (_ * _ + x) :: Int- , id (_ * _ + id _) :: Int- , id (_ * x + _) :: Int- , id (_ * id _ + _) :: Int- , id (x * _ + _) :: Int- , id (id _ * _ + _) :: Int- , id ((0 + 0) + _) :: Int- , id ((0 + _) + 0) :: Int- , id ((0 + _) + _) :: Int- , id ((0 + _) + x) :: Int- , id ((0 + _) + id _) :: Int- , id ((0 + x) + _) :: Int- , id ((0 + id _) + _) :: Int- , id ((1 + _) + _) :: Int- , id ((_ + 0) + 0) :: Int- , id ((_ + 0) + _) :: Int- , id ((_ + 0) + x) :: Int- , id ((_ + 0) + id _) :: Int- , id ((_ + 1) + _) :: Int- , id ((_ + _) + 0) :: Int- , id ((_ + _) + 1) :: Int- , id ((_ + _) + _) :: Int- , id ((_ + _) + x) :: Int- , id ((_ + _) + y) :: Int- , id ((_ + _) + ord _) :: Int- , id ((_ + _) + abs _) :: Int- , id ((_ + _) + id 0) :: Int- , id ((_ + _) + id _) :: Int- , id ((_ + _) + id x) :: Int- , id ((_ + _) + id (id _)) :: Int- , id ((_ + _) + negate _) :: Int- , id ((_ + _) + head _) :: Int- , id ((_ + _) + (_ + _)) :: Int- , id ((_ + x) + 0) :: Int- , id ((_ + x) + _) :: Int- , id ((_ + x) + x) :: Int- , id ((_ + x) + id _) :: Int- , id ((_ + y) + _) :: Int- , id ((_ + ord _) + _) :: Int- , id ((_ + abs _) + _) :: Int- , id ((_ + id 0) + _) :: Int- , id ((_ + id _) + 0) :: Int- , id ((_ + id _) + _) :: Int- , id ((_ + id _) + x) :: Int- , id ((_ + id _) + id _) :: Int- , id ((_ + id x) + _) :: Int- , id ((_ + id (id _)) + _) :: Int- , id ((_ + negate _) + _) :: Int- , id ((_ + head _) + _) :: Int- , id ((_ + (_ + _)) + _) :: Int- , id ((x + 0) + _) :: Int- , id ((x + _) + 0) :: Int- , id ((x + _) + _) :: Int- , id ((x + _) + x) :: Int- , id ((x + _) + id _) :: Int- , id ((x + x) + _) :: Int- , id ((x + id _) + _) :: Int- , id ((y + _) + _) :: Int- , id ((ord _ + _) + _) :: Int- , id ((abs _ + _) + _) :: Int- , id ((id 0 + _) + _) :: Int- , id ((id _ + 0) + _) :: Int- , id ((id _ + _) + 0) :: Int- , id ((id _ + _) + _) :: Int- , id ((id _ + _) + x) :: Int- , id ((id _ + _) + id _) :: Int- , id ((id _ + x) + _) :: Int- , id ((id _ + id _) + _) :: Int- , id ((id x + _) + _) :: Int- , id ((id (id _) + _) + _) :: Int- , id ((negate _ + _) + _) :: Int- , id ((head _ + _) + _) :: Int- , id (((_ + _) + _) + _) :: Int- , negate (-1) :: Int- , negate 0 :: Int- , negate 1 :: Int- , negate 2 :: Int- , negate _ :: Int- , negate x :: Int- , negate x' :: Int- , negate y :: Int- , negate z :: Int- , negate (ord ' ') :: Int- , negate (ord 'a') :: Int- , negate (ord _) :: Int- , negate (ord c) :: Int- , negate (ord d) :: Int- , negate (f 0) :: Int- , negate (f _) :: Int- , negate (f x) :: Int- , negate (f (id _)) :: Int- , negate (g _) :: Int- , negate (abs 0) :: Int- , negate (abs 1) :: Int- , negate (abs _) :: Int- , negate (abs x) :: Int- , negate (abs y) :: Int- , negate (abs (ord _)) :: Int- , negate (abs (abs _)) :: Int- , negate (abs (id 0)) :: Int- , negate (abs (id _)) :: Int- , negate (abs (id x)) :: Int- , negate (abs (id (id _))) :: Int- , negate (abs (negate _)) :: Int- , negate (abs (head _)) :: Int- , negate (abs (_ + _)) :: Int- , negate (id (-1)) :: Int- , negate (id 0) :: Int- , negate (id 1) :: Int- , negate (id _) :: Int- , negate (id x) :: Int- , negate (id y) :: Int- , negate (id z) :: Int- , negate (id (ord 'a')) :: Int- , negate (id (ord _)) :: Int- , negate (id (ord c)) :: Int- , negate (id (f _)) :: Int- , negate (id (abs 0)) :: Int- , negate (id (abs _)) :: Int- , negate (id (abs x)) :: Int- , negate (id (abs (id _))) :: Int- , negate (id (id 0)) :: Int- , negate (id (id 1)) :: Int- , negate (id (id _)) :: Int- , negate (id (id x)) :: Int- , negate (id (id y)) :: Int- , negate (id (id (ord _))) :: Int- , negate (id (id (abs _))) :: Int- , negate (id (id (id 0))) :: Int- , negate (id (id (id _))) :: Int- , negate (id (id (id x))) :: Int- , negate (id (id (id (id _)))) :: Int- , negate (id (id (negate _))) :: Int- , negate (id (id (head _))) :: Int- , negate (id (id (_ + _))) :: Int- , negate (id (negate 0)) :: Int- , negate (id (negate _)) :: Int- , negate (id (negate x)) :: Int- , negate (id (negate (id _))) :: Int- , negate (id (head [])) :: Int- , negate (id (head _)) :: Int- , negate (id (head xs)) :: Int- , negate (id (head (_:_))) :: Int- , negate (id (_ * _)) :: Int- , negate (id (0 + _)) :: Int- , negate (id (_ + 0)) :: Int- , negate (id (_ + _)) :: Int- , negate (id (_ + x)) :: Int- , negate (id (_ + id _)) :: Int- , negate (id (x + _)) :: Int- , negate (id (id _ + _)) :: Int- , negate (negate 0) :: Int- , negate (negate 1) :: Int- , negate (negate _) :: Int- , negate (negate x) :: Int- , negate (negate y) :: Int- , negate (negate (ord _)) :: Int- , negate (negate (abs _)) :: Int- , negate (negate (id 0)) :: Int- , negate (negate (id _)) :: Int- , negate (negate (id x)) :: Int- , negate (negate (id (id _))) :: Int- , negate (negate (negate _)) :: Int- , negate (negate (head _)) :: Int- , negate (negate (_ + _)) :: Int- , negate (head [0]) :: Int- , negate (head []) :: Int- , negate (head _) :: Int- , negate (head xs) :: Int- , negate (head ys) :: Int- , negate (head (tail _)) :: Int- , negate (head (0:_)) :: Int- , negate (head [_]) :: Int- , negate (head (_:_)) :: Int- , negate (head (_:xs)) :: Int- , negate (head (_:_:_)) :: Int- , negate (head (x:_)) :: Int- , negate (head (id _:_)) :: Int- , negate (head (_ ++ _)) :: Int- , negate (0 * _) :: Int- , negate (_ * 0) :: Int- , negate (_ * _) :: Int- , negate (_ * x) :: Int- , negate (_ * id _) :: Int- , negate (x * _) :: Int- , negate (id _ * _) :: Int- , negate (0 + 0) :: Int- , negate (0 + _) :: Int- , negate (0 + x) :: Int- , negate (0 + id _) :: Int- , negate (1 + _) :: Int- , negate (_ + 0) :: Int- , negate (_ + 1) :: Int- , negate (_ + _) :: Int- , negate (_ + x) :: Int- , negate (_ + y) :: Int- , negate (_ + ord _) :: Int- , negate (_ + abs _) :: Int- , negate (_ + id 0) :: Int- , negate (_ + id _) :: Int- , negate (_ + id x) :: Int- , negate (_ + id (id _)) :: Int- , negate (_ + negate _) :: Int- , negate (_ + head _) :: Int- , negate (_ + (_ + _)) :: Int- , negate (x + 0) :: Int- , negate (x + _) :: Int- , negate (x + x) :: Int- , negate (x + id _) :: Int- , negate (y + _) :: Int- , negate (ord _ + _) :: Int- , negate (abs _ + _) :: Int- , negate (id 0 + _) :: Int- , negate (id _ + 0) :: Int- , negate (id _ + _) :: Int- , negate (id _ + x) :: Int- , negate (id _ + id _) :: Int- , negate (id x + _) :: Int- , negate (id (id _) + _) :: Int- , negate (negate _ + _) :: Int- , negate (head _ + _) :: Int- , negate ((_ + _) + _) :: Int- , head [-1] :: Int- , head [0,0,0] :: Int- , head [0,0] :: Int- , head [0,1] :: Int- , head [0] :: Int- , head [1,0] :: Int- , head [1] :: Int- , head [] :: Int- , head _ :: Int- , head xs :: Int- , head xs' :: Int- , head ys :: Int- , head zs :: Int- , head (sort []) :: Int- , head (sort _) :: Int- , head (sort xs) :: Int- , head (sort (_:_)) :: Int- , head (tail [0]) :: Int- , head (tail []) :: Int- , head (tail _) :: Int- , head (tail xs) :: Int- , head (tail ys) :: Int- , head (tail (tail _)) :: Int- , head (tail (0:_)) :: Int- , head (tail [_]) :: Int- , head (tail (_:_)) :: Int- , head (tail (_:xs)) :: Int- , head (tail (_:_:_)) :: Int- , head (tail (x:_)) :: Int- , head (tail (id _:_)) :: Int- , head (tail (_ ++ _)) :: Int- , head ((-1):_) :: Int- , head [0,0] :: Int- , head [0] :: Int- , head (0:_) :: Int- , head (0:xs) :: Int- , head (0:ys) :: Int- , head (0:tail _) :: Int- , head (0:0:_) :: Int- , head [0,_] :: Int- , head (0:_:_) :: Int- , head (0:_:xs) :: Int- , head (0:_:_:_) :: Int- , head (0:x:_) :: Int- , head (0:id _:_) :: Int- , head (0:(_ ++ _)) :: Int- , head [1] :: Int- , head (1:_) :: Int- , head (1:xs) :: Int- , head (1:_:_) :: Int- , head [_,0,0] :: Int- , head [_,0] :: Int- , head [_,1] :: Int- , head [_] :: Int- , head (_:_) :: Int- , head (_:xs) :: Int- , head (_:ys) :: Int- , head (_:zs) :: Int- , head (_:sort _) :: Int- , head (_:tail []) :: Int- , head (_:tail _) :: Int- , head (_:tail xs) :: Int- , head (_:tail (_:_)) :: Int- , head [_,0] :: Int- , head (_:0:_) :: Int- , head (_:0:xs) :: Int- , head (_:0:_:_) :: Int- , head (_:1:_) :: Int- , head [_,_,0] :: Int- , head [_,_] :: Int- , head (_:_:_) :: Int- , head (_:_:xs) :: Int- , head (_:_:ys) :: Int- , head (_:_:tail _) :: Int- , head (_:_:0:_) :: Int- , head [_,_,_] :: Int- , head (_:_:_:_) :: Int- , head (_:_:_:xs) :: Int- , head (_:_:_:_:_) :: Int- , head (_:_:x:_) :: Int- , head (_:_:id _:_) :: Int- , head (_:_:(_ ++ _)) :: Int- , head [_,x] :: Int- , head (_:x:_) :: Int- , head (_:x:xs) :: Int- , head (_:x:_:_) :: Int- , head (_:y:_) :: Int- , head (_:ord _:_) :: Int- , head (_:abs _:_) :: Int- , head (_:id 0:_) :: Int- , head [_,id _] :: Int- , head (_:id _:_) :: Int- , head (_:id _:xs) :: Int- , head (_:id _:_:_) :: Int- , head (_:id x:_) :: Int- , head (_:id (id _):_) :: Int- , head (_:negate _:_) :: Int- , head (_:head _:_) :: Int- , head (_:_ + _:_) :: Int- , head (_:insert _ _) :: Int- , head (_:([] ++ _)) :: Int- , head (_:(_ ++ [])) :: Int- , head (_:(_ ++ _)) :: Int- , head (_:(_ ++ xs)) :: Int- , head (_:(_ ++ (_:_))) :: Int- , head (_:(xs ++ _)) :: Int- , head (_:((_:_) ++ _)) :: Int- , head [x,0] :: Int- , head [x] :: Int- , head (x:_) :: Int- , head (x:xs) :: Int- , head (x:ys) :: Int- , head (x:tail _) :: Int- , head (x:0:_) :: Int- , head [x,_] :: Int- , head (x:_:_) :: Int- , head (x:_:xs) :: Int- , head (x:_:_:_) :: Int- , head (x:x:_) :: Int- , head (x:id _:_) :: Int- , head (x:(_ ++ _)) :: Int- , head [y] :: Int- , head (y:_) :: Int- , head (y:xs) :: Int- , head (y:_:_) :: Int- , head (z:_) :: Int- , head (ord 'a':_) :: Int- , head [ord _] :: Int- , head (ord _:_) :: Int- , head (ord _:xs) :: Int- , head (ord _:_:_) :: Int- , head (ord c:_) :: Int- , head (f _:_) :: Int- , head (abs 0:_) :: Int- , head [abs _] :: Int- , head (abs _:_) :: Int- , head (abs _:xs) :: Int- , head (abs _:_:_) :: Int- , head (abs x:_) :: Int- , head (abs (id _):_) :: Int- , head [id 0] :: Int- , head (id 0:_) :: Int- , head (id 0:xs) :: Int- , head (id 0:_:_) :: Int- , head (id 1:_) :: Int- , head [id _,0] :: Int- , head [id _] :: Int- , head (id _:_) :: Int- , head (id _:xs) :: Int- , head (id _:ys) :: Int- , head (id _:tail _) :: Int- , head (id _:0:_) :: Int- , head [id _,_] :: Int- , head (id _:_:_) :: Int- , head (id _:_:xs) :: Int- , head (id _:_:_:_) :: Int- , head (id _:x:_) :: Int- , head (id _:id _:_) :: Int- , head (id _:(_ ++ _)) :: Int- , head [id x] :: Int- , head (id x:_) :: Int- , head (id x:xs) :: Int- , head (id x:_:_) :: Int- , head (id y:_) :: Int- , head (id (ord _):_) :: Int- , head (id (abs _):_) :: Int- , head (id (id 0):_) :: Int- , head [id (id _)] :: Int- , head (id (id _):_) :: Int- , head (id (id _):xs) :: Int- , head (id (id _):_:_) :: Int- , head (id (id x):_) :: Int- , head (id (id (id _)):_) :: Int- , head (id (negate _):_) :: Int- , head (id (head _):_) :: Int- , head (id (_ + _):_) :: Int- , head (negate 0:_) :: Int- , head [negate _] :: Int- , head (negate _:_) :: Int- , head (negate _:xs) :: Int- , head (negate _:_:_) :: Int- , head (negate x:_) :: Int- , head (negate (id _):_) :: Int- , head (head []:_) :: Int- , head [head _] :: Int- , head (head _:_) :: Int- , head (head _:xs) :: Int- , head (head _:_:_) :: Int- , head (head xs:_) :: Int- , head (head (_:_):_) :: Int- , head (_ * _:_) :: Int- , head (0 + _:_) :: Int- , head (_ + 0:_) :: Int- , head [_ + _] :: Int- , head (_ + _:_) :: Int- , head (_ + _:xs) :: Int- , head (_ + _:_:_) :: Int- , head (_ + x:_) :: Int- , head (_ + id _:_) :: Int- , head (x + _:_) :: Int- , head (id _ + _:_) :: Int- , head (insert 0 _) :: Int- , head (insert _ []) :: Int- , head (insert _ _) :: Int- , head (insert _ xs) :: Int- , head (insert _ (_:_)) :: Int- , head (insert x _) :: Int- , head (insert (id _) _) :: Int- , head ([0] ++ _) :: Int- , head ([] ++ []) :: Int- , head ([] ++ _) :: Int- , head ([] ++ xs) :: Int- , head ([] ++ (_:_)) :: Int- , head (_ ++ [0]) :: Int- , head (_ ++ []) :: Int- , head (_ ++ _) :: Int- , head (_ ++ xs) :: Int- , head (_ ++ ys) :: Int- , head (_ ++ tail _) :: Int- , head (_ ++ (0:_)) :: Int- , head (_ ++ [_]) :: Int- , head (_ ++ (_:_)) :: Int- , head (_ ++ (_:xs)) :: Int- , head (_ ++ (_:_:_)) :: Int- , head (_ ++ (x:_)) :: Int- , head (_ ++ (id _:_)) :: Int- , head (_ ++ (_ ++ _)) :: Int- , head (xs ++ []) :: Int- , head (xs ++ _) :: Int- , head (xs ++ xs) :: Int- , head (xs ++ (_:_)) :: Int- , head (ys ++ _) :: Int- , head (tail _ ++ _) :: Int- , head ((0:_) ++ _) :: Int- , head ([_] ++ _) :: Int- , head ((_:_) ++ []) :: Int- , head ((_:_) ++ _) :: Int- , head ((_:_) ++ xs) :: Int- , head ((_:_) ++ (_:_)) :: Int- , head ((_:xs) ++ _) :: Int- , head ((_:_:_) ++ _) :: Int- , head ((x:_) ++ _) :: Int- , head ((id _:_) ++ _) :: Int- , head ((_ ++ _) ++ _) :: Int- , sort [0] :: [Int]- , sort [] :: [Int]- , sort _ :: [Int]- , sort xs :: [Int]- , sort ys :: [Int]- , sort (tail _) :: [Int]- , sort (0:_) :: [Int]- , sort [_] :: [Int]- , sort (_:_) :: [Int]- , sort (_:xs) :: [Int]- , sort (_:_:_) :: [Int]- , sort (x:_) :: [Int]- , sort (id _:_) :: [Int]- , sort (_ ++ _) :: [Int]- , tail [0,0] :: [Int]- , tail [0] :: [Int]- , tail [1] :: [Int]- , tail [] :: [Int]- , tail _ :: [Int]- , tail xs :: [Int]- , tail ys :: [Int]- , tail zs :: [Int]- , tail (sort _) :: [Int]- , tail (tail []) :: [Int]- , tail (tail _) :: [Int]- , tail (tail xs) :: [Int]- , tail (tail (_:_)) :: [Int]- , tail [0] :: [Int]- , tail (0:_) :: [Int]- , tail (0:xs) :: [Int]- , tail (0:_:_) :: [Int]- , tail (1:_) :: [Int]- , tail [_,0] :: [Int]- , tail [_] :: [Int]- , tail (_:_) :: [Int]- , tail (_:xs) :: [Int]- , tail (_:ys) :: [Int]- , tail (_:tail _) :: [Int]- , tail (_:0:_) :: [Int]- , tail [_,_] :: [Int]- , tail (_:_:_) :: [Int]- , tail (_:_:xs) :: [Int]- , tail (_:_:_:_) :: [Int]- , tail (_:x:_) :: [Int]- , tail (_:id _:_) :: [Int]- , tail (_:(_ ++ _)) :: [Int]- , tail [x] :: [Int]- , tail (x:_) :: [Int]- , tail (x:xs) :: [Int]- , tail (x:_:_) :: [Int]- , tail (y:_) :: [Int]- , tail (ord _:_) :: [Int]- , tail (abs _:_) :: [Int]- , tail (id 0:_) :: [Int]- , tail [id _] :: [Int]- , tail (id _:_) :: [Int]- , tail (id _:xs) :: [Int]- , tail (id _:_:_) :: [Int]- , tail (id x:_) :: [Int]- , tail (id (id _):_) :: [Int]- , tail (negate _:_) :: [Int]- , tail (head _:_) :: [Int]- , tail (_ + _:_) :: [Int]- , tail (insert _ _) :: [Int]- , tail ([] ++ _) :: [Int]- , tail (_ ++ []) :: [Int]- , tail (_ ++ _) :: [Int]- , tail (_ ++ xs) :: [Int]- , tail (_ ++ (_:_)) :: [Int]- , tail (xs ++ _) :: [Int]- , tail ((_:_) ++ _) :: [Int]- , (False &&) :: Bool -> Bool- , (True &&) :: Bool -> Bool- , (_ &&) :: Bool -> Bool- , (p &&) :: Bool -> Bool- , (not _ &&) :: Bool -> Bool- , (_ ==>) :: Bool -> Bool- , (False ||) :: Bool -> Bool- , (True ||) :: Bool -> Bool- , (_ ||) :: Bool -> Bool- , (p ||) :: Bool -> Bool- , (q ||) :: Bool -> Bool- , (not False ||) :: Bool -> Bool- , (not True ||) :: Bool -> Bool- , (not _ ||) :: Bool -> Bool- , (not p ||) :: Bool -> Bool- , (not (not _) ||) :: Bool -> Bool- , ((_ || _) ||) :: Bool -> Bool- , (0 *) :: Int -> Int- , (1 *) :: Int -> Int- , (_ *) :: Int -> Int- , (x *) :: Int -> Int- , (y *) :: Int -> Int- , (ord _ *) :: Int -> Int- , (abs _ *) :: Int -> Int- , (id 0 *) :: Int -> Int- , (id _ *) :: Int -> Int- , (id x *) :: Int -> Int- , (id (id _) *) :: Int -> Int- , (negate _ *) :: Int -> Int- , (head _ *) :: Int -> Int- , ((_ + _) *) :: Int -> Int- , ((-1) +) :: Int -> Int- , (0 +) :: Int -> Int- , (1 +) :: Int -> Int- , (_ +) :: Int -> Int- , (x +) :: Int -> Int- , (y +) :: Int -> Int- , (z +) :: Int -> Int- , (ord 'a' +) :: Int -> Int- , (ord _ +) :: Int -> Int- , (ord c +) :: Int -> Int- , (f _ +) :: Int -> Int- , (abs 0 +) :: Int -> Int- , (abs _ +) :: Int -> Int- , (abs x +) :: Int -> Int- , (abs (id _) +) :: Int -> Int- , (id 0 +) :: Int -> Int- , (id 1 +) :: Int -> Int- , (id _ +) :: Int -> Int- , (id x +) :: Int -> Int- , (id y +) :: Int -> Int- , (id (ord _) +) :: Int -> Int- , (id (abs _) +) :: Int -> Int- , (id (id 0) +) :: Int -> Int- , (id (id _) +) :: Int -> Int- , (id (id x) +) :: Int -> Int- , (id (id (id _)) +) :: Int -> Int- , (id (negate _) +) :: Int -> Int- , (id (head _) +) :: Int -> Int- , (id (_ + _) +) :: Int -> Int- , (negate 0 +) :: Int -> Int- , (negate _ +) :: Int -> Int- , (negate x +) :: Int -> Int- , (negate (id _) +) :: Int -> Int- , (head [] +) :: Int -> Int- , (head _ +) :: Int -> Int- , (head xs +) :: Int -> Int- , (head (_:_) +) :: Int -> Int- , (_ * _ +) :: Int -> Int- , ((0 + _) +) :: Int -> Int- , ((_ + 0) +) :: Int -> Int- , ((_ + _) +) :: Int -> Int- , ((_ + x) +) :: Int -> Int- , ((_ + id _) +) :: Int -> Int- , ((x + _) +) :: Int -> Int- , ((id _ + _) +) :: Int -> Int- , False && False :: Bool- , False && True :: Bool- , False && _ :: Bool- , False && p :: Bool- , False && not _ :: Bool- , True && False :: Bool- , True && True :: Bool- , True && _ :: Bool- , True && p :: Bool- , True && not _ :: Bool- , _ && False :: Bool- , _ && True :: Bool- , _ && _ :: Bool- , _ && p :: Bool- , _ && q :: Bool- , _ && not False :: Bool- , _ && not True :: Bool- , _ && not _ :: Bool- , _ && not p :: Bool- , _ && not (not _) :: Bool- , _ && (_ || _) :: Bool- , p && False :: Bool- , p && True :: Bool- , p && _ :: Bool- , p && p :: Bool- , p && not _ :: Bool- , q && _ :: Bool- , not False && _ :: Bool- , not True && _ :: Bool- , not _ && False :: Bool- , not _ && True :: Bool- , not _ && _ :: Bool- , not _ && p :: Bool- , not _ && not _ :: Bool- , not p && _ :: Bool- , not (not _) && _ :: Bool- , (_ || _) && _ :: Bool- , _ < _ :: Bool- , False <= _ :: Bool- , True <= _ :: Bool- , _ <= False :: Bool- , _ <= True :: Bool- , _ <= _ :: Bool- , _ <= p :: Bool- , _ <= not _ :: Bool- , p <= _ :: Bool- , not _ <= _ :: Bool- , False == False :: Bool- , False == True :: Bool- , False == _ :: Bool- , False == p :: Bool- , False == not _ :: Bool- , True == False :: Bool- , True == True :: Bool- , True == _ :: Bool- , True == p :: Bool- , True == not _ :: Bool- , _ == False :: Bool- , _ == True :: Bool- , _ == _ :: Bool- , _ == p :: Bool- , _ == q :: Bool- , _ == not False :: Bool- , _ == not True :: Bool- , _ == not _ :: Bool- , _ == not p :: Bool- , _ == not (not _) :: Bool- , _ == (_ || _) :: Bool- , p == False :: Bool- , p == True :: Bool- , p == _ :: Bool- , p == p :: Bool- , p == not _ :: Bool- , q == _ :: Bool- , not False == _ :: Bool- , not True == _ :: Bool- , not _ == False :: Bool- , not _ == True :: Bool- , not _ == _ :: Bool- , not _ == p :: Bool- , not _ == not _ :: Bool- , not p == _ :: Bool- , not (not _) == _ :: Bool- , (_ || _) == _ :: Bool- , False ==> _ :: Bool- , True ==> _ :: Bool- , _ ==> False :: Bool- , _ ==> True :: Bool- , _ ==> _ :: Bool- , _ ==> p :: Bool- , _ ==> not _ :: Bool- , p ==> _ :: Bool- , not _ ==> _ :: Bool- , False || False :: Bool- , False || True :: Bool- , False || _ :: Bool- , False || p :: Bool- , False || q :: Bool- , False || not False :: Bool- , False || not True :: Bool- , False || not _ :: Bool- , False || not p :: Bool- , False || not (not _) :: Bool- , False || (_ || _) :: Bool- , True || False :: Bool- , True || True :: Bool- , True || _ :: Bool- , True || p :: Bool- , True || q :: Bool- , True || not False :: Bool- , True || not True :: Bool- , True || not _ :: Bool- , True || not p :: Bool- , True || not (not _) :: Bool- , True || (_ || _) :: Bool- , _ || False :: Bool- , _ || True :: Bool- , _ || _ :: Bool- , _ || p :: Bool- , _ || q :: Bool- , _ || r :: Bool- , _ || not False :: Bool- , _ || not True :: Bool- , _ || not _ :: Bool- , _ || not p :: Bool- , _ || not q :: Bool- , _ || not (not False) :: Bool- , _ || not (not True) :: Bool- , _ || not (not _) :: Bool- , _ || not (not p) :: Bool- , _ || not (not (not _)) :: Bool- , _ || not (_ || _) :: Bool- , _ || even _ :: Bool- , _ || odd _ :: Bool- , _ || _ && _ :: Bool- , _ || _ == _ :: Bool- , _ || (False || _) :: Bool- , _ || (True || _) :: Bool- , _ || (_ || False) :: Bool- , _ || (_ || True) :: Bool- , _ || (_ || _) :: Bool- , _ || (_ || p) :: Bool- , _ || (_ || not _) :: Bool- , _ || (p || _) :: Bool- , _ || (not _ || _) :: Bool- , _ || _ == _ :: Bool- , _ || elem _ _ :: Bool- , p || False :: Bool- , p || True :: Bool- , p || _ :: Bool- , p || p :: Bool- , p || q :: Bool- , p || not False :: Bool- , p || not True :: Bool- , p || not _ :: Bool- , p || not p :: Bool- , p || not (not _) :: Bool- , p || (_ || _) :: Bool- , q || False :: Bool- , q || True :: Bool- , q || _ :: Bool- , q || p :: Bool- , q || not _ :: Bool- , r || _ :: Bool- , not False || False :: Bool- , not False || True :: Bool- , not False || _ :: Bool- , not False || p :: Bool- , not False || not _ :: Bool- , not True || False :: Bool- , not True || True :: Bool- , not True || _ :: Bool- , not True || p :: Bool- , not True || not _ :: Bool- , not _ || False :: Bool- , not _ || True :: Bool- , not _ || _ :: Bool- , not _ || p :: Bool- , not _ || q :: Bool- , not _ || not False :: Bool- , not _ || not True :: Bool- , not _ || not _ :: Bool- , not _ || not p :: Bool- , not _ || not (not _) :: Bool- , not _ || (_ || _) :: Bool- , not p || False :: Bool- , not p || True :: Bool- , not p || _ :: Bool- , not p || p :: Bool- , not p || not _ :: Bool- , not q || _ :: Bool- , not (not False) || _ :: Bool- , not (not True) || _ :: Bool- , not (not _) || False :: Bool- , not (not _) || True :: Bool- , not (not _) || _ :: Bool- , not (not _) || p :: Bool- , not (not _) || not _ :: Bool- , not (not p) || _ :: Bool- , not (not (not _)) || _ :: Bool- , not (_ || _) || _ :: Bool- , even _ || _ :: Bool- , odd _ || _ :: Bool- , _ && _ || _ :: Bool- , _ == _ || _ :: Bool- , (False || _) || _ :: Bool- , (True || _) || _ :: Bool- , (_ || False) || _ :: Bool- , (_ || True) || _ :: Bool- , (_ || _) || False :: Bool- , (_ || _) || True :: Bool- , (_ || _) || _ :: Bool- , (_ || _) || p :: Bool- , (_ || _) || not _ :: Bool- , (_ || p) || _ :: Bool- , (_ || not _) || _ :: Bool- , (p || _) || _ :: Bool- , (not _ || _) || _ :: Bool- , _ == _ || _ :: Bool- , elem _ _ || _ :: Bool- , _ < _ :: Bool- , 0 <= _ :: Bool- , _ <= 0 :: Bool- , _ <= _ :: Bool- , _ <= x :: Bool- , _ <= id _ :: Bool- , x <= _ :: Bool- , id _ <= _ :: Bool- , 0 == 0 :: Bool- , 0 == _ :: Bool- , 0 == x :: Bool- , 0 == id _ :: Bool- , 1 == _ :: Bool- , _ == 0 :: Bool- , _ == 1 :: Bool- , _ == _ :: Bool- , _ == x :: Bool- , _ == y :: Bool- , _ == ord _ :: Bool- , _ == abs _ :: Bool- , _ == id 0 :: Bool- , _ == id _ :: Bool- , _ == id x :: Bool- , _ == id (id _) :: Bool- , _ == negate _ :: Bool- , _ == head _ :: Bool- , _ == _ + _ :: Bool- , x == 0 :: Bool- , x == _ :: Bool- , x == x :: Bool- , x == id _ :: Bool- , y == _ :: Bool- , ord _ == _ :: Bool- , abs _ == _ :: Bool- , id 0 == _ :: Bool- , id _ == 0 :: Bool- , id _ == _ :: Bool- , id _ == x :: Bool- , id _ == id _ :: Bool- , id x == _ :: Bool- , id (id _) == _ :: Bool- , negate _ == _ :: Bool- , head _ == _ :: Bool- , _ + _ == _ :: Bool- , (-1) * _ :: Int- , 0 * 0 :: Int- , 0 * 1 :: Int- , 0 * _ :: Int- , 0 * x :: Int- , 0 * y :: Int- , 0 * ord _ :: Int- , 0 * abs _ :: Int- , 0 * id 0 :: Int- , 0 * id _ :: Int- , 0 * id x :: Int- , 0 * id (id _) :: Int- , 0 * negate _ :: Int- , 0 * head _ :: Int- , 0 * (_ + _) :: Int- , 1 * 0 :: Int- , 1 * _ :: Int- , 1 * x :: Int- , 1 * id _ :: Int- , _ * (-1) :: Int- , _ * 0 :: Int- , _ * 1 :: Int- , _ * _ :: Int- , _ * x :: Int- , _ * y :: Int- , _ * z :: Int- , _ * ord 'a' :: Int- , _ * ord _ :: Int- , _ * ord c :: Int- , _ * f _ :: Int- , _ * abs 0 :: Int- , _ * abs _ :: Int- , _ * abs x :: Int- , _ * abs (id _) :: Int- , _ * id 0 :: Int- , _ * id 1 :: Int- , _ * id _ :: Int- , _ * id x :: Int- , _ * id y :: Int- , _ * id (ord _) :: Int- , _ * id (abs _) :: Int- , _ * id (id 0) :: Int- , _ * id (id _) :: Int- , _ * id (id x) :: Int- , _ * id (id (id _)) :: Int- , _ * id (negate _) :: Int- , _ * id (head _) :: Int- , _ * id (_ + _) :: Int- , _ * negate 0 :: Int- , _ * negate _ :: Int- , _ * negate x :: Int- , _ * negate (id _) :: Int- , _ * head [] :: Int- , _ * head _ :: Int- , _ * head xs :: Int- , _ * head (_:_) :: Int- , _ * (_ * _) :: Int- , _ * (0 + _) :: Int- , _ * (_ + 0) :: Int- , _ * (_ + _) :: Int- , _ * (_ + x) :: Int- , _ * (_ + id _) :: Int- , _ * (x + _) :: Int- , _ * (id _ + _) :: Int- , x * 0 :: Int- , x * 1 :: Int- , x * _ :: Int- , x * x :: Int- , x * y :: Int- , x * ord _ :: Int- , x * abs _ :: Int- , x * id 0 :: Int- , x * id _ :: Int- , x * id x :: Int- , x * id (id _) :: Int- , x * negate _ :: Int- , x * head _ :: Int- , x * (_ + _) :: Int- , y * 0 :: Int- , y * _ :: Int- , y * x :: Int- , y * id _ :: Int- , z * _ :: Int- , ord 'a' * _ :: Int- , ord _ * 0 :: Int- , ord _ * _ :: Int- , ord _ * x :: Int- , ord _ * id _ :: Int- , ord c * _ :: Int- , f _ * _ :: Int- , abs 0 * _ :: Int- , abs _ * 0 :: Int- , abs _ * _ :: Int- , abs _ * x :: Int- , abs _ * id _ :: Int- , abs x * _ :: Int- , abs (id _) * _ :: Int- , id 0 * 0 :: Int- , id 0 * _ :: Int- , id 0 * x :: Int- , id 0 * id _ :: Int- , id 1 * _ :: Int- , id _ * 0 :: Int- , id _ * 1 :: Int- , id _ * _ :: Int- , id _ * x :: Int- , id _ * y :: Int- , id _ * ord _ :: Int- , id _ * abs _ :: Int- , id _ * id 0 :: Int- , id _ * id _ :: Int- , id _ * id x :: Int- , id _ * id (id _) :: Int- , id _ * negate _ :: Int- , id _ * head _ :: Int- , id _ * (_ + _) :: Int- , id x * 0 :: Int- , id x * _ :: Int- , id x * x :: Int- , id x * id _ :: Int- , id y * _ :: Int- , id (ord _) * _ :: Int- , id (abs _) * _ :: Int- , id (id 0) * _ :: Int- , id (id _) * 0 :: Int- , id (id _) * _ :: Int- , id (id _) * x :: Int- , id (id _) * id _ :: Int- , id (id x) * _ :: Int- , id (id (id _)) * _ :: Int- , id (negate _) * _ :: Int- , id (head _) * _ :: Int- , id (_ + _) * _ :: Int- , negate 0 * _ :: Int- , negate _ * 0 :: Int- , negate _ * _ :: Int- , negate _ * x :: Int- , negate _ * id _ :: Int- , negate x * _ :: Int- , negate (id _) * _ :: Int- , head [] * _ :: Int- , head _ * 0 :: Int- , head _ * _ :: Int- , head _ * x :: Int- , head _ * id _ :: Int- , head xs * _ :: Int- , head (_:_) * _ :: Int- , (_ * _) * _ :: Int- , (0 + _) * _ :: Int- , (_ + 0) * _ :: Int- , (_ + _) * 0 :: Int- , (_ + _) * _ :: Int- , (_ + _) * x :: Int- , (_ + _) * id _ :: Int- , (_ + x) * _ :: Int- , (_ + id _) * _ :: Int- , (x + _) * _ :: Int- , (id _ + _) * _ :: Int- , (-1) + 0 :: Int- , (-1) + _ :: Int- , (-1) + x :: Int- , (-1) + id _ :: Int- , 0 + (-1) :: Int- , 0 + 0 :: Int- , 0 + 1 :: Int- , 0 + _ :: Int- , 0 + x :: Int- , 0 + y :: Int- , 0 + z :: Int- , 0 + ord 'a' :: Int- , 0 + ord _ :: Int- , 0 + ord c :: Int- , 0 + f _ :: Int- , 0 + abs 0 :: Int- , 0 + abs _ :: Int- , 0 + abs x :: Int- , 0 + abs (id _) :: Int- , 0 + id 0 :: Int- , 0 + id 1 :: Int- , 0 + id _ :: Int- , 0 + id x :: Int- , 0 + id y :: Int- , 0 + id (ord _) :: Int- , 0 + id (abs _) :: Int- , 0 + id (id 0) :: Int- , 0 + id (id _) :: Int- , 0 + id (id x) :: Int- , 0 + id (id (id _)) :: Int- , 0 + id (negate _) :: Int- , 0 + id (head _) :: Int- , 0 + id (_ + _) :: Int- , 0 + negate 0 :: Int- , 0 + negate _ :: Int- , 0 + negate x :: Int- , 0 + negate (id _) :: Int- , 0 + head [] :: Int- , 0 + head _ :: Int- , 0 + head xs :: Int- , 0 + head (_:_) :: Int- , 0 + _ * _ :: Int- , 0 + (0 + _) :: Int- , 0 + (_ + 0) :: Int- , 0 + (_ + _) :: Int- , 0 + (_ + x) :: Int- , 0 + (_ + id _) :: Int- , 0 + (x + _) :: Int- , 0 + (id _ + _) :: Int- , 1 + 0 :: Int- , 1 + 1 :: Int- , 1 + _ :: Int- , 1 + x :: Int- , 1 + y :: Int- , 1 + ord _ :: Int- , 1 + abs _ :: Int- , 1 + id 0 :: Int- , 1 + id _ :: Int- , 1 + id x :: Int- , 1 + id (id _) :: Int- , 1 + negate _ :: Int- , 1 + head _ :: Int- , 1 + (_ + _) :: Int- , 2 + _ :: Int- , _ + (-1) :: Int- , _ + 0 :: Int- , _ + 1 :: Int- , _ + 2 :: Int- , _ + _ :: Int- , _ + x :: Int- , _ + x' :: Int- , _ + y :: Int- , _ + z :: Int- , _ + ord ' ' :: Int- , _ + ord 'a' :: Int- , _ + ord _ :: Int- , _ + ord c :: Int- , _ + ord d :: Int- , _ + f 0 :: Int- , _ + f _ :: Int- , _ + f x :: Int- , _ + f (id _) :: Int- , _ + g _ :: Int- , _ + abs 0 :: Int- , _ + abs 1 :: Int- , _ + abs _ :: Int- , _ + abs x :: Int- , _ + abs y :: Int- , _ + abs (ord _) :: Int- , _ + abs (abs _) :: Int- , _ + abs (id 0) :: Int- , _ + abs (id _) :: Int- , _ + abs (id x) :: Int- , _ + abs (id (id _)) :: Int- , _ + abs (negate _) :: Int- , _ + abs (head _) :: Int- , _ + abs (_ + _) :: Int- , _ + id (-1) :: Int- , _ + id 0 :: Int- , _ + id 1 :: Int- , _ + id _ :: Int- , _ + id x :: Int- , _ + id y :: Int- , _ + id z :: Int- , _ + id (ord 'a') :: Int- , _ + id (ord _) :: Int- , _ + id (ord c) :: Int- , _ + id (f _) :: Int- , _ + id (abs 0) :: Int- , _ + id (abs _) :: Int- , _ + id (abs x) :: Int- , _ + id (abs (id _)) :: Int- , _ + id (id 0) :: Int- , _ + id (id 1) :: Int- , _ + id (id _) :: Int- , _ + id (id x) :: Int- , _ + id (id y) :: Int- , _ + id (id (ord _)) :: Int- , _ + id (id (abs _)) :: Int- , _ + id (id (id 0)) :: Int- , _ + id (id (id _)) :: Int- , _ + id (id (id x)) :: Int- , _ + id (id (id (id _))) :: Int- , _ + id (id (negate _)) :: Int- , _ + id (id (head _)) :: Int- , _ + id (id (_ + _)) :: Int- , _ + id (negate 0) :: Int- , _ + id (negate _) :: Int- , _ + id (negate x) :: Int- , _ + id (negate (id _)) :: Int- , _ + id (head []) :: Int- , _ + id (head _) :: Int- , _ + id (head xs) :: Int- , _ + id (head (_:_)) :: Int- , _ + id (_ * _) :: Int- , _ + id (0 + _) :: Int- , _ + id (_ + 0) :: Int- , _ + id (_ + _) :: Int- , _ + id (_ + x) :: Int- , _ + id (_ + id _) :: Int- , _ + id (x + _) :: Int- , _ + id (id _ + _) :: Int- , _ + negate 0 :: Int- , _ + negate 1 :: Int- , _ + negate _ :: Int- , _ + negate x :: Int- , _ + negate y :: Int- , _ + negate (ord _) :: Int- , _ + negate (abs _) :: Int- , _ + negate (id 0) :: Int- , _ + negate (id _) :: Int- , _ + negate (id x) :: Int- , _ + negate (id (id _)) :: Int- , _ + negate (negate _) :: Int- , _ + negate (head _) :: Int- , _ + negate (_ + _) :: Int- , _ + head [0] :: Int- , _ + head [] :: Int- , _ + head _ :: Int- , _ + head xs :: Int- , _ + head ys :: Int- , _ + head (tail _) :: Int- , _ + head (0:_) :: Int- , _ + head [_] :: Int- , _ + head (_:_) :: Int- , _ + head (_:xs) :: Int- , _ + head (_:_:_) :: Int- , _ + head (x:_) :: Int- , _ + head (id _:_) :: Int- , _ + head (_ ++ _) :: Int- , _ + 0 * _ :: Int- , _ + _ * 0 :: Int- , _ + _ * _ :: Int- , _ + _ * x :: Int- , _ + _ * id _ :: Int- , _ + x * _ :: Int- , _ + id _ * _ :: Int- , _ + (0 + 0) :: Int- , _ + (0 + _) :: Int- , _ + (0 + x) :: Int- , _ + (0 + id _) :: Int- , _ + (1 + _) :: Int- , _ + (_ + 0) :: Int- , _ + (_ + 1) :: Int- , _ + (_ + _) :: Int- , _ + (_ + x) :: Int- , _ + (_ + y) :: Int- , _ + (_ + ord _) :: Int- , _ + (_ + abs _) :: Int- , _ + (_ + id 0) :: Int- , _ + (_ + id _) :: Int- , _ + (_ + id x) :: Int- , _ + (_ + id (id _)) :: Int- , _ + (_ + negate _) :: Int- , _ + (_ + head _) :: Int- , _ + (_ + (_ + _)) :: Int- , _ + (x + 0) :: Int- , _ + (x + _) :: Int- , _ + (x + x) :: Int- , _ + (x + id _) :: Int- , _ + (y + _) :: Int- , _ + (ord _ + _) :: Int- , _ + (abs _ + _) :: Int- , _ + (id 0 + _) :: Int- , _ + (id _ + 0) :: Int- , _ + (id _ + _) :: Int- , _ + (id _ + x) :: Int- , _ + (id _ + id _) :: Int- , _ + (id x + _) :: Int- , _ + (id (id _) + _) :: Int- , _ + (negate _ + _) :: Int- , _ + (head _ + _) :: Int- , _ + ((_ + _) + _) :: Int- , x + (-1) :: Int- , x + 0 :: Int- , x + 1 :: Int- , x + _ :: Int- , x + x :: Int- , x + y :: Int- , x + z :: Int- , x + ord 'a' :: Int- , x + ord _ :: Int- , x + ord c :: Int- , x + f _ :: Int- , x + abs 0 :: Int- , x + abs _ :: Int- , x + abs x :: Int- , x + abs (id _) :: Int- , x + id 0 :: Int- , x + id 1 :: Int- , x + id _ :: Int- , x + id x :: Int- , x + id y :: Int- , x + id (ord _) :: Int- , x + id (abs _) :: Int- , x + id (id 0) :: Int- , x + id (id _) :: Int- , x + id (id x) :: Int- , x + id (id (id _)) :: Int- , x + id (negate _) :: Int- , x + id (head _) :: Int- , x + id (_ + _) :: Int- , x + negate 0 :: Int- , x + negate _ :: Int- , x + negate x :: Int- , x + negate (id _) :: Int- , x + head [] :: Int- , x + head _ :: Int- , x + head xs :: Int- , x + head (_:_) :: Int- , x + _ * _ :: Int- , x + (0 + _) :: Int- , x + (_ + 0) :: Int- , x + (_ + _) :: Int- , x + (_ + x) :: Int- , x + (_ + id _) :: Int- , x + (x + _) :: Int- , x + (id _ + _) :: Int- , x' + _ :: Int- , y + 0 :: Int- , y + 1 :: Int- , y + _ :: Int- , y + x :: Int- , y + y :: Int- , y + ord _ :: Int- , y + abs _ :: Int- , y + id 0 :: Int- , y + id _ :: Int- , y + id x :: Int- , y + id (id _) :: Int- , y + negate _ :: Int- , y + head _ :: Int- , y + (_ + _) :: Int- , z + 0 :: Int- , z + _ :: Int- , z + x :: Int- , z + id _ :: Int- , ord ' ' + _ :: Int- , ord 'a' + 0 :: Int- , ord 'a' + _ :: Int- , ord 'a' + x :: Int- , ord 'a' + id _ :: Int- , ord _ + 0 :: Int- , ord _ + 1 :: Int- , ord _ + _ :: Int- , ord _ + x :: Int- , ord _ + y :: Int- , ord _ + ord _ :: Int- , ord _ + abs _ :: Int- , ord _ + id 0 :: Int- , ord _ + id _ :: Int- , ord _ + id x :: Int- , ord _ + id (id _) :: Int- , ord _ + negate _ :: Int- , ord _ + head _ :: Int- , ord _ + (_ + _) :: Int- , ord c + 0 :: Int- , ord c + _ :: Int- , ord c + x :: Int- , ord c + id _ :: Int- , ord d + _ :: Int- , f 0 + _ :: Int- , f _ + 0 :: Int- , f _ + _ :: Int- , f _ + x :: Int- , f _ + id _ :: Int- , f x + _ :: Int- , f (id _) + _ :: Int- , g _ + _ :: Int- , abs 0 + 0 :: Int- , abs 0 + _ :: Int- , abs 0 + x :: Int- , abs 0 + id _ :: Int- , abs 1 + _ :: Int- , abs _ + 0 :: Int- , abs _ + 1 :: Int- , abs _ + _ :: Int- , abs _ + x :: Int- , abs _ + y :: Int- , abs _ + ord _ :: Int- , abs _ + abs _ :: Int- , abs _ + id 0 :: Int- , abs _ + id _ :: Int- , abs _ + id x :: Int- , abs _ + id (id _) :: Int- , abs _ + negate _ :: Int- , abs _ + head _ :: Int- , abs _ + (_ + _) :: Int- , abs x + 0 :: Int- , abs x + _ :: Int- , abs x + x :: Int- , abs x + id _ :: Int- , abs y + _ :: Int- , abs (ord _) + _ :: Int- , abs (abs _) + _ :: Int- , abs (id 0) + _ :: Int- , abs (id _) + 0 :: Int- , abs (id _) + _ :: Int- , abs (id _) + x :: Int- , abs (id _) + id _ :: Int- , abs (id x) + _ :: Int- , abs (id (id _)) + _ :: Int- , abs (negate _) + _ :: Int- , abs (head _) + _ :: Int- , abs (_ + _) + _ :: Int- , id (-1) + _ :: Int- , id 0 + 0 :: Int- , id 0 + 1 :: Int- , id 0 + _ :: Int- , id 0 + x :: Int- , id 0 + y :: Int- , id 0 + ord _ :: Int- , id 0 + abs _ :: Int- , id 0 + id 0 :: Int- , id 0 + id _ :: Int- , id 0 + id x :: Int- , id 0 + id (id _) :: Int- , id 0 + negate _ :: Int- , id 0 + head _ :: Int- , id 0 + (_ + _) :: Int- , id 1 + 0 :: Int- , id 1 + _ :: Int- , id 1 + x :: Int- , id 1 + id _ :: Int- , id _ + (-1) :: Int- , id _ + 0 :: Int- , id _ + 1 :: Int- , id _ + _ :: Int- , id _ + x :: Int- , id _ + y :: Int- , id _ + z :: Int- , id _ + ord 'a' :: Int- , id _ + ord _ :: Int- , id _ + ord c :: Int- , id _ + f _ :: Int- , id _ + abs 0 :: Int- , id _ + abs _ :: Int- , id _ + abs x :: Int- , id _ + abs (id _) :: Int- , id _ + id 0 :: Int- , id _ + id 1 :: Int- , id _ + id _ :: Int- , id _ + id x :: Int- , id _ + id y :: Int- , id _ + id (ord _) :: Int- , id _ + id (abs _) :: Int- , id _ + id (id 0) :: Int- , id _ + id (id _) :: Int- , id _ + id (id x) :: Int- , id _ + id (id (id _)) :: Int- , id _ + id (negate _) :: Int- , id _ + id (head _) :: Int- , id _ + id (_ + _) :: Int- , id _ + negate 0 :: Int- , id _ + negate _ :: Int- , id _ + negate x :: Int- , id _ + negate (id _) :: Int- , id _ + head [] :: Int- , id _ + head _ :: Int- , id _ + head xs :: Int- , id _ + head (_:_) :: Int- , id _ + _ * _ :: Int- , id _ + (0 + _) :: Int- , id _ + (_ + 0) :: Int- , id _ + (_ + _) :: Int- , id _ + (_ + x) :: Int- , id _ + (_ + id _) :: Int- , id _ + (x + _) :: Int- , id _ + (id _ + _) :: Int- , id x + 0 :: Int- , id x + 1 :: Int- , id x + _ :: Int- , id x + x :: Int- , id x + y :: Int- , id x + ord _ :: Int- , id x + abs _ :: Int- , id x + id 0 :: Int- , id x + id _ :: Int- , id x + id x :: Int- , id x + id (id _) :: Int- , id x + negate _ :: Int- , id x + head _ :: Int- , id x + (_ + _) :: Int- , id y + 0 :: Int- , id y + _ :: Int- , id y + x :: Int- , id y + id _ :: Int- , id z + _ :: Int- , id (ord 'a') + _ :: Int- , id (ord _) + 0 :: Int- , id (ord _) + _ :: Int- , id (ord _) + x :: Int- , id (ord _) + id _ :: Int- , id (ord c) + _ :: Int- , id (f _) + _ :: Int- , id (abs 0) + _ :: Int- , id (abs _) + 0 :: Int- , id (abs _) + _ :: Int- , id (abs _) + x :: Int- , id (abs _) + id _ :: Int- , id (abs x) + _ :: Int- , id (abs (id _)) + _ :: Int- , id (id 0) + 0 :: Int- , id (id 0) + _ :: Int- , id (id 0) + x :: Int- , id (id 0) + id _ :: Int- , id (id 1) + _ :: Int- , id (id _) + 0 :: Int- , id (id _) + 1 :: Int- , id (id _) + _ :: Int- , id (id _) + x :: Int- , id (id _) + y :: Int- , id (id _) + ord _ :: Int- , id (id _) + abs _ :: Int- , id (id _) + id 0 :: Int- , id (id _) + id _ :: Int- , id (id _) + id x :: Int- , id (id _) + id (id _) :: Int- , id (id _) + negate _ :: Int- , id (id _) + head _ :: Int- , id (id _) + (_ + _) :: Int- , id (id x) + 0 :: Int- , id (id x) + _ :: Int- , id (id x) + x :: Int- , id (id x) + id _ :: Int- , id (id y) + _ :: Int- , id (id (ord _)) + _ :: Int- , id (id (abs _)) + _ :: Int- , id (id (id 0)) + _ :: Int- , id (id (id _)) + 0 :: Int- , id (id (id _)) + _ :: Int- , id (id (id _)) + x :: Int- , id (id (id _)) + id _ :: Int- , id (id (id x)) + _ :: Int- , id (id (id (id _))) + _ :: Int- , id (id (negate _)) + _ :: Int- , id (id (head _)) + _ :: Int- , id (id (_ + _)) + _ :: Int- , id (negate 0) + _ :: Int- , id (negate _) + 0 :: Int- , id (negate _) + _ :: Int- , id (negate _) + x :: Int- , id (negate _) + id _ :: Int- , id (negate x) + _ :: Int- , id (negate (id _)) + _ :: Int- , id (head []) + _ :: Int- , id (head _) + 0 :: Int- , id (head _) + _ :: Int- , id (head _) + x :: Int- , id (head _) + id _ :: Int- , id (head xs) + _ :: Int- , id (head (_:_)) + _ :: Int- , id (_ * _) + _ :: Int- , id (0 + _) + _ :: Int- , id (_ + 0) + _ :: Int- , id (_ + _) + 0 :: Int- , id (_ + _) + _ :: Int- , id (_ + _) + x :: Int- , id (_ + _) + id _ :: Int- , id (_ + x) + _ :: Int- , id (_ + id _) + _ :: Int- , id (x + _) + _ :: Int- , id (id _ + _) + _ :: Int- , negate 0 + 0 :: Int- , negate 0 + _ :: Int- , negate 0 + x :: Int- , negate 0 + id _ :: Int- , negate 1 + _ :: Int- , negate _ + 0 :: Int- , negate _ + 1 :: Int- , negate _ + _ :: Int- , negate _ + x :: Int- , negate _ + y :: Int- , negate _ + ord _ :: Int- , negate _ + abs _ :: Int- , negate _ + id 0 :: Int- , negate _ + id _ :: Int- , negate _ + id x :: Int- , negate _ + id (id _) :: Int- , negate _ + negate _ :: Int- , negate _ + head _ :: Int- , negate _ + (_ + _) :: Int- , negate x + 0 :: Int- , negate x + _ :: Int- , negate x + x :: Int- , negate x + id _ :: Int- , negate y + _ :: Int- , negate (ord _) + _ :: Int- , negate (abs _) + _ :: Int- , negate (id 0) + _ :: Int- , negate (id _) + 0 :: Int- , negate (id _) + _ :: Int- , negate (id _) + x :: Int- , negate (id _) + id _ :: Int- , negate (id x) + _ :: Int- , negate (id (id _)) + _ :: Int- , negate (negate _) + _ :: Int- , negate (head _) + _ :: Int- , negate (_ + _) + _ :: Int- , head [0] + _ :: Int- , head [] + 0 :: Int- , head [] + _ :: Int- , head [] + x :: Int- , head [] + id _ :: Int- , head _ + 0 :: Int- , head _ + 1 :: Int- , head _ + _ :: Int- , head _ + x :: Int- , head _ + y :: Int- , head _ + ord _ :: Int- , head _ + abs _ :: Int- , head _ + id 0 :: Int- , head _ + id _ :: Int- , head _ + id x :: Int- , head _ + id (id _) :: Int- , head _ + negate _ :: Int- , head _ + head _ :: Int- , head _ + (_ + _) :: Int- , head xs + 0 :: Int- , head xs + _ :: Int- , head xs + x :: Int- , head xs + id _ :: Int- , head ys + _ :: Int- , head (tail _) + _ :: Int- , head (0:_) + _ :: Int- , head [_] + _ :: Int- , head (_:_) + 0 :: Int- , head (_:_) + _ :: Int- , head (_:_) + x :: Int- , head (_:_) + id _ :: Int- , head (_:xs) + _ :: Int- , head (_:_:_) + _ :: Int- , head (x:_) + _ :: Int- , head (id _:_) + _ :: Int- , head (_ ++ _) + _ :: Int- , 0 * _ + _ :: Int- , _ * 0 + _ :: Int- , _ * _ + 0 :: Int- , _ * _ + _ :: Int- , _ * _ + x :: Int- , _ * _ + id _ :: Int- , _ * x + _ :: Int- , _ * id _ + _ :: Int- , x * _ + _ :: Int- , id _ * _ + _ :: Int- , (0 + 0) + _ :: Int- , (0 + _) + 0 :: Int- , (0 + _) + _ :: Int- , (0 + _) + x :: Int- , (0 + _) + id _ :: Int- , (0 + x) + _ :: Int- , (0 + id _) + _ :: Int- , (1 + _) + _ :: Int- , (_ + 0) + 0 :: Int- , (_ + 0) + _ :: Int- , (_ + 0) + x :: Int- , (_ + 0) + id _ :: Int- , (_ + 1) + _ :: Int- , (_ + _) + 0 :: Int- , (_ + _) + 1 :: Int- , (_ + _) + _ :: Int- , (_ + _) + x :: Int- , (_ + _) + y :: Int- , (_ + _) + ord _ :: Int- , (_ + _) + abs _ :: Int- , (_ + _) + id 0 :: Int- , (_ + _) + id _ :: Int- , (_ + _) + id x :: Int- , (_ + _) + id (id _) :: Int- , (_ + _) + negate _ :: Int- , (_ + _) + head _ :: Int- , (_ + _) + (_ + _) :: Int- , (_ + x) + 0 :: Int- , (_ + x) + _ :: Int- , (_ + x) + x :: Int- , (_ + x) + id _ :: Int- , (_ + y) + _ :: Int- , (_ + ord _) + _ :: Int- , (_ + abs _) + _ :: Int- , (_ + id 0) + _ :: Int- , (_ + id _) + 0 :: Int- , (_ + id _) + _ :: Int- , (_ + id _) + x :: Int- , (_ + id _) + id _ :: Int- , (_ + id x) + _ :: Int- , (_ + id (id _)) + _ :: Int- , (_ + negate _) + _ :: Int- , (_ + head _) + _ :: Int- , (_ + (_ + _)) + _ :: Int- , (x + 0) + _ :: Int- , (x + _) + 0 :: Int- , (x + _) + _ :: Int- , (x + _) + x :: Int- , (x + _) + id _ :: Int- , (x + x) + _ :: Int- , (x + id _) + _ :: Int- , (y + _) + _ :: Int- , (ord _ + _) + _ :: Int- , (abs _ + _) + _ :: Int- , (id 0 + _) + _ :: Int- , (id _ + 0) + _ :: Int- , (id _ + _) + 0 :: Int- , (id _ + _) + _ :: Int- , (id _ + _) + x :: Int- , (id _ + _) + id _ :: Int- , (id _ + x) + _ :: Int- , (id _ + id _) + _ :: Int- , (id x + _) + _ :: Int- , (id (id _) + _) + _ :: Int- , (negate _ + _) + _ :: Int- , (head _ + _) + _ :: Int- , ((_ + _) + _) + _ :: Int- , elem 0 [] :: Bool- , elem 0 _ :: Bool- , elem 0 xs :: Bool- , elem 0 (_:_) :: Bool- , elem 1 _ :: Bool- , elem _ [0] :: Bool- , elem _ [] :: Bool- , elem _ _ :: Bool- , elem _ xs :: Bool- , elem _ ys :: Bool- , elem _ (tail _) :: Bool- , elem _ (0:_) :: Bool- , elem _ [_] :: Bool- , elem _ (_:_) :: Bool- , elem _ (_:xs) :: Bool- , elem _ (_:_:_) :: Bool- , elem _ (x:_) :: Bool- , elem _ (id _:_) :: Bool- , elem _ (_ ++ _) :: Bool- , elem x [] :: Bool- , elem x _ :: Bool- , elem x xs :: Bool- , elem x (_:_) :: Bool- , elem y _ :: Bool- , elem (ord _) _ :: Bool- , elem (abs _) _ :: Bool- , elem (id 0) _ :: Bool- , elem (id _) [] :: Bool- , elem (id _) _ :: Bool- , elem (id _) xs :: Bool- , elem (id _) (_:_) :: Bool- , elem (id x) _ :: Bool- , elem (id (id _)) _ :: Bool- , elem (negate _) _ :: Bool- , elem (head _) _ :: Bool- , elem (_ + _) _ :: Bool- , [-1] :: [Int]- , (-1):_ :: [Int]- , (-1):xs :: [Int]- , (-1):_:_ :: [Int]- , [0,0,0] :: [Int]- , [0,0] :: [Int]- , [0,1] :: [Int]- , [0] :: [Int]- , 0:_ :: [Int]- , 0:xs :: [Int]- , 0:ys :: [Int]- , 0:zs :: [Int]- , 0:sort _ :: [Int]- , 0:tail [] :: [Int]- , 0:tail _ :: [Int]- , 0:tail xs :: [Int]- , 0:tail (_:_) :: [Int]- , [0,0] :: [Int]- , 0:0:_ :: [Int]- , 0:0:xs :: [Int]- , 0:0:_:_ :: [Int]- , 0:1:_ :: [Int]- , [0,_,0] :: [Int]- , [0,_] :: [Int]- , 0:_:_ :: [Int]- , 0:_:xs :: [Int]- , 0:_:ys :: [Int]- , 0:_:tail _ :: [Int]- , 0:_:0:_ :: [Int]- , [0,_,_] :: [Int]- , 0:_:_:_ :: [Int]- , 0:_:_:xs :: [Int]- , 0:_:_:_:_ :: [Int]- , 0:_:x:_ :: [Int]- , 0:_:id _:_ :: [Int]- , 0:_:(_ ++ _) :: [Int]- , [0,x] :: [Int]- , 0:x:_ :: [Int]- , 0:x:xs :: [Int]- , 0:x:_:_ :: [Int]- , 0:y:_ :: [Int]- , 0:ord _:_ :: [Int]- , 0:abs _:_ :: [Int]- , 0:id 0:_ :: [Int]- , [0,id _] :: [Int]- , 0:id _:_ :: [Int]- , 0:id _:xs :: [Int]- , 0:id _:_:_ :: [Int]- , 0:id x:_ :: [Int]- , 0:id (id _):_ :: [Int]- , 0:negate _:_ :: [Int]- , 0:head _:_ :: [Int]- , 0:_ + _:_ :: [Int]- , 0:insert _ _ :: [Int]- , 0:([] ++ _) :: [Int]- , 0:(_ ++ []) :: [Int]- , 0:(_ ++ _) :: [Int]- , 0:(_ ++ xs) :: [Int]- , 0:(_ ++ (_:_)) :: [Int]- , 0:(xs ++ _) :: [Int]- , 0:((_:_) ++ _) :: [Int]- , [1,0] :: [Int]- , [1] :: [Int]- , 1:_ :: [Int]- , 1:xs :: [Int]- , 1:ys :: [Int]- , 1:tail _ :: [Int]- , 1:0:_ :: [Int]- , [1,_] :: [Int]- , 1:_:_ :: [Int]- , 1:_:xs :: [Int]- , 1:_:_:_ :: [Int]- , 1:x:_ :: [Int]- , 1:id _:_ :: [Int]- , 1:(_ ++ _) :: [Int]- , 2:_ :: [Int]- , [_,-1] :: [Int]- , [_,0,0,0] :: [Int]- , [_,0,0] :: [Int]- , [_,0,1] :: [Int]- , [_,0] :: [Int]- , [_,1,0] :: [Int]- , [_,1] :: [Int]- , [_] :: [Int]- , _:_ :: [Int]- , _:xs :: [Int]- , _:xs' :: [Int]- , _:ys :: [Int]- , _:zs :: [Int]- , _:sort [] :: [Int]- , _:sort _ :: [Int]- , _:sort xs :: [Int]- , _:sort (_:_) :: [Int]- , _:tail [0] :: [Int]- , _:tail [] :: [Int]- , _:tail _ :: [Int]- , _:tail xs :: [Int]- , _:tail ys :: [Int]- , _:tail (tail _) :: [Int]- , _:tail (0:_) :: [Int]- , _:tail [_] :: [Int]- , _:tail (_:_) :: [Int]- , _:tail (_:xs) :: [Int]- , _:tail (_:_:_) :: [Int]- , _:tail (x:_) :: [Int]- , _:tail (id _:_) :: [Int]- , _:tail (_ ++ _) :: [Int]- , _:(-1):_ :: [Int]- , [_,0,0] :: [Int]- , [_,0] :: [Int]- , _:0:_ :: [Int]- , _:0:xs :: [Int]- , _:0:ys :: [Int]- , _:0:tail _ :: [Int]- , _:0:0:_ :: [Int]- , [_,0,_] :: [Int]- , _:0:_:_ :: [Int]- , _:0:_:xs :: [Int]- , _:0:_:_:_ :: [Int]- , _:0:x:_ :: [Int]- , _:0:id _:_ :: [Int]- , _:0:(_ ++ _) :: [Int]- , [_,1] :: [Int]- , _:1:_ :: [Int]- , _:1:xs :: [Int]- , _:1:_:_ :: [Int]- , [_,_,0,0] :: [Int]- , [_,_,0] :: [Int]- , [_,_,1] :: [Int]- , [_,_] :: [Int]- , _:_:_ :: [Int]- , _:_:xs :: [Int]- , _:_:ys :: [Int]- , _:_:zs :: [Int]- , _:_:sort _ :: [Int]- , _:_:tail [] :: [Int]- , _:_:tail _ :: [Int]- , _:_:tail xs :: [Int]- , _:_:tail (_:_) :: [Int]- , [_,_,0] :: [Int]- , _:_:0:_ :: [Int]- , _:_:0:xs :: [Int]- , _:_:0:_:_ :: [Int]- , _:_:1:_ :: [Int]- , [_,_,_,0] :: [Int]- , [_,_,_] :: [Int]- , _:_:_:_ :: [Int]- , _:_:_:xs :: [Int]- , _:_:_:ys :: [Int]- , _:_:_:tail _ :: [Int]- , _:_:_:0:_ :: [Int]- , [_,_,_,_] :: [Int]- , _:_:_:_:_ :: [Int]- , _:_:_:_:xs :: [Int]- , _:_:_:_:_:_ :: [Int]- , _:_:_:x:_ :: [Int]- , _:_:_:id _:_ :: [Int]- , _:_:_:(_ ++ _) :: [Int]- , [_,_,x] :: [Int]- , _:_:x:_ :: [Int]- , _:_:x:xs :: [Int]- , _:_:x:_:_ :: [Int]- , _:_:y:_ :: [Int]- , _:_:ord _:_ :: [Int]- , _:_:abs _:_ :: [Int]- , _:_:id 0:_ :: [Int]- , [_,_,id _] :: [Int]- , _:_:id _:_ :: [Int]- , _:_:id _:xs :: [Int]- , _:_:id _:_:_ :: [Int]- , _:_:id x:_ :: [Int]- , _:_:id (id _):_ :: [Int]- , _:_:negate _:_ :: [Int]- , _:_:head _:_ :: [Int]- , _:_:_ + _:_ :: [Int]- , _:_:insert _ _ :: [Int]- , [_,_,] ++ _ :: [Int]- , _:_:(_ ++ []) :: [Int]- , _:_:(_ ++ _) :: [Int]- , _:_:(_ ++ xs) :: [Int]- , _:_:(_ ++ (_:_)) :: [Int]- , _:_:(xs ++ _) :: [Int]- , _:_:((_:_) ++ _) :: [Int]- , [_,x,0] :: [Int]- , [_,x] :: [Int]- , _:x:_ :: [Int]- , _:x:xs :: [Int]- , _:x:ys :: [Int]- , _:x:tail _ :: [Int]- , _:x:0:_ :: [Int]- , [_,x,_] :: [Int]- , _:x:_:_ :: [Int]- , _:x:_:xs :: [Int]- , _:x:_:_:_ :: [Int]- , _:x:x:_ :: [Int]- , _:x:id _:_ :: [Int]- , _:x:(_ ++ _) :: [Int]- , [_,y] :: [Int]- , _:y:_ :: [Int]- , _:y:xs :: [Int]- , _:y:_:_ :: [Int]- , _:z:_ :: [Int]- , _:ord 'a':_ :: [Int]- , [_,ord _] :: [Int]- , _:ord _:_ :: [Int]- , _:ord _:xs :: [Int]- , _:ord _:_:_ :: [Int]- , _:ord c:_ :: [Int]- , _:f _:_ :: [Int]- , _:abs 0:_ :: [Int]- , [_,abs _] :: [Int]- , _:abs _:_ :: [Int]- , _:abs _:xs :: [Int]- , _:abs _:_:_ :: [Int]- , _:abs x:_ :: [Int]- , _:abs (id _):_ :: [Int]- , [_,id 0] :: [Int]- , _:id 0:_ :: [Int]- , _:id 0:xs :: [Int]- , _:id 0:_:_ :: [Int]- , _:id 1:_ :: [Int]- , [_,id _,0] :: [Int]- , [_,id _] :: [Int]- , _:id _:_ :: [Int]- , _:id _:xs :: [Int]- , _:id _:ys :: [Int]- , _:id _:tail _ :: [Int]- , _:id _:0:_ :: [Int]- , [_,id _,_] :: [Int]- , _:id _:_:_ :: [Int]- , _:id _:_:xs :: [Int]- , _:id _:_:_:_ :: [Int]- , _:id _:x:_ :: [Int]- , _:id _:id _:_ :: [Int]- , _:id _:(_ ++ _) :: [Int]- , [_,id x] :: [Int]- , _:id x:_ :: [Int]- , _:id x:xs :: [Int]- , _:id x:_:_ :: [Int]- , _:id y:_ :: [Int]- , _:id (ord _):_ :: [Int]- , _:id (abs _):_ :: [Int]- , _:id (id 0):_ :: [Int]- , [_,id (id _)] :: [Int]- , _:id (id _):_ :: [Int]- , _:id (id _):xs :: [Int]- , _:id (id _):_:_ :: [Int]- , _:id (id x):_ :: [Int]- , _:id (id (id _)):_ :: [Int]- , _:id (negate _):_ :: [Int]- , _:id (head _):_ :: [Int]- , _:id (_ + _):_ :: [Int]- , _:negate 0:_ :: [Int]- , [_,negate _] :: [Int]- , _:negate _:_ :: [Int]- , _:negate _:xs :: [Int]- , _:negate _:_:_ :: [Int]- , _:negate x:_ :: [Int]- , _:negate (id _):_ :: [Int]- , _:head []:_ :: [Int]- , [_,head _] :: [Int]- , _:head _:_ :: [Int]- , _:head _:xs :: [Int]- , _:head _:_:_ :: [Int]- , _:head xs:_ :: [Int]- , _:head (_:_):_ :: [Int]- , _:_ * _:_ :: [Int]- , _:0 + _:_ :: [Int]- , _:_ + 0:_ :: [Int]- , [_,_ + _] :: [Int]- , _:_ + _:_ :: [Int]- , _:_ + _:xs :: [Int]- , _:_ + _:_:_ :: [Int]- , _:_ + x:_ :: [Int]- , _:_ + id _:_ :: [Int]- , _:x + _:_ :: [Int]- , _:id _ + _:_ :: [Int]- , _:insert 0 _ :: [Int]- , _:insert _ [] :: [Int]- , _:insert _ _ :: [Int]- , _:insert _ xs :: [Int]- , _:insert _ (_:_) :: [Int]- , _:insert x _ :: [Int]- , _:insert (id _) _ :: [Int]- , _:([0] ++ _) :: [Int]- , _:([] ++ []) :: [Int]- , _:([] ++ _) :: [Int]- , _:([] ++ xs) :: [Int]- , _:([] ++ (_:_)) :: [Int]- , _:(_ ++ [0]) :: [Int]- , _:(_ ++ []) :: [Int]- , _:(_ ++ _) :: [Int]- , _:(_ ++ xs) :: [Int]- , _:(_ ++ ys) :: [Int]- , _:(_ ++ tail _) :: [Int]- , _:(_ ++ (0:_)) :: [Int]- , _:(_ ++ [_]) :: [Int]- , _:(_ ++ (_:_)) :: [Int]- , _:(_ ++ (_:xs)) :: [Int]- , _:(_ ++ (_:_:_)) :: [Int]- , _:(_ ++ (x:_)) :: [Int]- , _:(_ ++ (id _:_)) :: [Int]- , _:(_ ++ (_ ++ _)) :: [Int]- , _:(xs ++ []) :: [Int]- , _:(xs ++ _) :: [Int]- , _:(xs ++ xs) :: [Int]- , _:(xs ++ (_:_)) :: [Int]- , _:(ys ++ _) :: [Int]- , _:(tail _ ++ _) :: [Int]- , _:((0:_) ++ _) :: [Int]- , _:([_] ++ _) :: [Int]- , _:((_:_) ++ []) :: [Int]- , _:((_:_) ++ _) :: [Int]- , _:((_:_) ++ xs) :: [Int]- , _:((_:_) ++ (_:_)) :: [Int]- , _:((_:xs) ++ _) :: [Int]- , _:((_:_:_) ++ _) :: [Int]- , _:((x:_) ++ _) :: [Int]- , _:((id _:_) ++ _) :: [Int]- , _:((_ ++ _) ++ _) :: [Int]- , [x,0,0] :: [Int]- , [x,0] :: [Int]- , [x,1] :: [Int]- , [x] :: [Int]- , x:_ :: [Int]- , x:xs :: [Int]- , x:ys :: [Int]- , x:zs :: [Int]- , x:sort _ :: [Int]- , x:tail [] :: [Int]- , x:tail _ :: [Int]- , x:tail xs :: [Int]- , x:tail (_:_) :: [Int]- , [x,0] :: [Int]- , x:0:_ :: [Int]- , x:0:xs :: [Int]- , x:0:_:_ :: [Int]- , x:1:_ :: [Int]- , [x,_,0] :: [Int]- , [x,_] :: [Int]- , x:_:_ :: [Int]- , x:_:xs :: [Int]- , x:_:ys :: [Int]- , x:_:tail _ :: [Int]- , x:_:0:_ :: [Int]- , [x,_,_] :: [Int]- , x:_:_:_ :: [Int]- , x:_:_:xs :: [Int]- , x:_:_:_:_ :: [Int]- , x:_:x:_ :: [Int]- , x:_:id _:_ :: [Int]- , x:_:(_ ++ _) :: [Int]- , [x,x] :: [Int]- , x:x:_ :: [Int]- , x:x:xs :: [Int]- , x:x:_:_ :: [Int]- , x:y:_ :: [Int]- , x:ord _:_ :: [Int]- , x:abs _:_ :: [Int]- , x:id 0:_ :: [Int]- , [x,id _] :: [Int]- , x:id _:_ :: [Int]- , x:id _:xs :: [Int]- , x:id _:_:_ :: [Int]- , x:id x:_ :: [Int]- , x:id (id _):_ :: [Int]- , x:negate _:_ :: [Int]- , x:head _:_ :: [Int]- , x:_ + _:_ :: [Int]- , x:insert _ _ :: [Int]- , x:([] ++ _) :: [Int]- , x:(_ ++ []) :: [Int]- , x:(_ ++ _) :: [Int]- , x:(_ ++ xs) :: [Int]- , x:(_ ++ (_:_)) :: [Int]- , x:(xs ++ _) :: [Int]- , x:((_:_) ++ _) :: [Int]- , x':_ :: [Int]- , [y,0] :: [Int]- , [y] :: [Int]- , y:_ :: [Int]- , y:xs :: [Int]- , y:ys :: [Int]- , y:tail _ :: [Int]- , y:0:_ :: [Int]- , [y,_] :: [Int]- , y:_:_ :: [Int]- , y:_:xs :: [Int]- , y:_:_:_ :: [Int]- , y:x:_ :: [Int]- , y:id _:_ :: [Int]- , y:(_ ++ _) :: [Int]- , [z] :: [Int]- , z:_ :: [Int]- , z:xs :: [Int]- , z:_:_ :: [Int]- , ord ' ':_ :: [Int]- , [ord 'a'] :: [Int]- , ord 'a':_ :: [Int]- , ord 'a':xs :: [Int]- , ord 'a':_:_ :: [Int]- , [ord _,0] :: [Int]- , [ord _] :: [Int]- , ord _:_ :: [Int]- , ord _:xs :: [Int]- , ord _:ys :: [Int]- , ord _:tail _ :: [Int]- , ord _:0:_ :: [Int]- , [ord _,_] :: [Int]- , ord _:_:_ :: [Int]- , ord _:_:xs :: [Int]- , ord _:_:_:_ :: [Int]- , ord _:x:_ :: [Int]- , ord _:id _:_ :: [Int]- , ord _:(_ ++ _) :: [Int]- , [ord c] :: [Int]- , ord c:_ :: [Int]- , ord c:xs :: [Int]- , ord c:_:_ :: [Int]- , ord d:_ :: [Int]- , f 0:_ :: [Int]- , [f _] :: [Int]- , f _:_ :: [Int]- , f _:xs :: [Int]- , f _:_:_ :: [Int]- , f x:_ :: [Int]- , f (id _):_ :: [Int]- , g _:_ :: [Int]- , [abs 0] :: [Int]- , abs 0:_ :: [Int]- , abs 0:xs :: [Int]- , abs 0:_:_ :: [Int]- , abs 1:_ :: [Int]- , [abs _,0] :: [Int]- , [abs _] :: [Int]- , abs _:_ :: [Int]- , abs _:xs :: [Int]- , abs _:ys :: [Int]- , abs _:tail _ :: [Int]- , abs _:0:_ :: [Int]- , [abs _,_] :: [Int]- , abs _:_:_ :: [Int]- , abs _:_:xs :: [Int]- , abs _:_:_:_ :: [Int]- , abs _:x:_ :: [Int]- , abs _:id _:_ :: [Int]- , abs _:(_ ++ _) :: [Int]- , [abs x] :: [Int]- , abs x:_ :: [Int]- , abs x:xs :: [Int]- , abs x:_:_ :: [Int]- , abs y:_ :: [Int]- , abs (ord _):_ :: [Int]- , abs (abs _):_ :: [Int]- , abs (id 0):_ :: [Int]- , [abs (id _)] :: [Int]- , abs (id _):_ :: [Int]- , abs (id _):xs :: [Int]- , abs (id _):_:_ :: [Int]- , abs (id x):_ :: [Int]- , abs (id (id _)):_ :: [Int]- , abs (negate _):_ :: [Int]- , abs (head _):_ :: [Int]- , abs (_ + _):_ :: [Int]- , id (-1):_ :: [Int]- , [id 0,0] :: [Int]- , [id 0] :: [Int]- , id 0:_ :: [Int]- , id 0:xs :: [Int]- , id 0:ys :: [Int]- , id 0:tail _ :: [Int]- , id 0:0:_ :: [Int]- , [id 0,_] :: [Int]- , id 0:_:_ :: [Int]- , id 0:_:xs :: [Int]- , id 0:_:_:_ :: [Int]- , id 0:x:_ :: [Int]- , id 0:id _:_ :: [Int]- , id 0:(_ ++ _) :: [Int]- , [id 1] :: [Int]- , id 1:_ :: [Int]- , id 1:xs :: [Int]- , id 1:_:_ :: [Int]- , [id _,0,0] :: [Int]- , [id _,0] :: [Int]- , [id _,1] :: [Int]- , [id _] :: [Int]- , id _:_ :: [Int]- , id _:xs :: [Int]- , id _:ys :: [Int]- , id _:zs :: [Int]- , id _:sort _ :: [Int]- , id _:tail [] :: [Int]- , id _:tail _ :: [Int]- , id _:tail xs :: [Int]- , id _:tail (_:_) :: [Int]- , [id _,0] :: [Int]- , id _:0:_ :: [Int]- , id _:0:xs :: [Int]- , id _:0:_:_ :: [Int]- , id _:1:_ :: [Int]- , [id _,_,0] :: [Int]- , [id _,_] :: [Int]- , id _:_:_ :: [Int]- , id _:_:xs :: [Int]- , id _:_:ys :: [Int]- , id _:_:tail _ :: [Int]- , id _:_:0:_ :: [Int]- , [id _,_,_] :: [Int]- , id _:_:_:_ :: [Int]- , id _:_:_:xs :: [Int]- , id _:_:_:_:_ :: [Int]- , id _:_:x:_ :: [Int]- , id _:_:id _:_ :: [Int]- , id _:_:(_ ++ _) :: [Int]- , [id _,x] :: [Int]- , id _:x:_ :: [Int]- , id _:x:xs :: [Int]- , id _:x:_:_ :: [Int]- , id _:y:_ :: [Int]- , id _:ord _:_ :: [Int]- , id _:abs _:_ :: [Int]- , id _:id 0:_ :: [Int]- , [id _,id _] :: [Int]- , id _:id _:_ :: [Int]- , id _:id _:xs :: [Int]- , id _:id _:_:_ :: [Int]- , id _:id x:_ :: [Int]- , id _:id (id _):_ :: [Int]- , id _:negate _:_ :: [Int]- , id _:head _:_ :: [Int]- , id _:_ + _:_ :: [Int]- , id _:insert _ _ :: [Int]- , id _:([] ++ _) :: [Int]- , id _:(_ ++ []) :: [Int]- , id _:(_ ++ _) :: [Int]- , id _:(_ ++ xs) :: [Int]- , id _:(_ ++ (_:_)) :: [Int]- , id _:(xs ++ _) :: [Int]- , id _:((_:_) ++ _) :: [Int]- , [id x,0] :: [Int]- , [id x] :: [Int]- , id x:_ :: [Int]- , id x:xs :: [Int]- , id x:ys :: [Int]- , id x:tail _ :: [Int]- , id x:0:_ :: [Int]- , [id x,_] :: [Int]- , id x:_:_ :: [Int]- , id x:_:xs :: [Int]- , id x:_:_:_ :: [Int]- , id x:x:_ :: [Int]- , id x:id _:_ :: [Int]- , id x:(_ ++ _) :: [Int]- , [id y] :: [Int]- , id y:_ :: [Int]- , id y:xs :: [Int]- , id y:_:_ :: [Int]- , id z:_ :: [Int]- , id (ord 'a'):_ :: [Int]- , [id (ord _)] :: [Int]- , id (ord _):_ :: [Int]- , id (ord _):xs :: [Int]- , id (ord _):_:_ :: [Int]- , id (ord c):_ :: [Int]- , id (f _):_ :: [Int]- , id (abs 0):_ :: [Int]- , [id (abs _)] :: [Int]- , id (abs _):_ :: [Int]- , id (abs _):xs :: [Int]- , id (abs _):_:_ :: [Int]- , id (abs x):_ :: [Int]- , id (abs (id _)):_ :: [Int]- , [id (id 0)] :: [Int]- , id (id 0):_ :: [Int]- , id (id 0):xs :: [Int]- , id (id 0):_:_ :: [Int]- , id (id 1):_ :: [Int]- , [id (id _),0] :: [Int]- , [id (id _)] :: [Int]- , id (id _):_ :: [Int]- , id (id _):xs :: [Int]- , id (id _):ys :: [Int]- , id (id _):tail _ :: [Int]- , id (id _):0:_ :: [Int]- , [id (id _),_] :: [Int]- , id (id _):_:_ :: [Int]- , id (id _):_:xs :: [Int]- , id (id _):_:_:_ :: [Int]- , id (id _):x:_ :: [Int]- , id (id _):id _:_ :: [Int]- , id (id _):(_ ++ _) :: [Int]- , [id (id x)] :: [Int]- , id (id x):_ :: [Int]- , id (id x):xs :: [Int]- , id (id x):_:_ :: [Int]- , id (id y):_ :: [Int]- , id (id (ord _)):_ :: [Int]- , id (id (abs _)):_ :: [Int]- , id (id (id 0)):_ :: [Int]- , [id (id (id _))] :: [Int]- , id (id (id _)):_ :: [Int]- , id (id (id _)):xs :: [Int]- , id (id (id _)):_:_ :: [Int]- , id (id (id x)):_ :: [Int]- , id (id (id (id _))):_ :: [Int]- , id (id (negate _)):_ :: [Int]- , id (id (head _)):_ :: [Int]- , id (id (_ + _)):_ :: [Int]- , id (negate 0):_ :: [Int]- , [id (negate _)] :: [Int]- , id (negate _):_ :: [Int]- , id (negate _):xs :: [Int]- , id (negate _):_:_ :: [Int]- , id (negate x):_ :: [Int]- , id (negate (id _)):_ :: [Int]- , id (head []):_ :: [Int]- , [id (head _)] :: [Int]- , id (head _):_ :: [Int]- , id (head _):xs :: [Int]- , id (head _):_:_ :: [Int]- , id (head xs):_ :: [Int]- , id (head (_:_)):_ :: [Int]- , id (_ * _):_ :: [Int]- , id (0 + _):_ :: [Int]- , id (_ + 0):_ :: [Int]- , [id (_ + _)] :: [Int]- , id (_ + _):_ :: [Int]- , id (_ + _):xs :: [Int]- , id (_ + _):_:_ :: [Int]- , id (_ + x):_ :: [Int]- , id (_ + id _):_ :: [Int]- , id (x + _):_ :: [Int]- , id (id _ + _):_ :: [Int]- , [negate 0] :: [Int]- , negate 0:_ :: [Int]- , negate 0:xs :: [Int]- , negate 0:_:_ :: [Int]- , negate 1:_ :: [Int]- , [negate _,0] :: [Int]- , [negate _] :: [Int]- , negate _:_ :: [Int]- , negate _:xs :: [Int]- , negate _:ys :: [Int]- , negate _:tail _ :: [Int]- , negate _:0:_ :: [Int]- , [negate _,_] :: [Int]- , negate _:_:_ :: [Int]- , negate _:_:xs :: [Int]- , negate _:_:_:_ :: [Int]- , negate _:x:_ :: [Int]- , negate _:id _:_ :: [Int]- , negate _:(_ ++ _) :: [Int]- , [negate x] :: [Int]- , negate x:_ :: [Int]- , negate x:xs :: [Int]- , negate x:_:_ :: [Int]- , negate y:_ :: [Int]- , negate (ord _):_ :: [Int]- , negate (abs _):_ :: [Int]- , negate (id 0):_ :: [Int]- , [negate (id _)] :: [Int]- , negate (id _):_ :: [Int]- , negate (id _):xs :: [Int]- , negate (id _):_:_ :: [Int]- , negate (id x):_ :: [Int]- , negate (id (id _)):_ :: [Int]- , negate (negate _):_ :: [Int]- , negate (head _):_ :: [Int]- , negate (_ + _):_ :: [Int]- , head [0]:_ :: [Int]- , [head []] :: [Int]- , head []:_ :: [Int]- , head []:xs :: [Int]- , head []:_:_ :: [Int]- , [head _,0] :: [Int]- , [head _] :: [Int]- , head _:_ :: [Int]- , head _:xs :: [Int]- , head _:ys :: [Int]- , head _:tail _ :: [Int]- , head _:0:_ :: [Int]- , [head _,_] :: [Int]- , head _:_:_ :: [Int]- , head _:_:xs :: [Int]- , head _:_:_:_ :: [Int]- , head _:x:_ :: [Int]- , head _:id _:_ :: [Int]- , head _:(_ ++ _) :: [Int]- , [head xs] :: [Int]- , head xs:_ :: [Int]- , head xs:xs :: [Int]- , head xs:_:_ :: [Int]- , head ys:_ :: [Int]- , head (tail _):_ :: [Int]- , head (0:_):_ :: [Int]- , head [_]:_ :: [Int]- , [head (_:_)] :: [Int]- , head (_:_):_ :: [Int]- , head (_:_):xs :: [Int]- , head (_:_):_:_ :: [Int]- , head (_:xs):_ :: [Int]- , head (_:_:_):_ :: [Int]- , head (x:_):_ :: [Int]- , head (id _:_):_ :: [Int]- , head (_ ++ _):_ :: [Int]- , 0 * _:_ :: [Int]- , _ * 0:_ :: [Int]- , [_ * _] :: [Int]- , _ * _:_ :: [Int]- , _ * _:xs :: [Int]- , _ * _:_:_ :: [Int]- , _ * x:_ :: [Int]- , _ * id _:_ :: [Int]- , x * _:_ :: [Int]- , id _ * _:_ :: [Int]- , 0 + 0:_ :: [Int]- , [0 + _] :: [Int]- , 0 + _:_ :: [Int]- , 0 + _:xs :: [Int]- , 0 + _:_:_ :: [Int]- , 0 + x:_ :: [Int]- , 0 + id _:_ :: [Int]- , 1 + _:_ :: [Int]- , [_ + 0] :: [Int]- , _ + 0:_ :: [Int]- , _ + 0:xs :: [Int]- , _ + 0:_:_ :: [Int]- , _ + 1:_ :: [Int]- , [_ + _,0] :: [Int]- , [_ + _] :: [Int]- , _ + _:_ :: [Int]- , _ + _:xs :: [Int]- , _ + _:ys :: [Int]- , _ + _:tail _ :: [Int]- , _ + _:0:_ :: [Int]- , [_ + _,_] :: [Int]- , _ + _:_:_ :: [Int]- , _ + _:_:xs :: [Int]- , _ + _:_:_:_ :: [Int]- , _ + _:x:_ :: [Int]- , _ + _:id _:_ :: [Int]- , _ + _:(_ ++ _) :: [Int]- , [_ + x] :: [Int]- , _ + x:_ :: [Int]- , _ + x:xs :: [Int]- , _ + x:_:_ :: [Int]- , _ + y:_ :: [Int]- , _ + ord _:_ :: [Int]- , _ + abs _:_ :: [Int]- , _ + id 0:_ :: [Int]- , [_ + id _] :: [Int]- , _ + id _:_ :: [Int]- , _ + id _:xs :: [Int]- , _ + id _:_:_ :: [Int]- , _ + id x:_ :: [Int]- , _ + id (id _):_ :: [Int]- , _ + negate _:_ :: [Int]- , _ + head _:_ :: [Int]- , _ + (_ + _):_ :: [Int]- , x + 0:_ :: [Int]- , [x + _] :: [Int]- , x + _:_ :: [Int]- , x + _:xs :: [Int]- , x + _:_:_ :: [Int]- , x + x:_ :: [Int]- , x + id _:_ :: [Int]- , y + _:_ :: [Int]- , ord _ + _:_ :: [Int]- , abs _ + _:_ :: [Int]- , id 0 + _:_ :: [Int]- , id _ + 0:_ :: [Int]- , [id _ + _] :: [Int]- , id _ + _:_ :: [Int]- , id _ + _:xs :: [Int]- , id _ + _:_:_ :: [Int]- , id _ + x:_ :: [Int]- , id _ + id _:_ :: [Int]- , id x + _:_ :: [Int]- , id (id _) + _:_ :: [Int]- , negate _ + _:_ :: [Int]- , head _ + _:_ :: [Int]- , (_ + _) + _:_ :: [Int]- , insert 0 [] :: [Int]- , insert 0 _ :: [Int]- , insert 0 xs :: [Int]- , insert 0 (_:_) :: [Int]- , insert 1 _ :: [Int]- , insert _ [0] :: [Int]- , insert _ [] :: [Int]- , insert _ _ :: [Int]- , insert _ xs :: [Int]- , insert _ ys :: [Int]- , insert _ (tail _) :: [Int]- , insert _ (0:_) :: [Int]- , insert _ [_] :: [Int]- , insert _ (_:_) :: [Int]- , insert _ (_:xs) :: [Int]- , insert _ (_:_:_) :: [Int]- , insert _ (x:_) :: [Int]- , insert _ (id _:_) :: [Int]- , insert _ (_ ++ _) :: [Int]- , insert x [] :: [Int]- , insert x _ :: [Int]- , insert x xs :: [Int]- , insert x (_:_) :: [Int]- , insert y _ :: [Int]- , insert (ord _) _ :: [Int]- , insert (abs _) _ :: [Int]- , insert (id 0) _ :: [Int]- , insert (id _) [] :: [Int]- , insert (id _) _ :: [Int]- , insert (id _) xs :: [Int]- , insert (id _) (_:_) :: [Int]- , insert (id x) _ :: [Int]- , insert (id (id _)) _ :: [Int]- , insert (negate _) _ :: [Int]- , insert (head _) _ :: [Int]- , insert (_ + _) _ :: [Int]- , [0,0] ++ _ :: [Int]- , [0] ++ [] :: [Int]- , [0] ++ _ :: [Int]- , [0] ++ xs :: [Int]- , [0] ++ (_:_) :: [Int]- , [1] ++ _ :: [Int]- , [] ++ [0] :: [Int]- , [] ++ [] :: [Int]- , [] ++ _ :: [Int]- , [] ++ xs :: [Int]- , [] ++ ys :: [Int]- , [] ++ tail _ :: [Int]- , [] ++ (0:_) :: [Int]- , [] ++ [_] :: [Int]- , [] ++ (_:_) :: [Int]- , [] ++ (_:xs) :: [Int]- , [] ++ (_:_:_) :: [Int]- , [] ++ (x:_) :: [Int]- , [] ++ (id _:_) :: [Int]- , [] ++ (_ ++ _) :: [Int]- , _ ++ [0,0] :: [Int]- , _ ++ [0] :: [Int]- , _ ++ [1] :: [Int]- , _ ++ [] :: [Int]- , _ ++ _ :: [Int]- , _ ++ xs :: [Int]- , _ ++ ys :: [Int]- , _ ++ zs :: [Int]- , _ ++ sort _ :: [Int]- , _ ++ tail [] :: [Int]- , _ ++ tail _ :: [Int]- , _ ++ tail xs :: [Int]- , _ ++ tail (_:_) :: [Int]- , _ ++ [0] :: [Int]- , _ ++ (0:_) :: [Int]- , _ ++ (0:xs) :: [Int]- , _ ++ (0:_:_) :: [Int]- , _ ++ (1:_) :: [Int]- , _ ++ [_,0] :: [Int]- , _ ++ [_] :: [Int]- , _ ++ (_:_) :: [Int]- , _ ++ (_:xs) :: [Int]- , _ ++ (_:ys) :: [Int]- , _ ++ (_:tail _) :: [Int]- , _ ++ (_:0:_) :: [Int]- , _ ++ [_,_] :: [Int]- , _ ++ (_:_:_) :: [Int]- , _ ++ (_:_:xs) :: [Int]- , _ ++ (_:_:_:_) :: [Int]- , _ ++ (_:x:_) :: [Int]- , _ ++ (_:id _:_) :: [Int]- , _ ++ (_:(_ ++ _)) :: [Int]- , _ ++ [x] :: [Int]- , _ ++ (x:_) :: [Int]- , _ ++ (x:xs) :: [Int]- , _ ++ (x:_:_) :: [Int]- , _ ++ (y:_) :: [Int]- , _ ++ (ord _:_) :: [Int]- , _ ++ (abs _:_) :: [Int]- , _ ++ (id 0:_) :: [Int]- , _ ++ [id _] :: [Int]- , _ ++ (id _:_) :: [Int]- , _ ++ (id _:xs) :: [Int]- , _ ++ (id _:_:_) :: [Int]- , _ ++ (id x:_) :: [Int]- , _ ++ (id (id _):_) :: [Int]- , _ ++ (negate _:_) :: [Int]- , _ ++ (head _:_) :: [Int]- , _ ++ (_ + _:_) :: [Int]- , _ ++ insert _ _ :: [Int]- , _ ++ ([] ++ _) :: [Int]- , _ ++ (_ ++ []) :: [Int]- , _ ++ (_ ++ _) :: [Int]- , _ ++ (_ ++ xs) :: [Int]- , _ ++ (_ ++ (_:_)) :: [Int]- , _ ++ (xs ++ _) :: [Int]- , _ ++ ((_:_) ++ _) :: [Int]- , xs ++ [0] :: [Int]- , xs ++ [] :: [Int]- , xs ++ _ :: [Int]- , xs ++ xs :: [Int]- , xs ++ ys :: [Int]- , xs ++ tail _ :: [Int]- , xs ++ (0:_) :: [Int]- , xs ++ [_] :: [Int]- , xs ++ (_:_) :: [Int]- , xs ++ (_:xs) :: [Int]- , xs ++ (_:_:_) :: [Int]- , xs ++ (x:_) :: [Int]- , xs ++ (id _:_) :: [Int]- , xs ++ (_ ++ _) :: [Int]- , ys ++ [] :: [Int]- , ys ++ _ :: [Int]- , ys ++ xs :: [Int]- , ys ++ (_:_) :: [Int]- , zs ++ _ :: [Int]- , sort _ ++ _ :: [Int]- , tail [] ++ _ :: [Int]- , tail _ ++ [] :: [Int]- , tail _ ++ _ :: [Int]- , tail _ ++ xs :: [Int]- , tail _ ++ (_:_) :: [Int]- , tail xs ++ _ :: [Int]- , tail (_:_) ++ _ :: [Int]- , [0] ++ _ :: [Int]- , (0:_) ++ [] :: [Int]- , (0:_) ++ _ :: [Int]- , (0:_) ++ xs :: [Int]- , (0:_) ++ (_:_) :: [Int]- , (0:xs) ++ _ :: [Int]- , (0:_:_) ++ _ :: [Int]- , (1:_) ++ _ :: [Int]- , [_,0] ++ _ :: [Int]- , [_] ++ [] :: [Int]- , [_] ++ _ :: [Int]- , [_] ++ xs :: [Int]- , [_] ++ (_:_) :: [Int]- , (_:_) ++ [0] :: [Int]- , (_:_) ++ [] :: [Int]- , (_:_) ++ _ :: [Int]- , (_:_) ++ xs :: [Int]- , (_:_) ++ ys :: [Int]- , (_:_) ++ tail _ :: [Int]- , (_:_) ++ (0:_) :: [Int]- , (_:_) ++ [_] :: [Int]- , (_:_) ++ (_:_) :: [Int]- , (_:_) ++ (_:xs) :: [Int]- , (_:_) ++ (_:_:_) :: [Int]- , (_:_) ++ (x:_) :: [Int]- , (_:_) ++ (id _:_) :: [Int]- , (_:_) ++ (_ ++ _) :: [Int]- , (_:xs) ++ [] :: [Int]- , (_:xs) ++ _ :: [Int]- , (_:xs) ++ xs :: [Int]- , (_:xs) ++ (_:_) :: [Int]- , (_:ys) ++ _ :: [Int]- , (_:tail _) ++ _ :: [Int]- , (_:0:_) ++ _ :: [Int]- , [_,_] ++ _ :: [Int]- , (_:_:_) ++ [] :: [Int]- , (_:_:_) ++ _ :: [Int]- , (_:_:_) ++ xs :: [Int]- , (_:_:_) ++ (_:_) :: [Int]- , (_:_:xs) ++ _ :: [Int]- , (_:_:_:_) ++ _ :: [Int]- , (_:x:_) ++ _ :: [Int]- , (_:id _:_) ++ _ :: [Int]- , (_:(_ ++ _)) ++ _ :: [Int]- , [x] ++ _ :: [Int]- , (x:_) ++ [] :: [Int]- , (x:_) ++ _ :: [Int]- , (x:_) ++ xs :: [Int]- , (x:_) ++ (_:_) :: [Int]- , (x:xs) ++ _ :: [Int]- , (x:_:_) ++ _ :: [Int]- , (y:_) ++ _ :: [Int]- , (ord _:_) ++ _ :: [Int]- , (abs _:_) ++ _ :: [Int]- , (id 0:_) ++ _ :: [Int]- , [id _] ++ _ :: [Int]- , (id _:_) ++ [] :: [Int]- , (id _:_) ++ _ :: [Int]- , (id _:_) ++ xs :: [Int]- , (id _:_) ++ (_:_) :: [Int]- , (id _:xs) ++ _ :: [Int]- , (id _:_:_) ++ _ :: [Int]- , (id x:_) ++ _ :: [Int]- , (id (id _):_) ++ _ :: [Int]- , (negate _:_) ++ _ :: [Int]- , (head _:_) ++ _ :: [Int]- , (_ + _:_) ++ _ :: [Int]- , insert _ _ ++ _ :: [Int]- , ([] ++ _) ++ _ :: [Int]- , (_ ++ []) ++ _ :: [Int]- , (_ ++ _) ++ [] :: [Int]- , (_ ++ _) ++ _ :: [Int]- , (_ ++ _) ++ xs :: [Int]- , (_ ++ _) ++ (_:_) :: [Int]- , (_ ++ xs) ++ _ :: [Int]- , (_ ++ (_:_)) ++ _ :: [Int]- , (xs ++ _) ++ _ :: [Int]- , ((_:_) ++ _) ++ _ :: [Int]- ]-
− test/model/bench/tiers.out
@@ -1,3624 +0,0 @@-isNub (list :: [Expr]) = True-map length (tiers :: [[ Expr ]]) = [1,6,21,55,177,674,2679,11128,47899,...]-tiers :: [[ Expr ]] =- [ [_ :: Int]- , [ x :: Int- , 0 :: Int- , id _ :: Int- , _ :: Bool- , _ :: Char- , _ :: [Int]- ]- , [ y :: Int- , 1 :: Int- , id x :: Int- , id 0 :: Int- , id (id _) :: Int- , negate _ :: Int- , abs _ :: Int- , _ + _ :: Int- , head _ :: Int- , ord _ :: Int- , p :: Bool- , False :: Bool- , True :: Bool- , not _ :: Bool- , c :: Char- , 'a' :: Char- , xs :: [Int]- , [] :: [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- , id (id (id _)) :: Int- , id (negate _) :: Int- , id (abs _) :: Int- , id (_ + _) :: Int- , id (head _) :: Int- , id (ord _) :: Int- , negate x :: Int- , negate 0 :: Int- , negate (id _) :: Int- , abs x :: Int- , abs 0 :: Int- , abs (id _) :: Int- , _ + x :: Int- , _ + 0 :: Int- , _ + id _ :: Int- , x + _ :: Int- , 0 + _ :: Int- , id _ + _ :: Int- , _ * _ :: Int- , f _ :: Int- , head xs :: Int- , head [] :: Int- , head (_:_) :: Int- , ord c :: Int- , ord 'a' :: Int- , q :: Bool- , not p :: Bool- , not False :: Bool- , not True :: Bool- , not (not _) :: Bool- , _ || _ :: Bool- , d :: Char- , ' ' :: Char- , ys :: [Int]- , [0] :: [Int]- , _:xs :: [Int]- , [_] :: [Int]- , _:_:_ :: [Int]- , x:_ :: [Int]- , 0:_ :: [Int]- , id _:_ :: [Int]- , tail _ :: [Int]- , _ ++ _ :: [Int]- , negate :: Int -> Int- , abs :: Int -> Int- , (_ +) :: 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 (id (id (id _))) :: Int- , id (id (negate _)) :: Int- , id (id (abs _)) :: Int- , id (id (_ + _)) :: Int- , id (id (head _)) :: Int- , id (id (ord _)) :: Int- , id (negate x) :: Int- , id (negate 0) :: Int- , id (negate (id _)) :: Int- , id (abs x) :: Int- , id (abs 0) :: Int- , id (abs (id _)) :: Int- , id (_ + x) :: Int- , id (_ + 0) :: Int- , id (_ + id _) :: Int- , id (x + _) :: Int- , id (0 + _) :: Int- , id (id _ + _) :: Int- , id (_ * _) :: Int- , id (f _) :: Int- , id (head xs) :: Int- , id (head []) :: 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- , negate (id (id _)) :: Int- , negate (negate _) :: Int- , negate (abs _) :: Int- , negate (_ + _) :: Int- , negate (head _) :: Int- , negate (ord _) :: Int- , abs y :: Int- , abs 1 :: Int- , abs (id x) :: Int- , abs (id 0) :: Int- , abs (id (id _)) :: Int- , abs (negate _) :: Int- , abs (abs _) :: Int- , abs (_ + _) :: Int- , abs (head _) :: Int- , abs (ord _) :: Int- , _ + y :: Int- , _ + 1 :: Int- , _ + id x :: Int- , _ + id 0 :: Int- , _ + id (id _) :: Int- , _ + negate _ :: Int- , _ + abs _ :: Int- , _ + (_ + _) :: Int- , _ + head _ :: Int- , _ + ord _ :: Int- , x + x :: Int- , x + 0 :: Int- , x + id _ :: Int- , 0 + x :: Int- , 0 + 0 :: Int- , 0 + id _ :: Int- , id _ + x :: Int- , id _ + 0 :: Int- , id _ + id _ :: Int- , _ * x :: Int- , _ * 0 :: Int- , _ * id _ :: Int- , f x :: Int- , f 0 :: Int- , f (id _) :: Int- , y + _ :: Int- , 1 + _ :: Int- , id x + _ :: Int- , id 0 + _ :: Int- , id (id _) + _ :: Int- , negate _ + _ :: Int- , abs _ + _ :: Int- , (_ + _) + _ :: Int- , head _ + _ :: Int- , ord _ + _ :: Int- , x * _ :: Int- , 0 * _ :: Int- , id _ * _ :: Int- , g _ :: Int- , head ys :: Int- , head [0] :: Int- , head (_:xs) :: Int- , head [_] :: Int- , head (_:_:_) :: Int- , head (x:_) :: Int- , head (0:_) :: Int- , head (id _:_) :: Int- , head (tail _) :: Int- , head (_ ++ _) :: Int- , ord d :: Int- , ord ' ' :: Int- , r :: Bool- , not q :: Bool- , not (not p) :: Bool- , not (not False) :: Bool- , not (not True) :: Bool- , not (not (not _)) :: Bool- , not (_ || _) :: Bool- , _ || p :: Bool- , _ || False :: Bool- , _ || True :: Bool- , _ || not _ :: Bool- , p || _ :: Bool- , False || _ :: Bool- , True || _ :: Bool- , not _ || _ :: Bool- , _ && _ :: Bool- , _ == _ :: Bool- , _ == _ :: Bool- , odd _ :: Bool- , even _ :: Bool- , elem _ _ :: Bool- , e :: Char- , 'b' :: Char- , zs :: [Int]- , [0,0] :: [Int]- , [1] :: [Int]- , _:ys :: [Int]- , [_,0] :: [Int]- , _:_:xs :: [Int]- , [_,_] :: [Int]- , _:_:_:_ :: [Int]- , _:x:_ :: [Int]- , _:0:_ :: [Int]- , _:id _:_ :: [Int]- , _:tail _ :: [Int]- , _:(_ ++ _) :: [Int]- , x:xs :: [Int]- , [x] :: [Int]- , x:_:_ :: [Int]- , 0:xs :: [Int]- , [0] :: [Int]- , 0:_:_ :: [Int]- , id _:xs :: [Int]- , [id _] :: [Int]- , id _:_:_ :: [Int]- , y:_ :: [Int]- , 1:_ :: [Int]- , id x:_ :: [Int]- , id 0:_ :: [Int]- , id (id _):_ :: [Int]- , negate _:_ :: [Int]- , abs _:_ :: [Int]- , _ + _:_ :: [Int]- , head _:_ :: [Int]- , ord _:_ :: [Int]- , tail xs :: [Int]- , tail [] :: [Int]- , tail (_:_) :: [Int]- , _ ++ xs :: [Int]- , _ ++ [] :: [Int]- , _ ++ (_:_) :: [Int]- , xs ++ _ :: [Int]- , [] ++ _ :: [Int]- , (_:_) ++ _ :: [Int]- , sort _ :: [Int]- , insert _ _ :: [Int]- , (x +) :: Int -> Int- , (0 +) :: Int -> Int- , (id _ +) :: Int -> Int- , (_ *) :: Int -> Int- , f :: Int -> Int- , (_ ||) :: Bool -> Bool- , (&&) :: 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 (id (id (id _)))) :: Int- , id (id (id (negate _))) :: Int- , id (id (id (abs _))) :: Int- , id (id (id (_ + _))) :: Int- , id (id (id (head _))) :: Int- , id (id (id (ord _))) :: Int- , id (id (negate x)) :: Int- , id (id (negate 0)) :: Int- , id (id (negate (id _))) :: Int- , id (id (abs x)) :: Int- , id (id (abs 0)) :: Int- , id (id (abs (id _))) :: Int- , id (id (_ + x)) :: Int- , id (id (_ + 0)) :: Int- , id (id (_ + id _)) :: Int- , id (id (x + _)) :: Int- , id (id (0 + _)) :: Int- , id (id (id _ + _)) :: Int- , id (id (_ * _)) :: Int- , id (id (f _)) :: Int- , id (id (head xs)) :: Int- , id (id (head [])) :: 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 (negate (id (id _))) :: Int- , id (negate (negate _)) :: Int- , id (negate (abs _)) :: Int- , id (negate (_ + _)) :: Int- , id (negate (head _)) :: Int- , id (negate (ord _)) :: Int- , id (abs y) :: Int- , id (abs 1) :: Int- , id (abs (id x)) :: Int- , id (abs (id 0)) :: Int- , id (abs (id (id _))) :: Int- , id (abs (negate _)) :: Int- , id (abs (abs _)) :: Int- , id (abs (_ + _)) :: Int- , id (abs (head _)) :: Int- , id (abs (ord _)) :: Int- , id (_ + y) :: Int- , id (_ + 1) :: Int- , id (_ + id x) :: Int- , id (_ + id 0) :: Int- , id (_ + id (id _)) :: Int- , id (_ + negate _) :: Int- , id (_ + abs _) :: Int- , id (_ + (_ + _)) :: Int- , id (_ + head _) :: Int- , id (_ + ord _) :: Int- , id (x + x) :: Int- , id (x + 0) :: Int- , id (x + id _) :: Int- , id (0 + x) :: Int- , id (0 + 0) :: Int- , id (0 + id _) :: Int- , id (id _ + x) :: Int- , id (id _ + 0) :: Int- , id (id _ + id _) :: Int- , id (_ * x) :: Int- , id (_ * 0) :: Int- , id (_ * id _) :: Int- , id (f x) :: Int- , id (f 0) :: Int- , id (f (id _)) :: Int- , id (y + _) :: Int- , id (1 + _) :: Int- , id (id x + _) :: Int- , id (id 0 + _) :: Int- , id (id (id _) + _) :: Int- , id (negate _ + _) :: Int- , id (abs _ + _) :: Int- , id ((_ + _) + _) :: Int- , id (head _ + _) :: Int- , id (ord _ + _) :: Int- , id (x * _) :: Int- , id (0 * _) :: Int- , id (id _ * _) :: Int- , id (g _) :: Int- , id (head ys) :: Int- , id (head [0]) :: Int- , id (head (_:xs)) :: Int- , id (head [_]) :: Int- , id (head (_:_:_)) :: Int- , id (head (x:_)) :: Int- , id (head (0:_)) :: Int- , id (head (id _:_)) :: Int- , id (head (tail _)) :: Int- , id (head (_ ++ _)) :: 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 (id (id (id _))) :: Int- , negate (id (negate _)) :: Int- , negate (id (abs _)) :: Int- , negate (id (_ + _)) :: Int- , negate (id (head _)) :: Int- , negate (id (ord _)) :: Int- , negate (negate x) :: Int- , negate (negate 0) :: Int- , negate (negate (id _)) :: Int- , negate (abs x) :: Int- , negate (abs 0) :: Int- , negate (abs (id _)) :: Int- , negate (_ + x) :: Int- , negate (_ + 0) :: Int- , negate (_ + id _) :: Int- , negate (x + _) :: Int- , negate (0 + _) :: Int- , negate (id _ + _) :: Int- , negate (_ * _) :: Int- , negate (f _) :: Int- , negate (head xs) :: Int- , negate (head []) :: 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 (id (id (id _))) :: Int- , abs (id (negate _)) :: Int- , abs (id (abs _)) :: Int- , abs (id (_ + _)) :: Int- , abs (id (head _)) :: Int- , abs (id (ord _)) :: Int- , abs (negate x) :: Int- , abs (negate 0) :: Int- , abs (negate (id _)) :: Int- , abs (abs x) :: Int- , abs (abs 0) :: Int- , abs (abs (id _)) :: Int- , abs (_ + x) :: Int- , abs (_ + 0) :: Int- , abs (_ + id _) :: Int- , abs (x + _) :: Int- , abs (0 + _) :: Int- , abs (id _ + _) :: Int- , abs (_ * _) :: Int- , abs (f _) :: Int- , abs (head xs) :: Int- , abs (head []) :: Int- , abs (head (_:_)) :: Int- , abs (ord c) :: Int- , abs (ord 'a') :: Int- , _ + z :: Int- , _ + (-1) :: Int- , _ + id y :: Int- , _ + id 1 :: Int- , _ + id (id x) :: Int- , _ + id (id 0) :: Int- , _ + id (id (id _)) :: Int- , _ + id (negate _) :: Int- , _ + id (abs _) :: Int- , _ + id (_ + _) :: Int- , _ + id (head _) :: Int- , _ + id (ord _) :: Int- , _ + negate x :: Int- , _ + negate 0 :: Int- , _ + negate (id _) :: Int- , _ + abs x :: Int- , _ + abs 0 :: Int- , _ + abs (id _) :: Int- , _ + (_ + x) :: Int- , _ + (_ + 0) :: Int- , _ + (_ + id _) :: Int- , _ + (x + _) :: Int- , _ + (0 + _) :: Int- , _ + (id _ + _) :: Int- , _ + _ * _ :: Int- , _ + f _ :: Int- , _ + head xs :: Int- , _ + head [] :: Int- , _ + head (_:_) :: Int- , _ + ord c :: Int- , _ + ord 'a' :: Int- , x + y :: Int- , x + 1 :: Int- , x + id x :: Int- , x + id 0 :: Int- , x + id (id _) :: Int- , x + negate _ :: Int- , x + abs _ :: Int- , x + (_ + _) :: Int- , x + head _ :: Int- , x + ord _ :: Int- , 0 + y :: Int- , 0 + 1 :: Int- , 0 + id x :: Int- , 0 + id 0 :: Int- , 0 + id (id _) :: Int- , 0 + negate _ :: Int- , 0 + abs _ :: Int- , 0 + (_ + _) :: Int- , 0 + head _ :: Int- , 0 + ord _ :: Int- , id _ + y :: Int- , id _ + 1 :: Int- , id _ + id x :: Int- , id _ + id 0 :: Int- , id _ + id (id _) :: Int- , id _ + negate _ :: Int- , id _ + abs _ :: Int- , id _ + (_ + _) :: Int- , id _ + head _ :: Int- , id _ + ord _ :: Int- , _ * y :: Int- , _ * 1 :: Int- , _ * id x :: Int- , _ * id 0 :: Int- , _ * id (id _) :: Int- , _ * negate _ :: Int- , _ * abs _ :: Int- , _ * (_ + _) :: Int- , _ * head _ :: Int- , _ * ord _ :: Int- , f y :: Int- , f 1 :: Int- , f (id x) :: Int- , f (id 0) :: Int- , f (id (id _)) :: Int- , f (negate _) :: Int- , f (abs _) :: Int- , f (_ + _) :: Int- , f (head _) :: Int- , f (ord _) :: Int- , y + x :: Int- , y + 0 :: Int- , y + id _ :: Int- , 1 + x :: Int- , 1 + 0 :: Int- , 1 + id _ :: Int- , id x + x :: Int- , id x + 0 :: Int- , id x + id _ :: Int- , id 0 + x :: Int- , id 0 + 0 :: Int- , id 0 + id _ :: Int- , id (id _) + x :: Int- , id (id _) + 0 :: Int- , id (id _) + id _ :: Int- , negate _ + x :: Int- , negate _ + 0 :: Int- , negate _ + id _ :: Int- , abs _ + x :: Int- , abs _ + 0 :: Int- , abs _ + id _ :: Int- , (_ + _) + x :: Int- , (_ + _) + 0 :: Int- , (_ + _) + id _ :: Int- , head _ + x :: Int- , head _ + 0 :: Int- , head _ + id _ :: Int- , ord _ + x :: Int- , ord _ + 0 :: Int- , ord _ + id _ :: Int- , x * x :: Int- , x * 0 :: Int- , x * id _ :: Int- , 0 * x :: Int- , 0 * 0 :: Int- , 0 * id _ :: Int- , id _ * x :: Int- , id _ * 0 :: Int- , id _ * id _ :: Int- , g x :: Int- , g 0 :: Int- , g (id _) :: Int- , z + _ :: Int- , (-1) + _ :: Int- , id y + _ :: Int- , id 1 + _ :: Int- , id (id x) + _ :: Int- , id (id 0) + _ :: Int- , id (id (id _)) + _ :: Int- , id (negate _) + _ :: Int- , id (abs _) + _ :: Int- , id (_ + _) + _ :: Int- , id (head _) + _ :: Int- , id (ord _) + _ :: Int- , negate x + _ :: Int- , negate 0 + _ :: Int- , negate (id _) + _ :: Int- , abs x + _ :: Int- , abs 0 + _ :: Int- , abs (id _) + _ :: Int- , (_ + x) + _ :: Int- , (_ + 0) + _ :: Int- , (_ + id _) + _ :: Int- , (x + _) + _ :: Int- , (0 + _) + _ :: Int- , (id _ + _) + _ :: Int- , _ * _ + _ :: Int- , f _ + _ :: Int- , head xs + _ :: Int- , head [] + _ :: Int- , head (_:_) + _ :: Int- , ord c + _ :: Int- , ord 'a' + _ :: Int- , y * _ :: Int- , 1 * _ :: Int- , id x * _ :: Int- , id 0 * _ :: Int- , id (id _) * _ :: Int- , negate _ * _ :: Int- , abs _ * _ :: Int- , (_ + _) * _ :: Int- , head _ * _ :: Int- , ord _ * _ :: Int- , h _ :: Int- , head zs :: Int- , head [0,0] :: Int- , head [1] :: Int- , head (_:ys) :: Int- , head [_,0] :: Int- , head (_:_:xs) :: Int- , head [_,_] :: Int- , head (_:_:_:_) :: Int- , head (_:x:_) :: Int- , head (_:0:_) :: Int- , head (_:id _:_) :: Int- , head (_:tail _) :: Int- , head (_:(_ ++ _)) :: Int- , head (x:xs) :: Int- , head [x] :: Int- , head (x:_:_) :: Int- , head (0:xs) :: Int- , head [0] :: Int- , head (0:_:_) :: Int- , head (id _:xs) :: Int- , head [id _] :: Int- , head (id _:_:_) :: Int- , head (y:_) :: Int- , head (1:_) :: Int- , head (id x:_) :: Int- , head (id 0:_) :: Int- , head (id (id _):_) :: Int- , head (negate _:_) :: Int- , head (abs _:_) :: Int- , head (_ + _:_) :: Int- , head (head _:_) :: Int- , head (ord _:_) :: Int- , head (tail xs) :: Int- , head (tail []) :: Int- , head (tail (_:_)) :: Int- , head (_ ++ xs) :: Int- , head (_ ++ []) :: Int- , head (_ ++ (_:_)) :: Int- , head (xs ++ _) :: Int- , head ([] ++ _) :: Int- , head ((_:_) ++ _) :: Int- , head (sort _) :: Int- , head (insert _ _) :: 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- , not (not (not (not _))) :: Bool- , not (not (_ || _)) :: Bool- , not (_ || p) :: Bool- , not (_ || False) :: Bool- , not (_ || True) :: Bool- , not (_ || not _) :: Bool- , not (p || _) :: Bool- , not (False || _) :: Bool- , not (True || _) :: Bool- , not (not _ || _) :: Bool- , not (_ && _) :: Bool- , not (_ == _) :: Bool- , not (_ == _) :: Bool- , not (odd _) :: Bool- , not (even _) :: Bool- , not (elem _ _) :: Bool- , _ || q :: Bool- , _ || not p :: Bool- , _ || not False :: Bool- , _ || not True :: Bool- , _ || not (not _) :: Bool- , _ || (_ || _) :: Bool- , p || p :: Bool- , p || False :: Bool- , p || True :: Bool- , p || not _ :: Bool- , False || p :: Bool- , False || False :: Bool- , False || True :: Bool- , False || not _ :: Bool- , True || p :: Bool- , True || False :: Bool- , True || True :: Bool- , True || not _ :: Bool- , not _ || p :: Bool- , not _ || False :: Bool- , not _ || True :: Bool- , not _ || not _ :: Bool- , _ && p :: Bool- , _ && False :: Bool- , _ && True :: Bool- , _ && not _ :: Bool- , q || _ :: Bool- , not p || _ :: Bool- , not False || _ :: Bool- , not True || _ :: Bool- , not (not _) || _ :: Bool- , (_ || _) || _ :: Bool- , p && _ :: Bool- , False && _ :: Bool- , True && _ :: Bool- , not _ && _ :: Bool- , _ ==> _ :: Bool- , _ == x :: Bool- , _ == 0 :: Bool- , _ == id _ :: Bool- , x == _ :: Bool- , 0 == _ :: Bool- , id _ == _ :: Bool- , _ == p :: Bool- , _ == False :: Bool- , _ == True :: Bool- , _ == not _ :: Bool- , p == _ :: Bool- , False == _ :: Bool- , True == _ :: Bool- , not _ == _ :: Bool- , _ <= _ :: Bool- , _ <= _ :: Bool- , odd x :: Bool- , odd 0 :: Bool- , odd (id _) :: Bool- , even x :: Bool- , even 0 :: Bool- , even (id _) :: Bool- , elem _ xs :: Bool- , elem _ [] :: Bool- , elem _ (_:_) :: Bool- , elem x _ :: Bool- , elem 0 _ :: Bool- , elem (id _) _ :: Bool- , c' :: Char- , 'A' :: Char- , xs' :: [Int]- , [0,0,0] :: [Int]- , [0,1] :: [Int]- , [1,0] :: [Int]- , [-1] :: [Int]- , _:zs :: [Int]- , [_,0,0] :: [Int]- , [_,1] :: [Int]- , _:_:ys :: [Int]- , [_,_,0] :: [Int]- , _:_:_:xs :: [Int]- , [_,_,_] :: [Int]- , _:_:_:_:_ :: [Int]- , _:_:x:_ :: [Int]- , _:_:0:_ :: [Int]- , _:_:id _:_ :: [Int]- , _:_:tail _ :: [Int]- , _:_:(_ ++ _) :: [Int]- , _:x:xs :: [Int]- , [_,x] :: [Int]- , _:x:_:_ :: [Int]- , _:0:xs :: [Int]- , [_,0] :: [Int]- , _:0:_:_ :: [Int]- , _:id _:xs :: [Int]- , [_,id _] :: [Int]- , _:id _:_:_ :: [Int]- , _:y:_ :: [Int]- , _:1:_ :: [Int]- , _:id x:_ :: [Int]- , _:id 0:_ :: [Int]- , _:id (id _):_ :: [Int]- , _:negate _:_ :: [Int]- , _:abs _:_ :: [Int]- , _:_ + _:_ :: [Int]- , _:head _:_ :: [Int]- , _:ord _:_ :: [Int]- , _:tail xs :: [Int]- , _:tail [] :: [Int]- , _:tail (_:_) :: [Int]- , _:(_ ++ xs) :: [Int]- , _:(_ ++ []) :: [Int]- , _:(_ ++ (_:_)) :: [Int]- , _:(xs ++ _) :: [Int]- , _:([] ++ _) :: [Int]- , _:((_:_) ++ _) :: [Int]- , _:sort _ :: [Int]- , _:insert _ _ :: [Int]- , x:ys :: [Int]- , [x,0] :: [Int]- , x:_:xs :: [Int]- , [x,_] :: [Int]- , x:_:_:_ :: [Int]- , x:x:_ :: [Int]- , x:0:_ :: [Int]- , x:id _:_ :: [Int]- , x:tail _ :: [Int]- , x:(_ ++ _) :: [Int]- , 0:ys :: [Int]- , [0,0] :: [Int]- , 0:_:xs :: [Int]- , [0,_] :: [Int]- , 0:_:_:_ :: [Int]- , 0:x:_ :: [Int]- , 0:0:_ :: [Int]- , 0:id _:_ :: [Int]- , 0:tail _ :: [Int]- , 0:(_ ++ _) :: [Int]- , id _:ys :: [Int]- , [id _,0] :: [Int]- , id _:_:xs :: [Int]- , [id _,_] :: [Int]- , id _:_:_:_ :: [Int]- , id _:x:_ :: [Int]- , id _:0:_ :: [Int]- , id _:id _:_ :: [Int]- , id _:tail _ :: [Int]- , id _:(_ ++ _) :: [Int]- , y:xs :: [Int]- , [y] :: [Int]- , y:_:_ :: [Int]- , 1:xs :: [Int]- , [1] :: [Int]- , 1:_:_ :: [Int]- , id x:xs :: [Int]- , [id x] :: [Int]- , id x:_:_ :: [Int]- , id 0:xs :: [Int]- , [id 0] :: [Int]- , id 0:_:_ :: [Int]- , id (id _):xs :: [Int]- , [id (id _)] :: [Int]- , id (id _):_:_ :: [Int]- , negate _:xs :: [Int]- , [negate _] :: [Int]- , negate _:_:_ :: [Int]- , abs _:xs :: [Int]- , [abs _] :: [Int]- , abs _:_:_ :: [Int]- , _ + _:xs :: [Int]- , [_ + _] :: [Int]- , _ + _:_:_ :: [Int]- , head _:xs :: [Int]- , [head _] :: [Int]- , head _:_:_ :: [Int]- , ord _:xs :: [Int]- , [ord _] :: [Int]- , ord _:_:_ :: [Int]- , z:_ :: [Int]- , (-1):_ :: [Int]- , id y:_ :: [Int]- , id 1:_ :: [Int]- , id (id x):_ :: [Int]- , id (id 0):_ :: [Int]- , id (id (id _)):_ :: [Int]- , id (negate _):_ :: [Int]- , id (abs _):_ :: [Int]- , id (_ + _):_ :: [Int]- , id (head _):_ :: [Int]- , id (ord _):_ :: [Int]- , negate x:_ :: [Int]- , negate 0:_ :: [Int]- , negate (id _):_ :: [Int]- , abs x:_ :: [Int]- , abs 0:_ :: [Int]- , abs (id _):_ :: [Int]- , _ + x:_ :: [Int]- , _ + 0:_ :: [Int]- , _ + id _:_ :: [Int]- , x + _:_ :: [Int]- , 0 + _:_ :: [Int]- , id _ + _:_ :: [Int]- , _ * _:_ :: [Int]- , f _:_ :: [Int]- , head xs:_ :: [Int]- , head []:_ :: [Int]- , head (_:_):_ :: [Int]- , ord c:_ :: [Int]- , ord 'a':_ :: [Int]- , tail ys :: [Int]- , tail [0] :: [Int]- , tail (_:xs) :: [Int]- , tail [_] :: [Int]- , tail (_:_:_) :: [Int]- , tail (x:_) :: [Int]- , tail (0:_) :: [Int]- , tail (id _:_) :: [Int]- , tail (tail _) :: [Int]- , tail (_ ++ _) :: [Int]- , _ ++ ys :: [Int]- , _ ++ [0] :: [Int]- , _ ++ (_:xs) :: [Int]- , _ ++ [_] :: [Int]- , _ ++ (_:_:_) :: [Int]- , _ ++ (x:_) :: [Int]- , _ ++ (0:_) :: [Int]- , _ ++ (id _:_) :: [Int]- , _ ++ tail _ :: [Int]- , _ ++ (_ ++ _) :: [Int]- , xs ++ xs :: [Int]- , xs ++ [] :: [Int]- , xs ++ (_:_) :: [Int]- , [] ++ xs :: [Int]- , [] ++ [] :: [Int]- , [] ++ (_:_) :: [Int]- , (_:_) ++ xs :: [Int]- , (_:_) ++ [] :: [Int]- , (_:_) ++ (_:_) :: [Int]- , ys ++ _ :: [Int]- , [0] ++ _ :: [Int]- , (_:xs) ++ _ :: [Int]- , [_] ++ _ :: [Int]- , (_:_:_) ++ _ :: [Int]- , (x:_) ++ _ :: [Int]- , (0:_) ++ _ :: [Int]- , (id _:_) ++ _ :: [Int]- , tail _ ++ _ :: [Int]- , (_ ++ _) ++ _ :: [Int]- , sort xs :: [Int]- , sort [] :: [Int]- , sort (_:_) :: [Int]- , insert _ xs :: [Int]- , insert _ [] :: [Int]- , insert _ (_:_) :: [Int]- , insert x _ :: [Int]- , insert 0 _ :: [Int]- , insert (id _) _ :: [Int]- , (y +) :: Int -> Int- , (1 +) :: Int -> Int- , (id x +) :: Int -> Int- , (id 0 +) :: Int -> Int- , (id (id _) +) :: Int -> Int- , (negate _ +) :: Int -> Int- , (abs _ +) :: Int -> Int- , ((_ + _) +) :: Int -> Int- , (head _ +) :: Int -> Int- , (ord _ +) :: Int -> Int- , (x *) :: Int -> Int- , (0 *) :: Int -> Int- , (id _ *) :: Int -> Int- , g :: Int -> Int- , (p ||) :: Bool -> Bool- , (False ||) :: Bool -> Bool- , (True ||) :: Bool -> Bool- , (not _ ||) :: Bool -> Bool- , (_ &&) :: 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 (id (id (id _))))) :: Int- , id (id (id (id (negate _)))) :: Int- , id (id (id (id (abs _)))) :: Int- , id (id (id (id (_ + _)))) :: Int- , id (id (id (id (head _)))) :: Int- , id (id (id (id (ord _)))) :: Int- , id (id (id (negate x))) :: Int- , id (id (id (negate 0))) :: Int- , id (id (id (negate (id _)))) :: Int- , id (id (id (abs x))) :: Int- , id (id (id (abs 0))) :: Int- , id (id (id (abs (id _)))) :: Int- , id (id (id (_ + x))) :: Int- , id (id (id (_ + 0))) :: Int- , id (id (id (_ + id _))) :: Int- , id (id (id (x + _))) :: Int- , id (id (id (0 + _))) :: Int- , id (id (id (id _ + _))) :: Int- , id (id (id (_ * _))) :: Int- , id (id (id (f _))) :: Int- , id (id (id (head xs))) :: Int- , id (id (id (head []))) :: 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 (negate (id (id _)))) :: Int- , id (id (negate (negate _))) :: Int- , id (id (negate (abs _))) :: Int- , id (id (negate (_ + _))) :: Int- , id (id (negate (head _))) :: Int- , id (id (negate (ord _))) :: 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 (abs (id (id _)))) :: Int- , id (id (abs (negate _))) :: Int- , id (id (abs (abs _))) :: Int- , id (id (abs (_ + _))) :: Int- , id (id (abs (head _))) :: Int- , id (id (abs (ord _))) :: Int- , id (id (_ + y)) :: Int- , id (id (_ + 1)) :: Int- , id (id (_ + id x)) :: Int- , id (id (_ + id 0)) :: Int- , id (id (_ + id (id _))) :: Int- , id (id (_ + negate _)) :: Int- , id (id (_ + abs _)) :: Int- , id (id (_ + (_ + _))) :: Int- , id (id (_ + head _)) :: Int- , id (id (_ + ord _)) :: Int- , id (id (x + x)) :: Int- , id (id (x + 0)) :: Int- , id (id (x + id _)) :: Int- , id (id (0 + x)) :: Int- , id (id (0 + 0)) :: Int- , id (id (0 + id _)) :: Int- , id (id (id _ + x)) :: Int- , id (id (id _ + 0)) :: Int- , id (id (id _ + id _)) :: Int- , id (id (_ * x)) :: Int- , id (id (_ * 0)) :: Int- , id (id (_ * id _)) :: Int- , id (id (f x)) :: Int- , id (id (f 0)) :: Int- , id (id (f (id _))) :: Int- , id (id (y + _)) :: Int- , id (id (1 + _)) :: Int- , id (id (id x + _)) :: Int- , id (id (id 0 + _)) :: Int- , id (id (id (id _) + _)) :: Int- , id (id (negate _ + _)) :: Int- , id (id (abs _ + _)) :: Int- , id (id ((_ + _) + _)) :: Int- , id (id (head _ + _)) :: Int- , id (id (ord _ + _)) :: Int- , id (id (x * _)) :: Int- , id (id (0 * _)) :: Int- , id (id (id _ * _)) :: Int- , id (id (g _)) :: Int- , id (id (head ys)) :: Int- , id (id (head [0])) :: Int- , id (id (head (_:xs))) :: Int- , id (id (head [_])) :: Int- , id (id (head (_:_:_))) :: Int- , id (id (head (x:_))) :: Int- , id (id (head (0:_))) :: Int- , id (id (head (id _:_))) :: Int- , id (id (head (tail _))) :: Int- , id (id (head (_ ++ _))) :: 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 (id (id (id _)))) :: Int- , id (negate (id (negate _))) :: Int- , id (negate (id (abs _))) :: Int- , id (negate (id (_ + _))) :: Int- , id (negate (id (head _))) :: Int- , id (negate (id (ord _))) :: Int- , id (negate (negate x)) :: Int- , id (negate (negate 0)) :: Int- , id (negate (negate (id _))) :: Int- , id (negate (abs x)) :: Int- , id (negate (abs 0)) :: Int- , id (negate (abs (id _))) :: Int- , id (negate (_ + x)) :: Int- , id (negate (_ + 0)) :: Int- , id (negate (_ + id _)) :: Int- , id (negate (x + _)) :: Int- , id (negate (0 + _)) :: Int- , id (negate (id _ + _)) :: Int- , id (negate (_ * _)) :: Int- , id (negate (f _)) :: Int- , id (negate (head xs)) :: Int- , id (negate (head [])) :: 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 (id (id (id _)))) :: Int- , id (abs (id (negate _))) :: Int- , id (abs (id (abs _))) :: Int- , id (abs (id (_ + _))) :: Int- , id (abs (id (head _))) :: Int- , id (abs (id (ord _))) :: Int- , id (abs (negate x)) :: Int- , id (abs (negate 0)) :: Int- , id (abs (negate (id _))) :: Int- , id (abs (abs x)) :: Int- , id (abs (abs 0)) :: Int- , id (abs (abs (id _))) :: Int- , id (abs (_ + x)) :: Int- , id (abs (_ + 0)) :: Int- , id (abs (_ + id _)) :: Int- , id (abs (x + _)) :: Int- , id (abs (0 + _)) :: Int- , id (abs (id _ + _)) :: Int- , id (abs (_ * _)) :: Int- , id (abs (f _)) :: Int- , id (abs (head xs)) :: Int- , id (abs (head [])) :: Int- , id (abs (head (_:_))) :: Int- , id (abs (ord c)) :: Int- , id (abs (ord 'a')) :: 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 (_ + id (id (id _))) :: Int- , id (_ + id (negate _)) :: Int- , id (_ + id (abs _)) :: Int- , id (_ + id (_ + _)) :: Int- , id (_ + id (head _)) :: Int- , id (_ + id (ord _)) :: Int- , id (_ + negate x) :: Int- , id (_ + negate 0) :: Int- , id (_ + negate (id _)) :: Int- , id (_ + abs x) :: Int- , id (_ + abs 0) :: Int- , id (_ + abs (id _)) :: Int- , id (_ + (_ + x)) :: Int- , id (_ + (_ + 0)) :: Int- , id (_ + (_ + id _)) :: Int- , id (_ + (x + _)) :: Int- , id (_ + (0 + _)) :: Int- , id (_ + (id _ + _)) :: Int- , id (_ + _ * _) :: Int- , id (_ + f _) :: Int- , id (_ + head xs) :: Int- , id (_ + head []) :: Int- , id (_ + head (_:_)) :: Int- , id (_ + ord c) :: Int- , id (_ + ord 'a') :: Int- , id (x + y) :: Int- , id (x + 1) :: Int- , id (x + id x) :: Int- , id (x + id 0) :: Int- , id (x + id (id _)) :: Int- , id (x + negate _) :: Int- , id (x + abs _) :: Int- , id (x + (_ + _)) :: Int- , id (x + head _) :: Int- , id (x + ord _) :: Int- , id (0 + y) :: Int- , id (0 + 1) :: Int- , id (0 + id x) :: Int- , id (0 + id 0) :: Int- , id (0 + id (id _)) :: Int- , id (0 + negate _) :: Int- , id (0 + abs _) :: Int- , id (0 + (_ + _)) :: Int- , id (0 + head _) :: Int- , id (0 + ord _) :: Int- , id (id _ + y) :: Int- , id (id _ + 1) :: Int- , id (id _ + id x) :: Int- , id (id _ + id 0) :: Int- , id (id _ + id (id _)) :: Int- , id (id _ + negate _) :: Int- , id (id _ + abs _) :: Int- , id (id _ + (_ + _)) :: Int- , id (id _ + head _) :: Int- , id (id _ + ord _) :: Int- , id (_ * y) :: Int- , id (_ * 1) :: Int- , id (_ * id x) :: Int- , id (_ * id 0) :: Int- , id (_ * id (id _)) :: Int- , id (_ * negate _) :: Int- , id (_ * abs _) :: Int- , id (_ * (_ + _)) :: Int- , id (_ * head _) :: Int- , id (_ * ord _) :: Int- , id (f y) :: Int- , id (f 1) :: Int- , id (f (id x)) :: Int- , id (f (id 0)) :: Int- , id (f (id (id _))) :: Int- , id (f (negate _)) :: Int- , id (f (abs _)) :: Int- , id (f (_ + _)) :: Int- , id (f (head _)) :: Int- , id (f (ord _)) :: Int- , id (y + x) :: Int- , id (y + 0) :: Int- , id (y + id _) :: Int- , id (1 + x) :: Int- , id (1 + 0) :: Int- , id (1 + id _) :: Int- , id (id x + x) :: Int- , id (id x + 0) :: Int- , id (id x + id _) :: Int- , id (id 0 + x) :: Int- , id (id 0 + 0) :: Int- , id (id 0 + id _) :: Int- , id (id (id _) + x) :: Int- , id (id (id _) + 0) :: Int- , id (id (id _) + id _) :: Int- , id (negate _ + x) :: Int- , id (negate _ + 0) :: Int- , id (negate _ + id _) :: Int- , id (abs _ + x) :: Int- , id (abs _ + 0) :: Int- , id (abs _ + id _) :: Int- , id ((_ + _) + x) :: Int- , id ((_ + _) + 0) :: Int- , id ((_ + _) + id _) :: Int- , id (head _ + x) :: Int- , id (head _ + 0) :: Int- , id (head _ + id _) :: Int- , id (ord _ + x) :: Int- , id (ord _ + 0) :: Int- , id (ord _ + id _) :: Int- , id (x * x) :: Int- , id (x * 0) :: Int- , id (x * id _) :: Int- , id (0 * x) :: Int- , id (0 * 0) :: Int- , id (0 * id _) :: Int- , id (id _ * x) :: Int- , id (id _ * 0) :: Int- , id (id _ * id _) :: Int- , id (g x) :: Int- , id (g 0) :: Int- , id (g (id _)) :: 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 (id (id (id _)) + _) :: Int- , id (id (negate _) + _) :: Int- , id (id (abs _) + _) :: Int- , id (id (_ + _) + _) :: Int- , id (id (head _) + _) :: Int- , id (id (ord _) + _) :: Int- , id (negate x + _) :: Int- , id (negate 0 + _) :: Int- , id (negate (id _) + _) :: Int- , id (abs x + _) :: Int- , id (abs 0 + _) :: Int- , id (abs (id _) + _) :: Int- , id ((_ + x) + _) :: Int- , id ((_ + 0) + _) :: Int- , id ((_ + id _) + _) :: Int- , id ((x + _) + _) :: Int- , id ((0 + _) + _) :: Int- , id ((id _ + _) + _) :: Int- , id (_ * _ + _) :: Int- , id (f _ + _) :: Int- , id (head xs + _) :: Int- , id (head [] + _) :: Int- , id (head (_:_) + _) :: Int- , id (ord c + _) :: Int- , id (ord 'a' + _) :: Int- , id (y * _) :: Int- , id (1 * _) :: Int- , id (id x * _) :: Int- , id (id 0 * _) :: Int- , id (id (id _) * _) :: Int- , id (negate _ * _) :: Int- , id (abs _ * _) :: Int- , id ((_ + _) * _) :: Int- , id (head _ * _) :: Int- , id (ord _ * _) :: Int- , id (h _) :: Int- , id (head zs) :: Int- , id (head [0,0]) :: Int- , id (head [1]) :: Int- , id (head (_:ys)) :: Int- , id (head [_,0]) :: Int- , id (head (_:_:xs)) :: Int- , id (head [_,_]) :: Int- , id (head (_:_:_:_)) :: Int- , id (head (_:x:_)) :: Int- , id (head (_:0:_)) :: Int- , id (head (_:id _:_)) :: Int- , id (head (_:tail _)) :: Int- , id (head (_:(_ ++ _))) :: Int- , id (head (x:xs)) :: Int- , id (head [x]) :: Int- , id (head (x:_:_)) :: Int- , id (head (0:xs)) :: Int- , id (head [0]) :: Int- , id (head (0:_:_)) :: Int- , id (head (id _:xs)) :: Int- , id (head [id _]) :: Int- , id (head (id _:_:_)) :: Int- , id (head (y:_)) :: Int- , id (head (1:_)) :: Int- , id (head (id x:_)) :: Int- , id (head (id 0:_)) :: Int- , id (head (id (id _):_)) :: Int- , id (head (negate _:_)) :: Int- , id (head (abs _:_)) :: Int- , id (head (_ + _:_)) :: Int- , id (head (head _:_)) :: Int- , id (head (ord _:_)) :: Int- , id (head (tail xs)) :: Int- , id (head (tail [])) :: Int- , id (head (tail (_:_))) :: Int- , id (head (_ ++ xs)) :: Int- , id (head (_ ++ [])) :: Int- , id (head (_ ++ (_:_))) :: Int- , id (head (xs ++ _)) :: Int- , id (head ([] ++ _)) :: Int- , id (head ((_:_) ++ _)) :: Int- , id (head (sort _)) :: Int- , id (head (insert _ _)) :: 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 (id (id (id _)))) :: Int- , negate (id (id (negate _))) :: Int- , negate (id (id (abs _))) :: Int- , negate (id (id (_ + _))) :: Int- , negate (id (id (head _))) :: Int- , negate (id (id (ord _))) :: Int- , negate (id (negate x)) :: Int- , negate (id (negate 0)) :: Int- , negate (id (negate (id _))) :: Int- , negate (id (abs x)) :: Int- , negate (id (abs 0)) :: Int- , negate (id (abs (id _))) :: Int- , negate (id (_ + x)) :: Int- , negate (id (_ + 0)) :: Int- , negate (id (_ + id _)) :: Int- , negate (id (x + _)) :: Int- , negate (id (0 + _)) :: Int- , negate (id (id _ + _)) :: Int- , negate (id (_ * _)) :: Int- , negate (id (f _)) :: Int- , negate (id (head xs)) :: Int- , negate (id (head [])) :: 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 (negate (id (id _))) :: Int- , negate (negate (negate _)) :: Int- , negate (negate (abs _)) :: Int- , negate (negate (_ + _)) :: Int- , negate (negate (head _)) :: Int- , negate (negate (ord _)) :: Int- , negate (abs y) :: Int- , negate (abs 1) :: Int- , negate (abs (id x)) :: Int- , negate (abs (id 0)) :: Int- , negate (abs (id (id _))) :: Int- , negate (abs (negate _)) :: Int- , negate (abs (abs _)) :: Int- , negate (abs (_ + _)) :: Int- , negate (abs (head _)) :: Int- , negate (abs (ord _)) :: Int- , negate (_ + y) :: Int- , negate (_ + 1) :: Int- , negate (_ + id x) :: Int- , negate (_ + id 0) :: Int- , negate (_ + id (id _)) :: Int- , negate (_ + negate _) :: Int- , negate (_ + abs _) :: Int- , negate (_ + (_ + _)) :: Int- , negate (_ + head _) :: Int- , negate (_ + ord _) :: Int- , negate (x + x) :: Int- , negate (x + 0) :: Int- , negate (x + id _) :: Int- , negate (0 + x) :: Int- , negate (0 + 0) :: Int- , negate (0 + id _) :: Int- , negate (id _ + x) :: Int- , negate (id _ + 0) :: Int- , negate (id _ + id _) :: Int- , negate (_ * x) :: Int- , negate (_ * 0) :: Int- , negate (_ * id _) :: Int- , negate (f x) :: Int- , negate (f 0) :: Int- , negate (f (id _)) :: Int- , negate (y + _) :: Int- , negate (1 + _) :: Int- , negate (id x + _) :: Int- , negate (id 0 + _) :: Int- , negate (id (id _) + _) :: Int- , negate (negate _ + _) :: Int- , negate (abs _ + _) :: Int- , negate ((_ + _) + _) :: Int- , negate (head _ + _) :: Int- , negate (ord _ + _) :: Int- , negate (x * _) :: Int- , negate (0 * _) :: Int- , negate (id _ * _) :: Int- , negate (g _) :: Int- , negate (head ys) :: Int- , negate (head [0]) :: Int- , negate (head (_:xs)) :: Int- , negate (head [_]) :: Int- , negate (head (_:_:_)) :: Int- , negate (head (x:_)) :: Int- , negate (head (0:_)) :: Int- , negate (head (id _:_)) :: Int- , negate (head (tail _)) :: Int- , negate (head (_ ++ _)) :: 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 (id (id (id _)))) :: Int- , abs (id (id (negate _))) :: Int- , abs (id (id (abs _))) :: Int- , abs (id (id (_ + _))) :: Int- , abs (id (id (head _))) :: Int- , abs (id (id (ord _))) :: Int- , abs (id (negate x)) :: Int- , abs (id (negate 0)) :: Int- , abs (id (negate (id _))) :: Int- , abs (id (abs x)) :: Int- , abs (id (abs 0)) :: Int- , abs (id (abs (id _))) :: Int- , abs (id (_ + x)) :: Int- , abs (id (_ + 0)) :: Int- , abs (id (_ + id _)) :: Int- , abs (id (x + _)) :: Int- , abs (id (0 + _)) :: Int- , abs (id (id _ + _)) :: Int- , abs (id (_ * _)) :: Int- , abs (id (f _)) :: Int- , abs (id (head xs)) :: Int- , abs (id (head [])) :: 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 (negate (id (id _))) :: Int- , abs (negate (negate _)) :: Int- , abs (negate (abs _)) :: Int- , abs (negate (_ + _)) :: Int- , abs (negate (head _)) :: Int- , abs (negate (ord _)) :: Int- , abs (abs y) :: Int- , abs (abs 1) :: Int- , abs (abs (id x)) :: Int- , abs (abs (id 0)) :: Int- , abs (abs (id (id _))) :: Int- , abs (abs (negate _)) :: Int- , abs (abs (abs _)) :: Int- , abs (abs (_ + _)) :: Int- , abs (abs (head _)) :: Int- , abs (abs (ord _)) :: Int- , abs (_ + y) :: Int- , abs (_ + 1) :: Int- , abs (_ + id x) :: Int- , abs (_ + id 0) :: Int- , abs (_ + id (id _)) :: Int- , abs (_ + negate _) :: Int- , abs (_ + abs _) :: Int- , abs (_ + (_ + _)) :: Int- , abs (_ + head _) :: Int- , abs (_ + ord _) :: Int- , abs (x + x) :: Int- , abs (x + 0) :: Int- , abs (x + id _) :: Int- , abs (0 + x) :: Int- , abs (0 + 0) :: Int- , abs (0 + id _) :: Int- , abs (id _ + x) :: Int- , abs (id _ + 0) :: Int- , abs (id _ + id _) :: Int- , abs (_ * x) :: Int- , abs (_ * 0) :: Int- , abs (_ * id _) :: Int- , abs (f x) :: Int- , abs (f 0) :: Int- , abs (f (id _)) :: Int- , abs (y + _) :: Int- , abs (1 + _) :: Int- , abs (id x + _) :: Int- , abs (id 0 + _) :: Int- , abs (id (id _) + _) :: Int- , abs (negate _ + _) :: Int- , abs (abs _ + _) :: Int- , abs ((_ + _) + _) :: Int- , abs (head _ + _) :: Int- , abs (ord _ + _) :: Int- , abs (x * _) :: Int- , abs (0 * _) :: Int- , abs (id _ * _) :: Int- , abs (g _) :: Int- , abs (head ys) :: Int- , abs (head [0]) :: Int- , abs (head (_:xs)) :: Int- , abs (head [_]) :: Int- , abs (head (_:_:_)) :: Int- , abs (head (x:_)) :: Int- , abs (head (0:_)) :: Int- , abs (head (id _:_)) :: Int- , abs (head (tail _)) :: Int- , abs (head (_ ++ _)) :: Int- , abs (ord d) :: Int- , abs (ord ' ') :: Int- , _ + 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 (id (id (id _))) :: Int- , _ + id (id (negate _)) :: Int- , _ + id (id (abs _)) :: Int- , _ + id (id (_ + _)) :: Int- , _ + id (id (head _)) :: Int- , _ + id (id (ord _)) :: Int- , _ + id (negate x) :: Int- , _ + id (negate 0) :: Int- , _ + id (negate (id _)) :: Int- , _ + id (abs x) :: Int- , _ + id (abs 0) :: Int- , _ + id (abs (id _)) :: Int- , _ + id (_ + x) :: Int- , _ + id (_ + 0) :: Int- , _ + id (_ + id _) :: Int- , _ + id (x + _) :: Int- , _ + id (0 + _) :: Int- , _ + id (id _ + _) :: Int- , _ + id (_ * _) :: Int- , _ + id (f _) :: Int- , _ + id (head xs) :: Int- , _ + id (head []) :: 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- , _ + negate (id (id _)) :: Int- , _ + negate (negate _) :: Int- , _ + negate (abs _) :: Int- , _ + negate (_ + _) :: Int- , _ + negate (head _) :: Int- , _ + negate (ord _) :: Int- , _ + abs y :: Int- , _ + abs 1 :: Int- , _ + abs (id x) :: Int- , _ + abs (id 0) :: Int- , _ + abs (id (id _)) :: Int- , _ + abs (negate _) :: Int- , _ + abs (abs _) :: Int- , _ + abs (_ + _) :: Int- , _ + abs (head _) :: Int- , _ + abs (ord _) :: Int- , _ + (_ + y) :: Int- , _ + (_ + 1) :: Int- , _ + (_ + id x) :: Int- , _ + (_ + id 0) :: Int- , _ + (_ + id (id _)) :: Int- , _ + (_ + negate _) :: Int- , _ + (_ + abs _) :: Int- , _ + (_ + (_ + _)) :: Int- , _ + (_ + head _) :: Int- , _ + (_ + ord _) :: Int- , _ + (x + x) :: Int- , _ + (x + 0) :: Int- , _ + (x + id _) :: Int- , _ + (0 + x) :: Int- , _ + (0 + 0) :: Int- , _ + (0 + id _) :: Int- , _ + (id _ + x) :: Int- , _ + (id _ + 0) :: Int- , _ + (id _ + id _) :: Int- , _ + _ * x :: Int- , _ + _ * 0 :: Int- , _ + _ * id _ :: Int- , _ + f x :: Int- , _ + f 0 :: Int- , _ + f (id _) :: Int- , _ + (y + _) :: Int- , _ + (1 + _) :: Int- , _ + (id x + _) :: Int- , _ + (id 0 + _) :: Int- , _ + (id (id _) + _) :: Int- , _ + (negate _ + _) :: Int- , _ + (abs _ + _) :: Int- , _ + ((_ + _) + _) :: Int- , _ + (head _ + _) :: Int- , _ + (ord _ + _) :: Int- , _ + x * _ :: Int- , _ + 0 * _ :: Int- , _ + id _ * _ :: Int- , _ + g _ :: Int- , _ + head ys :: Int- , _ + head [0] :: Int- , _ + head (_:xs) :: Int- , _ + head [_] :: Int- , _ + head (_:_:_) :: Int- , _ + head (x:_) :: Int- , _ + head (0:_) :: Int- , _ + head (id _:_) :: Int- , _ + head (tail _) :: Int- , _ + head (_ ++ _) :: Int- , _ + ord d :: Int- , _ + 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 + id (id (id _)) :: Int- , x + id (negate _) :: Int- , x + id (abs _) :: Int- , x + id (_ + _) :: Int- , x + id (head _) :: Int- , x + id (ord _) :: Int- , x + negate x :: Int- , x + negate 0 :: Int- , x + negate (id _) :: Int- , x + abs x :: Int- , x + abs 0 :: Int- , x + abs (id _) :: Int- , x + (_ + x) :: Int- , x + (_ + 0) :: Int- , x + (_ + id _) :: Int- , x + (x + _) :: Int- , x + (0 + _) :: Int- , x + (id _ + _) :: Int- , x + _ * _ :: Int- , x + f _ :: Int- , x + head xs :: Int- , x + head [] :: 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 + id (id (id _)) :: Int- , 0 + id (negate _) :: Int- , 0 + id (abs _) :: Int- , 0 + id (_ + _) :: Int- , 0 + id (head _) :: Int- , 0 + id (ord _) :: Int- , 0 + negate x :: Int- , 0 + negate 0 :: Int- , 0 + negate (id _) :: Int- , 0 + abs x :: Int- , 0 + abs 0 :: Int- , 0 + abs (id _) :: Int- , 0 + (_ + x) :: Int- , 0 + (_ + 0) :: Int- , 0 + (_ + id _) :: Int- , 0 + (x + _) :: Int- , 0 + (0 + _) :: Int- , 0 + (id _ + _) :: Int- , 0 + _ * _ :: Int- , 0 + f _ :: Int- , 0 + head xs :: Int- , 0 + head [] :: Int- , 0 + head (_:_) :: Int- , 0 + ord c :: Int- , 0 + ord 'a' :: 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 _ + id (id (id _)) :: Int- , id _ + id (negate _) :: Int- , id _ + id (abs _) :: Int- , id _ + id (_ + _) :: Int- , id _ + id (head _) :: Int- , id _ + id (ord _) :: Int- , id _ + negate x :: Int- , id _ + negate 0 :: Int- , id _ + negate (id _) :: Int- , id _ + abs x :: Int- , id _ + abs 0 :: Int- , id _ + abs (id _) :: Int- , id _ + (_ + x) :: Int- , id _ + (_ + 0) :: Int- , id _ + (_ + id _) :: Int- , id _ + (x + _) :: Int- , id _ + (0 + _) :: Int- , id _ + (id _ + _) :: Int- , id _ + _ * _ :: Int- , id _ + f _ :: Int- , id _ + head xs :: Int- , id _ + head [] :: Int- , id _ + head (_:_) :: Int- , id _ + ord c :: Int- , id _ + ord 'a' :: Int- , _ * z :: Int- , _ * (-1) :: Int- , _ * id y :: Int- , _ * id 1 :: Int- , _ * id (id x) :: Int- , _ * id (id 0) :: Int- , _ * id (id (id _)) :: Int- , _ * id (negate _) :: Int- , _ * id (abs _) :: Int- , _ * id (_ + _) :: Int- , _ * id (head _) :: Int- , _ * id (ord _) :: Int- , _ * negate x :: Int- , _ * negate 0 :: Int- , _ * negate (id _) :: Int- , _ * abs x :: Int- , _ * abs 0 :: Int- , _ * abs (id _) :: Int- , _ * (_ + x) :: Int- , _ * (_ + 0) :: Int- , _ * (_ + id _) :: Int- , _ * (x + _) :: Int- , _ * (0 + _) :: Int- , _ * (id _ + _) :: Int- , _ * (_ * _) :: Int- , _ * f _ :: Int- , _ * head xs :: Int- , _ * head [] :: Int- , _ * head (_:_) :: Int- , _ * ord c :: Int- , _ * 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 (id (id (id _))) :: Int- , f (id (negate _)) :: Int- , f (id (abs _)) :: Int- , f (id (_ + _)) :: Int- , f (id (head _)) :: Int- , f (id (ord _)) :: Int- , f (negate x) :: Int- , f (negate 0) :: Int- , f (negate (id _)) :: Int- , f (abs x) :: Int- , f (abs 0) :: Int- , f (abs (id _)) :: Int- , f (_ + x) :: Int- , f (_ + 0) :: Int- , f (_ + id _) :: Int- , f (x + _) :: Int- , f (0 + _) :: Int- , f (id _ + _) :: Int- , f (_ * _) :: Int- , f (f _) :: Int- , f (head xs) :: Int- , f (head []) :: 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- , y + id (id _) :: Int- , y + negate _ :: Int- , y + abs _ :: Int- , y + (_ + _) :: Int- , y + head _ :: Int- , y + ord _ :: Int- , 1 + y :: Int- , 1 + 1 :: Int- , 1 + id x :: Int- , 1 + id 0 :: Int- , 1 + id (id _) :: Int- , 1 + negate _ :: Int- , 1 + abs _ :: Int- , 1 + (_ + _) :: Int- , 1 + head _ :: Int- , 1 + ord _ :: Int- , id x + y :: Int- , id x + 1 :: Int- , id x + id x :: Int- , id x + id 0 :: Int- , id x + id (id _) :: Int- , id x + negate _ :: Int- , id x + abs _ :: Int- , id x + (_ + _) :: Int- , id x + head _ :: Int- , id x + ord _ :: Int- , id 0 + y :: Int- , id 0 + 1 :: Int- , id 0 + id x :: Int- , id 0 + id 0 :: Int- , id 0 + id (id _) :: Int- , id 0 + negate _ :: Int- , id 0 + abs _ :: Int- , id 0 + (_ + _) :: Int- , id 0 + head _ :: Int- , id 0 + ord _ :: Int- , id (id _) + y :: Int- , id (id _) + 1 :: Int- , id (id _) + id x :: Int- , id (id _) + id 0 :: Int- , id (id _) + id (id _) :: Int- , id (id _) + negate _ :: Int- , id (id _) + abs _ :: Int- , id (id _) + (_ + _) :: Int- , id (id _) + head _ :: Int- , id (id _) + ord _ :: Int- , negate _ + y :: Int- , negate _ + 1 :: Int- , negate _ + id x :: Int- , negate _ + id 0 :: Int- , negate _ + id (id _) :: Int- , negate _ + negate _ :: Int- , negate _ + abs _ :: Int- , negate _ + (_ + _) :: Int- , negate _ + head _ :: Int- , negate _ + ord _ :: Int- , abs _ + y :: Int- , abs _ + 1 :: Int- , abs _ + id x :: Int- , abs _ + id 0 :: Int- , abs _ + id (id _) :: Int- , abs _ + negate _ :: Int- , abs _ + abs _ :: Int- , abs _ + (_ + _) :: Int- , abs _ + head _ :: Int- , abs _ + ord _ :: Int- , (_ + _) + y :: Int- , (_ + _) + 1 :: Int- , (_ + _) + id x :: Int- , (_ + _) + id 0 :: Int- , (_ + _) + id (id _) :: Int- , (_ + _) + negate _ :: Int- , (_ + _) + abs _ :: Int- , (_ + _) + (_ + _) :: Int- , (_ + _) + head _ :: Int- , (_ + _) + ord _ :: Int- , head _ + y :: Int- , head _ + 1 :: Int- , head _ + id x :: Int- , head _ + id 0 :: Int- , head _ + id (id _) :: Int- , head _ + negate _ :: Int- , head _ + abs _ :: Int- , head _ + (_ + _) :: Int- , head _ + head _ :: Int- , head _ + ord _ :: Int- , ord _ + y :: Int- , ord _ + 1 :: Int- , ord _ + id x :: Int- , ord _ + id 0 :: Int- , ord _ + id (id _) :: Int- , ord _ + negate _ :: Int- , ord _ + abs _ :: Int- , ord _ + (_ + _) :: Int- , ord _ + head _ :: Int- , ord _ + ord _ :: Int- , x * y :: Int- , x * 1 :: Int- , x * id x :: Int- , x * id 0 :: Int- , x * id (id _) :: Int- , x * negate _ :: Int- , x * abs _ :: Int- , x * (_ + _) :: Int- , x * head _ :: Int- , x * ord _ :: Int- , 0 * y :: Int- , 0 * 1 :: Int- , 0 * id x :: Int- , 0 * id 0 :: Int- , 0 * id (id _) :: Int- , 0 * negate _ :: Int- , 0 * abs _ :: Int- , 0 * (_ + _) :: Int- , 0 * head _ :: Int- , 0 * ord _ :: Int- , id _ * y :: Int- , id _ * 1 :: Int- , id _ * id x :: Int- , id _ * id 0 :: Int- , id _ * id (id _) :: Int- , id _ * negate _ :: Int- , id _ * abs _ :: Int- , id _ * (_ + _) :: Int- , id _ * head _ :: Int- , id _ * ord _ :: Int- , g y :: Int- , g 1 :: Int- , g (id x) :: Int- , g (id 0) :: Int- , g (id (id _)) :: Int- , g (negate _) :: Int- , g (abs _) :: Int- , g (_ + _) :: Int- , g (head _) :: Int- , g (ord _) :: Int- , z + x :: Int- , z + 0 :: Int- , z + id _ :: Int- , (-1) + x :: Int- , (-1) + 0 :: Int- , (-1) + id _ :: Int- , id y + x :: Int- , id y + 0 :: Int- , id y + id _ :: Int- , id 1 + x :: Int- , id 1 + 0 :: Int- , id 1 + id _ :: Int- , id (id x) + x :: Int- , id (id x) + 0 :: Int- , id (id x) + id _ :: Int- , id (id 0) + x :: Int- , id (id 0) + 0 :: Int- , id (id 0) + id _ :: Int- , id (id (id _)) + x :: Int- , id (id (id _)) + 0 :: Int- , id (id (id _)) + id _ :: Int- , id (negate _) + x :: Int- , id (negate _) + 0 :: Int- , id (negate _) + id _ :: Int- , id (abs _) + x :: Int- , id (abs _) + 0 :: Int- , id (abs _) + id _ :: Int- , id (_ + _) + x :: Int- , id (_ + _) + 0 :: Int- , id (_ + _) + id _ :: Int- , id (head _) + x :: Int- , id (head _) + 0 :: Int- , id (head _) + id _ :: Int- , id (ord _) + x :: Int- , id (ord _) + 0 :: Int- , id (ord _) + id _ :: Int- , negate x + x :: Int- , negate x + 0 :: Int- , negate x + id _ :: Int- , negate 0 + x :: Int- , negate 0 + 0 :: Int- , negate 0 + id _ :: Int- , negate (id _) + x :: Int- , negate (id _) + 0 :: Int- , negate (id _) + id _ :: Int- , abs x + x :: Int- , abs x + 0 :: Int- , abs x + id _ :: Int- , abs 0 + x :: Int- , abs 0 + 0 :: Int- , abs 0 + id _ :: Int- , abs (id _) + x :: Int- , abs (id _) + 0 :: Int- , abs (id _) + id _ :: Int- , (_ + x) + x :: Int- , (_ + x) + 0 :: Int- , (_ + x) + id _ :: Int- , (_ + 0) + x :: Int- , (_ + 0) + 0 :: Int- , (_ + 0) + id _ :: Int- , (_ + id _) + x :: Int- , (_ + id _) + 0 :: Int- , (_ + id _) + id _ :: Int- , (x + _) + x :: Int- , (x + _) + 0 :: Int- , (x + _) + id _ :: Int- , (0 + _) + x :: Int- , (0 + _) + 0 :: Int- , (0 + _) + id _ :: Int- , (id _ + _) + x :: Int- , (id _ + _) + 0 :: Int- , (id _ + _) + id _ :: Int- , _ * _ + x :: Int- , _ * _ + 0 :: Int- , _ * _ + id _ :: Int- , f _ + x :: Int- , f _ + 0 :: Int- , f _ + id _ :: Int- , head xs + x :: Int- , head xs + 0 :: Int- , head xs + id _ :: Int- , head [] + x :: Int- , head [] + 0 :: Int- , head [] + id _ :: Int- , head (_:_) + x :: Int- , head (_:_) + 0 :: Int- , head (_:_) + id _ :: Int- , ord c + x :: Int- , ord c + 0 :: Int- , ord c + id _ :: Int- , ord 'a' + x :: Int- , ord 'a' + 0 :: Int- , ord 'a' + id _ :: Int- , y * x :: Int- , y * 0 :: Int- , y * id _ :: Int- , 1 * x :: Int- , 1 * 0 :: Int- , 1 * id _ :: Int- , id x * x :: Int- , id x * 0 :: Int- , id x * id _ :: Int- , id 0 * x :: Int- , id 0 * 0 :: Int- , id 0 * id _ :: Int- , id (id _) * x :: Int- , id (id _) * 0 :: Int- , id (id _) * id _ :: Int- , negate _ * x :: Int- , negate _ * 0 :: Int- , negate _ * id _ :: Int- , abs _ * x :: Int- , abs _ * 0 :: Int- , abs _ * id _ :: Int- , (_ + _) * x :: Int- , (_ + _) * 0 :: Int- , (_ + _) * id _ :: Int- , head _ * x :: Int- , head _ * 0 :: Int- , head _ * id _ :: Int- , ord _ * x :: Int- , ord _ * 0 :: Int- , ord _ * id _ :: Int- , h x :: Int- , h 0 :: Int- , h (id _) :: Int- , 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 (id (id (id _))) + _ :: Int- , id (id (negate _)) + _ :: Int- , id (id (abs _)) + _ :: Int- , id (id (_ + _)) + _ :: Int- , id (id (head _)) + _ :: Int- , id (id (ord _)) + _ :: Int- , id (negate x) + _ :: Int- , id (negate 0) + _ :: Int- , id (negate (id _)) + _ :: Int- , id (abs x) + _ :: Int- , id (abs 0) + _ :: Int- , id (abs (id _)) + _ :: Int- , id (_ + x) + _ :: Int- , id (_ + 0) + _ :: Int- , id (_ + id _) + _ :: Int- , id (x + _) + _ :: Int- , id (0 + _) + _ :: Int- , id (id _ + _) + _ :: Int- , id (_ * _) + _ :: Int- , id (f _) + _ :: Int- , id (head xs) + _ :: Int- , id (head []) + _ :: 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- , negate (id (id _)) + _ :: Int- , negate (negate _) + _ :: Int- , negate (abs _) + _ :: Int- , negate (_ + _) + _ :: Int- , negate (head _) + _ :: Int- , negate (ord _) + _ :: Int- , abs y + _ :: Int- , abs 1 + _ :: Int- , abs (id x) + _ :: Int- , abs (id 0) + _ :: Int- , abs (id (id _)) + _ :: Int- , abs (negate _) + _ :: Int- , abs (abs _) + _ :: Int- , abs (_ + _) + _ :: Int- , abs (head _) + _ :: Int- , abs (ord _) + _ :: Int- , (_ + y) + _ :: Int- , (_ + 1) + _ :: Int- , (_ + id x) + _ :: Int- , (_ + id 0) + _ :: Int- , (_ + id (id _)) + _ :: Int- , (_ + negate _) + _ :: Int- , (_ + abs _) + _ :: Int- , (_ + (_ + _)) + _ :: Int- , (_ + head _) + _ :: Int- , (_ + ord _) + _ :: Int- , (x + x) + _ :: Int- , (x + 0) + _ :: Int- , (x + id _) + _ :: Int- , (0 + x) + _ :: Int- , (0 + 0) + _ :: Int- , (0 + id _) + _ :: Int- , (id _ + x) + _ :: Int- , (id _ + 0) + _ :: Int- , (id _ + id _) + _ :: Int- , _ * x + _ :: Int- , _ * 0 + _ :: Int- , _ * id _ + _ :: Int- , f x + _ :: Int- , f 0 + _ :: Int- , f (id _) + _ :: Int- , (y + _) + _ :: Int- , (1 + _) + _ :: Int- , (id x + _) + _ :: Int- , (id 0 + _) + _ :: Int- , (id (id _) + _) + _ :: Int- , (negate _ + _) + _ :: Int- , (abs _ + _) + _ :: Int- , ((_ + _) + _) + _ :: Int- , (head _ + _) + _ :: Int- , (ord _ + _) + _ :: Int- , x * _ + _ :: Int- , 0 * _ + _ :: Int- , id _ * _ + _ :: Int- , g _ + _ :: Int- , head ys + _ :: Int- , head [0] + _ :: Int- , head (_:xs) + _ :: Int- , head [_] + _ :: Int- , head (_:_:_) + _ :: Int- , head (x:_) + _ :: Int- , head (0:_) + _ :: Int- , head (id _:_) + _ :: Int- , head (tail _) + _ :: Int- , head (_ ++ _) + _ :: Int- , ord d + _ :: Int- , ord ' ' + _ :: Int- , z * _ :: Int- , (-1) * _ :: Int- , id y * _ :: Int- , id 1 * _ :: Int- , id (id x) * _ :: Int- , id (id 0) * _ :: Int- , id (id (id _)) * _ :: Int- , id (negate _) * _ :: Int- , id (abs _) * _ :: Int- , id (_ + _) * _ :: Int- , id (head _) * _ :: Int- , id (ord _) * _ :: Int- , negate x * _ :: Int- , negate 0 * _ :: Int- , negate (id _) * _ :: Int- , abs x * _ :: Int- , abs 0 * _ :: Int- , abs (id _) * _ :: Int- , (_ + x) * _ :: Int- , (_ + 0) * _ :: Int- , (_ + id _) * _ :: Int- , (x + _) * _ :: Int- , (0 + _) * _ :: Int- , (id _ + _) * _ :: Int- , (_ * _) * _ :: Int- , f _ * _ :: Int- , head xs * _ :: Int- , head [] * _ :: Int- , head (_:_) * _ :: Int- , ord c * _ :: Int- , ord 'a' * _ :: Int- , f' _ :: Int- , head xs' :: Int- , head [0,0,0] :: Int- , head [0,1] :: Int- , head [1,0] :: Int- , head [-1] :: Int- , head (_:zs) :: Int- , head [_,0,0] :: Int- , head [_,1] :: Int- , head (_:_:ys) :: Int- , head [_,_,0] :: Int- , head (_:_:_:xs) :: Int- , head [_,_,_] :: Int- , head (_:_:_:_:_) :: Int- , head (_:_:x:_) :: Int- , head (_:_:0:_) :: Int- , head (_:_:id _:_) :: Int- , head (_:_:tail _) :: Int- , head (_:_:(_ ++ _)) :: Int- , head (_:x:xs) :: Int- , head [_,x] :: Int- , head (_:x:_:_) :: Int- , head (_:0:xs) :: Int- , head [_,0] :: Int- , head (_:0:_:_) :: Int- , head (_:id _:xs) :: Int- , head [_,id _] :: Int- , head (_:id _:_:_) :: Int- , head (_:y:_) :: Int- , head (_:1:_) :: Int- , head (_:id x:_) :: Int- , head (_:id 0:_) :: Int- , head (_:id (id _):_) :: Int- , head (_:negate _:_) :: Int- , head (_:abs _:_) :: Int- , head (_:_ + _:_) :: Int- , head (_:head _:_) :: Int- , head (_:ord _:_) :: Int- , head (_:tail xs) :: Int- , head (_:tail []) :: Int- , head (_:tail (_:_)) :: Int- , head (_:(_ ++ xs)) :: Int- , head (_:(_ ++ [])) :: Int- , head (_:(_ ++ (_:_))) :: Int- , head (_:(xs ++ _)) :: Int- , head (_:([] ++ _)) :: Int- , head (_:((_:_) ++ _)) :: Int- , head (_:sort _) :: Int- , head (_:insert _ _) :: Int- , head (x:ys) :: Int- , head [x,0] :: Int- , head (x:_:xs) :: Int- , head [x,_] :: Int- , head (x:_:_:_) :: Int- , head (x:x:_) :: Int- , head (x:0:_) :: Int- , head (x:id _:_) :: Int- , head (x:tail _) :: Int- , head (x:(_ ++ _)) :: Int- , head (0:ys) :: Int- , head [0,0] :: Int- , head (0:_:xs) :: Int- , head [0,_] :: Int- , head (0:_:_:_) :: Int- , head (0:x:_) :: Int- , head (0:0:_) :: Int- , head (0:id _:_) :: Int- , head (0:tail _) :: Int- , head (0:(_ ++ _)) :: Int- , head (id _:ys) :: Int- , head [id _,0] :: Int- , head (id _:_:xs) :: Int- , head [id _,_] :: Int- , head (id _:_:_:_) :: Int- , head (id _:x:_) :: Int- , head (id _:0:_) :: Int- , head (id _:id _:_) :: Int- , head (id _:tail _) :: Int- , head (id _:(_ ++ _)) :: Int- , head (y:xs) :: Int- , head [y] :: Int- , head (y:_:_) :: Int- , head (1:xs) :: Int- , head [1] :: Int- , head (1:_:_) :: Int- , head (id x:xs) :: Int- , head [id x] :: Int- , head (id x:_:_) :: Int- , head (id 0:xs) :: Int- , head [id 0] :: Int- , head (id 0:_:_) :: Int- , head (id (id _):xs) :: Int- , head [id (id _)] :: Int- , head (id (id _):_:_) :: Int- , head (negate _:xs) :: Int- , head [negate _] :: Int- , head (negate _:_:_) :: Int- , head (abs _:xs) :: Int- , head [abs _] :: Int- , head (abs _:_:_) :: Int- , head (_ + _:xs) :: Int- , head [_ + _] :: Int- , head (_ + _:_:_) :: Int- , head (head _:xs) :: Int- , head [head _] :: Int- , head (head _:_:_) :: Int- , head (ord _:xs) :: Int- , head [ord _] :: Int- , head (ord _:_:_) :: Int- , head (z:_) :: Int- , head ((-1):_) :: Int- , head (id y:_) :: Int- , head (id 1:_) :: Int- , head (id (id x):_) :: Int- , head (id (id 0):_) :: Int- , head (id (id (id _)):_) :: Int- , head (id (negate _):_) :: Int- , head (id (abs _):_) :: Int- , head (id (_ + _):_) :: Int- , head (id (head _):_) :: Int- , head (id (ord _):_) :: Int- , head (negate x:_) :: Int- , head (negate 0:_) :: Int- , head (negate (id _):_) :: Int- , head (abs x:_) :: Int- , head (abs 0:_) :: Int- , head (abs (id _):_) :: Int- , head (_ + x:_) :: Int- , head (_ + 0:_) :: Int- , head (_ + id _:_) :: Int- , head (x + _:_) :: Int- , head (0 + _:_) :: Int- , head (id _ + _:_) :: Int- , head (_ * _:_) :: Int- , head (f _:_) :: Int- , head (head xs:_) :: Int- , head (head []:_) :: Int- , head (head (_:_):_) :: Int- , head (ord c:_) :: Int- , head (ord 'a':_) :: Int- , head (tail ys) :: Int- , head (tail [0]) :: Int- , head (tail (_:xs)) :: Int- , head (tail [_]) :: Int- , head (tail (_:_:_)) :: Int- , head (tail (x:_)) :: Int- , head (tail (0:_)) :: Int- , head (tail (id _:_)) :: Int- , head (tail (tail _)) :: Int- , head (tail (_ ++ _)) :: Int- , head (_ ++ ys) :: Int- , head (_ ++ [0]) :: Int- , head (_ ++ (_:xs)) :: Int- , head (_ ++ [_]) :: Int- , head (_ ++ (_:_:_)) :: Int- , head (_ ++ (x:_)) :: Int- , head (_ ++ (0:_)) :: Int- , head (_ ++ (id _:_)) :: Int- , head (_ ++ tail _) :: Int- , head (_ ++ (_ ++ _)) :: Int- , head (xs ++ xs) :: Int- , head (xs ++ []) :: Int- , head (xs ++ (_:_)) :: Int- , head ([] ++ xs) :: Int- , head ([] ++ []) :: Int- , head ([] ++ (_:_)) :: Int- , head ((_:_) ++ xs) :: Int- , head ((_:_) ++ []) :: Int- , head ((_:_) ++ (_:_)) :: Int- , head (ys ++ _) :: Int- , head ([0] ++ _) :: Int- , head ((_:xs) ++ _) :: Int- , head ([_] ++ _) :: Int- , head ((_:_:_) ++ _) :: Int- , head ((x:_) ++ _) :: Int- , head ((0:_) ++ _) :: Int- , head ((id _:_) ++ _) :: Int- , head (tail _ ++ _) :: Int- , head ((_ ++ _) ++ _) :: Int- , head (sort xs) :: Int- , head (sort []) :: Int- , head (sort (_:_)) :: Int- , head (insert _ xs) :: Int- , head (insert _ []) :: Int- , head (insert _ (_:_)) :: Int- , head (insert x _) :: Int- , head (insert 0 _) :: Int- , head (insert (id _) _) :: 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 (not (not (not (not _)))) :: Bool- , not (not (not (_ || _))) :: Bool- , not (not (_ || p)) :: Bool- , not (not (_ || False)) :: Bool- , not (not (_ || True)) :: Bool- , not (not (_ || not _)) :: Bool- , not (not (p || _)) :: Bool- , not (not (False || _)) :: Bool- , not (not (True || _)) :: Bool- , not (not (not _ || _)) :: Bool- , not (not (_ && _)) :: Bool- , not (not (_ == _)) :: Bool- , not (not (_ == _)) :: Bool- , not (not (odd _)) :: Bool- , not (not (even _)) :: Bool- , not (not (elem _ _)) :: Bool- , not (_ || q) :: Bool- , not (_ || not p) :: Bool- , not (_ || not False) :: Bool- , not (_ || not True) :: Bool- , not (_ || not (not _)) :: Bool- , not (_ || (_ || _)) :: Bool- , not (p || p) :: Bool- , not (p || False) :: Bool- , not (p || True) :: Bool- , not (p || not _) :: Bool- , not (False || p) :: Bool- , not (False || False) :: Bool- , not (False || True) :: Bool- , not (False || not _) :: Bool- , not (True || p) :: Bool- , not (True || False) :: Bool- , not (True || True) :: Bool- , not (True || not _) :: Bool- , not (not _ || p) :: Bool- , not (not _ || False) :: Bool- , not (not _ || True) :: Bool- , not (not _ || not _) :: Bool- , not (_ && p) :: Bool- , not (_ && False) :: Bool- , not (_ && True) :: Bool- , not (_ && not _) :: Bool- , not (q || _) :: Bool- , not (not p || _) :: Bool- , not (not False || _) :: Bool- , not (not True || _) :: Bool- , not (not (not _) || _) :: Bool- , not ((_ || _) || _) :: Bool- , not (p && _) :: Bool- , not (False && _) :: Bool- , not (True && _) :: Bool- , not (not _ && _) :: Bool- , not (_ ==> _) :: Bool- , not (_ == x) :: Bool- , not (_ == 0) :: Bool- , not (_ == id _) :: Bool- , not (x == _) :: Bool- , not (0 == _) :: Bool- , not (id _ == _) :: Bool- , not (_ == p) :: Bool- , not (_ == False) :: Bool- , not (_ == True) :: Bool- , not (_ == not _) :: Bool- , not (p == _) :: Bool- , not (False == _) :: Bool- , not (True == _) :: Bool- , not (not _ == _) :: Bool- , not (_ <= _) :: Bool- , not (_ <= _) :: Bool- , not (odd x) :: Bool- , not (odd 0) :: Bool- , not (odd (id _)) :: Bool- , not (even x) :: Bool- , not (even 0) :: Bool- , not (even (id _)) :: Bool- , not (elem _ xs) :: Bool- , not (elem _ []) :: Bool- , not (elem _ (_:_)) :: Bool- , not (elem x _) :: Bool- , not (elem 0 _) :: Bool- , not (elem (id _) _) :: Bool- , _ || r :: Bool- , _ || not q :: Bool- , _ || not (not p) :: Bool- , _ || not (not False) :: Bool- , _ || not (not True) :: Bool- , _ || not (not (not _)) :: Bool- , _ || not (_ || _) :: Bool- , _ || (_ || p) :: Bool- , _ || (_ || False) :: Bool- , _ || (_ || True) :: Bool- , _ || (_ || not _) :: Bool- , _ || (p || _) :: Bool- , _ || (False || _) :: Bool- , _ || (True || _) :: Bool- , _ || (not _ || _) :: Bool- , _ || _ && _ :: Bool- , _ || _ == _ :: Bool- , _ || _ == _ :: Bool- , _ || odd _ :: Bool- , _ || even _ :: Bool- , _ || elem _ _ :: Bool- , p || q :: Bool- , p || not p :: Bool- , p || not False :: Bool- , p || not True :: Bool- , p || not (not _) :: Bool- , p || (_ || _) :: Bool- , False || q :: Bool- , False || not p :: Bool- , False || not False :: Bool- , False || not True :: Bool- , False || not (not _) :: Bool- , False || (_ || _) :: Bool- , True || q :: Bool- , True || not p :: Bool- , True || not False :: Bool- , True || not True :: Bool- , True || not (not _) :: Bool- , True || (_ || _) :: Bool- , not _ || q :: Bool- , not _ || not p :: Bool- , not _ || not False :: Bool- , not _ || not True :: Bool- , not _ || not (not _) :: Bool- , not _ || (_ || _) :: Bool- , _ && q :: Bool- , _ && not p :: Bool- , _ && not False :: Bool- , _ && not True :: Bool- , _ && not (not _) :: Bool- , _ && (_ || _) :: Bool- , q || p :: Bool- , q || False :: Bool- , q || True :: Bool- , q || not _ :: Bool- , not p || p :: Bool- , not p || False :: Bool- , not p || True :: Bool- , not p || not _ :: Bool- , not False || p :: Bool- , not False || False :: Bool- , not False || True :: Bool- , not False || not _ :: Bool- , not True || p :: Bool- , not True || False :: Bool- , not True || True :: Bool- , not True || not _ :: Bool- , not (not _) || p :: Bool- , not (not _) || False :: Bool- , not (not _) || True :: Bool- , not (not _) || not _ :: Bool- , (_ || _) || p :: Bool- , (_ || _) || False :: Bool- , (_ || _) || True :: Bool- , (_ || _) || not _ :: Bool- , p && p :: Bool- , p && False :: Bool- , p && True :: Bool- , p && not _ :: Bool- , False && p :: Bool- , False && False :: Bool- , False && True :: Bool- , False && not _ :: Bool- , True && p :: Bool- , True && False :: Bool- , True && True :: Bool- , True && not _ :: Bool- , not _ && p :: Bool- , not _ && False :: Bool- , not _ && True :: Bool- , not _ && not _ :: Bool- , _ ==> p :: Bool- , _ ==> False :: Bool- , _ ==> True :: Bool- , _ ==> not _ :: Bool- , r || _ :: Bool- , not q || _ :: Bool- , not (not p) || _ :: Bool- , not (not False) || _ :: Bool- , not (not True) || _ :: Bool- , not (not (not _)) || _ :: Bool- , not (_ || _) || _ :: Bool- , (_ || p) || _ :: Bool- , (_ || False) || _ :: Bool- , (_ || True) || _ :: Bool- , (_ || not _) || _ :: Bool- , (p || _) || _ :: Bool- , (False || _) || _ :: Bool- , (True || _) || _ :: Bool- , (not _ || _) || _ :: Bool- , _ && _ || _ :: Bool- , _ == _ || _ :: Bool- , _ == _ || _ :: Bool- , odd _ || _ :: Bool- , even _ || _ :: Bool- , elem _ _ || _ :: Bool- , q && _ :: Bool- , not p && _ :: Bool- , not False && _ :: Bool- , not True && _ :: Bool- , not (not _) && _ :: Bool- , (_ || _) && _ :: Bool- , p ==> _ :: Bool- , False ==> _ :: Bool- , True ==> _ :: Bool- , not _ ==> _ :: Bool- , _ == y :: Bool- , _ == 1 :: Bool- , _ == id x :: Bool- , _ == id 0 :: Bool- , _ == id (id _) :: Bool- , _ == negate _ :: Bool- , _ == abs _ :: Bool- , _ == _ + _ :: Bool- , _ == head _ :: Bool- , _ == ord _ :: Bool- , x == x :: Bool- , x == 0 :: Bool- , x == id _ :: Bool- , 0 == x :: Bool- , 0 == 0 :: Bool- , 0 == id _ :: Bool- , id _ == x :: Bool- , id _ == 0 :: Bool- , id _ == id _ :: Bool- , y == _ :: Bool- , 1 == _ :: Bool- , id x == _ :: Bool- , id 0 == _ :: Bool- , id (id _) == _ :: Bool- , negate _ == _ :: Bool- , abs _ == _ :: Bool- , _ + _ == _ :: Bool- , head _ == _ :: Bool- , ord _ == _ :: Bool- , _ == q :: Bool- , _ == not p :: Bool- , _ == not False :: Bool- , _ == not True :: Bool- , _ == not (not _) :: Bool- , _ == (_ || _) :: Bool- , p == p :: Bool- , p == False :: Bool- , p == True :: Bool- , p == not _ :: Bool- , False == p :: Bool- , False == False :: Bool- , False == True :: Bool- , False == not _ :: Bool- , True == p :: Bool- , True == False :: Bool- , True == True :: Bool- , True == not _ :: Bool- , not _ == p :: Bool- , not _ == False :: Bool- , not _ == True :: Bool- , not _ == not _ :: Bool- , q == _ :: Bool- , not p == _ :: Bool- , not False == _ :: Bool- , not True == _ :: Bool- , not (not _) == _ :: Bool- , (_ || _) == _ :: Bool- , _ <= x :: Bool- , _ <= 0 :: Bool- , _ <= id _ :: Bool- , x <= _ :: Bool- , 0 <= _ :: Bool- , id _ <= _ :: Bool- , _ <= p :: Bool- , _ <= False :: Bool- , _ <= True :: Bool- , _ <= not _ :: Bool- , p <= _ :: Bool- , False <= _ :: Bool- , True <= _ :: Bool- , not _ <= _ :: Bool- , _ < _ :: Bool- , _ < _ :: Bool- , odd y :: Bool- , odd 1 :: Bool- , odd (id x) :: Bool- , odd (id 0) :: Bool- , odd (id (id _)) :: Bool- , odd (negate _) :: Bool- , odd (abs _) :: Bool- , odd (_ + _) :: Bool- , odd (head _) :: Bool- , odd (ord _) :: Bool- , even y :: Bool- , even 1 :: Bool- , even (id x) :: Bool- , even (id 0) :: Bool- , even (id (id _)) :: Bool- , even (negate _) :: Bool- , even (abs _) :: Bool- , even (_ + _) :: Bool- , even (head _) :: Bool- , even (ord _) :: Bool- , elem _ ys :: Bool- , elem _ [0] :: Bool- , elem _ (_:xs) :: Bool- , elem _ [_] :: Bool- , elem _ (_:_:_) :: Bool- , elem _ (x:_) :: Bool- , elem _ (0:_) :: Bool- , elem _ (id _:_) :: Bool- , elem _ (tail _) :: Bool- , elem _ (_ ++ _) :: Bool- , elem x xs :: Bool- , elem x [] :: Bool- , elem x (_:_) :: Bool- , elem 0 xs :: Bool- , elem 0 [] :: Bool- , elem 0 (_:_) :: Bool- , elem (id _) xs :: Bool- , elem (id _) [] :: Bool- , elem (id _) (_:_) :: Bool- , elem y _ :: Bool- , elem 1 _ :: Bool- , elem (id x) _ :: Bool- , elem (id 0) _ :: Bool- , elem (id (id _)) _ :: Bool- , elem (negate _) _ :: Bool- , elem (abs _) _ :: Bool- , elem (_ + _) _ :: Bool- , elem (head _) _ :: Bool- , elem (ord _) _ :: 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]- , _:xs' :: [Int]- , [_,0,0,0] :: [Int]- , [_,0,1] :: [Int]- , [_,1,0] :: [Int]- , [_,-1] :: [Int]- , _:_:zs :: [Int]- , [_,_,0,0] :: [Int]- , [_,_,1] :: [Int]- , _:_:_:ys :: [Int]- , [_,_,_,0] :: [Int]- , _:_:_:_:xs :: [Int]- , [_,_,_,_] :: [Int]- , _:_:_:_:_:_ :: [Int]- , _:_:_:x:_ :: [Int]- , _:_:_:0:_ :: [Int]- , _:_:_:id _:_ :: [Int]- , _:_:_:tail _ :: [Int]- , _:_:_:(_ ++ _) :: [Int]- , _:_:x:xs :: [Int]- , [_,_,x] :: [Int]- , _:_:x:_:_ :: [Int]- , _:_:0:xs :: [Int]- , [_,_,0] :: [Int]- , _:_:0:_:_ :: [Int]- , _:_:id _:xs :: [Int]- , [_,_,id _] :: [Int]- , _:_:id _:_:_ :: [Int]- , _:_:y:_ :: [Int]- , _:_:1:_ :: [Int]- , _:_:id x:_ :: [Int]- , _:_:id 0:_ :: [Int]- , _:_:id (id _):_ :: [Int]- , _:_:negate _:_ :: [Int]- , _:_:abs _:_ :: [Int]- , _:_:_ + _:_ :: [Int]- , _:_:head _:_ :: [Int]- , _:_:ord _:_ :: [Int]- , _:_:tail xs :: [Int]- , _:_:tail [] :: [Int]- , _:_:tail (_:_) :: [Int]- , _:_:(_ ++ xs) :: [Int]- , _:_:(_ ++ []) :: [Int]- , _:_:(_ ++ (_:_)) :: [Int]- , _:_:(xs ++ _) :: [Int]- , [_,_,] ++ _ :: [Int]- , _:_:((_:_) ++ _) :: [Int]- , _:_:sort _ :: [Int]- , _:_:insert _ _ :: [Int]- , _:x:ys :: [Int]- , [_,x,0] :: [Int]- , _:x:_:xs :: [Int]- , [_,x,_] :: [Int]- , _:x:_:_:_ :: [Int]- , _:x:x:_ :: [Int]- , _:x:0:_ :: [Int]- , _:x:id _:_ :: [Int]- , _:x:tail _ :: [Int]- , _:x:(_ ++ _) :: [Int]- , _:0:ys :: [Int]- , [_,0,0] :: [Int]- , _:0:_:xs :: [Int]- , [_,0,_] :: [Int]- , _:0:_:_:_ :: [Int]- , _:0:x:_ :: [Int]- , _:0:0:_ :: [Int]- , _:0:id _:_ :: [Int]- , _:0:tail _ :: [Int]- , _:0:(_ ++ _) :: [Int]- , _:id _:ys :: [Int]- , [_,id _,0] :: [Int]- , _:id _:_:xs :: [Int]- , [_,id _,_] :: [Int]- , _:id _:_:_:_ :: [Int]- , _:id _:x:_ :: [Int]- , _:id _:0:_ :: [Int]- , _:id _:id _:_ :: [Int]- , _:id _:tail _ :: [Int]- , _:id _:(_ ++ _) :: [Int]- , _:y:xs :: [Int]- , [_,y] :: [Int]- , _:y:_:_ :: [Int]- , _:1:xs :: [Int]- , [_,1] :: [Int]- , _:1:_:_ :: [Int]- , _:id x:xs :: [Int]- , [_,id x] :: [Int]- , _:id x:_:_ :: [Int]- , _:id 0:xs :: [Int]- , [_,id 0] :: [Int]- , _:id 0:_:_ :: [Int]- , _:id (id _):xs :: [Int]- , [_,id (id _)] :: [Int]- , _:id (id _):_:_ :: [Int]- , _:negate _:xs :: [Int]- , [_,negate _] :: [Int]- , _:negate _:_:_ :: [Int]- , _:abs _:xs :: [Int]- , [_,abs _] :: [Int]- , _:abs _:_:_ :: [Int]- , _:_ + _:xs :: [Int]- , [_,_ + _] :: [Int]- , _:_ + _:_:_ :: [Int]- , _:head _:xs :: [Int]- , [_,head _] :: [Int]- , _:head _:_:_ :: [Int]- , _:ord _:xs :: [Int]- , [_,ord _] :: [Int]- , _:ord _:_:_ :: [Int]- , _:z:_ :: [Int]- , _:(-1):_ :: [Int]- , _:id y:_ :: [Int]- , _:id 1:_ :: [Int]- , _:id (id x):_ :: [Int]- , _:id (id 0):_ :: [Int]- , _:id (id (id _)):_ :: [Int]- , _:id (negate _):_ :: [Int]- , _:id (abs _):_ :: [Int]- , _:id (_ + _):_ :: [Int]- , _:id (head _):_ :: [Int]- , _:id (ord _):_ :: [Int]- , _:negate x:_ :: [Int]- , _:negate 0:_ :: [Int]- , _:negate (id _):_ :: [Int]- , _:abs x:_ :: [Int]- , _:abs 0:_ :: [Int]- , _:abs (id _):_ :: [Int]- , _:_ + x:_ :: [Int]- , _:_ + 0:_ :: [Int]- , _:_ + id _:_ :: [Int]- , _:x + _:_ :: [Int]- , _:0 + _:_ :: [Int]- , _:id _ + _:_ :: [Int]- , _:_ * _:_ :: [Int]- , _:f _:_ :: [Int]- , _:head xs:_ :: [Int]- , _:head []:_ :: [Int]- , _:head (_:_):_ :: [Int]- , _:ord c:_ :: [Int]- , _:ord 'a':_ :: [Int]- , _:tail ys :: [Int]- , _:tail [0] :: [Int]- , _:tail (_:xs) :: [Int]- , _:tail [_] :: [Int]- , _:tail (_:_:_) :: [Int]- , _:tail (x:_) :: [Int]- , _:tail (0:_) :: [Int]- , _:tail (id _:_) :: [Int]- , _:tail (tail _) :: [Int]- , _:tail (_ ++ _) :: [Int]- , _:(_ ++ ys) :: [Int]- , _:(_ ++ [0]) :: [Int]- , _:(_ ++ (_:xs)) :: [Int]- , _:(_ ++ [_]) :: [Int]- , _:(_ ++ (_:_:_)) :: [Int]- , _:(_ ++ (x:_)) :: [Int]- , _:(_ ++ (0:_)) :: [Int]- , _:(_ ++ (id _:_)) :: [Int]- , _:(_ ++ tail _) :: [Int]- , _:(_ ++ (_ ++ _)) :: [Int]- , _:(xs ++ xs) :: [Int]- , _:(xs ++ []) :: [Int]- , _:(xs ++ (_:_)) :: [Int]- , _:([] ++ xs) :: [Int]- , _:([] ++ []) :: [Int]- , _:([] ++ (_:_)) :: [Int]- , _:((_:_) ++ xs) :: [Int]- , _:((_:_) ++ []) :: [Int]- , _:((_:_) ++ (_:_)) :: [Int]- , _:(ys ++ _) :: [Int]- , _:([0] ++ _) :: [Int]- , _:((_:xs) ++ _) :: [Int]- , _:([_] ++ _) :: [Int]- , _:((_:_:_) ++ _) :: [Int]- , _:((x:_) ++ _) :: [Int]- , _:((0:_) ++ _) :: [Int]- , _:((id _:_) ++ _) :: [Int]- , _:(tail _ ++ _) :: [Int]- , _:((_ ++ _) ++ _) :: [Int]- , _:sort xs :: [Int]- , _:sort [] :: [Int]- , _:sort (_:_) :: [Int]- , _:insert _ xs :: [Int]- , _:insert _ [] :: [Int]- , _:insert _ (_:_) :: [Int]- , _:insert x _ :: [Int]- , _:insert 0 _ :: [Int]- , _:insert (id _) _ :: [Int]- , x:zs :: [Int]- , [x,0,0] :: [Int]- , [x,1] :: [Int]- , x:_:ys :: [Int]- , [x,_,0] :: [Int]- , x:_:_:xs :: [Int]- , [x,_,_] :: [Int]- , x:_:_:_:_ :: [Int]- , x:_:x:_ :: [Int]- , x:_:0:_ :: [Int]- , x:_:id _:_ :: [Int]- , x:_:tail _ :: [Int]- , x:_:(_ ++ _) :: [Int]- , x:x:xs :: [Int]- , [x,x] :: [Int]- , x:x:_:_ :: [Int]- , x:0:xs :: [Int]- , [x,0] :: [Int]- , x:0:_:_ :: [Int]- , x:id _:xs :: [Int]- , [x,id _] :: [Int]- , x:id _:_:_ :: [Int]- , x:y:_ :: [Int]- , x:1:_ :: [Int]- , x:id x:_ :: [Int]- , x:id 0:_ :: [Int]- , x:id (id _):_ :: [Int]- , x:negate _:_ :: [Int]- , x:abs _:_ :: [Int]- , x:_ + _:_ :: [Int]- , x:head _:_ :: [Int]- , x:ord _:_ :: [Int]- , x:tail xs :: [Int]- , x:tail [] :: [Int]- , x:tail (_:_) :: [Int]- , x:(_ ++ xs) :: [Int]- , x:(_ ++ []) :: [Int]- , x:(_ ++ (_:_)) :: [Int]- , x:(xs ++ _) :: [Int]- , x:([] ++ _) :: [Int]- , x:((_:_) ++ _) :: [Int]- , x:sort _ :: [Int]- , x:insert _ _ :: [Int]- , 0:zs :: [Int]- , [0,0,0] :: [Int]- , [0,1] :: [Int]- , 0:_:ys :: [Int]- , [0,_,0] :: [Int]- , 0:_:_:xs :: [Int]- , [0,_,_] :: [Int]- , 0:_:_:_:_ :: [Int]- , 0:_:x:_ :: [Int]- , 0:_:0:_ :: [Int]- , 0:_:id _:_ :: [Int]- , 0:_:tail _ :: [Int]- , 0:_:(_ ++ _) :: [Int]- , 0:x:xs :: [Int]- , [0,x] :: [Int]- , 0:x:_:_ :: [Int]- , 0:0:xs :: [Int]- , [0,0] :: [Int]- , 0:0:_:_ :: [Int]- , 0:id _:xs :: [Int]- , [0,id _] :: [Int]- , 0:id _:_:_ :: [Int]- , 0:y:_ :: [Int]- , 0:1:_ :: [Int]- , 0:id x:_ :: [Int]- , 0:id 0:_ :: [Int]- , 0:id (id _):_ :: [Int]- , 0:negate _:_ :: [Int]- , 0:abs _:_ :: [Int]- , 0:_ + _:_ :: [Int]- , 0:head _:_ :: [Int]- , 0:ord _:_ :: [Int]- , 0:tail xs :: [Int]- , 0:tail [] :: [Int]- , 0:tail (_:_) :: [Int]- , 0:(_ ++ xs) :: [Int]- , 0:(_ ++ []) :: [Int]- , 0:(_ ++ (_:_)) :: [Int]- , 0:(xs ++ _) :: [Int]- , 0:([] ++ _) :: [Int]- , 0:((_:_) ++ _) :: [Int]- , 0:sort _ :: [Int]- , 0:insert _ _ :: [Int]- , id _:zs :: [Int]- , [id _,0,0] :: [Int]- , [id _,1] :: [Int]- , id _:_:ys :: [Int]- , [id _,_,0] :: [Int]- , id _:_:_:xs :: [Int]- , [id _,_,_] :: [Int]- , id _:_:_:_:_ :: [Int]- , id _:_:x:_ :: [Int]- , id _:_:0:_ :: [Int]- , id _:_:id _:_ :: [Int]- , id _:_:tail _ :: [Int]- , id _:_:(_ ++ _) :: [Int]- , id _:x:xs :: [Int]- , [id _,x] :: [Int]- , id _:x:_:_ :: [Int]- , id _:0:xs :: [Int]- , [id _,0] :: [Int]- , id _:0:_:_ :: [Int]- , id _:id _:xs :: [Int]- , [id _,id _] :: [Int]- , id _:id _:_:_ :: [Int]- , id _:y:_ :: [Int]- , id _:1:_ :: [Int]- , id _:id x:_ :: [Int]- , id _:id 0:_ :: [Int]- , id _:id (id _):_ :: [Int]- , id _:negate _:_ :: [Int]- , id _:abs _:_ :: [Int]- , id _:_ + _:_ :: [Int]- , id _:head _:_ :: [Int]- , id _:ord _:_ :: [Int]- , id _:tail xs :: [Int]- , id _:tail [] :: [Int]- , id _:tail (_:_) :: [Int]- , id _:(_ ++ xs) :: [Int]- , id _:(_ ++ []) :: [Int]- , id _:(_ ++ (_:_)) :: [Int]- , id _:(xs ++ _) :: [Int]- , id _:([] ++ _) :: [Int]- , id _:((_:_) ++ _) :: [Int]- , id _:sort _ :: [Int]- , id _:insert _ _ :: [Int]- , y:ys :: [Int]- , [y,0] :: [Int]- , y:_:xs :: [Int]- , [y,_] :: [Int]- , y:_:_:_ :: [Int]- , y:x:_ :: [Int]- , y:0:_ :: [Int]- , y:id _:_ :: [Int]- , y:tail _ :: [Int]- , y:(_ ++ _) :: [Int]- , 1:ys :: [Int]- , [1,0] :: [Int]- , 1:_:xs :: [Int]- , [1,_] :: [Int]- , 1:_:_:_ :: [Int]- , 1:x:_ :: [Int]- , 1:0:_ :: [Int]- , 1:id _:_ :: [Int]- , 1:tail _ :: [Int]- , 1:(_ ++ _) :: [Int]- , id x:ys :: [Int]- , [id x,0] :: [Int]- , id x:_:xs :: [Int]- , [id x,_] :: [Int]- , id x:_:_:_ :: [Int]- , id x:x:_ :: [Int]- , id x:0:_ :: [Int]- , id x:id _:_ :: [Int]- , id x:tail _ :: [Int]- , id x:(_ ++ _) :: [Int]- , id 0:ys :: [Int]- , [id 0,0] :: [Int]- , id 0:_:xs :: [Int]- , [id 0,_] :: [Int]- , id 0:_:_:_ :: [Int]- , id 0:x:_ :: [Int]- , id 0:0:_ :: [Int]- , id 0:id _:_ :: [Int]- , id 0:tail _ :: [Int]- , id 0:(_ ++ _) :: [Int]- , id (id _):ys :: [Int]- , [id (id _),0] :: [Int]- , id (id _):_:xs :: [Int]- , [id (id _),_] :: [Int]- , id (id _):_:_:_ :: [Int]- , id (id _):x:_ :: [Int]- , id (id _):0:_ :: [Int]- , id (id _):id _:_ :: [Int]- , id (id _):tail _ :: [Int]- , id (id _):(_ ++ _) :: [Int]- , negate _:ys :: [Int]- , [negate _,0] :: [Int]- , negate _:_:xs :: [Int]- , [negate _,_] :: [Int]- , negate _:_:_:_ :: [Int]- , negate _:x:_ :: [Int]- , negate _:0:_ :: [Int]- , negate _:id _:_ :: [Int]- , negate _:tail _ :: [Int]- , negate _:(_ ++ _) :: [Int]- , abs _:ys :: [Int]- , [abs _,0] :: [Int]- , abs _:_:xs :: [Int]- , [abs _,_] :: [Int]- , abs _:_:_:_ :: [Int]- , abs _:x:_ :: [Int]- , abs _:0:_ :: [Int]- , abs _:id _:_ :: [Int]- , abs _:tail _ :: [Int]- , abs _:(_ ++ _) :: [Int]- , _ + _:ys :: [Int]- , [_ + _,0] :: [Int]- , _ + _:_:xs :: [Int]- , [_ + _,_] :: [Int]- , _ + _:_:_:_ :: [Int]- , _ + _:x:_ :: [Int]- , _ + _:0:_ :: [Int]- , _ + _:id _:_ :: [Int]- , _ + _:tail _ :: [Int]- , _ + _:(_ ++ _) :: [Int]- , head _:ys :: [Int]- , [head _,0] :: [Int]- , head _:_:xs :: [Int]- , [head _,_] :: [Int]- , head _:_:_:_ :: [Int]- , head _:x:_ :: [Int]- , head _:0:_ :: [Int]- , head _:id _:_ :: [Int]- , head _:tail _ :: [Int]- , head _:(_ ++ _) :: [Int]- , ord _:ys :: [Int]- , [ord _,0] :: [Int]- , ord _:_:xs :: [Int]- , [ord _,_] :: [Int]- , ord _:_:_:_ :: [Int]- , ord _:x:_ :: [Int]- , ord _:0:_ :: [Int]- , ord _:id _:_ :: [Int]- , ord _:tail _ :: [Int]- , ord _:(_ ++ _) :: [Int]- , z:xs :: [Int]- , [z] :: [Int]- , z:_:_ :: [Int]- , (-1):xs :: [Int]- , [-1] :: [Int]- , (-1):_:_ :: [Int]- , id y:xs :: [Int]- , [id y] :: [Int]- , id y:_:_ :: [Int]- , id 1:xs :: [Int]- , [id 1] :: [Int]- , id 1:_:_ :: [Int]- , id (id x):xs :: [Int]- , [id (id x)] :: [Int]- , id (id x):_:_ :: [Int]- , id (id 0):xs :: [Int]- , [id (id 0)] :: [Int]- , id (id 0):_:_ :: [Int]- , id (id (id _)):xs :: [Int]- , [id (id (id _))] :: [Int]- , id (id (id _)):_:_ :: [Int]- , id (negate _):xs :: [Int]- , [id (negate _)] :: [Int]- , id (negate _):_:_ :: [Int]- , id (abs _):xs :: [Int]- , [id (abs _)] :: [Int]- , id (abs _):_:_ :: [Int]- , id (_ + _):xs :: [Int]- , [id (_ + _)] :: [Int]- , id (_ + _):_:_ :: [Int]- , id (head _):xs :: [Int]- , [id (head _)] :: [Int]- , id (head _):_:_ :: [Int]- , id (ord _):xs :: [Int]- , [id (ord _)] :: [Int]- , id (ord _):_:_ :: [Int]- , negate x:xs :: [Int]- , [negate x] :: [Int]- , negate x:_:_ :: [Int]- , negate 0:xs :: [Int]- , [negate 0] :: [Int]- , negate 0:_:_ :: [Int]- , negate (id _):xs :: [Int]- , [negate (id _)] :: [Int]- , negate (id _):_:_ :: [Int]- , abs x:xs :: [Int]- , [abs x] :: [Int]- , abs x:_:_ :: [Int]- , abs 0:xs :: [Int]- , [abs 0] :: [Int]- , abs 0:_:_ :: [Int]- , abs (id _):xs :: [Int]- , [abs (id _)] :: [Int]- , abs (id _):_:_ :: [Int]- , _ + x:xs :: [Int]- , [_ + x] :: [Int]- , _ + x:_:_ :: [Int]- , _ + 0:xs :: [Int]- , [_ + 0] :: [Int]- , _ + 0:_:_ :: [Int]- , _ + id _:xs :: [Int]- , [_ + id _] :: [Int]- , _ + id _:_:_ :: [Int]- , x + _:xs :: [Int]- , [x + _] :: [Int]- , x + _:_:_ :: [Int]- , 0 + _:xs :: [Int]- , [0 + _] :: [Int]- , 0 + _:_:_ :: [Int]- , id _ + _:xs :: [Int]- , [id _ + _] :: [Int]- , id _ + _:_:_ :: [Int]- , _ * _:xs :: [Int]- , [_ * _] :: [Int]- , _ * _:_:_ :: [Int]- , f _:xs :: [Int]- , [f _] :: [Int]- , f _:_:_ :: [Int]- , head xs:xs :: [Int]- , [head xs] :: [Int]- , head xs:_:_ :: [Int]- , head []:xs :: [Int]- , [head []] :: [Int]- , head []:_:_ :: [Int]- , head (_:_):xs :: [Int]- , [head (_:_)] :: [Int]- , head (_:_):_:_ :: [Int]- , ord c:xs :: [Int]- , [ord c] :: [Int]- , ord c:_:_ :: [Int]- , ord 'a':xs :: [Int]- , [ord 'a'] :: [Int]- , ord 'a':_:_ :: [Int]- , 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 (id (id (id _))):_ :: [Int]- , id (id (negate _)):_ :: [Int]- , id (id (abs _)):_ :: [Int]- , id (id (_ + _)):_ :: [Int]- , id (id (head _)):_ :: [Int]- , id (id (ord _)):_ :: [Int]- , id (negate x):_ :: [Int]- , id (negate 0):_ :: [Int]- , id (negate (id _)):_ :: [Int]- , id (abs x):_ :: [Int]- , id (abs 0):_ :: [Int]- , id (abs (id _)):_ :: [Int]- , id (_ + x):_ :: [Int]- , id (_ + 0):_ :: [Int]- , id (_ + id _):_ :: [Int]- , id (x + _):_ :: [Int]- , id (0 + _):_ :: [Int]- , id (id _ + _):_ :: [Int]- , id (_ * _):_ :: [Int]- , id (f _):_ :: [Int]- , id (head xs):_ :: [Int]- , id (head []):_ :: [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]- , negate (id (id _)):_ :: [Int]- , negate (negate _):_ :: [Int]- , negate (abs _):_ :: [Int]- , negate (_ + _):_ :: [Int]- , negate (head _):_ :: [Int]- , negate (ord _):_ :: [Int]- , abs y:_ :: [Int]- , abs 1:_ :: [Int]- , abs (id x):_ :: [Int]- , abs (id 0):_ :: [Int]- , abs (id (id _)):_ :: [Int]- , abs (negate _):_ :: [Int]- , abs (abs _):_ :: [Int]- , abs (_ + _):_ :: [Int]- , abs (head _):_ :: [Int]- , abs (ord _):_ :: [Int]- , _ + y:_ :: [Int]- , _ + 1:_ :: [Int]- , _ + id x:_ :: [Int]- , _ + id 0:_ :: [Int]- , _ + id (id _):_ :: [Int]- , _ + negate _:_ :: [Int]- , _ + abs _:_ :: [Int]- , _ + (_ + _):_ :: [Int]- , _ + head _:_ :: [Int]- , _ + ord _:_ :: [Int]- , x + x:_ :: [Int]- , x + 0:_ :: [Int]- , x + id _:_ :: [Int]- , 0 + x:_ :: [Int]- , 0 + 0:_ :: [Int]- , 0 + id _:_ :: [Int]- , id _ + x:_ :: [Int]- , id _ + 0:_ :: [Int]- , id _ + id _:_ :: [Int]- , _ * x:_ :: [Int]- , _ * 0:_ :: [Int]- , _ * id _:_ :: [Int]- , f x:_ :: [Int]- , f 0:_ :: [Int]- , f (id _):_ :: [Int]- , y + _:_ :: [Int]- , 1 + _:_ :: [Int]- , id x + _:_ :: [Int]- , id 0 + _:_ :: [Int]- , id (id _) + _:_ :: [Int]- , negate _ + _:_ :: [Int]- , abs _ + _:_ :: [Int]- , (_ + _) + _:_ :: [Int]- , head _ + _:_ :: [Int]- , ord _ + _:_ :: [Int]- , x * _:_ :: [Int]- , 0 * _:_ :: [Int]- , id _ * _:_ :: [Int]- , g _:_ :: [Int]- , head ys:_ :: [Int]- , head [0]:_ :: [Int]- , head (_:xs):_ :: [Int]- , head [_]:_ :: [Int]- , head (_:_:_):_ :: [Int]- , head (x:_):_ :: [Int]- , head (0:_):_ :: [Int]- , head (id _:_):_ :: [Int]- , head (tail _):_ :: [Int]- , head (_ ++ _):_ :: [Int]- , ord d:_ :: [Int]- , ord ' ':_ :: [Int]- , tail zs :: [Int]- , tail [0,0] :: [Int]- , tail [1] :: [Int]- , tail (_:ys) :: [Int]- , tail [_,0] :: [Int]- , tail (_:_:xs) :: [Int]- , tail [_,_] :: [Int]- , tail (_:_:_:_) :: [Int]- , tail (_:x:_) :: [Int]- , tail (_:0:_) :: [Int]- , tail (_:id _:_) :: [Int]- , tail (_:tail _) :: [Int]- , tail (_:(_ ++ _)) :: [Int]- , tail (x:xs) :: [Int]- , tail [x] :: [Int]- , tail (x:_:_) :: [Int]- , tail (0:xs) :: [Int]- , tail [0] :: [Int]- , tail (0:_:_) :: [Int]- , tail (id _:xs) :: [Int]- , tail [id _] :: [Int]- , tail (id _:_:_) :: [Int]- , tail (y:_) :: [Int]- , tail (1:_) :: [Int]- , tail (id x:_) :: [Int]- , tail (id 0:_) :: [Int]- , tail (id (id _):_) :: [Int]- , tail (negate _:_) :: [Int]- , tail (abs _:_) :: [Int]- , tail (_ + _:_) :: [Int]- , tail (head _:_) :: [Int]- , tail (ord _:_) :: [Int]- , tail (tail xs) :: [Int]- , tail (tail []) :: [Int]- , tail (tail (_:_)) :: [Int]- , tail (_ ++ xs) :: [Int]- , tail (_ ++ []) :: [Int]- , tail (_ ++ (_:_)) :: [Int]- , tail (xs ++ _) :: [Int]- , tail ([] ++ _) :: [Int]- , tail ((_:_) ++ _) :: [Int]- , tail (sort _) :: [Int]- , tail (insert _ _) :: [Int]- , _ ++ zs :: [Int]- , _ ++ [0,0] :: [Int]- , _ ++ [1] :: [Int]- , _ ++ (_:ys) :: [Int]- , _ ++ [_,0] :: [Int]- , _ ++ (_:_:xs) :: [Int]- , _ ++ [_,_] :: [Int]- , _ ++ (_:_:_:_) :: [Int]- , _ ++ (_:x:_) :: [Int]- , _ ++ (_:0:_) :: [Int]- , _ ++ (_:id _:_) :: [Int]- , _ ++ (_:tail _) :: [Int]- , _ ++ (_:(_ ++ _)) :: [Int]- , _ ++ (x:xs) :: [Int]- , _ ++ [x] :: [Int]- , _ ++ (x:_:_) :: [Int]- , _ ++ (0:xs) :: [Int]- , _ ++ [0] :: [Int]- , _ ++ (0:_:_) :: [Int]- , _ ++ (id _:xs) :: [Int]- , _ ++ [id _] :: [Int]- , _ ++ (id _:_:_) :: [Int]- , _ ++ (y:_) :: [Int]- , _ ++ (1:_) :: [Int]- , _ ++ (id x:_) :: [Int]- , _ ++ (id 0:_) :: [Int]- , _ ++ (id (id _):_) :: [Int]- , _ ++ (negate _:_) :: [Int]- , _ ++ (abs _:_) :: [Int]- , _ ++ (_ + _:_) :: [Int]- , _ ++ (head _:_) :: [Int]- , _ ++ (ord _:_) :: [Int]- , _ ++ tail xs :: [Int]- , _ ++ tail [] :: [Int]- , _ ++ tail (_:_) :: [Int]- , _ ++ (_ ++ xs) :: [Int]- , _ ++ (_ ++ []) :: [Int]- , _ ++ (_ ++ (_:_)) :: [Int]- , _ ++ (xs ++ _) :: [Int]- , _ ++ ([] ++ _) :: [Int]- , _ ++ ((_:_) ++ _) :: [Int]- , _ ++ sort _ :: [Int]- , _ ++ insert _ _ :: [Int]- , xs ++ ys :: [Int]- , xs ++ [0] :: [Int]- , xs ++ (_:xs) :: [Int]- , xs ++ [_] :: [Int]- , xs ++ (_:_:_) :: [Int]- , xs ++ (x:_) :: [Int]- , xs ++ (0:_) :: [Int]- , xs ++ (id _:_) :: [Int]- , xs ++ tail _ :: [Int]- , xs ++ (_ ++ _) :: [Int]- , [] ++ ys :: [Int]- , [] ++ [0] :: [Int]- , [] ++ (_:xs) :: [Int]- , [] ++ [_] :: [Int]- , [] ++ (_:_:_) :: [Int]- , [] ++ (x:_) :: [Int]- , [] ++ (0:_) :: [Int]- , [] ++ (id _:_) :: [Int]- , [] ++ tail _ :: [Int]- , [] ++ (_ ++ _) :: [Int]- , (_:_) ++ ys :: [Int]- , (_:_) ++ [0] :: [Int]- , (_:_) ++ (_:xs) :: [Int]- , (_:_) ++ [_] :: [Int]- , (_:_) ++ (_:_:_) :: [Int]- , (_:_) ++ (x:_) :: [Int]- , (_:_) ++ (0:_) :: [Int]- , (_:_) ++ (id _:_) :: [Int]- , (_:_) ++ tail _ :: [Int]- , (_:_) ++ (_ ++ _) :: [Int]- , ys ++ xs :: [Int]- , ys ++ [] :: [Int]- , ys ++ (_:_) :: [Int]- , [0] ++ xs :: [Int]- , [0] ++ [] :: [Int]- , [0] ++ (_:_) :: [Int]- , (_:xs) ++ xs :: [Int]- , (_:xs) ++ [] :: [Int]- , (_:xs) ++ (_:_) :: [Int]- , [_] ++ xs :: [Int]- , [_] ++ [] :: [Int]- , [_] ++ (_:_) :: [Int]- , (_:_:_) ++ xs :: [Int]- , (_:_:_) ++ [] :: [Int]- , (_:_:_) ++ (_:_) :: [Int]- , (x:_) ++ xs :: [Int]- , (x:_) ++ [] :: [Int]- , (x:_) ++ (_:_) :: [Int]- , (0:_) ++ xs :: [Int]- , (0:_) ++ [] :: [Int]- , (0:_) ++ (_:_) :: [Int]- , (id _:_) ++ xs :: [Int]- , (id _:_) ++ [] :: [Int]- , (id _:_) ++ (_:_) :: [Int]- , tail _ ++ xs :: [Int]- , tail _ ++ [] :: [Int]- , tail _ ++ (_:_) :: [Int]- , (_ ++ _) ++ xs :: [Int]- , (_ ++ _) ++ [] :: [Int]- , (_ ++ _) ++ (_:_) :: [Int]- , zs ++ _ :: [Int]- , [0,0] ++ _ :: [Int]- , [1] ++ _ :: [Int]- , (_:ys) ++ _ :: [Int]- , [_,0] ++ _ :: [Int]- , (_:_:xs) ++ _ :: [Int]- , [_,_] ++ _ :: [Int]- , (_:_:_:_) ++ _ :: [Int]- , (_:x:_) ++ _ :: [Int]- , (_:0:_) ++ _ :: [Int]- , (_:id _:_) ++ _ :: [Int]- , (_:tail _) ++ _ :: [Int]- , (_:(_ ++ _)) ++ _ :: [Int]- , (x:xs) ++ _ :: [Int]- , [x] ++ _ :: [Int]- , (x:_:_) ++ _ :: [Int]- , (0:xs) ++ _ :: [Int]- , [0] ++ _ :: [Int]- , (0:_:_) ++ _ :: [Int]- , (id _:xs) ++ _ :: [Int]- , [id _] ++ _ :: [Int]- , (id _:_:_) ++ _ :: [Int]- , (y:_) ++ _ :: [Int]- , (1:_) ++ _ :: [Int]- , (id x:_) ++ _ :: [Int]- , (id 0:_) ++ _ :: [Int]- , (id (id _):_) ++ _ :: [Int]- , (negate _:_) ++ _ :: [Int]- , (abs _:_) ++ _ :: [Int]- , (_ + _:_) ++ _ :: [Int]- , (head _:_) ++ _ :: [Int]- , (ord _:_) ++ _ :: [Int]- , tail xs ++ _ :: [Int]- , tail [] ++ _ :: [Int]- , tail (_:_) ++ _ :: [Int]- , (_ ++ xs) ++ _ :: [Int]- , (_ ++ []) ++ _ :: [Int]- , (_ ++ (_:_)) ++ _ :: [Int]- , (xs ++ _) ++ _ :: [Int]- , ([] ++ _) ++ _ :: [Int]- , ((_:_) ++ _) ++ _ :: [Int]- , sort _ ++ _ :: [Int]- , insert _ _ ++ _ :: [Int]- , sort ys :: [Int]- , sort [0] :: [Int]- , sort (_:xs) :: [Int]- , sort [_] :: [Int]- , sort (_:_:_) :: [Int]- , sort (x:_) :: [Int]- , sort (0:_) :: [Int]- , sort (id _:_) :: [Int]- , sort (tail _) :: [Int]- , sort (_ ++ _) :: [Int]- , insert _ ys :: [Int]- , insert _ [0] :: [Int]- , insert _ (_:xs) :: [Int]- , insert _ [_] :: [Int]- , insert _ (_:_:_) :: [Int]- , insert _ (x:_) :: [Int]- , insert _ (0:_) :: [Int]- , insert _ (id _:_) :: [Int]- , insert _ (tail _) :: [Int]- , insert _ (_ ++ _) :: [Int]- , insert x xs :: [Int]- , insert x [] :: [Int]- , insert x (_:_) :: [Int]- , insert 0 xs :: [Int]- , insert 0 [] :: [Int]- , insert 0 (_:_) :: [Int]- , insert (id _) xs :: [Int]- , insert (id _) [] :: [Int]- , insert (id _) (_:_) :: [Int]- , insert y _ :: [Int]- , insert 1 _ :: [Int]- , insert (id x) _ :: [Int]- , insert (id 0) _ :: [Int]- , insert (id (id _)) _ :: [Int]- , insert (negate _) _ :: [Int]- , insert (abs _) _ :: [Int]- , insert (_ + _) _ :: [Int]- , insert (head _) _ :: [Int]- , insert (ord _) _ :: [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- , (id (id (id _)) +) :: Int -> Int- , (id (negate _) +) :: Int -> Int- , (id (abs _) +) :: Int -> Int- , (id (_ + _) +) :: Int -> Int- , (id (head _) +) :: Int -> Int- , (id (ord _) +) :: Int -> Int- , (negate x +) :: Int -> Int- , (negate 0 +) :: Int -> Int- , (negate (id _) +) :: Int -> Int- , (abs x +) :: Int -> Int- , (abs 0 +) :: Int -> Int- , (abs (id _) +) :: Int -> Int- , ((_ + x) +) :: Int -> Int- , ((_ + 0) +) :: Int -> Int- , ((_ + id _) +) :: Int -> Int- , ((x + _) +) :: Int -> Int- , ((0 + _) +) :: Int -> Int- , ((id _ + _) +) :: Int -> Int- , (_ * _ +) :: Int -> Int- , (f _ +) :: Int -> Int- , (head xs +) :: Int -> Int- , (head [] +) :: 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- , (id (id _) *) :: Int -> Int- , (negate _ *) :: Int -> Int- , (abs _ *) :: Int -> Int- , ((_ + _) *) :: Int -> Int- , (head _ *) :: Int -> Int- , (ord _ *) :: Int -> Int- , h :: Int -> Int- , (q ||) :: Bool -> Bool- , (not p ||) :: Bool -> Bool- , (not False ||) :: Bool -> Bool- , (not True ||) :: Bool -> Bool- , (not (not _) ||) :: Bool -> Bool- , ((_ || _) ||) :: Bool -> Bool- , (p &&) :: Bool -> Bool- , (False &&) :: Bool -> Bool- , (True &&) :: Bool -> Bool- , (not _ &&) :: Bool -> Bool- , (_ ==>) :: Bool -> Bool- ]- , ...- ]
− test/model/eg/u-conjure.out
@@ -1,24 +0,0 @@-square :: Int -> Int-square x = x * x--add :: Int -> Int -> Int-add x y = x + y--factorial :: Int -> Int-cannot conjure--factorial :: Int -> Int-factorial x = foldr (*) 1 (enumFromTo 1 x)--second :: [Int] -> Int-second xs = head (tail xs)--(++) :: [Int] -> [Int] -> [Int]-xs ++ ys = foldr (:) ys xs--reverse :: [Int] -> [Int]-cannot conjure--reverse :: [Int] -> [Int]-reverse xs = foldr (foldr (:) . unit) [] xs-
− test/model/eg/u-extrapolate.out
@@ -1,26 +0,0 @@-sort . sort = sort-+++ Tests passed.--length . nub = length (incorrect when there are repeated elements)-*** Falsified, counterexample: [0,0]- generalization: x:x:xs--xs `union` ys == ys `union` xs (incorrect for repeated elements)-*** Falsified, counterexample: ([],[0,0])- generalization: (xs,x:x:xs)- generalization: ([],x:x:xs)--\(x,y) -> x + y == y + x-+++ Tests passed.--\x -> x == x + 1 (always incorrect)-*** Falsified, counterexample: 0- generalization: x--\(x,y) -> x + y == x + x (incorrect)-*** Falsified, counterexample: (0,1)--\(x,y) -> x /= y (incorrect whenever x and y are equal)-*** Falsified, counterexample: (0,0)- generalization: (x,x)-
− test/model/eg/u-speculate.out
@@ -1,45 +0,0 @@-Equations about _, 0, (+), abs:-abs 0 = 0-x + 0 = x-0 + x = x-abs (abs x) = abs x-x + y = y + x-abs (x + y) = abs (y + x)-abs (x + abs x) = x + abs x-abs (abs x + x) = x + abs x-abs x + abs x = abs (x + x)-x + (y + z) = x + (z + y)-x + (y + z) = y + (x + z)-x + (y + z) = y + (z + x)-x + (y + z) = z + (x + y)-x + (y + z) = z + (y + x)-(x + y) + z = x + (y + z)-(x + y) + z = x + (z + y)-(x + y) + z = y + (x + z)-(x + y) + z = y + (z + x)-(x + y) + z = z + (y + x)-(x + y) + z = (x + z) + y-(x + y) + z = (y + x) + z-(x + y) + z = (y + z) + x-(x + y) + z = (z + x) + y-(x + y) + z = (z + y) + x--Equations about _, False, True, not:-not False = True-not True = False-not (not p) = p--Equations about _, _, [], (:), (++), sort:-sort [] = []-xs ++ [] = xs-[] ++ xs = xs-sort (sort xs) = sort xs-sort [x] = [x]-[x] ++ xs = x:xs-sort (xs ++ ys) = sort (ys ++ xs)-sort (x:sort xs) = sort (x:xs)-sort (xs ++ sort ys) = sort (xs ++ ys)-sort (sort xs ++ ys) = sort (xs ++ ys)-(x:xs) ++ ys = x:(xs ++ ys)-(xs ++ ys) ++ zs = xs ++ (ys ++ zs)-
test/name-derive.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). {-# LANGUAGE TemplateHaskell #-} @@ -6,10 +6,10 @@ import Data.Express.Utils.List -data Peano = Zero | Succ Peano deriving Show-data List a = a :- List a | Nil deriving Show-data Bush a = Bush a :-: Bush a | Leaf a deriving (Show, Eq)-data Tree a = Node (Tree a) a (Tree a) | Null deriving (Show, Eq)+data Peano = Zero | Succ Peano deriving Show+data List a = a :- List a | Nil deriving Show+data Bush a = Bush a :-: Bush a | Leaf a deriving (Show, Eq)+data Tree a = Node (Tree a) a (Tree a) | Null deriving (Show, Eq) instance Num Peano where Zero + n = n@@ -49,10 +49,10 @@ deriveNameIfNeeded ''Either main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , name (undefined :: Peano) == "x"
test/name.hs view
@@ -1,14 +1,14 @@--- Copyright (c) 2017-2021 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test import Data.Express.Utils.List main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True -- simple types
test/ord.hs view
@@ -1,12 +1,12 @@--- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , holds n $ (okEqOrd :: Expr -> Expr -> Expr -> Bool)
test/sdist view
@@ -2,7 +2,7 @@ # # test/sdist: tests the package generated by "cabal sdist". #-# Copyright (c) 2015-2023 Rudy Matela.+# Copyright (c) 2015-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. set -xe
test/show.hs view
@@ -1,14 +1,14 @@--- Copyright (c) 2017-2021 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test import Data.Express.Utils.List main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True -- showing expressions@@ -43,6 +43,8 @@ , show (space -:- emptyString) == "\" \" :: [Char]" , show (space -:- ccs) == "' ':cs :: [Char]" , show (ae -:- bee -:- emptyString) == "\"ab\" :: [Char]"+ , show (ae -:- bee -:- nilChar) == "['a','b'] :: [Char]"+ , show (ae -:- cc -:- nilChar) == "['a',c] :: [Char]" , show (ae -:- bee -:- ccs) == "'a':'b':cs :: [Char]" , show (ae -:- space -:- bee -:- lineBreak -:- emptyString) == "\"a b\\n\" :: [Char]" , show (cc -:- space -:- dd -:- lineBreak -:- emptyString) == "c:' ':d:\"\\n\" :: [Char]"@@ -147,4 +149,18 @@ , show (val ([0,1,2] :: [A])) == "[0,1,2] :: [A]" , show (var "xs" (undefined :: [A])) == "xs :: [A]" , show (value "id" (id :: [A] -> [A]) :$ var "xs" (undefined :: [A])) == "id xs :: [A]"++ , show (xx -:- nil -++- is_) == "x:([] ++ _) :: [Int]"+ , show (xx -:- yy -:- nil -++- is_) == "x:y:([] ++ _) :: [Int]"++ , show (cc -:- emptyString -++- cs_) == "c:(\"\" ++ _) :: [Char]"+ , show (cc -:- dd -:- emptyString -++- cs_) == "c:d:(\"\" ++ _) :: [Char]"+ , show (ae -:- bee -:- emptyString -++- cs_) == "'a':'b':(\"\" ++ _) :: [Char]"++ -- list pretty-printing only works with explicit val [] terminator+ -- other terminating consts are not unpacked+ , show (zero -:- one -:- two -:- nil) == "[0,1,2] :: [Int]"+ , show (zero -:- val [1,2::Int]) == "0:[1,2] :: [Int]"+ , show (xx -:- yy -:- three -:- four -:- nil) == "[x,y,3,4] :: [Int]"+ , show (xx -:- yy -:- val [3,4::Int]) == "x:y:[3,4] :: [Int]" ]
test/triexpr.hs view
@@ -16,8 +16,8 @@ [ True , length allRules == 99- , all isWellTyped $ map fst allRules- , all isWellTyped $ map snd allRules+ , all (isWellTyped . fst) allRules+ , all (isWellTyped . snd) allRules , T.lookup zero trie == [] , T.lookup one trie == []
test/typecheck.hs view
@@ -2,7 +2,7 @@ -- -- to be used for triggering typechecking using runhugs ----- Copyright (c) 2019-2021 Rudy Matela.+-- Copyright (c) 2019-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Data.Express.Core import Data.Express.Hole
test/utils.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2017-2021 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test @@ -7,10 +7,10 @@ import Data.Express.Utils.Typeable main :: IO ()-main = mainTest tests 5040+main = mainTest tests 5040 tests :: Int -> [Bool]-tests n =+tests n = [ True , holds n $ \xs -> nubSort xs == nub (sort xs :: [Int])